js/enc/mp3/libmp3lame.js
// libmp3lame.js - port of libmp3lame to JavaScript using emscripten
// by Andreas Krennmair <ak@synflood.at>
var Lame = (function() {
// Note: Some Emscripten settings will significantly limit the speed of the generated code.
// Note: Some Emscripten settings may limit the speed of the generated code.
try {
this['Module'] = Module;
} catch(e) {
this['Module'] = Module = {};
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function';
var ENVIRONMENT_IS_WEB = typeof window === 'object';
var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
if (ENVIRONMENT_IS_NODE) {
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
Module['print'] = function(x) {
process['stdout'].write(x + '\n');
};
Module['printErr'] = function(x) {
process['stderr'].write(x + '\n');
};
var nodeFS = require('fs');
var nodePath = require('path');
Module['read'] = function(filename) {
filename = nodePath['normalize'](filename);
var ret = nodeFS['readFileSync'](filename).toString();
// The path is absolute if the normalized version is the same as the resolved.
if (!ret && filename != nodePath['resolve'](filename)) {
filename = path.join(__dirname, '..', 'src', filename);
ret = nodeFS['readFileSync'](filename).toString();
}
return ret;
};
Module['load'] = function(f) {
globalEval(read(f));
};
if (!Module['arguments']) {
Module['arguments'] = process['argv'].slice(2);
}
}
if (ENVIRONMENT_IS_SHELL) {
Module['print'] = print;
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
// Polyfill over SpiderMonkey/V8 differences
if (typeof read != 'undefined') {
Module['read'] = read;
} else {
Module['read'] = function(f) { snarf(f) };
}
if (!Module['arguments']) {
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
}
if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) {
if (!Module['print']) {
Module['print'] = function(x) {
console.log(x);
};
}
if (!Module['printErr']) {
Module['printErr'] = function(x) {
console.log(x);
};
}
}
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
Module['read'] = function(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
if (!Module['arguments']) {
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
}
if (ENVIRONMENT_IS_WORKER) {
// We can do very little here...
var TRY_USE_DUMP = false;
if (!Module['print']) {
Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
dump(x);
}) : (function(x) {
// self.postMessage(x); // enable this if you want stdout to be sent as messages
}));
}
Module['load'] = importScripts;
}
if (!ENVIRONMENT_IS_WORKER && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_SHELL) {
// Unreachable because SHELL is dependant on the others
throw 'Unknown runtime environment. Where are we?';
}
function globalEval(x) {
eval.call(null, x);
}
if (!Module['load'] == 'undefined' && Module['read']) {
Module['load'] = function(f) {
globalEval(Module['read'](f));
};
}
if (!Module['print']) {
Module['print'] = function(){};
}
if (!Module['printErr']) {
Module['printErr'] = Module['print'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// Callbacks
if (!Module['preRun']) Module['preRun'] = [];
if (!Module['postRun']) Module['postRun'] = [];
// === Auto-generated preamble library stuff ===
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
forceAlign: function (target, quantum) {
quantum = quantum || 4;
if (quantum == 1) return target;
if (isNumber(target) && isNumber(quantum)) {
return Math.ceil(target/quantum)*quantum;
} else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
var logg = log2(quantum);
return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')';
}
return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
},
isNumberType: function (type) {
return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
},
isPointerType: function isPointerType(type) {
return type[type.length-1] == '*';
},
isStructType: function isStructType(type) {
if (isPointerType(type)) return false;
if (/^\[\d+\ x\ (.*)\]/.test(type)) return true; // [15 x ?] blocks. Like structs
if (/<?{ ?[^}]* ?}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
// See comment in isStructPointerType()
return type[0] == '%';
},
INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
FLOAT_TYPES: {"float":0,"double":0},
BITSHIFT64_SHL: 0,
BITSHIFT64_ASHR: 1,
BITSHIFT64_LSHR: 2,
bitshift64: function (low, high, op, bits) {
var ret;
var ander = Math.pow(2, bits)-1;
if (bits < 32) {
switch (op) {
case Runtime.BITSHIFT64_SHL:
ret = [low << bits, (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits))];
break;
case Runtime.BITSHIFT64_ASHR:
ret = [(((low >>> bits ) | ((high&ander) << (32 - bits))) >> 0) >>> 0, (high >> bits) >>> 0];
break;
case Runtime.BITSHIFT64_LSHR:
ret = [((low >>> bits) | ((high&ander) << (32 - bits))) >>> 0, high >>> bits];
break;
}
} else if (bits == 32) {
switch (op) {
case Runtime.BITSHIFT64_SHL:
ret = [0, low];
break;
case Runtime.BITSHIFT64_ASHR:
ret = [high, (high|0) < 0 ? ander : 0];
break;
case Runtime.BITSHIFT64_LSHR:
ret = [high, 0];
break;
}
} else { // bits > 32
switch (op) {
case Runtime.BITSHIFT64_SHL:
ret = [0, low << (bits - 32)];
break;
case Runtime.BITSHIFT64_ASHR:
ret = [(high >> (bits - 32)) >>> 0, (high|0) < 0 ? ander : 0];
break;
case Runtime.BITSHIFT64_LSHR:
ret = [high >>> (bits - 32) , 0];
break;
}
}
HEAP32[tempDoublePtr>>2] = ret[0]; // cannot use utility functions since we are in runtime itself
HEAP32[tempDoublePtr+4>>2] = ret[1];
},
or64: function (x, y) {
var l = (x | 0) | (y | 0);
var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
and64: function (x, y) {
var l = (x | 0) & (y | 0);
var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
xor64: function (x, y) {
var l = (x | 0) ^ (y | 0);
var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
getNativeTypeSize: function (type, quantumSize) {
if (Runtime.QUANTUM_SIZE == 1) return 1;
var size = {
'%i1': 1,
'%i8': 1,
'%i16': 2,
'%i32': 4,
'%i64': 8,
"%float": 4,
"%double": 8
}['%'+type]; // add '%' since float and double confuse Closure compiler as keys, and also spidermonkey as a compiler will remove 's from '_i8' etc
if (!size) {
if (type.charAt(type.length-1) == '*') {
size = Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] == 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 == 0);
size = bits/8;
}
}
return size;
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
dedup: function dedup(items, ident) {
var seen = {};
if (ident) {
return items.filter(function(item) {
if (seen[item[ident]]) return false;
seen[item[ident]] = true;
return true;
});
} else {
return items.filter(function(item) {
if (seen[item]) return false;
seen[item] = true;
return true;
});
}
},
set: function set() {
var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
var ret = {};
for (var i = 0; i < args.length; i++) {
ret[args[i]] = 0;
}
return ret;
},
calculateStructAlignment: function calculateStructAlignment(type) {
type.flatSize = 0;
type.alignSize = 0;
var diffs = [];
var prev = -1;
type.flatIndexes = type.fields.map(function(field) {
var size, alignSize;
if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
alignSize = size;
} else if (Runtime.isStructType(field)) {
size = Types.types[field].flatSize;
alignSize = Types.types[field].alignSize;
} else {
throw 'Unclear type in struct: ' + field + ', in ' + type.name_ + ' :: ' + dump(Types.types[type.name_]);
}
alignSize = type.packed ? 1 : Math.min(alignSize, Runtime.QUANTUM_SIZE);
type.alignSize = Math.max(type.alignSize, alignSize);
var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
type.flatSize = curr + size;
if (prev >= 0) {
diffs.push(curr-prev);
}
prev = curr;
return curr;
});
type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
if (diffs.length == 0) {
type.flatFactor = type.flatSize;
} else if (Runtime.dedup(diffs).length == 1) {
type.flatFactor = diffs[0];
}
type.needsFlattening = (type.flatFactor != 1);
return type.flatIndexes;
},
generateStructInfo: function (struct, typeName, offset) {
var type, alignment;
if (typeName) {
offset = offset || 0;
type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
if (!type) return null;
if (type.fields.length != struct.length) {
printErr('Number of named fields must match the type for ' + typeName + ': possibly duplicate struct names. Cannot return structInfo');
return null;
}
alignment = type.flatIndexes;
} else {
var type = { fields: struct.map(function(item) { return item[0] }) };
alignment = Runtime.calculateStructAlignment(type);
}
var ret = {
__size__: type.flatSize
};
if (typeName) {
struct.forEach(function(item, i) {
if (typeof item === 'string') {
ret[item] = alignment[i] + offset;
} else {
// embedded struct
var key;
for (var k in item) key = k;
ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
}
});
} else {
struct.forEach(function(item, i) {
ret[item[1]] = alignment[i];
});
}
return ret;
},
dynCall: function (sig, ptr, args) {
if (args && args.length) {
return FUNCTION_TABLE[ptr].apply(null, args);
} else {
return FUNCTION_TABLE[ptr]();
}
},
addFunction: function (func, sig) {
assert(sig);
var table = FUNCTION_TABLE; // TODO: support asm
var ret = table.length;
table.push(func);
table.push(0);
return ret;
},
warnOnce: function (text) {
if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
if (!Runtime.warnOnce.shown[text]) {
Runtime.warnOnce.shown[text] = 1;
Module.printErr(text);
}
},
funcWrappers: {},
getFuncWrapper: function (func, sig) {
assert(sig);
if (!Runtime.funcWrappers[func]) {
Runtime.funcWrappers[func] = function() {
Runtime.dynCall(sig, func, arguments);
};
}
return Runtime.funcWrappers[func];
},
UTF8Processor: function () {
var buffer = [];
var needed = 0;
this.processCChar = function (code) {
code = code & 0xff;
if (needed) {
buffer.push(code);
needed--;
}
if (buffer.length == 0) {
if (code < 128) return String.fromCharCode(code);
buffer.push(code);
if (code > 191 && code < 224) {
needed = 1;
} else {
needed = 2;
}
return '';
}
if (needed > 0) return '';
var c1 = buffer[0];
var c2 = buffer[1];
var c3 = buffer[2];
var ret;
if (c1 > 191 && c1 < 224) {
ret = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
} else {
ret = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
}
buffer.length = 0;
return ret;
}
this.processJSString = function(string) {
string = unescape(encodeURIComponent(string));
var ret = [];
for (var i = 0; i < string.length; i++) {
ret.push(string.charCodeAt(i));
}
return ret;
}
},
stackAlloc: function stackAlloc(size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = ((((STACKTOP)+3)>>2)<<2); return ret; },
staticAlloc: function staticAlloc(size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = ((((STATICTOP)+3)>>2)<<2); if (STATICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
alignMemory: function alignMemory(size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 4))*(quantum ? quantum : 4); return ret; },
makeBigInt: function makeBigInt(low,high,unsigned) { var ret = (unsigned ? (((low)>>>0)+(((high)>>>0)*4294967296)) : (((low)>>>0)+(((high)|0)*4294967296))); return ret; },
QUANTUM_SIZE: 4,
__dummy__: 0
}
var CorrectionsMonitor = {
MAX_ALLOWED: 0, // XXX
corrections: 0,
sigs: {},
note: function(type, succeed, sig) {
if (!succeed) {
this.corrections++;
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
}
},
print: function() {
}
};
//========================================
// Runtime essentials
//========================================
var __THREW__ = 0; // Used in checking for thrown exceptions.
var setjmpId = 1; // Used in setjmp/longjmp
var setjmpLabels = {};
var ABORT = false;
var undef = 0;
// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD;
var tempI64, tempI64b;
var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9;
function abort(text) {
Module.print(text + ':\n' + (new Error).stack);
ABORT = true;
throw "Assertion: " + text;
}
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// C calling interface. A convenient way to call C functions (in C files, or
// defined with extern "C").
//
// Note: LLVM optimizations can inline and remove functions, after which you will not be
// able to call them. Closure can also do so. To avoid that, add your function to
// the exports using something like
//
// -s EXPORTED_FUNCTIONS='["_main", "_myfunc"]'
//
// @param ident The name of the C function (note that C++ functions will be name-mangled - use extern "C")
// @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and
// 'array' for JavaScript arrays and typed arrays).
// @param argTypes An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType,
// except that 'array' is not possible (there is no way for us to know the length of the array)
// @param args An array of the arguments to the function, as native JS values (as in returnType)
// Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
// @return The return value, as a native JS value (as in returnType)
function ccall(ident, returnType, argTypes, args) {
return ccallFunc(getCFunc(ident), returnType, argTypes, args);
}
Module["ccall"] = ccall;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
try {
var func = eval('_' + ident);
} catch(e) {
try {
func = globalScope['Module']['_' + ident]; // closure exported function
} catch(e) {}
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
return func;
}
// Internal function that does a C call using a function, not an identifier
function ccallFunc(func, returnType, argTypes, args) {
var stack = 0;
function toC(value, type) {
if (type == 'string') {
if (value === null || value === undefined || value === 0) return 0; // null string
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length+1);
writeStringToMemory(value, ret);
return ret;
} else if (type == 'array') {
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length);
writeArrayToMemory(value, ret);
return ret;
}
return value;
}
function fromC(value, type) {
if (type == 'string') {
return Pointer_stringify(value);
}
assert(type != 'array');
return value;
}
var i = 0;
var cArgs = args ? args.map(function(arg) {
return toC(arg, argTypes[i++]);
}) : [];
var ret = fromC(func.apply(null, cArgs), returnType);
if (stack) Runtime.stackRestore(stack);
return ret;
}
// Returns a native JS wrapper for a C function. This is similar to ccall, but
// returns a function you can call repeatedly in a normal way. For example:
//
// var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
// alert(my_function(5, 22));
// alert(my_function(99, 12));
//
function cwrap(ident, returnType, argTypes) {
var func = getCFunc(ident);
return function() {
return ccallFunc(func, returnType, argTypes, Array.prototype.slice.call(arguments));
}
}
Module["cwrap"] = cwrap;
// Sets a value in memory in a dynamic way at run-time. Uses the
// type data. This is the same as makeSetValue, except that
// makeSetValue is done at compile-time and generates the needed
// code then, whereas this function picks the right code at
// run-time.
// Note that setValue and getValue only do *aligned* writes and reads!
// Note that ccall uses JS types as for defining types, while setValue and
// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
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)]=value; break;
case 'i8': HEAP8[(ptr)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,Math.min(Math.floor((value)/4294967296), 4294967295)>>>0],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': (HEAPF64[(tempDoublePtr)>>3]=value,HEAP32[((ptr)>>2)]=HEAP32[((tempDoublePtr)>>2)],HEAP32[(((ptr)+(4))>>2)]=HEAP32[(((tempDoublePtr)+(4))>>2)]); break;
default: abort('invalid type for setValue: ' + type);
}
}
Module['setValue'] = setValue;
// Parallel to setValue.
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)];
case 'i8': return HEAP8[(ptr)];
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 (HEAP32[((tempDoublePtr)>>2)]=HEAP32[((ptr)>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((ptr)+(4))>>2)],HEAPF64[(tempDoublePtr)>>3]);
default: abort('invalid type for setValue: ' + type);
}
return null;
}
Module['getValue'] = getValue;
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
var ALLOC_NONE = 3; // Do not allocate
Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
Module['ALLOC_STACK'] = ALLOC_STACK;
Module['ALLOC_STATIC'] = ALLOC_STATIC;
Module['ALLOC_NONE'] = ALLOC_NONE;
// Simple unoptimized memset - necessary during startup
var _memset = function(ptr, value, num) {
var stop = ptr + num;
while (ptr < stop) {
HEAP8[(ptr++)]=value;
}
}
// 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_*
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, Runtime.stackAlloc, Runtime.staticAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
_memset(ret, 0, size);
return ret;
}
if (singleType === 'i8') {
HEAPU8.set(new Uint8Array(slab), ret);
return ret;
}
var i = 0, type;
while (i < size) {
var curr = slab[i];
if (typeof curr === 'function') {
curr = Runtime.getFunctionIndex(curr);
}
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
i += Runtime.getNativeTypeSize(type);
}
return ret;
}
Module['allocate'] = allocate;
function Pointer_stringify(ptr, /* optional */ length) {
var utf8 = new Runtime.UTF8Processor();
var nullTerminated = typeof(length) == "undefined";
var ret = "";
var i = 0;
var t;
while (1) {
t = HEAPU8[((ptr)+(i))];
if (nullTerminated && t == 0) break;
ret += utf8.processCChar(t);
i += 1;
if (!nullTerminated && i == length) break;
}
return ret;
}
Module['Pointer_stringify'] = Pointer_stringify;
function Array_stringify(array) {
var ret = "";
for (var i = 0; i < array.length; i++) {
ret += String.fromCharCode(array[i]);
}
return ret;
}
Module['Array_stringify'] = Array_stringify;
// Memory management
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
return ((x+4095)>>12)<<12;
}
var HEAP;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
var STACK_ROOT, STACKTOP, STACK_MAX;
var STATICTOP;
function enlargeMemory() {
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.');
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(!!Int32Array && !!Float64Array && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'Cannot fallback to non-typed array case: Code is too specialized');
var buffer = new ArrayBuffer(TOTAL_MEMORY);
HEAP8 = new Int8Array(buffer);
HEAP16 = new Int16Array(buffer);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAPU16 = new Uint16Array(buffer);
HEAPU32 = new Uint32Array(buffer);
HEAPF32 = new Float32Array(buffer);
HEAPF64 = new Float64Array(buffer);
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 255;
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
Module['HEAP'] = HEAP;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
STACK_ROOT = STACKTOP = Runtime.alignMemory(1);
STACK_MAX = TOTAL_STACK; // we lose a little stack here, but TOTAL_STACK is nice and round so use that as the max
var tempDoublePtr = Runtime.alignMemory(allocate(12, 'i8', ALLOC_STACK), 8);
assert(tempDoublePtr % 8 == 0);
function copyTempFloat(ptr) { // functions, because inlining this code is 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];
}
STATICTOP = STACK_MAX;
assert(STATICTOP < TOTAL_MEMORY); // Stack must fit in TOTAL_MEMORY; allocations from here on may enlarge TOTAL_MEMORY
var nullString = allocate(intArrayFromString('(null)'), 'i8', ALLOC_STACK);
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();
var func = callback.func;
if (typeof func === 'number') {
if (callback.arg === undefined) {
Runtime.dynCall('v', func);
} else {
Runtime.dynCall('vi', func, [callback.arg]);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
function initRuntime() {
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
// Print summary of correction activity
CorrectionsMonitor.print();
}
// Tools
// This processes a JS string into a C-line array of numbers, 0-terminated.
// For LLVM-originating strings, see parser.js:parseLLVMString function
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var ret = (new Runtime.UTF8Processor()).processJSString(stringy);
if (length) {
ret.length = length;
}
if (!dontAddNull) {
ret.push(0);
}
return ret;
}
Module['intArrayFromString'] = intArrayFromString;
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
Module['intArrayToString'] = intArrayToString;
// Write a Javascript array to somewhere in the heap
function writeStringToMemory(string, buffer, dontAddNull) {
var array = intArrayFromString(string, dontAddNull);
var i = 0;
while (i < array.length) {
var chr = array[i];
HEAP8[((buffer)+(i))]=chr
i = i + 1;
}
}
Module['writeStringToMemory'] = writeStringToMemory;
function writeArrayToMemory(array, buffer) {
for (var i = 0; i < array.length; i++) {
HEAP8[((buffer)+(i))]=array[i];
}
}
Module['writeArrayToMemory'] = writeArrayToMemory;
function unSign(value, bits, ignore, sig) {
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;
// TODO: clean up previous line
}
function reSign(value, bits, ignore, sig) {
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;
}
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyTracking = {};
var calledRun = false;
var runDependencyWatcher = null;
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() {
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
Module.printErr('still waiting on run dependencies:');
}
Module.printErr('dependency: ' + dep);
}
if (shown) {
Module.printErr('(end of list)');
}
}, 6000);
}
} else {
Module.printErr('warning: run dependency added without ID');
}
}
Module['addRunDependency'] = addRunDependency;
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
Module.printErr('warning: run dependency removed without ID');
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!calledRun && shouldRunNow) run();
}
}
Module['removeRunDependency'] = removeRunDependency;
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
// === Body ===
assert(STATICTOP == STACK_MAX); assert(STACK_MAX == TOTAL_STACK);
STATICTOP += 146184;
assert(STATICTOP < TOTAL_MEMORY);
var _tabsel_123;
var _stderr;
var _freqs;
var __ZTVSt9exception;
var __ZTVN10__cxxabiv120__si_class_type_infoE;
var __ZTISt9exception;
var __ZNSt9bad_allocC1Ev;
var __ZNSt9bad_allocD1Ev;
var __ZNSt20bad_array_new_lengthC1Ev;
var __ZNSt20bad_array_new_lengthD1Ev;
var __ZNSt20bad_array_new_lengthD2Ev;
allocate(512, "i8", ALLOC_NONE, 5242880);
allocate(4096, "i8", ALLOC_NONE, 5243392);
allocate([0,27,134,42,204,204,52,43,33,78,132,43,252,247,157,43,88,156,166,43,252,247,157,43,33,78,132,43,204,204,52,43,0,27,134,42,83,248,191,44,254,169,171,44,146,50,149,44,159,129,122,44,239,29,73,44,62,186,23,44,116,173,207,43,133,159,107,43,183,89,146,42,83,248,191,172,254,169,171,172,146,50,149,172,159,129,122,172,239,29,73,172,62,186,23,172,116,173,207,171,133,159,107,171,183,89,146,170,0,27,134,170,204,204,52,171,33,78,132,171,252,247,157,171,88,156,166,171,252,247,157,171,33,78,132,171,204,204,52,171,0,27,134,170,0,27,134,42,204,204,52,43,33,78,132,43,252,247,157,43,88,156,166,43,252,247,157,43,33,78,132,43,204,204,52,43,0,27,134,42,83,248,191,44,254,169,171,44,146,50,149,44,159,129,122,44,239,29,73,44,62,186,23,44,116,173,207,43,133,159,107,43,183,89,146,42,37,39,192,172,51,37,173,172,234,209,152,172,227,84,131,172,249,175,89,172,11,14,43,172,102,34,244,171,201,49,137,171,74,123,157,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,144,128,170,174,79,227,170,5,174,113,170,234,207,6,62,205,19,212,62,139,111,68,63,255,175,139,63,23,208,166,63,117,235,200,63,190,226,245,63,122,130,26,64,105,251,74,64,185,87,144,64,107,16,243,64,233,58,183,65,92,28,124,63,187,141,36,63,68,29,175,62,178,143,112,63,212,208,49,190,125,27,68,191,215,179,93,63,0,0,0,63,254,181,3,191,218,134,241,190,2,115,160,190,116,71,58,190,29,176,193,189,135,203,39,189,29,161,104,188,70,123,114,187,168,132,91,63,216,185,97,63,221,26,115,63,129,186,123,63,65,218,126,63,253,200,127,63,101,249,127,63,141,255,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,144,128,42,174,79,227,42,5,174,113,42,37,39,192,44,51,37,173,44,234,209,152,44,227,84,131,44,249,175,89,44,11,14,43,44,102,34,244,43,201,49,137,43,74,123,157,42,83,248,191,172,254,169,171,172,146,50,149,172,159,129,122,172,239,29,73,172,62,186,23,172,116,173,207,171,133,159,107,171,183,89,146,170,0,27,134,170,204,204,52,171,33,78,132,171,252,247,157,171,88,156,166,171,252,247,157,171,33,78,132,171,204,204,52,171,0,27,134,170], "i8", ALLOC_NONE, 5247488);
allocate([137,158,227,63,229,83,236,63,167,94,245,63,155,20,249,63,14,217,252,63,123,143,234,63,218,151,217,63,226,132,191,63,124,145,168,63,0,0,128,63], "i8", ALLOC_NONE, 5248064);
allocate([43,152,159,163,27,134,139,188,168,241,120,163,7,62,43,61,81,63,155,164,158,120,179,189,139,51,14,164,232,209,62,62,176,169,254,164,226,172,32,191], "i8", ALLOC_NONE, 5248104);
allocate([0,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,102,102,166,64,0,0,250,66,102,102,134,192,154,153,201,192,154,153,153,64,0,0,128,63,0,0,0,0,0,0,0,0,2,0,0,0,21,0,0,0,236,81,120,63,0,0,160,64,0,0,200,66,1,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,154,153,169,64,0,0,250,66,102,102,102,192,51,51,179,192,0,0,144,64,0,0,192,63,0,0,0,0,0,0,0,0,2,0,0,0,21,0,0,0,205,204,172,63,0,0,160,64,0,0,200,66,2,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,51,51,179,64,0,0,250,66,205,204,12,192,0,0,96,192,51,51,51,64,0,0,0,64,0,0,0,0,0,0,0,0,2,0,0,0,21,0,0,0,82,184,190,63,0,0,160,64,0,0,200,66,3,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,154,153,185,64,0,0,2,67,102,102,230,191,51,51,51,192,102,102,38,64,0,0,64,64,0,0,128,192,0,0,0,0,2,0,0,0,20,0,0,0,133,235,209,63,0,0,160,64,0,0,200,66,4,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,0,0,192,64,0,0,7,67,51,51,51,191,205,204,140,191,205,204,140,63,0,0,96,64,0,0,0,193,0,0,0,0,2,0,0,0,0,0,0,0,184,30,229,63,0,0,160,64,0,0,200,66,5,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,205,204,204,64,0,0,12,67,0,0,0,63,205,204,204,62,0,0,240,192,0,0,128,64,0,0,64,193,23,183,81,57,0,0,0,0,0,0,0,0,154,153,249,63,0,0,160,64,0,0,200,66,6,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,17,67,31,133,43,63,102,102,38,63,51,51,107,193,0,0,208,64,0,0,152,193,23,183,209,57,0,0,0,0,0,0,0,0,51,51,19,64,0,0,160,64,0,0,200,66,7,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,17,67,205,204,76,63,0,0,64,63,154,153,157,193,0,0,0,65,0,0,176,193,82,73,29,58,0,0,0,0,0,0,0,0,205,204,44,64,0,0,160,64,0,0,200,66,8,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,17,67,154,153,153,63,51,51,147,63,0,0,220,193,0,0,32,65,0,0,184,193,52,128,55,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,64,0,0,200,66,9,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,17,67,205,204,204,63,205,204,204,63,0,0,16,194,0,0,48,65,0,0,200,193,23,183,81,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,64,0,0,200,66,10,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,17,67,0,0,0,64,0,0,0,64,0,0,16,194,0,0,64,65,0,0,200,193,23,183,81,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,64,0,0,200,66], "i8", ALLOC_NONE, 5248144);
allocate([0,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,102,102,134,64,0,0,200,65,154,153,217,192,154,153,217,192,51,51,227,64,0,0,128,63,0,0,0,0,0,0,0,0,2,0,0,0,31,0,0,0,0,0,128,63,0,0,160,64,0,0,200,66,1,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,102,102,134,64,0,0,200,65,154,153,153,192,154,153,153,192,205,204,172,64,51,51,179,63,0,0,128,191,0,0,0,0,2,0,0,0,27,0,0,0,178,157,143,63,0,0,160,64,0,0,196,66,2,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,102,102,134,64,0,0,200,65,102,102,38,192,102,102,38,192,205,204,108,64,0,0,0,64,0,0,64,192,0,0,0,0,2,0,0,0,23,0,0,0,47,221,164,63,0,0,160,64,0,0,194,66,3,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,102,102,134,64,0,0,200,65,205,204,204,191,205,204,204,191,0,0,0,64,0,0,0,64,0,0,160,192,0,0,0,0,2,0,0,0,18,0,0,0,223,79,189,63,0,0,160,64,0,0,192,66,4,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,102,102,134,64,0,0,200,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,193,0,0,0,0,2,0,0,0,12,0,0,0,16,88,217,63,0,0,160,64,0,0,190,66,5,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,102,102,134,64,0,0,200,65,102,102,166,63,102,102,166,63,0,0,192,192,0,0,96,64,0,0,48,193,0,0,0,0,2,0,0,0,8,0,0,0,154,153,249,63,0,0,160,64,102,102,188,66,6,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,0,0,144,64,0,0,200,66,205,204,12,64,51,51,19,64,0,0,64,193,0,0,192,64,0,0,96,193,0,0,0,0,2,0,0,0,4,0,0,0,199,75,15,64,0,0,64,64,205,204,187,66,7,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,154,153,153,64,0,0,72,67,205,204,44,64,205,204,44,64,0,0,144,193,0,0,16,65,0,0,136,193,0,0,0,0,2,0,0,0,0,0,0,0,225,122,36,64,0,0,128,63,51,51,187,66,8,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,154,153,169,64,0,0,150,67,51,51,51,64,51,51,51,64,0,0,168,193,0,0,32,65,0,0,184,193,23,183,81,57,0,0,0,0,0,0,0,0,47,221,60,64,0,0,0,0,154,153,186,66,9,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,51,51,211,64,0,0,150,67,51,51,51,64,51,51,51,64,0,0,184,193,0,0,48,65,0,0,200,193,82,73,29,58,0,0,0,0,0,0,0,0,254,212,88,64,0,0,0,0,154,153,186,66,10,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,0,0,200,65,0,0,150,67,51,51,51,64,51,51,51,64,0,0,200,193,0,0,64,65,0,0,216,193,10,215,35,59,0,0,0,0,0,0,0,0,0,0,96,64,0,0,0,0,154,153,186,66], "i8", ALLOC_NONE, 5248892);
allocate([3,0,1,0,4,0,4,0,6,0,7,0,8,0,8,0,4,0,4,0,4,0,5,0,6,0,8,0,7,0,9,0,5,0,7,0,6,0,8,0,7,0,9,0,8,0,10,0,7,0,8,0,7,0,8,0,8,0,9,0,9,0,10,0], "i8", ALLOC_NONE, 5249640);
allocate([2,0,1,0,3,0,4,0,7,0,7,0,4,0,4,0,4,0,5,0,7,0,7,0,6,0,6,0,7,0,7,0,8,0,8,0], "i8", ALLOC_NONE, 5249704);
allocate([2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255], "i8", ALLOC_NONE, 5249740);
allocate([0,0,128,63,54,89,75,63,152,134,33,63,152,134,33,63,152,134,33,63,152,134,33,63,152,134,33,63,250,155,128,62,153,158,240,61], "i8", ALLOC_NONE, 5249776);
allocate([3,4,6,7,9,10,4,5,6,7,8,10,5,6,7,8,9,10,7,7,8,9,9,10,8,8,9,9,10,11,9,9,10,10,11,11] /* \03\04\06\07\09\0A\0 */, "i8", ALLOC_NONE, 5249812);
allocate([7,0,5,0,9,0,14,0,15,0,7,0,6,0,4,0,5,0,5,0,6,0,7,0,7,0,6,0,8,0,8,0,8,0,5,0,15,0,6,0,9,0,10,0,5,0,1,0,11,0,7,0,9,0,6,0,4,0,1,0,14,0,4,0,6,0,2,0,6,0,0,0], "i8", ALLOC_NONE, 5249848);
allocate([2,4,7,9,9,10,4,4,6,10,10,10,7,6,8,10,10,11,9,10,10,11,11,12,9,9,10,11,12,12,10,10,11,11,13,13] /* \02\04\07\09\09\0A\0 */, "i8", ALLOC_NONE, 5249920);
allocate([3,0,4,0,6,0,18,0,12,0,5,0,5,0,1,0,2,0,16,0,9,0,3,0,7,0,3,0,5,0,14,0,7,0,3,0,19,0,17,0,15,0,13,0,10,0,4,0,13,0,5,0,8,0,11,0,5,0,1,0,12,0,4,0,4,0,1,0,1,0,0,0], "i8", ALLOC_NONE, 5249956);
allocate([1,4,7,9,9,10,4,6,8,9,9,10,7,7,9,10,10,11,8,9,10,11,11,11,8,9,10,11,11,12,9,10,11,12,12,12] /* \01\04\07\09\09\0A\0 */, "i8", ALLOC_NONE, 5250028);
allocate([1,0,2,0,10,0,19,0,16,0,10,0,3,0,3,0,7,0,10,0,5,0,3,0,11,0,4,0,13,0,17,0,8,0,4,0,12,0,11,0,18,0,15,0,11,0,2,0,7,0,6,0,9,0,14,0,3,0,1,0,6,0,4,0,5,0,3,0,2,0,0,0], "i8", ALLOC_NONE, 5250064);
allocate([3,4,6,8,4,4,6,7,5,6,7,8,7,7,8,9] /* \03\04\06\08\04\04\0 */, "i8", ALLOC_NONE, 5250136);
allocate([7,0,3,0,5,0,1,0,6,0,2,0,3,0,2,0,5,0,4,0,4,0,1,0,3,0,3,0,2,0,0,0], "i8", ALLOC_NONE, 5250152);
allocate([1,4,7,8,4,5,8,9,7,8,9,10,8,8,9,10] /* \01\04\07\08\04\05\0 */, "i8", ALLOC_NONE, 5250184);
allocate([1,0,2,0,6,0,5,0,3,0,1,0,4,0,4,0,7,0,5,0,7,0,1,0,6,0,1,0,1,0,0,0], "i8", ALLOC_NONE, 5250200);
allocate([2,3,7,4,4,7,6,7,8] /* \02\03\07\04\04\07\0 */, "i8", ALLOC_NONE, 5250232);
allocate([3,0,2,0,1,0,1,0,1,0,1,0,3,0,2,0,0,0], "i8", ALLOC_NONE, 5250244);
allocate([4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8] /* \04\05\05\06\05\06\0 */, "i8", ALLOC_NONE, 5250264);
allocate([15,0,28,0,26,0,48,0,22,0,40,0,36,0,64,0,14,0,24,0,20,0,32,0,12,0,16,0,8,0,0,0], "i8", ALLOC_NONE, 5250280);
allocate([1,5,5,7,5,8,7,9,5,7,7,9,7,9,9,10] /* \01\05\05\07\05\08\0 */, "i8", ALLOC_NONE, 5250312);
allocate([1,0,10,0,8,0,20,0,12,0,20,0,16,0,32,0,14,0,12,0,24,0,0,0,28,0,16,0,24,0,16,0], "i8", ALLOC_NONE, 5250328);
allocate([1,4,7,4,5,7,6,7,8] /* \01\04\07\04\05\07\0 */, "i8", ALLOC_NONE, 5250360);
allocate([1,0,2,0,1,0,3,0,1,0,1,0,3,0,2,0,0,0], "i8", ALLOC_NONE, 5250372);
allocate([4,5,7,8,9,10,10,11,11,12,12,12,12,12,13,10,5,6,7,8,9,10,10,11,11,11,12,12,12,12,12,10,7,7,8,9,9,10,10,11,11,11,11,12,12,12,13,9,8,8,9,9,10,10,10,11,11,11,11,12,12,12,12,9,9,9,9,10,10,10,10,11,11,11,12,12,12,12,13,9,10,9,10,10,10,10,11,11,11,11,12,12,12,12,12,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,9,11,10,10,10,11,11,11,11,12,12,12,12,12,13,13,10,11,11,11,11,11,11,11,11,11,12,12,12,12,13,13,10,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,10,12,11,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,10,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,10,13,12,12,12,12,12,12,13,13,13,13,13,13,13,13,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,6] /* \04\05\07\08\09\0A\0 */, "i8", ALLOC_NONE, 5250392);
allocate([15,0,13,0,46,0,80,0,146,0,6,1,248,0,178,1,170,1,157,2,141,2,137,2,109,2,5,2,8,4,88,0,14,0,12,0,21,0,38,0,71,0,130,0,122,0,216,0,209,0,198,0,71,1,89,1,63,1,41,1,23,1,42,0,47,0,22,0,41,0,74,0,68,0,128,0,120,0,221,0,207,0,194,0,182,0,84,1,59,1,39,1,29,2,18,0,81,0,39,0,75,0,70,0,134,0,125,0,116,0,220,0,204,0,190,0,178,0,69,1,55,1,37,1,15,1,16,0,147,0,72,0,69,0,135,0,127,0,118,0,112,0,210,0,200,0,188,0,96,1,67,1,50,1,29,1,28,2,14,0,7,1,66,0,129,0,126,0,119,0,114,0,214,0,202,0,192,0,180,0,85,1,61,1,45,1,25,1,6,1,12,0,249,0,123,0,121,0,117,0,113,0,215,0,206,0,195,0,185,0,91,1,74,1,52,1,35,1,16,1,8,2,10,0,179,1,115,0,111,0,109,0,211,0,203,0,196,0,187,0,97,1,76,1,57,1,42,1,27,1,19,2,125,1,17,0,171,1,212,0,208,0,205,0,201,0,193,0,186,0,177,0,169,0,64,1,47,1,30,1,12,1,2,2,121,1,16,0,79,1,199,0,197,0,191,0,189,0,181,0,174,0,77,1,65,1,49,1,33,1,19,1,9,2,123,1,115,1,11,0,156,2,184,0,183,0,179,0,175,0,88,1,75,1,58,1,48,1,34,1,21,1,18,2,127,1,117,1,110,1,10,0,140,2,90,1,171,0,168,0,164,0,62,1,53,1,43,1,31,1,20,1,7,1,1,2,119,1,112,1,106,1,6,0,136,2,66,1,60,1,56,1,51,1,46,1,36,1,28,1,13,1,5,1,0,2,120,1,114,1,108,1,103,1,4,0,108,2,44,1,40,1,38,1,32,1,26,1,17,1,10,1,3,2,124,1,118,1,113,1,109,1,105,1,101,1,2,0,9,4,24,1,22,1,18,1,11,1,8,1,3,1,126,1,122,1,116,1,111,1,107,1,104,1,102,1,100,1,0,0,43,0,20,0,19,0,17,0,15,0,13,0,11,0,9,0,7,0,6,0,4,0,7,0,5,0,3,0,1,0,3,0], "i8", ALLOC_NONE, 5250648);
allocate([1,4,3,5] /* \01\04\03\05 */, "i8", ALLOC_NONE, 5251160);
allocate([1,0,1,0,1,0,0,0], "i8", ALLOC_NONE, 5251164);
allocate([1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,10,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,10,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,11,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,12,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,11,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,12,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,12,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,12,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,12,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,13,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,12,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,13,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,13,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,13,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,13,10,10,10,11,11,12,12,12,13,13,13,13,13,13,13,10] /* \01\05\07\09\0A\0A\0 */, "i8", ALLOC_NONE, 5251172);
allocate([1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,11,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,11,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,12,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,13,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,12,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,13,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,13,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,13,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,13,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,14,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,13,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,14,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,14,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,14,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,14,11,11,11,12,12,13,13,13,14,14,14,14,14,14,14,12] /* \01\05\07\09\0A\0A\0 */, "i8", ALLOC_NONE, 5251428);
allocate([1,0,5,0,14,0,44,0,74,0,63,0,110,0,93,0,172,0,149,0,138,0,242,0,225,0,195,0,120,1,17,0,3,0,4,0,12,0,20,0,35,0,62,0,53,0,47,0,83,0,75,0,68,0,119,0,201,0,107,0,207,0,9,0,15,0,13,0,23,0,38,0,67,0,58,0,103,0,90,0,161,0,72,0,127,0,117,0,110,0,209,0,206,0,16,0,45,0,21,0,39,0,69,0,64,0,114,0,99,0,87,0,158,0,140,0,252,0,212,0,199,0,131,1,109,1,26,0,75,0,36,0,68,0,65,0,115,0,101,0,179,0,164,0,155,0,8,1,246,0,226,0,139,1,126,1,106,1,9,0,66,0,30,0,59,0,56,0,102,0,185,0,173,0,9,1,142,0,253,0,232,0,144,1,132,1,122,1,189,1,16,0,111,0,54,0,52,0,100,0,184,0,178,0,160,0,133,0,1,1,244,0,228,0,217,0,129,1,110,1,203,2,10,0,98,0,48,0,91,0,88,0,165,0,157,0,148,0,5,1,248,0,151,1,141,1,116,1,124,1,121,3,116,3,8,0,85,0,84,0,81,0,159,0,156,0,143,0,4,1,249,0,171,1,145,1,136,1,127,1,215,2,201,2,196,2,7,0,154,0,76,0,73,0,141,0,131,0,0,1,245,0,170,1,150,1,138,1,128,1,223,2,103,1,198,2,96,1,11,0,139,0,129,0,67,0,125,0,247,0,233,0,229,0,219,0,137,1,231,2,225,2,208,2,117,3,114,3,183,1,4,0,243,0,120,0,118,0,115,0,227,0,223,0,140,1,234,2,230,2,224,2,209,2,200,2,194,2,223,0,180,1,6,0,202,0,224,0,222,0,218,0,216,0,133,1,130,1,125,1,108,1,120,3,187,1,195,2,184,1,181,1,192,6,4,0,235,2,211,0,210,0,208,0,114,1,123,1,222,2,211,2,202,2,199,6,115,3,109,3,108,3,131,13,97,3,2,0,121,1,113,1,102,0,187,0,214,2,210,2,102,1,199,2,197,2,98,3,198,6,103,3,130,13,102,3,178,1,0,0,12,0,10,0,7,0,11,0,10,0,17,0,11,0,9,0,13,0,12,0,10,0,7,0,5,0,3,0,1,0,3,0], "i8", ALLOC_NONE, 5251684);
allocate([3,5,6,8,8,9,10,10,10,11,11,12,12,12,13,14,5,5,7,8,9,9,10,10,10,11,11,12,12,12,13,13,6,7,7,8,9,9,10,10,10,11,11,12,12,13,13,13,7,8,8,9,9,10,10,11,11,11,12,12,12,13,13,13,8,8,9,9,10,10,11,11,11,11,12,12,12,13,13,13,9,9,9,10,10,10,11,11,11,11,12,12,13,13,13,14,10,9,10,10,10,11,11,11,11,12,12,12,13,13,14,14,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,14,10,10,10,11,11,11,11,12,12,12,12,13,13,14,14,14,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,11,11,11,11,12,12,12,12,12,13,13,13,13,14,15,14,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,12,12,11,12,12,12,13,13,13,13,13,13,14,14,15,15,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,13,13,13,13,13,13,13,13,14,14,14,14,15,15,14,15,13,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15] /* \03\05\06\08\08\09\0 */, "i8", ALLOC_NONE, 5252196);
allocate([7,0,12,0,18,0,53,0,47,0,76,0,124,0,108,0,89,0,123,0,108,0,119,0,107,0,81,0,122,0,63,0,13,0,5,0,16,0,27,0,46,0,36,0,61,0,51,0,42,0,70,0,52,0,83,0,65,0,41,0,59,0,36,0,19,0,17,0,15,0,24,0,41,0,34,0,59,0,48,0,40,0,64,0,50,0,78,0,62,0,80,0,56,0,33,0,29,0,28,0,25,0,43,0,39,0,63,0,55,0,93,0,76,0,59,0,93,0,72,0,54,0,75,0,50,0,29,0,52,0,22,0,42,0,40,0,67,0,57,0,95,0,79,0,72,0,57,0,89,0,69,0,49,0,66,0,46,0,27,0,77,0,37,0,35,0,66,0,58,0,52,0,91,0,74,0,62,0,48,0,79,0,63,0,90,0,62,0,40,0,38,0,125,0,32,0,60,0,56,0,50,0,92,0,78,0,65,0,55,0,87,0,71,0,51,0,73,0,51,0,70,0,30,0,109,0,53,0,49,0,94,0,88,0,75,0,66,0,122,0,91,0,73,0,56,0,42,0,64,0,44,0,21,0,25,0,90,0,43,0,41,0,77,0,73,0,63,0,56,0,92,0,77,0,66,0,47,0,67,0,48,0,53,0,36,0,20,0,71,0,34,0,67,0,60,0,58,0,49,0,88,0,76,0,67,0,106,0,71,0,54,0,38,0,39,0,23,0,15,0,109,0,53,0,51,0,47,0,90,0,82,0,58,0,57,0,48,0,72,0,57,0,41,0,23,0,27,0,62,0,9,0,86,0,42,0,40,0,37,0,70,0,64,0,52,0,43,0,70,0,55,0,42,0,25,0,29,0,18,0,11,0,11,0,118,0,68,0,30,0,55,0,50,0,46,0,74,0,65,0,49,0,39,0,24,0,16,0,22,0,13,0,14,0,7,0,91,0,44,0,39,0,38,0,34,0,63,0,52,0,45,0,31,0,52,0,28,0,19,0,14,0,8,0,9,0,3,0,123,0,60,0,58,0,53,0,47,0,43,0,32,0,22,0,37,0,24,0,17,0,12,0,15,0,10,0,2,0,1,0,71,0,37,0,34,0,30,0,28,0,20,0,17,0,26,0,21,0,16,0,10,0,6,0,8,0,6,0,2,0,0,0], "i8", ALLOC_NONE, 5252452);
allocate([1,5,7,8,9,10,10,11,10,11,12,12,13,13,14,14,4,6,8,9,10,10,11,11,11,11,12,12,13,14,14,14,7,8,9,10,11,11,12,12,11,12,12,13,13,14,15,15,8,9,10,11,11,12,12,12,12,13,13,13,13,14,15,15,9,9,11,11,12,12,13,13,12,13,13,14,14,15,15,16,10,10,11,12,12,12,13,13,13,13,14,13,15,15,16,16,10,11,12,12,13,13,13,13,13,14,14,14,15,15,16,16,11,11,12,13,13,13,14,14,14,14,15,15,15,16,18,18,10,10,11,12,12,13,13,14,14,14,14,15,15,16,17,17,11,11,12,12,13,13,13,15,14,15,15,16,16,16,18,17,11,12,12,13,13,14,14,15,14,15,16,15,16,17,18,19,12,12,12,13,14,14,14,14,15,15,15,16,17,17,17,18,12,13,13,14,14,15,14,15,16,16,17,17,17,18,18,18,13,13,14,15,15,15,16,16,16,16,16,17,18,17,18,18,14,14,14,15,15,15,17,16,16,19,17,17,17,19,18,18,13,14,15,16,16,16,17,16,17,17,18,18,21,20,21,18] /* \01\05\07\08\09\0A\0 */, "i8", ALLOC_NONE, 5252964);
allocate([1,0,5,0,14,0,21,0,34,0,51,0,46,0,71,0,42,0,52,0,68,0,52,0,67,0,44,0,43,0,19,0,3,0,4,0,12,0,19,0,31,0,26,0,44,0,33,0,31,0,24,0,32,0,24,0,31,0,35,0,22,0,14,0,15,0,13,0,23,0,36,0,59,0,49,0,77,0,65,0,29,0,40,0,30,0,40,0,27,0,33,0,42,0,16,0,22,0,20,0,37,0,61,0,56,0,79,0,73,0,64,0,43,0,76,0,56,0,37,0,26,0,31,0,25,0,14,0,35,0,16,0,60,0,57,0,97,0,75,0,114,0,91,0,54,0,73,0,55,0,41,0,48,0,53,0,23,0,24,0,58,0,27,0,50,0,96,0,76,0,70,0,93,0,84,0,77,0,58,0,79,0,29,0,74,0,49,0,41,0,17,0,47,0,45,0,78,0,74,0,115,0,94,0,90,0,79,0,69,0,83,0,71,0,50,0,59,0,38,0,36,0,15,0,72,0,34,0,56,0,95,0,92,0,85,0,91,0,90,0,86,0,73,0,77,0,65,0,51,0,44,0,43,0,42,0,43,0,20,0,30,0,44,0,55,0,78,0,72,0,87,0,78,0,61,0,46,0,54,0,37,0,30,0,20,0,16,0,53,0,25,0,41,0,37,0,44,0,59,0,54,0,81,0,66,0,76,0,57,0,54,0,37,0,18,0,39,0,11,0,35,0,33,0,31,0,57,0,42,0,82,0,72,0,80,0,47,0,58,0,55,0,21,0,22,0,26,0,38,0,22,0,53,0,25,0,23,0,38,0,70,0,60,0,51,0,36,0,55,0,26,0,34,0,23,0,27,0,14,0,9,0,7,0,34,0,32,0,28,0,39,0,49,0,75,0,30,0,52,0,48,0,40,0,52,0,28,0,18,0,17,0,9,0,5,0,45,0,21,0,34,0,64,0,56,0,50,0,49,0,45,0,31,0,19,0,12,0,15,0,10,0,7,0,6,0,3,0,48,0,23,0,20,0,39,0,36,0,35,0,53,0,21,0,16,0,23,0,13,0,10,0,6,0,1,0,4,0,2,0,16,0,15,0,17,0,27,0,25,0,20,0,29,0,11,0,17,0,12,0,16,0,8,0,1,0,1,0,0,0,1,0], "i8", ALLOC_NONE, 5253220);
allocate([4,4,6,8,9,10,10,10,4,5,6,7,9,9,10,10,6,6,7,8,9,10,9,10,7,7,8,8,9,10,10,10,8,8,9,9,10,10,10,11,9,9,10,10,10,11,10,11,9,9,9,10,10,11,11,12,10,10,10,11,11,11,11,12] /* \04\04\06\08\09\0A\0 */, "i8", ALLOC_NONE, 5253732);
allocate([9,0,6,0,16,0,33,0,41,0,39,0,38,0,26,0,7,0,5,0,6,0,9,0,23,0,16,0,26,0,11,0,17,0,7,0,11,0,14,0,21,0,30,0,10,0,7,0,17,0,10,0,15,0,12,0,18,0,28,0,14,0,5,0,32,0,13,0,22,0,19,0,18,0,16,0,9,0,5,0,40,0,17,0,31,0,29,0,17,0,13,0,4,0,2,0,27,0,12,0,11,0,15,0,10,0,7,0,4,0,1,0,27,0,12,0,8,0,12,0,6,0,3,0,1,0,0,0], "i8", ALLOC_NONE, 5253796);
allocate([2,4,6,8,9,10,9,10,4,5,6,8,10,10,9,10,6,7,8,9,10,11,10,10,8,8,9,11,10,12,10,11,9,10,10,11,11,12,11,12,9,10,11,12,12,13,12,13,9,9,9,10,11,12,12,12,9,9,10,11,12,12,12,12] /* \02\04\06\08\09\0A\0 */, "i8", ALLOC_NONE, 5253924);
allocate([3,0,4,0,10,0,24,0,34,0,33,0,21,0,15,0,5,0,3,0,4,0,10,0,32,0,17,0,11,0,10,0,11,0,7,0,13,0,18,0,30,0,31,0,20,0,5,0,25,0,11,0,19,0,59,0,27,0,18,0,12,0,5,0,35,0,33,0,31,0,58,0,30,0,16,0,7,0,5,0,28,0,26,0,32,0,19,0,17,0,15,0,8,0,14,0,14,0,12,0,9,0,13,0,14,0,9,0,4,0,1,0,11,0,4,0,6,0,6,0,6,0,3,0,2,0,0,0], "i8", ALLOC_NONE, 5253988);
allocate([1,4,7,9,10,10,10,11,4,6,8,9,10,11,10,10,7,8,9,10,11,12,11,11,8,9,10,11,12,12,11,12,9,10,11,12,12,12,12,12,10,11,12,12,13,13,12,13,9,10,11,12,12,12,13,13,10,10,11,12,12,13,13,13] /* \01\04\07\09\0A\0A\0 */, "i8", ALLOC_NONE, 5254116);
allocate([1,0,2,0,10,0,23,0,35,0,30,0,12,0,17,0,3,0,3,0,8,0,12,0,18,0,21,0,12,0,7,0,11,0,9,0,15,0,21,0,32,0,40,0,19,0,6,0,14,0,13,0,22,0,34,0,46,0,23,0,18,0,7,0,20,0,19,0,33,0,47,0,27,0,22,0,9,0,3,0,31,0,22,0,41,0,26,0,21,0,20,0,5,0,3,0,14,0,13,0,10,0,11,0,16,0,6,0,5,0,1,0,9,0,8,0,7,0,8,0,4,0,4,0,2,0,0,0], "i8", ALLOC_NONE, 5254180);
allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0], "i8", ALLOC_NONE, 5254308);
allocate([0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0], "i8", ALLOC_NONE, 5254492);
allocate([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,8,0,0,0], "i8", ALLOC_NONE, 5254556);
allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0], "i8", ALLOC_NONE, 5254620);
allocate([1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,8,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,16,0,0,0,16,0,0,0], "i8", ALLOC_NONE, 5254684);
allocate([0,0,0,0,6,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,80,0,0,0,96,0,0,0,116,0,0,0,140,0,0,0,168,0,0,0,200,0,0,0,238,0,0,0,28,1,0,0,80,1,0,0,140,1,0,0,208,1,0,0,10,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,32,0,0,0,42,0,0,0,56,0,0,0,74,0,0,0,100,0,0,0,132,0,0,0,174,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,80,0,0,0,96,0,0,0,114,0,0,0,136,0,0,0,162,0,0,0,194,0,0,0,232,0,0,0,22,1,0,0,76,1,0,0,138,1,0,0,208,1,0,0,28,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,18,0,0,0,26,0,0,0,36,0,0,0,48,0,0,0,62,0,0,0,80,0,0,0,104,0,0,0,136,0,0,0,180,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,80,0,0,0,96,0,0,0,116,0,0,0,140,0,0,0,168,0,0,0,200,0,0,0,238,0,0,0,28,1,0,0,80,1,0,0,140,1,0,0,208,1,0,0,10,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,18,0,0,0,26,0,0,0,36,0,0,0,48,0,0,0,62,0,0,0,80,0,0,0,104,0,0,0,134,0,0,0,174,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,52,0,0,0,62,0,0,0,74,0,0,0,90,0,0,0,110,0,0,0,134,0,0,0,162,0,0,0,196,0,0,0,238,0,0,0,32,1,0,0,86,1,0,0,162,1,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,22,0,0,0,30,0,0,0,40,0,0,0,52,0,0,0,66,0,0,0,84,0,0,0,106,0,0,0,136,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,42,0,0,0,50,0,0,0,60,0,0,0,72,0,0,0,88,0,0,0,106,0,0,0,128,0,0,0,156,0,0,0,190,0,0,0,230,0,0,0,20,1,0,0,74,1,0,0,128,1,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,22,0,0,0,28,0,0,0,38,0,0,0,50,0,0,0,64,0,0,0,80,0,0,0,100,0,0,0,126,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,82,0,0,0,102,0,0,0,126,0,0,0,156,0,0,0,194,0,0,0,240,0,0,0,40,1,0,0,108,1,0,0,192,1,0,0,38,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,22,0,0,0,30,0,0,0,42,0,0,0,58,0,0,0,78,0,0,0,104,0,0,0,138,0,0,0,180,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,80,0,0,0,96,0,0,0,116,0,0,0,140,0,0,0,168,0,0,0,200,0,0,0,238,0,0,0,28,1,0,0,80,1,0,0,140,1,0,0,208,1,0,0,10,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,18,0,0,0,26,0,0,0,36,0,0,0,48,0,0,0,62,0,0,0,80,0,0,0,104,0,0,0,134,0,0,0,174,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,12,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,36,0,0,0,44,0,0,0,54,0,0,0,66,0,0,0,80,0,0,0,96,0,0,0,116,0,0,0,140,0,0,0,168,0,0,0,200,0,0,0,238,0,0,0,28,1,0,0,80,1,0,0,140,1,0,0,208,1,0,0,10,2,0,0,64,2,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,18,0,0,0,26,0,0,0,36,0,0,0,48,0,0,0,62,0,0,0,80,0,0,0,104,0,0,0,134,0,0,0,174,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,24,0,0,0,36,0,0,0,48,0,0,0,60,0,0,0,72,0,0,0,88,0,0,0,108,0,0,0,132,0,0,0,160,0,0,0,192,0,0,0,232,0,0,0,24,1,0,0,80,1,0,0,144,1,0,0,220,1,0,0,54,2,0,0,56,2,0,0,58,2,0,0,60,2,0,0,62,2,0,0,64,2,0,0,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,36,0,0,0,52,0,0,0,72,0,0,0,96,0,0,0,124,0,0,0,160,0,0,0,162,0,0,0,164,0,0,0,166,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5254748);
allocate([0,0,0,0,6,0,0,0,11,0,0,0,16,0,0,0,21,0,0,0], "i8", ALLOC_NONE, 5256584);
allocate([0,0,0,0,18,0,0,0,36,0,0,0,54,0,0,0,54,0,0,0,36,0,0,0,54,0,0,0,72,0,0,0,54,0,0,0,72,0,0,0,90,0,0,0,72,0,0,0,90,0,0,0,108,0,0,0,108,0,0,0,126,0,0,0], "i8", ALLOC_NONE, 5256604);
allocate([0,0,0,0,18,0,0,0,36,0,0,0,54,0,0,0,51,0,0,0,35,0,0,0,53,0,0,0,71,0,0,0,52,0,0,0,70,0,0,0,88,0,0,0,69,0,0,0,87,0,0,0,105,0,0,0,104,0,0,0,122,0,0,0], "i8", ALLOC_NONE, 5256668);
allocate([0,0,0,0,10,0,0,0,20,0,0,0,30,0,0,0,33,0,0,0,21,0,0,0,31,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,52,0,0,0,43,0,0,0,53,0,0,0,63,0,0,0,64,0,0,0,74,0,0,0], "i8", ALLOC_NONE, 5256732);
allocate([34,86,0,0,192,93,0,0,128,62,0,0,255,255,255,255,68,172,0,0,128,187,0,0,0,125,0,0,255,255,255,255,17,43,0,0,224,46,0,0,64,31,0,0,255,255,255,255], "i8", ALLOC_NONE, 5256796);
allocate([0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254] /* \00\80@\C0 \A0`\E0\1 */, "i8", ALLOC_NONE, 5256844);
allocate([205,204,236,192,205,204,236,192,205,204,236,192,0,0,24,193,205,204,236,192,51,51,195,192,0,0,176,192,102,102,150,192,102,102,150,192,102,102,150,192,102,102,150,192], "i8", ALLOC_NONE, 5256972);
allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5257016);
allocate(32832, "i8", ALLOC_NONE, 5257104);
allocate(1496, "i8", ALLOC_NONE, 5289936);
allocate([205,204,60,65,154,153,89,65,154,153,137,65,0,0,0,66,0,0,58,66,51,51,77,66,0,0,102,66,51,51,134,66,0,0,143,66,51,51,169,66,51,51,195,66,0,0,2,67], "i8", ALLOC_NONE, 5291432);
allocate([154,153,217,64,154,153,185,64,154,153,185,64,205,204,204,64,0,0,208,64,102,102,30,65,154,153,65,65,102,102,102,65,0,0,112,65,51,51,151,65,205,204,172,65,51,51,215,65,205,204,8,66,205,204,32,66,51,51,59,66,0,0,98,66,205,204,114,66,205,204,147,66,102,102,171,66,205,204,186,66,51,51,252,66], "i8", ALLOC_NONE, 5291480);
allocate([0,0,0,0,1,0,0,0,16,0,0,0,17,0,0,0,8,0,0,0,9,0,0,0,24,0,0,0,25,0,0,0,4,0,0,0,5,0,0,0,20,0,0,0,21,0,0,0,12,0,0,0,13,0,0,0,28,0,0,0,29,0,0,0,2,0,0,0,3,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,26,0,0,0,27,0,0,0,6,0,0,0,7,0,0,0,22,0,0,0,23,0,0,0,14,0,0,0,15,0,0,0,30,0,0,0,31,0,0,0], "i8", ALLOC_NONE, 5291564);
allocate([8,0,0,0,208,7,0,0,16,0,0,0,116,14,0,0,24,0,0,0,60,15,0,0,32,0,0,0,124,21,0,0,40,0,0,0,88,27,0,0,48,0,0,0,76,29,0,0,56,0,0,0,16,39,0,0,64,0,0,0,248,42,0,0,80,0,0,0,188,52,0,0,96,0,0,0,252,58,0,0,112,0,0,0,240,60,0,0,128,0,0,0,104,66,0,0,160,0,0,0,92,68,0,0,192,0,0,0,168,72,0,0,224,0,0,0,200,75,0,0,0,1,0,0,244,76,0,0,64,1,0,0,20,80,0,0], "i8", ALLOC_NONE, 5291692);
allocate([6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,6,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,3,0,0,0,9,0,0,0,9,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,9,0,0,0,12,0,0,0,6,0,0,0,11,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,0,0,0,0,6,0,0,0,15,0,0,0,12,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,12,0,0,0,9,0,0,0,9,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,9,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,0,0,0,0,15,0,0,0,12,0,0,0,9,0,0,0,0,0,0,0,6,0,0,0,18,0,0,0,9,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5291828);
allocate([8,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,1,0,0,64,1,0,0], "i8", ALLOC_NONE, 5292116);
allocate([0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0], "i8", ALLOC_NONE, 5292184);
allocate(24, "i8", ALLOC_NONE, 5292248);
allocate(22000, "i8", ALLOC_NONE, 5292272);
allocate([15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0] /* \0F\0F\0F\0F\0F\0F\0 */, "i8", ALLOC_NONE, 5314272);
allocate([15,0,0,0,15,0,0,0,7,0,0,0,7,0,0,0,15,0,0,0,15,0,0,0,7,0,0,0,0,0,0,0,7,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,31,0,0,0,31,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5314312);
allocate([7,7,7,7,7,7,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0] /* \07\07\07\07\07\07\0 */, "i8", ALLOC_NONE, 5314408);
allocate([15,15,15,15,15,15,15,15,15,15,15,7,7,7,7,7,7,7,7,7,7,0] /* \0F\0F\0F\0F\0F\0F\0 */, "i8", ALLOC_NONE, 5314432);
allocate(4, "i8", ALLOC_NONE, 5314456);
allocate(4, "i8", ALLOC_NONE, 5314460);
allocate(2052, "i8", ALLOC_NONE, 5314464);
allocate([4,0,1,0,5,0,5,0,7,0,7,0,8,0,9,0,9,0,10,0,10,0,10,0,10,0,11,0,11,0,11,0,11,0,12,0,12,0,12,0,12,0,12,0,12,0,13,0,12,0,13,0,12,0,13,0,13,0,14,0,10,0,10,0,5,0,4,0,6,0,6,0,7,0,8,0,8,0,9,0,9,0,10,0,10,0,11,0,10,0,11,0,11,0,11,0,11,0,12,0,11,0,12,0,12,0,12,0,12,0,13,0,12,0,14,0,12,0,13,0,12,0,14,0,10,0,10,0,7,0,7,0,7,0,8,0,8,0,9,0,9,0,10,0,9,0,11,0,10,0,11,0,10,0,12,0,11,0,12,0,11,0,13,0,11,0,12,0,11,0,13,0,12,0,13,0,12,0,13,0,12,0,14,0,13,0,14,0,9,0,11,0,8,0,9,0,8,0,9,0,9,0,10,0,9,0,11,0,10,0,11,0,10,0,12,0,10,0,12,0,11,0,12,0,11,0,13,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,9,0,12,0,9,0,10,0,9,0,10,0,9,0,11,0,10,0,11,0,10,0,12,0,10,0,12,0,10,0,13,0,11,0,13,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,13,0,15,0,9,0,11,0,10,0,10,0,9,0,10,0,10,0,11,0,10,0,11,0,10,0,12,0,10,0,13,0,11,0,13,0,11,0,14,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,16,0,9,0,12,0,10,0,11,0,10,0,11,0,10,0,11,0,10,0,12,0,10,0,13,0,11,0,13,0,11,0,13,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,13,0,16,0,9,0,12,0,11,0,11,0,10,0,11,0,10,0,12,0,10,0,12,0,11,0,13,0,11,0,13,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,15,0,13,0,17,0,13,0,17,0,10,0,12,0,11,0,11,0,11,0,12,0,11,0,12,0,11,0,13,0,11,0,13,0,11,0,13,0,11,0,14,0,11,0,14,0,11,0,15,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,16,0,13,0,16,0,13,0,16,0,10,0,12,0,11,0,12,0,11,0,12,0,11,0,12,0,11,0,13,0,11,0,13,0,11,0,14,0,11,0,14,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,16,0,13,0,15,0,13,0,16,0,13,0,15,0,10,0,13,0,12,0,12,0,11,0,13,0,11,0,12,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,16,0,12,0,16,0,13,0,16,0,13,0,17,0,13,0,17,0,13,0,16,0,10,0,12,0,12,0,13,0,12,0,13,0,11,0,13,0,11,0,13,0,11,0,14,0,12,0,14,0,12,0,15,0,12,0,16,0,12,0,16,0,12,0,16,0,12,0,16,0,13,0,16,0,13,0,16,0,13,0,15,0,13,0,16,0,10,0,13,0,12,0,13,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,15,0,12,0,17,0,13,0,16,0,13,0,16,0,13,0,16,0,13,0,16,0,13,0,18,0,10,0,13,0,12,0,15,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0,15,0,12,0,15,0,12,0,16,0,12,0,16,0,13,0,16,0,13,0,18,0,13,0,17,0,13,0,17,0,13,0,17,0,13,0,19,0,13,0,17,0,10,0,13,0,13,0,14,0,12,0,15,0,12,0,13,0,12,0,14,0,12,0,16,0,12,0,16,0,12,0,15,0,13,0,16,0,13,0,16,0,13,0,17,0,13,0,18,0,13,0,17,0,13,0,19,0,13,0,17,0,13,0,16,0,10,0,13,0,9,0,10,0,9,0,10,0,9,0,10,0,9,0,11,0,9,0,11,0,9,0,12,0,9,0,12,0,9,0,12,0,9,0,13,0,9,0,13,0,9,0,13,0,10,0,13,0,10,0,13,0,10,0,13,0,10,0,13,0,6,0,10,0], "i8", ALLOC_NONE, 5316516);
allocate([44,76,0,0,56,74,0,0,68,72,0,0,80,70,0,0,92,68,0,0,116,64,0,0,140,60,0,0,164,56,0,0,212,48,0,0,28,37,0,0,110,15,0,0], "i8", ALLOC_NONE, 5317540);
allocate([192,93,0,0,44,76,0,0,68,72,0,0,80,70,0,0,92,68,0,0,104,66,0,0,116,64,0,0,240,60,0,0,96,59,0,0,62,28,0,0,110,15,0,0], "i8", ALLOC_NONE, 5317584);
allocate([44,76,0,0,56,74,0,0,168,72,0,0,80,70,0,0,92,68,0,0,128,62,0,0,240,60,0,0,52,58,0,0,212,48,0,0,16,39,0,0,110,15,0,0], "i8", ALLOC_NONE, 5317628);
allocate([128,187,0,0,0,0,0,0,0,0,208,64,0,0,0,0,0,0,208,64,148,92,0,0,68,172,0,0,0,0,0,0,0,0,208,64,0,0,0,0,0,0,208,64,20,85,0,0,0,125,0,0,0,0,208,64,0,0,0,65,102,102,166,64,0,0,208,64,184,61,0,0,192,93,0,0,0,0,0,65,0,0,8,65,102,102,166,64,0,0,192,64,74,46,0,0,34,86,0,0,0,0,8,65,246,40,16,65,102,102,166,64,0,0,208,64,140,42,0,0,128,62,0,0,246,40,16,65,102,102,22,65,205,204,156,64,0,0,208,64,223,30,0,0,224,46,0,0,102,102,22,65,154,153,25,65,0,0,144,64,0,0,192,64,40,23,0,0,17,43,0,0,154,153,25,65,102,102,30,65,51,51,163,64,0,0,208,64,70,21,0,0,64,31,0,0,102,102,30,65,0,0,32,65,205,204,156,64,0,0,208,64,112,15,0,0], "i8", ALLOC_NONE, 5317672);
allocate([102,102,182,64,0,0,208,64,154,153,233,64,51,51,3,65,0,0,32,65,102,102,62,65,0,0,80,65,0,0,96,65,0,0,112,65,0,0,132,65], "i8", ALLOC_NONE, 5317888);
allocate([0,0,0,63,0,0,0,63], "i8", ALLOC_NONE, 5317928);
allocate([84,224,212,189,89,191,65,190,248,108,93,190,47,168,31,190,254,195,51,36,70,124,111,62,48,42,1,63,72,191,65,63,70,124,111,63], "i8", ALLOC_NONE, 5317936);
allocate(8192, "i8", ALLOC_NONE, 5317972);
allocate(1028, "i8", ALLOC_NONE, 5326164);
allocate(4, "i8", ALLOC_NONE, 5327192);
allocate([1,0,0,0,2,0,0,0,5,0,0,0,7,0,0,0,7,0,0,0,10,0,0,0,10,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0], "i8", ALLOC_NONE, 5327196);
allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,255,3,0,0,0,0,0,0,0,0,0,0,13,0,0,0,255,31,0,0,0,0,0,0,0,0,0,0,4,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,11,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,13,0,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5327256);
allocate(9216, "i8", ALLOC_NONE, 5327800);
allocate(8192, "i8", ALLOC_NONE, 5337016);
allocate(592, "i8", ALLOC_NONE, 5345208);
allocate([123,0,0,0,34,0,0,0,74,0,0,0,73,0,0,0,99,0,0,0,20,0,0,0,40,0,0,0,26,0,0,0,145,0,0,0,90,0,0,0,116,0,0,0,41,0,0,0,135,0,0,0,85,0,0,0,96,0,0,0,138,0,0,0,89,0,0,0,0,0,0,0,107,0,0,0,132,0,0,0,65,0,0,0,88,0,0,0,104,0,0,0,102,0,0,0,97,0,0,0,136,0,0,0,61,0,0,0,141,0,0,0,32,0,0,0,1,0,0,0,112,0,0,0,128,0,0,0,57,0,0,0,140,0,0,0,2,0,0,0,139,0,0,0,58,0,0,0,3,0,0,0,125,0,0,0,50,0,0,0,22,0,0,0,4,0,0,0,55,0,0,0,127,0,0,0,122,0,0,0,120,0,0,0,98,0,0,0,52,0,0,0,48,0,0,0,54,0,0,0,124,0,0,0,25,0,0,0,84,0,0,0,80,0,0,0,115,0,0,0,81,0,0,0,119,0,0,0,5,0,0,0,30,0,0,0,36,0,0,0,59,0,0,0,126,0,0,0,38,0,0,0,49,0,0,0,91,0,0,0,6,0,0,0,129,0,0,0,79,0,0,0,137,0,0,0,7,0,0,0,35,0,0,0,100,0,0,0,131,0,0,0,19,0,0,0,33,0,0,0,46,0,0,0,47,0,0,0,8,0,0,0,29,0,0,0,146,0,0,0,63,0,0,0,86,0,0,0,71,0,0,0,45,0,0,0,142,0,0,0,9,0,0,0,77,0,0,0,82,0,0,0,64,0,0,0,133,0,0,0,10,0,0,0,66,0,0,0,39,0,0,0,11,0,0,0,103,0,0,0,12,0,0,0,75,0,0,0,134,0,0,0,13,0,0,0,53,0,0,0,62,0,0,0,109,0,0,0,117,0,0,0,23,0,0,0,108,0,0,0,92,0,0,0,67,0,0,0,93,0,0,0,43,0,0,0,121,0,0,0,15,0,0,0,68,0,0,0,14,0,0,0,16,0,0,0,76,0,0,0,87,0,0,0,118,0,0,0,17,0,0,0,78,0,0,0,143,0,0,0,114,0,0,0,110,0,0,0,69,0,0,0,21,0,0,0,111,0,0,0,95,0,0,0,105,0,0,0,42,0,0,0,37,0,0,0,24,0,0,0,56,0,0,0,44,0,0,0,101,0,0,0,83,0,0,0,94,0,0,0,106,0,0,0,147,0,0,0,113,0,0,0,18,0,0,0,51,0,0,0,130,0,0,0,144,0,0,0,60,0,0,0,70,0,0,0,31,0,0,0,72,0,0,0,27,0,0,0,28,0,0,0], "i8", ALLOC_NONE, 5345800);
allocate([121,207,23,190,138,59,1,66,164,51,148,67,155,200,92,68,202,167,45,70,175,40,132,68,192,222,152,67,129,155,246,65,199,156,118,64,77,183,109,66,194,101,49,68,74,15,165,69,82,45,182,197,71,104,76,196,73,213,153,194,66,4,147,192,94,6,104,63,54,189,72,62,3,97,30,190,44,76,9,66,68,231,150,67,96,102,76,68,47,215,52,70,17,168,147,68,117,204,160,67,46,219,249,65,68,124,109,64,146,154,86,66,183,10,43,68,136,68,163,69,35,243,198,197,129,62,99,196,80,169,179,194,43,42,173,192,1,24,82,63,194,197,199,62,223,144,36,190,144,150,16,66,32,15,152,67,140,47,55,68,113,86,59,70,101,128,162,68,120,164,167,67,193,231,251,65,149,237,87,64,209,237,60,66,46,47,35,68,80,99,160,69,178,232,215,197,240,127,122,196,100,62,207,194,121,91,195,192,207,220,61,63,49,160,20,63,61,91,42,190,177,1,23,66,106,129,151,67,98,254,28,68,14,27,65,70,229,136,176,68,246,95,173,67,75,201,252,65,52,59,74,64,173,80,34,66,178,10,26,68,170,126,156,69,83,240,232,197,121,249,136,196,253,124,236,194,231,48,218,192,193,13,43,63,21,239,67,63,139,188,47,190,75,118,28,66,177,43,149,67,81,195,251,67,92,30,70,70,161,146,189,68,23,254,177,67,116,41,251,65,165,166,58,64,77,48,7,66,62,185,15,68,225,169,151,69,144,236,249,197,102,184,148,196,253,164,5,195,130,12,247,192,196,112,25,63,234,90,113,63,120,177,52,190,11,224,32,66,197,255,144,67,75,169,179,67,9,89,74,70,63,131,201,68,227,108,181,67,12,94,248,65,73,159,52,64,49,233,215,65,148,121,4,68,250,250,145,69,153,95,5,198,224,82,160,196,230,149,21,195,193,75,10,193,185,213,8,63,218,57,142,63,244,54,185,190,93,45,36,66,238,197,138,67,123,163,67,67,193,197,77,70,150,52,212,68,118,180,183,67,208,116,244,65,169,3,34,64,173,143,160,65,68,192,240,67,195,135,139,69,122,165,13,198,28,180,171,196,130,42,38,195,136,83,25,193,112,40,242,62,153,103,162,63,55,74,189,190,167,146,37,66,148,165,130,67,182,247,78,65,135,96,80,70,71,144,221,68,247,225,184,67,182,2,238,65,153,191,25,64,113,224,84,65,226,71,215,67,116,104,132,69,186,183,21,198,32,182,182,196,153,32,55,195,248,124,43,193,205,19,212,62,243,4,181,63,187,232,192,190,91,122,38,66,227,13,113,67,88,242,59,195,65,40,82,70,237,132,229,68,213,190,184,67,201,3,232,65,16,147,4,64,105,242,216,64,110,227,188,67,47,102,121,69,214,134,29,198,81,62,193,196,85,96,72,195,235,212,61,193,80,50,183,62,3,228,197,63,71,16,196,190,73,155,36,66,18,122,88,67,23,20,203,195,140,28,83,70,216,249,235,68,185,166,183,67,247,22,225,65,11,250,244,63,71,16,196,62,69,237,161,67,91,2,105,69,239,4,37,198,124,38,203,196,16,160,89,195,54,63,80,193,66,80,155,62,49,219,212,63,46,15,21,191,242,108,33,66,98,51,60,67,83,17,32,196,220,60,83,70,70,243,240,68,238,104,181,67,38,192,215,65,112,137,223,63,88,12,180,192,157,166,134,67,47,214,87,69,149,32,44,198,6,85,212,196,16,196,106,195,193,157,98,193,212,63,128,62,152,197,225,63,57,182,22,191,234,239,28,66,206,194,27,67,244,79,94,196,226,141,82,70,182,97,244,68,249,56,178,67,221,40,207,65,124,229,200,63,57,233,50,193,16,207,86,67,160,18,70,69,73,205,50,198,21,165,220,196,104,176,123,195,1,246,119,193,175,175,75,62,94,131,236,63,230,143,74,191,36,147,21,66,35,102,239,66,16,227,143,196,201,17,81,70,166,76,246,68,130,2,174,67,22,218,197,65,28,72,177,63,12,95,131,193,224,12,33,67,81,229,51,69,247,251,56,198,140,255,227,196,139,36,134,195,184,137,134,193,100,229,23,62,11,250,244,63,223,202,75,191,201,237,12,66,223,9,160,66,174,0,178,196,45,207,78,70,187,185,246,68,213,254,168,67,51,80,186,65,197,91,178,63,32,204,168,193,139,247,216,66,54,123,33,69,232,158,62,198,230,72,234,196,148,31,142,195,218,232,144,193,220,181,201,61,190,20,251,63,15,177,127,191,152,64,2,66,94,213,19,66,106,66,213,196,38,205,75,70,66,172,245,68,70,55,163,67,112,102,177,65,251,108,153,63,81,248,202,193,231,35,102,66,180,6,15,69,179,170,67,198,226,90,239,196,151,161,149,195,66,6,155,193,60,57,73,61,109,196,254,63,54,211,37,70,68,177,165,69,175,113,104,68,69,51,54,68,128,12,144,67,180,213,129,66,2,0,241,65,34,63,131,64,49,19,72,70,167,49,243,68,86,182,156,67,170,105,166,65,251,100,249,68,112,3,16,65,17,158,233,193], "i8", ALLOC_NONE, 5346392);
allocate([0,0,0,0,128,1,0,0,128,4,0,0,128,4,0,0,0,0,0,0,128,1,0,0,128,4,0,0,64,2,0,0], "i8", ALLOC_NONE, 5347532);
allocate([0,0,0,0,193,192,0,0,129,193,0,0,64,1,0,0,1,195,0,0,192,3,0,0,128,2,0,0,65,194,0,0,1,198,0,0,192,6,0,0,128,7,0,0,65,199,0,0,0,5,0,0,193,197,0,0,129,196,0,0,64,4,0,0,1,204,0,0,192,12,0,0,128,13,0,0,65,205,0,0,0,15,0,0,193,207,0,0,129,206,0,0,64,14,0,0,0,10,0,0,193,202,0,0,129,203,0,0,64,11,0,0,1,201,0,0,192,9,0,0,128,8,0,0,65,200,0,0,1,216,0,0,192,24,0,0,128,25,0,0,65,217,0,0,0,27,0,0,193,219,0,0,129,218,0,0,64,26,0,0,0,30,0,0,193,222,0,0,129,223,0,0,64,31,0,0,1,221,0,0,192,29,0,0,128,28,0,0,65,220,0,0,0,20,0,0,193,212,0,0,129,213,0,0,64,21,0,0,1,215,0,0,192,23,0,0,128,22,0,0,65,214,0,0,1,210,0,0,192,18,0,0,128,19,0,0,65,211,0,0,0,17,0,0,193,209,0,0,129,208,0,0,64,16,0,0,1,240,0,0,192,48,0,0,128,49,0,0,65,241,0,0,0,51,0,0,193,243,0,0,129,242,0,0,64,50,0,0,0,54,0,0,193,246,0,0,129,247,0,0,64,55,0,0,1,245,0,0,192,53,0,0,128,52,0,0,65,244,0,0,0,60,0,0,193,252,0,0,129,253,0,0,64,61,0,0,1,255,0,0,192,63,0,0,128,62,0,0,65,254,0,0,1,250,0,0,192,58,0,0,128,59,0,0,65,251,0,0,0,57,0,0,193,249,0,0,129,248,0,0,64,56,0,0,0,40,0,0,193,232,0,0,129,233,0,0,64,41,0,0,1,235,0,0,192,43,0,0,128,42,0,0,65,234,0,0,1,238,0,0,192,46,0,0,128,47,0,0,65,239,0,0,0,45,0,0,193,237,0,0,129,236,0,0,64,44,0,0,1,228,0,0,192,36,0,0,128,37,0,0,65,229,0,0,0,39,0,0,193,231,0,0,129,230,0,0,64,38,0,0,0,34,0,0,193,226,0,0,129,227,0,0,64,35,0,0,1,225,0,0,192,33,0,0,128,32,0,0,65,224,0,0,1,160,0,0,192,96,0,0,128,97,0,0,65,161,0,0,0,99,0,0,193,163,0,0,129,162,0,0,64,98,0,0,0,102,0,0,193,166,0,0,129,167,0,0,64,103,0,0,1,165,0,0,192,101,0,0,128,100,0,0,65,164,0,0,0,108,0,0,193,172,0,0,129,173,0,0,64,109,0,0,1,175,0,0,192,111,0,0,128,110,0,0,65,174,0,0,1,170,0,0,192,106,0,0,128,107,0,0,65,171,0,0,0,105,0,0,193,169,0,0,129,168,0,0,64,104,0,0,0,120,0,0,193,184,0,0,129,185,0,0,64,121,0,0,1,187,0,0,192,123,0,0,128,122,0,0,65,186,0,0,1,190,0,0,192,126,0,0,128,127,0,0,65,191,0,0,0,125,0,0,193,189,0,0,129,188,0,0,64,124,0,0,1,180,0,0,192,116,0,0,128,117,0,0,65,181,0,0,0,119,0,0,193,183,0,0,129,182,0,0,64,118,0,0,0,114,0,0,193,178,0,0,129,179,0,0,64,115,0,0,1,177,0,0,192,113,0,0,128,112,0,0,65,176,0,0,0,80,0,0,193,144,0,0,129,145,0,0,64,81,0,0,1,147,0,0,192,83,0,0,128,82,0,0,65,146,0,0,1,150,0,0,192,86,0,0,128,87,0,0,65,151,0,0,0,85,0,0,193,149,0,0,129,148,0,0,64,84,0,0,1,156,0,0,192,92,0,0,128,93,0,0,65,157,0,0,0,95,0,0,193,159,0,0,129,158,0,0,64,94,0,0,0,90,0,0,193,154,0,0,129,155,0,0,64,91,0,0,1,153,0,0,192,89,0,0,128,88,0,0,65,152,0,0,1,136,0,0,192,72,0,0,128,73,0,0,65,137,0,0,0,75,0,0,193,139,0,0,129,138,0,0,64,74,0,0,0,78,0,0,193,142,0,0,129,143,0,0,64,79,0,0,1,141,0,0,192,77,0,0,128,76,0,0,65,140,0,0,0,68,0,0,193,132,0,0,129,133,0,0,64,69,0,0,1,135,0,0,192,71,0,0,128,70,0,0,65,134,0,0,1,130,0,0,192,66,0,0,128,67,0,0,65,131,0,0,0,65,0,0,193,129,0,0,129,128,0,0,64,64,0,0], "i8", ALLOC_NONE, 5347564);
allocate([28,0,0,0,32,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0], ["*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0], ALLOC_NONE, 5348588);
allocate([94,131,108,63,21,239,195,62,109,196,126,63,54,189,200,61,67,236,127,63,176,10,201,60,196,254,127,63,136,15,201,59], "i8", ALLOC_NONE, 5348652);
allocate([0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,144,0,0,0,160,0,0,0,255,255,255,255,0,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,1,0,0,64,1,0,0,255,255,255,255,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255], "i8", ALLOC_NONE, 5348684);
allocate([8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,240,193,0,0,48,65,82,73,157,58,1,0,0,0,16,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,200,193,0,0,48,65,111,18,131,58,1,0,0,0,24,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,160,193,0,0,48,65,111,18,131,58,1,0,0,0,32,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,112,193,0,0,48,65,111,18,131,58,1,0,0,0,40,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,32,193,0,0,48,65,250,237,107,58,1,0,0,0,48,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,32,193,0,0,48,65,250,237,107,58,1,0,0,0,56,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,192,192,0,0,48,65,23,183,81,58,1,0,0,0,64,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,0,192,0,0,48,65,23,183,81,58,1,0,0,0,80,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,0,0,0,0,0,65,52,128,55,58,1,0,0,0,96,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,32,64,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,128,63,0,0,176,64,82,73,29,58,1,0,0,0,112,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,16,64,51,51,211,64,0,0,17,67,51,51,115,63,0,0,0,0,0,0,0,64,0,0,144,64,111,18,3,58,1,0,0,0,128,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,154,153,249,63,205,204,204,64,0,0,12,67,51,51,115,63,0,0,0,0,0,0,64,64,0,0,128,64,23,183,81,57,1,0,0,0,160,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,184,30,229,63,0,0,192,64,0,0,7,67,51,51,115,63,0,0,0,192,0,0,160,64,0,0,96,64,0,0,0,0,1,0,0,0,192,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,82,184,190,63,51,51,179,64,0,0,250,66,236,81,120,63,0,0,128,192,0,0,224,64,0,0,64,64,0,0,0,0,0,0,0,0,224,0,0,0,9,0,0,0,9,0,0,0,1,0,0,0,0,0,160,63,102,102,166,64,0,0,250,66,72,225,122,63,0,0,192,192,0,0,16,65,0,0,0,64,0,0,0,0,0,0,0,0,0,1,0,0,9,0,0,0,9,0,0,0,1,0,0,0,236,81,120,63,102,102,166,64,0,0,250,66,0,0,128,63,0,0,0,193,0,0,32,65,0,0,128,63,0,0,0,0,0,0,0,0,64,1,0,0,9,0,0,0,9,0,0,0,1,0,0,0,102,102,102,63,102,102,166,64,0,0,250,66,0,0,128,63,0,0,32,193,0,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5348876);
allocate(32832, "i8", ALLOC_NONE, 5349760);
allocate([67,101,108,116,105,99,0] /* Celtic\00 */, "i8", ALLOC_NONE, 5382592);
allocate([82,101,118,105,118,97,108,0] /* Revival\00 */, "i8", ALLOC_NONE, 5382600);
allocate([76,97,116,105,110,0] /* Latin\00 */, "i8", ALLOC_NONE, 5382608);
allocate([66,101,98,111,98,0] /* Bebob\00 */, "i8", ALLOC_NONE, 5382616);
allocate([70,97,115,116,32,70,117,115,105,111,110,0] /* Fast Fusion\00 */, "i8", ALLOC_NONE, 5382624);
allocate([83,119,105,110,103,0] /* Swing\00 */, "i8", ALLOC_NONE, 5382636);
allocate([78,97,116,105,111,110,97,108,32,70,111,108,107,0] /* National Folk\00 */, "i8", ALLOC_NONE, 5382644);
allocate([87,97,114,110,105,110,103,58,32,104,105,103,104,112,97,115,115,32,102,105,108,116,101,114,32,100,105,115,97,98,108,101,100,46,32,32,104,105,103,104,112,97,115,115,32,102,114,101,113,117,101,110,99,121,32,116,111,111,32,115,109,97,108,108,10,0] /* Warning: highpass fi */, "i8", ALLOC_NONE, 5382660);
allocate([70,111,108,107,45,82,111,99,107,0] /* Folk-Rock\00 */, "i8", ALLOC_NONE, 5382728);
allocate([83,83,69,0] /* SSE\00 */, "i8", ALLOC_NONE, 5382740);
allocate([69,114,114,111,114,58,32,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,105,110,95,98,117,102,102,101,114,32,98,117,102,102,101,114,10,0] /* Error: can't allocat */, "i8", ALLOC_NONE, 5382744);
allocate([70,111,108,107,0] /* Folk\00 */, "i8", ALLOC_NONE, 5382784);
allocate([69,114,114,111,114,58,32,99,111,117,108,100,32,110,111,116,32,117,112,100,97,116,101,32,76,65,77,69,32,116,97,103,44,32,102,105,108,101,32,110,111,116,32,114,101,97,100,97,98,108,101,46,10,0] /* Error: could not upd */, "i8", ALLOC_NONE, 5382792);
allocate([72,97,114,100,32,82,111,99,107,0] /* Hard Rock\00 */, "i8", ALLOC_NONE, 5382848);
allocate([76,65,77,69,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,0] /* LAME %s version %s ( */, "i8", ALLOC_NONE, 5382860);
allocate([69,114,114,111,114,58,32,99,111,117,108,100,32,110,111,116,32,117,112,100,97,116,101,32,76,65,77,69,32,116,97,103,44,32,102,105,108,101,32,110,111,116,32,115,101,101,107,97,98,108,101,46,10,0] /* Error: could not upd */, "i8", ALLOC_NONE, 5382884);
allocate([82,111,99,107,32,38,32,82,111,108,108,0] /* Rock & Roll\00 */, "i8", ALLOC_NONE, 5382940);
allocate([69,114,114,111,114,58,32,99,111,117,108,100,32,110,111,116,32,117,112,100,97,116,101,32,76,65,77,69,32,116,97,103,46,10,0] /* Error: could not upd */, "i8", ALLOC_NONE, 5382952);
allocate([77,117,115,105,99,97,108,0] /* Musical\00 */, "i8", ALLOC_NONE, 5382988);
allocate([10,0] /* \0A\00 */, "i8", ALLOC_NONE, 5382996);
allocate([82,101,116,114,111,0] /* Retro\00 */, "i8", ALLOC_NONE, 5383000);
allocate([9,105,110,116,101,114,99,104,97,110,110,101,108,32,109,97,115,107,105,110,103,32,114,97,116,105,111,58,32,37,103,10,0] /* \09interchannel mask */, "i8", ALLOC_NONE, 5383008);
allocate([80,111,108,107,97,0] /* Polka\00 */, "i8", ALLOC_NONE, 5383044);
allocate([9,117,115,105,110,103,32,116,101,109,112,111,114,97,108,32,109,97,115,107,105,110,103,32,101,102,102,101,99,116,58,32,37,115,10,0] /* \09using temporal ma */, "i8", ALLOC_NONE, 5383052);
allocate([65,99,105,100,32,74,97,122,122,0] /* Acid Jazz\00 */, "i8", ALLOC_NONE, 5383088);
allocate([110,111,0] /* no\00 */, "i8", ALLOC_NONE, 5383100);
allocate([65,99,105,100,32,80,117,110,107,0] /* Acid Punk\00 */, "i8", ALLOC_NONE, 5383104);
allocate([121,101,115,0] /* yes\00 */, "i8", ALLOC_NONE, 5383116);
allocate([84,114,105,98,97,108,0] /* Tribal\00 */, "i8", ALLOC_NONE, 5383120);
allocate([9,32,32,32,97,100,106,117,115,116,32,109,97,115,107,105,110,103,32,98,97,115,115,61,37,103,32,100,66,44,32,97,108,116,111,61,37,103,32,100,66,44,32,116,114,101,98,108,101,61,37,103,32,100,66,44,32,115,102,98,50,49,61,37,103,32,100,66,10,0] /* \09 adjust masking */, "i8", ALLOC_NONE, 5383128);
allocate([76,111,45,70,105,0] /* Lo-Fi\00 */, "i8", ALLOC_NONE, 5383200);
allocate([37,108,117,0] /* %lu\00 */, "i8", ALLOC_NONE, 5383208);
allocate([9,101,120,112,101,114,105,109,101,110,116,97,108,32,112,115,121,32,116,117,110,105,110,103,115,32,98,121,32,78,97,111,107,105,32,83,104,105,98,97,116,97,10,0] /* \09experimental psy */, "i8", ALLOC_NONE, 5383212);
allocate([84,114,97,105,108,101,114,0] /* Trailer\00 */, "i8", ALLOC_NONE, 5383256);
allocate([9,32,94,32,97,100,106,117,115,116,32,115,101,110,115,105,116,105,118,105,116,121,32,112,111,119,101,114,58,32,37,102,10,0] /* \09 ^ adjust sensiti */, "i8", ALLOC_NONE, 5383264);
allocate([83,104,111,119,116,117,110,101,115,0] /* Showtunes\00 */, "i8", ALLOC_NONE, 5383300);
allocate([80,78,71,0] /* PNG\00 */, "i8", ALLOC_NONE, 5383312);
allocate([9,32,94,32,97,100,106,117,115,116,32,116,121,112,101,58,32,37,100,10,0] /* \09 ^ adjust type: % */, "i8", ALLOC_NONE, 5383316);
allocate([82,97,118,101,0] /* Rave\00 */, "i8", ALLOC_NONE, 5383340);
allocate([9,32,94,32,108,101,118,101,108,32,97,100,106,117,115,116,101,109,101,110,116,58,32,37,103,32,100,66,10,0] /* \09 ^ level adjustem */, "i8", ALLOC_NONE, 5383348);
allocate([80,115,121,99,104,101,100,101,108,105,99,0] /* Psychedelic\00 */, "i8", ALLOC_NONE, 5383380);
allocate([32,40,111,110,108,121,32,102,111,114,32,116,121,112,101,32,52,41,0] /* (only for type 4)\0 */, "i8", ALLOC_NONE, 5383392);
allocate([78,101,119,32,87,97,118,101,0] /* New Wave\00 */, "i8", ALLOC_NONE, 5383412);
allocate([9,32,94,32,115,104,97,112,101,58,32,37,103,37,115,10,0] /* \09 ^ shape: %g%s\0A */, "i8", ALLOC_NONE, 5383424);
allocate([67,97,98,97,114,101,116,0] /* Cabaret\00 */, "i8", ALLOC_NONE, 5383444);
allocate([9,32,94,32,116,121,112,101,58,32,37,100,10,0] /* \09 ^ type: %d\0A\00 */, "i8", ALLOC_NONE, 5383452);
allocate([78,97,116,105,118,101,32,85,83,0] /* Native US\00 */, "i8", ALLOC_NONE, 5383468);
allocate([9,65,84,72,58,32,37,115,10,0] /* \09ATH: %s\0A\00 */, "i8", ALLOC_NONE, 5383480);
allocate([74,117,110,103,108,101,0] /* Jungle\00 */, "i8", ALLOC_NONE, 5383492);
allocate([110,111,116,32,117,115,101,100,0] /* not used\00 */, "i8", ALLOC_NONE, 5383500);
allocate([80,111,112,47,70,117,110,107,0] /* Pop/Funk\00 */, "i8", ALLOC_NONE, 5383512);
allocate([116,104,101,32,111,110,108,121,32,109,97,115,107,105,110,103,0] /* the only masking\00 */, "i8", ALLOC_NONE, 5383524);
allocate([67,104,114,105,115,116,105,97,110,32,82,97,112,0] /* Christian Rap\00 */, "i8", ALLOC_NONE, 5383544);
allocate([51,68,78,111,119,33,0] /* 3DNow!\00 */, "i8", ALLOC_NONE, 5383560);
allocate([37,100,0] /* %d\00 */, "i8", ALLOC_NONE, 5383568);
allocate([116,104,101,32,111,110,108,121,32,109,97,115,107,105,110,103,32,102,111,114,32,115,104,111,114,116,32,98,108,111,99,107,115,0] /* the only masking for */, "i8", ALLOC_NONE, 5383572);
allocate([84,111,112,32,52,48,0] /* Top 40\00 */, "i8", ALLOC_NONE, 5383608);
allocate([117,115,105,110,103,0] /* using\00 */, "i8", ALLOC_NONE, 5383616);
allocate([71,97,110,103,115,116,97,0] /* Gangsta\00 */, "i8", ALLOC_NONE, 5383624);
allocate([69,114,114,111,114,58,32,77,65,88,95,72,69,65,68,69,82,95,66,85,70,32,116,111,111,32,115,109,97,108,108,32,105,110,32,98,105,116,115,116,114,101,97,109,46,99,32,10,0] /* Error: MAX_HEADER_BU */, "i8", ALLOC_NONE, 5383632);
allocate([9,32,94,32,115,116,111,112,112,105,110,103,58,32,37,100,10,0] /* \09 ^ stopping: %d\0 */, "i8", ALLOC_NONE, 5383684);
allocate([67,117,108,116,0] /* Cult\00 */, "i8", ALLOC_NONE, 5383704);
allocate([9,32,94,32,97,109,112,108,105,102,105,99,97,116,105,111,110,58,32,37,100,10,0] /* \09 ^ amplification: */, "i8", ALLOC_NONE, 5383712);
allocate([67,111,109,101,100,121,0] /* Comedy\00 */, "i8", ALLOC_NONE, 5383736);
allocate([9,110,111,105,115,101,32,115,104,97,112,105,110,103,58,32,37,100,10,0] /* \09noise shaping: %d */, "i8", ALLOC_NONE, 5383744);
allocate([83,111,117,116,104,101,114,110,32,82,111,99,107,0] /* Southern Rock\00 */, "i8", ALLOC_NONE, 5383764);
allocate([9,32,94,32,99,111,109,112,97,114,105,115,111,110,32,115,104,111,114,116,32,98,108,111,99,107,115,58,32,37,100,10,0] /* \09 ^ comparison sho */, "i8", ALLOC_NONE, 5383780);
allocate([68,114,101,97,109,0] /* Dream\00 */, "i8", ALLOC_NONE, 5383816);
allocate([9,113,117,97,110,116,105,122,97,116,105,111,110,32,99,111,109,112,97,114,105,115,111,110,58,32,37,100,10,0] /* \09quantization comp */, "i8", ALLOC_NONE, 5383824);
allocate([69,117,114,111,100,97,110,99,101,0] /* Eurodance\00 */, "i8", ALLOC_NONE, 5383856);
allocate([51,50,98,105,116,115,0] /* 32bits\00 */, "i8", ALLOC_NONE, 5383868);
allocate([9,97,100,106,117,115,116,32,109,97,115,107,105,110,103,32,115,104,111,114,116,58,32,37,103,32,100,66,10,0] /* \09adjust masking sh */, "i8", ALLOC_NONE, 5383876);
allocate([80,111,112,45,70,111,108,107,0] /* Pop-Folk\00 */, "i8", ALLOC_NONE, 5383908);
allocate([9,97,100,106,117,115,116,32,109,97,115,107,105,110,103,58,32,37,103,32,100,66,10,0] /* \09adjust masking: % */, "i8", ALLOC_NONE, 5383920);
allocate([69,108,101,99,116,114,111,110,105,99,0] /* Electronic\00 */, "i8", ALLOC_NONE, 5383944);
allocate([9,115,117,98,98,108,111,99,107,32,103,97,105,110,58,32,37,100,10,0] /* \09subblock gain: %d */, "i8", ALLOC_NONE, 5383956);
allocate([84,101,99,104,110,111,45,73,110,100,117,115,116,114,105,97,108,0] /* Techno-Industrial\00 */, "i8", ALLOC_NONE, 5383976);
allocate([105,109,97,103,101,47,103,105,102,0] /* image/gif\00 */, "i8", ALLOC_NONE, 5383996);
allocate([9,117,115,105,110,103,32,115,104,111,114,116,32,98,108,111,99,107,115,58,32,37,115,10,0] /* \09using short block */, "i8", ALLOC_NONE, 5384008);
allocate([68,97,114,107,119,97,118,101,0] /* Darkwave\00 */, "i8", ALLOC_NONE, 5384036);
allocate([102,111,114,99,101,100,0] /* forced\00 */, "i8", ALLOC_NONE, 5384048);
allocate([71,111,116,104,105,99,0] /* Gothic\00 */, "i8", ALLOC_NONE, 5384056);
allocate([32,49,37,37,32,32,98,117,103,32,105,110,32,76,65,77,69,32,101,110,99,111,100,105,110,103,32,108,105,98,114,97,114,121,0] /* 1%% bug in LAME en */, "i8", ALLOC_NONE, 5384064);
allocate([100,105,115,112,101,110,115,101,100,0] /* dispensed\00 */, "i8", ALLOC_NONE, 5384100);
allocate([69,116,104,110,105,99,0] /* Ethnic\00 */, "i8", ALLOC_NONE, 5384112);
allocate([99,104,97,110,110,101,108,32,99,111,117,112,108,101,100,0] /* channel coupled\00 */, "i8", ALLOC_NONE, 5384120);
allocate([73,110,115,116,114,117,109,101,110,116,97,108,32,82,111,99,107,0] /* Instrumental Rock\00 */, "i8", ALLOC_NONE, 5384136);
allocate([97,108,108,111,119,101,100,0] /* allowed\00 */, "i8", ALLOC_NONE, 5384156);
allocate([73,110,115,116,114,117,109,101,110,116,97,108,32,80,111,112,0] /* Instrumental Pop\00 */, "i8", ALLOC_NONE, 5384164);
allocate([10,112,115,121,99,104,111,97,99,111,117,115,116,105,99,58,10,10,0] /* \0Apsychoacoustic:\0 */, "i8", ALLOC_NONE, 5384184);
allocate([77,101,100,105,116,97,116,105,118,101,0] /* Meditative\00 */, "i8", ALLOC_NONE, 5384204);
allocate([9,117,115,105,110,103,32,76,65,77,69,32,84,97,103,10,0] /* \09using LAME Tag\0A */, "i8", ALLOC_NONE, 5384216);
allocate([83,112,97,99,101,0] /* Space\00 */, "i8", ALLOC_NONE, 5384236);
allocate(1, "i8", ALLOC_NONE, 5384244);
allocate([9,32,63,63,32,111,111,112,115,44,32,115,111,109,101,32,110,101,119,32,111,110,101,32,63,63,32,10,0] /* \09 ?? oops, some ne */, "i8", ALLOC_NONE, 5384248);
allocate([80,117,110,107,0] /* Punk\00 */, "i8", ALLOC_NONE, 5384280);
allocate([9,118,97,114,105,97,98,108,101,32,98,105,116,114,97,116,101,32,45,32,86,66,82,32,109,116,114,104,32,37,115,10,0] /* \09variable bitrate */, "i8", ALLOC_NONE, 5384288);
allocate([83,111,117,108,0] /* Soul\00 */, "i8", ALLOC_NONE, 5384324);
allocate([9,118,97,114,105,97,98,108,101,32,98,105,116,114,97,116,101,32,45,32,86,66,82,32,109,116,32,37,115,10,0] /* \09variable bitrate */, "i8", ALLOC_NONE, 5384332);
allocate([66,97,115,115,0] /* Bass\00 */, "i8", ALLOC_NONE, 5384364);
allocate([77,77,88,0] /* MMX\00 */, "i8", ALLOC_NONE, 5384372);
allocate([105,109,97,103,101,47,112,110,103,0] /* image/png\00 */, "i8", ALLOC_NONE, 5384376);
allocate([9,118,97,114,105,97,98,108,101,32,98,105,116,114,97,116,101,32,45,32,86,66,82,32,114,104,32,37,115,10,0] /* \09variable bitrate */, "i8", ALLOC_NONE, 5384388);
allocate([65,108,116,101,114,110,97,116,105,118,101,32,82,111,99,107,0] /* Alternative Rock\00 */, "i8", ALLOC_NONE, 5384420);
allocate([9,118,97,114,105,97,98,108,101,32,98,105,116,114,97,116,101,32,45,32,65,66,82,32,37,115,10,0] /* \09variable bitrate */, "i8", ALLOC_NONE, 5384440);
allocate([78,111,105,115,101,0] /* Noise\00 */, "i8", ALLOC_NONE, 5384468);
allocate([32,57,37,37,32,32,89,111,117,114,32,115,121,115,116,101,109,32,105,115,32,111,118,101,114,99,108,111,99,107,101,100,0] /* 9%% Your system is */, "i8", ALLOC_NONE, 5384476);
allocate([9,99,111,110,115,116,97,110,116,32,98,105,116,114,97,116,101,32,45,32,67,66,82,32,37,115,10,0] /* \09constant bitrate */, "i8", ALLOC_NONE, 5384512);
allocate([71,111,115,112,101,108,0] /* Gospel\00 */, "i8", ALLOC_NONE, 5384540);
allocate([40,102,114,101,101,32,102,111,114,109,97,116,41,0] /* (free format)\00 */, "i8", ALLOC_NONE, 5384548);
allocate([83,111,117,110,100,32,67,108,105,112,0] /* Sound Clip\00 */, "i8", ALLOC_NONE, 5384564);
allocate([109,97,120,32,115,121,115,116,101,109,32,98,121,116,101,115,32,61,32,37,49,48,108,117,10,0] /* max system bytes = % */, "i8", ALLOC_NONE, 5384576);
allocate([40,100,101,102,97,117,108,116,41,0] /* (default)\00 */, "i8", ALLOC_NONE, 5384604);
allocate([71,97,109,101,0] /* Game\00 */, "i8", ALLOC_NONE, 5384616);
allocate([9,112,97,100,100,105,110,103,58,32,37,115,10,0] /* \09padding: %s\0A\00 */, "i8", ALLOC_NONE, 5384624);
allocate([72,111,117,115,101,0] /* House\00 */, "i8", ALLOC_NONE, 5384640);
allocate([51,46,57,57,46,53,0] /* 3.99.5\00 */, "i8", ALLOC_NONE, 5384648);
allocate([97,108,108,0] /* all\00 */, "i8", ALLOC_NONE, 5384656);
allocate([65,99,105,100,0] /* Acid\00 */, "i8", ALLOC_NONE, 5384660);
allocate([104,116,116,112,58,47,47,108,97,109,101,46,115,102,46,110,101,116,0] /* http://lame.sf.net\0 */, "i8", ALLOC_NONE, 5384668);
allocate([69,114,114,111,114,58,32,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,86,98,114,70,114,97,109,101,115,32,98,117,102,102,101,114,10,0] /* Error: can't allocat */, "i8", ALLOC_NONE, 5384688);
allocate([111,102,102,0] /* off\00 */, "i8", ALLOC_NONE, 5384728);
allocate([73,78,84,69,82,78,65,76,32,69,82,82,79,82,32,73,78,32,86,66,82,32,78,69,87,32,67,79,68,69,32,40,49,51,49,51,41,44,32,112,108,101,97,115,101,32,115,101,110,100,32,98,117,103,32,114,101,112,111,114,116,10,109,97,120,98,105,116,115,61,37,100,32,117,115,101,100,98,105,116,115,61,37,100,10,0] /* INTERNAL ERROR IN VB */, "i8", ALLOC_NONE, 5384732);
allocate([73,110,115,116,114,117,109,101,110,116,97,108,0] /* Instrumental\00 */, "i8", ALLOC_NONE, 5384820);
allocate([9,37,100,32,99,104,97,110,110,101,108,32,45,32,37,115,10,0] /* \09%d channel - %s\0 */, "i8", ALLOC_NONE, 5384836);
allocate([67,108,97,115,115,105,99,97,108,0] /* Classical\00 */, "i8", ALLOC_NONE, 5384856);
allocate([117,110,107,110,111,119,110,32,40,101,114,114,111,114,41,0] /* unknown (error)\00 */, "i8", ALLOC_NONE, 5384868);
allocate([84,114,97,110,99,101,0] /* Trance\00 */, "i8", ALLOC_NONE, 5384884);
allocate([44,32,0] /* , \00 */, "i8", ALLOC_NONE, 5384892);
allocate([105,109,97,103,101,47,106,112,101,103,0] /* image/jpeg\00 */, "i8", ALLOC_NONE, 5384896);
allocate([110,111,116,32,115,101,116,32,40,101,114,114,111,114,41,0] /* not set (error)\00 */, "i8", ALLOC_NONE, 5384908);
allocate([70,117,115,105,111,110,0] /* Fusion\00 */, "i8", ALLOC_NONE, 5384924);
allocate([109,111,110,111,0] /* mono\00 */, "i8", ALLOC_NONE, 5384932);
allocate([74,97,122,122,43,70,117,110,107,0] /* Jazz+Funk\00 */, "i8", ALLOC_NONE, 5384940);
allocate([57,48,37,37,32,32,76,65,77,69,32,99,111,109,112,105,108,101,100,32,119,105,116,104,32,98,117,103,103,121,32,118,101,114,115,105,111,110,32,111,102,32,103,99,99,32,117,115,105,110,103,32,97,100,118,97,110,99,101,100,32,111,112,116,105,109,105,122,97,116,105,111,110,115,0] /* 90%% LAME compiled */, "i8", ALLOC_NONE, 5384952);
allocate([100,117,97,108,32,99,104,97,110,110,101,108,0] /* dual channel\00 */, "i8", ALLOC_NONE, 5385028);
allocate([86,111,99,97,108,0] /* Vocal\00 */, "i8", ALLOC_NONE, 5385044);
allocate([105,110,116,101,110,115,105,116,121,32,115,116,101,114,101,111,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,10,0] /* intensity stereo not */, "i8", ALLOC_NONE, 5385052);
allocate([115,116,101,114,101,111,0] /* stereo\00 */, "i8", ALLOC_NONE, 5385092);
allocate([84,114,105,112,45,72,111,112,0] /* Trip-Hop\00 */, "i8", ALLOC_NONE, 5385100);
allocate([106,111,105,110,116,32,115,116,101,114,101,111,0] /* joint stereo\00 */, "i8", ALLOC_NONE, 5385112);
allocate([65,109,98,105,101,110,116,0] /* Ambient\00 */, "i8", ALLOC_NONE, 5385128);
allocate([9,77,80,69,71,45,37,115,32,76,97,121,101,114,32,51,10,0] /* \09MPEG-%s Layer 3\0 */, "i8", ALLOC_NONE, 5385136);
allocate([69,117,114,111,45,84,101,99,104,110,111,0] /* Euro-Techno\00 */, "i8", ALLOC_NONE, 5385156);
allocate([63,0] /* ?\00 */, "i8", ALLOC_NONE, 5385168);
allocate([83,111,117,110,100,116,114,97,99,107,0] /* Soundtrack\00 */, "i8", ALLOC_NONE, 5385172);
allocate([115,116,100,58,58,98,97,100,95,97,108,108,111,99,0] /* std::bad_alloc\00 */, "i8", ALLOC_NONE, 5385184);
allocate([49,46,48,0] /* 1.0\00 */, "i8", ALLOC_NONE, 5385200);
allocate([50,0] /* 2\00 */, "i8", ALLOC_NONE, 5385204);
allocate([80,114,97,110,107,115,0] /* Pranks\00 */, "i8", ALLOC_NONE, 5385208);
allocate([49,0] /* 1\00 */, "i8", ALLOC_NONE, 5385216);
allocate([68,101,97,116,104,32,77,101,116,97,108,0] /* Death Metal\00 */, "i8", ALLOC_NONE, 5385220);
allocate([50,46,53,0] /* 2.5\00 */, "i8", ALLOC_NONE, 5385232);
allocate([83,107,97,0] /* Ska\00 */, "i8", ALLOC_NONE, 5385236);
allocate([10,115,116,114,101,97,109,32,102,111,114,109,97,116,58,10,10,0] /* \0Astream format:\0A */, "i8", ALLOC_NONE, 5385240);
allocate(1, "i8", ALLOC_NONE, 5385260);
allocate([65,108,116,101,114,110,97,116,105,118,101,0] /* Alternative\00 */, "i8", ALLOC_NONE, 5385264);
allocate([9,46,46,46,10,0] /* \09...\0A\00 */, "i8", ALLOC_NONE, 5385276);
allocate([73,110,100,117,115,116,114,105,97,108,0] /* Industrial\00 */, "i8", ALLOC_NONE, 5385284);
allocate([84,104,105,115,32,105,115,32,97,32,102,97,116,97,108,32,101,114,114,111,114,46,32,32,73,116,32,104,97,115,32,115,101,118,101,114,97,108,32,112,111,115,115,105,98,108,101,32,99,97,117,115,101,115,58,0] /* This is a fatal erro */, "i8", ALLOC_NONE, 5385296);
allocate([9,101,120,112,101,114,105,109,101,110,116,97,108,32,89,61,37,100,10,0] /* \09experimental Y=%d */, "i8", ALLOC_NONE, 5385352);
allocate([84,101,99,104,110,111,0] /* Techno\00 */, "i8", ALLOC_NONE, 5385372);
allocate([9,104,117,102,102,109,97,110,32,115,101,97,114,99,104,58,32,37,115,10,0] /* \09huffman search: % */, "i8", ALLOC_NONE, 5385380);
allocate([82,111,99,107,0] /* Rock\00 */, "i8", ALLOC_NONE, 5385404);
allocate([98,101,115,116,32,40,105,110,115,105,100,101,32,108,111,111,112,44,32,115,108,111,119,41,0] /* best (inside loop, s */, "i8", ALLOC_NONE, 5385412);
allocate([82,101,103,103,97,101,0] /* Reggae\00 */, "i8", ALLOC_NONE, 5385440);
allocate([73,78,84,69,82,78,65,76,32,69,82,82,79,82,32,73,78,32,86,66,82,32,78,69,87,32,67,79,68,69,44,32,112,108,101,97,115,101,32,115,101,110,100,32,98,117,103,32,114,101,112,111,114,116,10,0] /* INTERNAL ERROR IN VB */, "i8", ALLOC_NONE, 5385448);
allocate([98,101,115,116,32,40,111,117,116,115,105,100,101,32,108,111,111,112,41,0] /* best (outside loop)\ */, "i8", ALLOC_NONE, 5385504);
allocate([82,97,112,0] /* Rap\00 */, "i8", ALLOC_NONE, 5385524);
allocate([110,111,114,109,97,108,0] /* normal\00 */, "i8", ALLOC_NONE, 5385528);
allocate([82,38,66,0] /* R&B\00 */, "i8", ALLOC_NONE, 5385536);
allocate([105,110,32,117,115,101,32,98,121,116,101,115,32,32,32,32,32,61,32,37,49,48,108,117,10,0] /* in use bytes = % */, "i8", ALLOC_NONE, 5385540);
allocate([76,65,77,69,51,46,57,57,114,0] /* LAME3.99r\00 */, "i8", ALLOC_NONE, 5385568);
allocate([9,99,104,49,32,40,114,105,103,104,116,41,32,115,99,97,108,105,110,103,58,32,37,103,10,0] /* \09ch1 (right) scali */, "i8", ALLOC_NONE, 5385580);
allocate([80,111,112,0] /* Pop\00 */, "i8", ALLOC_NONE, 5385608);
allocate([9,99,104,48,32,40,108,101,102,116,41,32,115,99,97,108,105,110,103,58,32,37,103,10,0] /* \09ch0 (left) scalin */, "i8", ALLOC_NONE, 5385612);
allocate([79,116,104,101,114,0] /* Other\00 */, "i8", ALLOC_NONE, 5385640);
allocate([9,115,99,97,108,105,110,103,58,32,37,103,10,0] /* \09scaling: %g\0A\00 */, "i8", ALLOC_NONE, 5385648);
allocate([79,108,100,105,101,115,0] /* Oldies\00 */, "i8", ALLOC_NONE, 5385664);
allocate([10,109,105,115,99,58,10,10,0] /* \0Amisc:\0A\0A\00 */, "i8", ALLOC_NONE, 5385672);
allocate([88,88,88,0] /* XXX\00 */, "i8", ALLOC_NONE, 5385684);
allocate([78,101,119,32,65,103,101,0] /* New Age\00 */, "i8", ALLOC_NONE, 5385688);
allocate(1, "i8", ALLOC_NONE, 5385696);
allocate([77,101,116,97,108,0] /* Metal\00 */, "i8", ALLOC_NONE, 5385700);
allocate([98,105,116,32,114,101,115,101,114,118,111,105,114,32,101,114,114,111,114,58,32,10,108,51,95,115,105,100,101,45,62,109,97,105,110,95,100,97,116,97,95,98,101,103,105,110,58,32,37,105,32,10,82,101,115,118,111,105,114,32,115,105,122,101,58,32,32,32,32,32,32,32,32,32,32,32,32,32,37,105,32,10,114,101,115,118,32,100,114,97,105,110,32,40,112,111,115,116,41,32,32,32,32,32,32,32,32,32,37,105,32,10,114,101,115,118,32,100,114,97,105,110,32,40,112,114,101,41,32,32,32,32,32,32,32,32,32,32,37,105,32,10,104,101,97,100,101,114,32,97,110,100,32,115,105,100,101,105,110,102,111,58,32,32,32,32,32,32,37,105,32,10,100,97,116,97,32,98,105,116,115,58,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,105,32,10,116,111,116,97,108,32,98,105,116,115,58,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,37,105,32,40,114,101,109,97,105,110,100,101,114,58,32,37,105,41,32,10,98,105,116,115,112,101,114,102,114,97,109,101,58,32,32,32,32,32,32,32,32,32,32,32,32,32,37,105,32,10,0] /* bit reservoir error: */, "i8", ALLOC_NONE, 5385708);
allocate([87,97,114,110,105,110,103,58,32,109,97,110,121,32,100,101,99,111,100,101,114,115,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32,102,114,101,101,32,102,111,114,109,97,116,32,98,105,116,114,97,116,101,115,32,62,51,50,48,32,107,98,112,115,32,40,115,101,101,32,100,111,99,117,109,101,110,116,97,116,105,111,110,41,10,0] /* Warning: many decode */, "i8", ALLOC_NONE, 5385988);
allocate([74,97,122,122,0] /* Jazz\00 */, "i8", ALLOC_NONE, 5386080);
allocate([71,73,70,56,0] /* GIF8\00 */, "i8", ALLOC_NONE, 5386088);
allocate([87,97,114,110,105,110,103,58,32,109,97,110,121,32,100,101,99,111,100,101,114,115,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32,102,114,101,101,32,102,111,114,109,97,116,32,98,105,116,115,116,114,101,97,109,115,10,0] /* Warning: many decode */, "i8", ALLOC_NONE, 5386096);
allocate([72,105,112,45,72,111,112,0] /* Hip-Hop\00 */, "i8", ALLOC_NONE, 5386160);
allocate([112,111,108,121,112,104,97,115,101,32,108,111,119,112,97,115,115,32,102,105,108,116,101,114,32,100,105,115,97,98,108,101,100,10,0] /* polyphase lowpass fi */, "i8", ALLOC_NONE, 5386168);
allocate([71,114,117,110,103,101,0] /* Grunge\00 */, "i8", ALLOC_NONE, 5386204);
allocate([85,115,105,110,103,32,112,111,108,121,112,104,97,115,101,32,108,111,119,112,97,115,115,32,102,105,108,116,101,114,44,32,116,114,97,110,115,105,116,105,111,110,32,98,97,110,100,58,32,37,53,46,48,102,32,72,122,32,45,32,37,53,46,48,102,32,72,122,10,0] /* Using polyphase lowp */, "i8", ALLOC_NONE, 5386212);
allocate([70,117,110,107,0] /* Funk\00 */, "i8", ALLOC_NONE, 5386284);
allocate([76,65,77,69,32,37,115,32,37,115,32,40,37,115,41,10,0] /* LAME %s %s (%s)\0A\0 */, "i8", ALLOC_NONE, 5386292);
allocate([83,121,110,116,104,80,111,112,0] /* SynthPop\00 */, "i8", ALLOC_NONE, 5386312);
allocate([74,80,111,112,0] /* JPop\00 */, "i8", ALLOC_NONE, 5386324);
allocate([65,110,105,109,101,0] /* Anime\00 */, "i8", ALLOC_NONE, 5386332);
allocate([84,104,114,97,115,104,32,77,101,116,97,108,0] /* Thrash Metal\00 */, "i8", ALLOC_NONE, 5386340);
allocate([83,97,108,115,97,0] /* Salsa\00 */, "i8", ALLOC_NONE, 5386356);
allocate([77,101,114,101,110,103,117,101,0] /* Merengue\00 */, "i8", ALLOC_NONE, 5386364);
allocate([67,104,114,105,115,116,105,97,110,32,82,111,99,107,0] /* Christian Rock\00 */, "i8", ALLOC_NONE, 5386376);
allocate([85,115,105,110,103,32,112,111,108,121,112,104,97,115,101,32,104,105,103,104,112,97,115,115,32,102,105,108,116,101,114,44,32,116,114,97,110,115,105,116,105,111,110,32,98,97,110,100,58,32,37,53,46,48,102,32,72,122,32,45,32,37,53,46,48,102,32,72,122,10,0] /* Using polyphase high */, "i8", ALLOC_NONE, 5386392);
allocate([67,111,110,116,101,109,112,111,114,97,114,121,32,67,104,114,105,115,116,105,97,110,0] /* Contemporary Christi */, "i8", ALLOC_NONE, 5386464);
allocate([67,114,111,115,115,111,118,101,114,0] /* Crossover\00 */, "i8", ALLOC_NONE, 5386488);
allocate([68,105,115,99,111,0] /* Disco\00 */, "i8", ALLOC_NONE, 5386500);
allocate([66,108,97,99,107,32,77,101,116,97,108,0] /* Black Metal\00 */, "i8", ALLOC_NONE, 5386508);
allocate([72,101,97,118,121,32,77,101,116,97,108,0] /* Heavy Metal\00 */, "i8", ALLOC_NONE, 5386520);
allocate([115,121,115,116,101,109,32,98,121,116,101,115,32,32,32,32,32,61,32,37,49,48,108,117,10,0] /* system bytes = % */, "i8", ALLOC_NONE, 5386532);
allocate([67,104,114,105,115,116,105,97,110,32,71,97,110,103,115,116,97,0] /* Christian Gangsta\00 */, "i8", ALLOC_NONE, 5386560);
allocate([66,101,97,116,0] /* Beat\00 */, "i8", ALLOC_NONE, 5386580);
allocate([76,65,77,69,51,46,57,57,114,53,0] /* LAME3.99r5\00 */, "i8", ALLOC_NONE, 5386588);
allocate([80,111,108,115,107,32,80,117,110,107,0] /* Polsk Punk\00 */, "i8", ALLOC_NONE, 5386600);
allocate([98,97,100,95,97,114,114,97,121,95,110,101,119,95,108,101,110,103,116,104,0] /* bad_array_new_length */, "i8", ALLOC_NONE, 5386612);
allocate([73,68,51,0] /* ID3\00 */, "i8", ALLOC_NONE, 5386636);
allocate([73,78,84,69,82,78,65,76,32,69,82,82,79,82,32,73,78,32,86,66,82,32,78,69,87,32,67,79,68,69,32,40,57,56,54,41,44,32,112,108,101,97,115,101,32,115,101,110,100,32,98,117,103,32,114,101,112,111,114,116,10,0] /* INTERNAL ERROR IN VB */, "i8", ALLOC_NONE, 5386640);
allocate([78,101,103,101,114,112,117,110,107,0] /* Negerpunk\00 */, "i8", ALLOC_NONE, 5386704);
allocate([66,114,105,116,80,111,112,0] /* BritPop\00 */, "i8", ALLOC_NONE, 5386716);
allocate([73,110,100,105,101,0] /* Indie\00 */, "i8", ALLOC_NONE, 5386724);
allocate([82,101,115,97,109,112,108,105,110,103,58,32,32,105,110,112,117,116,32,37,103,32,107,72,122,32,32,111,117,116,112,117,116,32,37,103,32,107,72,122,10,0] /* Resampling: input % */, "i8", ALLOC_NONE, 5386732);
allocate([84,101,114,114,111,114,0] /* Terror\00 */, "i8", ALLOC_NONE, 5386776);
allocate([72,97,114,100,99,111,114,101,0] /* Hardcore\00 */, "i8", ALLOC_NONE, 5386784);
allocate([68,97,110,99,101,0] /* Dance\00 */, "i8", ALLOC_NONE, 5386796);
allocate([67,108,117,98,45,72,111,117,115,101,0] /* Club-House\00 */, "i8", ALLOC_NONE, 5386804);
allocate([68,114,117,109,32,38,32,66,97,115,115,0] /* Drum & Bass\00 */, "i8", ALLOC_NONE, 5386816);
allocate([71,111,97,0] /* Goa\00 */, "i8", ALLOC_NONE, 5386828);
allocate([68,97,110,99,101,32,72,97,108,108,0] /* Dance Hall\00 */, "i8", ALLOC_NONE, 5386832);
allocate([69,117,114,111,45,72,111,117,115,101,0] /* Euro-House\00 */, "i8", ALLOC_NONE, 5386844);
allocate([65,32,67,97,112,112,101,108,108,97,0] /* A Cappella\00 */, "i8", ALLOC_NONE, 5386856);
allocate([68,114,117,109,32,83,111,108,111,0] /* Drum Solo\00 */, "i8", ALLOC_NONE, 5386868);
allocate([80,117,110,107,32,82,111,99,107,0] /* Punk Rock\00 */, "i8", ALLOC_NONE, 5386880);
allocate([65,117,116,111,99,111,110,118,101,114,116,105,110,103,32,102,114,111,109,32,115,116,101,114,101,111,32,116,111,32,109,111,110,111,46,32,83,101,116,116,105,110,103,32,101,110,99,111,100,105,110,103,32,116,111,32,109,111,110,111,32,109,111,100,101,46,10,0] /* Autoconverting from */, "i8", ALLOC_NONE, 5386892);
allocate([68,117,101,116,0] /* Duet\00 */, "i8", ALLOC_NONE, 5386960);
allocate([70,114,101,101,115,116,121,108,101,0] /* Freestyle\00 */, "i8", ALLOC_NONE, 5386968);
allocate([67,111,117,110,116,114,121,0] /* Country\00 */, "i8", ALLOC_NONE, 5386980);
allocate([82,104,121,116,104,109,105,99,32,83,111,117,108,0] /* Rhythmic Soul\00 */, "i8", ALLOC_NONE, 5386988);
allocate([80,111,119,101,114,32,66,97,108,108,97,100,0] /* Power Ballad\00 */, "i8", ALLOC_NONE, 5387004);
allocate([66,97,108,108,97,100,0] /* Ballad\00 */, "i8", ALLOC_NONE, 5387020);
allocate([70,111,108,107,108,111,114,101,0] /* Folklore\00 */, "i8", ALLOC_NONE, 5387028);
allocate([83,97,109,98,97,0] /* Samba\00 */, "i8", ALLOC_NONE, 5387040);
allocate([84,97,110,103,111,0] /* Tango\00 */, "i8", ALLOC_NONE, 5387048);
allocate([67,108,117,98,0] /* Club\00 */, "i8", ALLOC_NONE, 5387056);
allocate([83,108,111,119,32,74,97,109,0] /* Slow Jam\00 */, "i8", ALLOC_NONE, 5387064);
allocate([67,80,85,32,102,101,97,116,117,114,101,115,58,32,37,115,10,0] /* CPU features: %s\0A\ */, "i8", ALLOC_NONE, 5387076);
allocate([83,97,116,105,114,101,0] /* Satire\00 */, "i8", ALLOC_NONE, 5387096);
allocate([80,111,114,110,32,71,114,111,111,118,101,0] /* Porn Groove\00 */, "i8", ALLOC_NONE, 5387104);
allocate([67,108,97,115,115,105,99,32,82,111,99,107,0] /* Classic Rock\00 */, "i8", ALLOC_NONE, 5387116);
allocate([80,114,105,109,117,115,0] /* Primus\00 */, "i8", ALLOC_NONE, 5387132);
allocate([66,111,111,116,121,32,66,97,115,115,0] /* Booty Bass\00 */, "i8", ALLOC_NONE, 5387140);
allocate([83,121,109,112,104,111,110,121,0] /* Symphony\00 */, "i8", ALLOC_NONE, 5387152);
allocate([83,111,110,97,116,97,0] /* Sonata\00 */, "i8", ALLOC_NONE, 5387164);
allocate([67,104,97,109,98,101,114,32,77,117,115,105,99,0] /* Chamber Music\00 */, "i8", ALLOC_NONE, 5387172);
allocate([79,112,101,114,97,0] /* Opera\00 */, "i8", ALLOC_NONE, 5387188);
allocate([67,104,97,110,115,111,110,0] /* Chanson\00 */, "i8", ALLOC_NONE, 5387196);
allocate([83,112,101,101,99,104,0] /* Speech\00 */, "i8", ALLOC_NONE, 5387204);
allocate([83,83,69,50,0] /* SSE2\00 */, "i8", ALLOC_NONE, 5387212);
allocate([72,117,109,111,117,114,0] /* Humour\00 */, "i8", ALLOC_NONE, 5387220);
allocate([65,99,111,117,115,116,105,99,0] /* Acoustic\00 */, "i8", ALLOC_NONE, 5387228);
allocate([66,108,117,101,115,0] /* Blues\00 */, "i8", ALLOC_NONE, 5387240);
allocate([69,97,115,121,32,76,105,115,116,101,110,105,110,103,0] /* Easy Listening\00 */, "i8", ALLOC_NONE, 5387248);
allocate([67,104,111,114,117,115,0] /* Chorus\00 */, "i8", ALLOC_NONE, 5387264);
allocate([66,105,103,32,66,97,110,100,0] /* Big Band\00 */, "i8", ALLOC_NONE, 5387272);
allocate([83,108,111,119,32,82,111,99,107,0] /* Slow Rock\00 */, "i8", ALLOC_NONE, 5387284);
allocate([83,121,109,112,104,111,110,105,99,32,82,111,99,107,0] /* Symphonic Rock\00 */, "i8", ALLOC_NONE, 5387296);
allocate([80,115,121,99,104,101,100,101,108,105,99,32,82,111,99,107,0] /* Psychedelic Rock\00 */, "i8", ALLOC_NONE, 5387312);
allocate([80,114,111,103,114,101,115,115,105,118,101,32,82,111,99,107,0] /* Progressive Rock\00 */, "i8", ALLOC_NONE, 5387332);
allocate([71,111,116,104,105,99,32,82,111,99,107,0] /* Gothic Rock\00 */, "i8", ALLOC_NONE, 5387352);
allocate([65,118,97,110,116,103,97,114,100,101,0] /* Avantgarde\00 */, "i8", ALLOC_NONE, 5387364);
allocate([66,108,117,101,103,114,97,115,115,0] /* Bluegrass\00 */, "i8", ALLOC_NONE, 5387376);
allocate([76,65,77,69,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,0] /* LAME version %s (%s) */, "i8", ALLOC_NONE, 5387388);
allocate([73,110,116,101,114,110,97,108,32,98,117,102,102,101,114,32,105,110,99,111,110,115,105,115,116,101,110,99,121,46,32,102,108,117,115,104,98,105,116,115,32,60,62,32,82,101,115,118,83,105,122,101,0] /* Internal buffer inco */, "i8", ALLOC_NONE, 5387412);
allocate([115,116,114,97,110,103,101,32,101,114,114,111,114,32,102,108,117,115,104,105,110,103,32,98,117,102,102,101,114,32,46,46,46,32,10,0] /* strange error flushi */, "i8", ALLOC_NONE, 5387468);
allocate(468, "i8", ALLOC_NONE, 5387504);
allocate([0,0,0,0,32,55,82,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5387972);
allocate(1, "i8", ALLOC_NONE, 5387992);
allocate([0,0,0,0,44,55,82,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, 5387996);
allocate(1, "i8", ALLOC_NONE, 5388016);
allocate([83,116,57,98,97,100,95,97,108,108,111,99,0] /* St9bad_alloc\00 */, "i8", ALLOC_NONE, 5388020);
allocate([83,116,50,48,98,97,100,95,97,114,114,97,121,95,110,101,119,95,108,101,110,103,116,104,0] /* St20bad_array_new_le */, "i8", ALLOC_NONE, 5388036);
allocate(12, "i8", ALLOC_NONE, 5388064);
allocate([0,0,0,0,0,0,0,0,32,55,82,0], "i8", ALLOC_NONE, 5388076);
allocate(1, "i8", ALLOC_NONE, 5388088);
allocate(4, "i8", ALLOC_NONE, 5388092);
allocate([1,30,0,0,1,30,0,0], "i8", ALLOC_NONE, 5388096);
allocate([0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0], "i8", ALLOC_NONE, 5388104);
allocate([1,5,3,2,4,0,3] /* \01\05\03\02\04\00\0 */, "i8", ALLOC_NONE, 5388120);
allocate([221,1,30,61,115,47,118,192,47,250,176,188,158,20,250,64,153,188,161,186,158,119,53,193,81,220,194,184,116,225,80,65,83,153,135,188,1,154,68,193,129,18,177,60,29,186,23,65,225,231,169,188,42,236,187,192,86,189,194,59,84,76,48,64,23,210,72,59,21,174,94,191,117,48,252,56,166,136,14,62,45,12,61,59,187,242,93,61,21,159,94,192,66,120,238,188,39,159,203,64,116,13,11,188,159,194,8,193,122,116,11,188,136,161,23,65,15,206,8,188,48,10,13,193,54,239,183,60,24,84,219,64,42,177,212,188,119,161,140,192,227,27,133,60,46,141,12,64,204,220,29,187,91,68,64,191,179,14,221,59,38,166,6,62,18,27,246,186,98,72,30,62,88,65,24,192,146,25,191,189,204,80,54,64,198,233,127,189,83,84,41,192,195,60,177,60,160,42,15,64,141,230,100,189,27,243,213,191,107,217,67,61,72,195,128,63,221,177,17,59,30,72,235,190,198,2,2,61,96,182,39,62,140,213,99,188,41,29,78,189,32,117,213,59,250,86,192,60,8,103,16,188,195,30,155,62,254,109,206,191,55,145,103,190,17,54,138,63,79,222,175,189,44,92,131,190,5,120,6,61,113,172,38,190,93,7,22,188,128,210,103,190,162,171,193,188,106,76,200,62,186,131,191,187,206,177,98,190,217,136,128,61,99,84,56,61,14,238,10,183,195,81,164,60,229,233,6,59,220,52,70,59,209,172,241,188,164,63,172,62,202,209,191,191,12,238,130,190,224,157,95,63,198,63,242,189,120,245,249,61,39,37,244,61,171,200,78,191,74,115,160,189,61,4,245,62,155,0,154,187,253,11,255,189,221,42,193,187,240,154,38,189,226,118,106,61,225,172,170,61,116,82,8,60,208,143,45,189,111,248,133,188,144,228,243,60,148,49,144,188,83,247,229,62,31,210,32,191,69,246,18,190,75,222,151,62,236,79,105,190,172,192,190,190,13,131,104,188,76,24,12,59,175,11,39,61,83,49,215,190,21,234,253,189,13,83,99,62,22,214,39,61,196,1,201,59,137,153,214,61,247,48,138,61,143,176,152,188,61,242,108,61,134,205,2,189,7,1,4,61,132,146,177,59,35,242,16,63,249,36,134,191,99,48,65,191,195,71,149,62,202,81,38,62,41,63,137,190,8,118,43,62,71,89,6,60,108,141,65,190,36,174,230,62,232,94,158,62,59,32,169,190,83,31,141,190,179,5,138,61,91,28,212,59,139,246,67,189,211,25,177,61,92,87,134,60,98,50,27,189,45,15,148,60,22,191,192,187,190,188,20,63,131,166,2,191,181,32,8,191,54,36,163,190,218,83,18,190,249,108,79,190,122,105,51,62,249,208,22,62,32,205,194,60,1,112,199,62,138,81,31,62,88,186,110,190,236,195,129,190,127,224,86,189,85,103,133,60,212,73,205,188,47,187,141,61,242,19,200,60,237,111,24,189,6,255,148,60,149,162,245,187,69,87,9,63,94,65,128,190,239,223,215,190,42,39,221,190,85,217,52,187,98,70,12,189,146,207,46,61,213,159,63,189,79,51,209,189,227,53,135,62,214,104,21,62,42,194,26,62,27,131,201,188,75,199,51,190,101,108,229,189,100,191,64,190,139,76,38,189,16,94,96,61,204,36,68,61,80,177,64,61,130,177,181,188], "i8", ALLOC_NONE, 5388128);
allocate([98,120,124,63,40,114,252,191,98,120,252,191,59,253,120,63,98,120,124,63,19,41,124,63,180,33,252,191,19,41,252,191,229,96,120,63,19,41,124,63,66,185,122,63,86,171,250,191,66,185,250,191,92,142,117,63,66,185,122,63,120,174,121,63,129,154,249,191,120,174,249,191,222,132,115,63,120,174,121,63,91,33,121,63,194,9,249,191,91,33,249,191,234,113,114,63,91,33,121,63,110,236,118,63,58,195,246,191,110,236,246,191,69,43,110,63,110,236,118,63,141,200,117,63,87,148,245,191,141,200,245,191,134,249,107,63,141,200,117,63,202,100,117,63,133,44,245,191,202,100,245,191,31,58,107,63,202,100,117,63,138,43,114,63,214,203,241,191,138,43,242,191,124,22,101,63,138,43,114,63], "i8", ALLOC_NONE, 5388884);
HEAP32[((5327280)>>2)]=((5251164)|0);
HEAP32[((5327284)>>2)]=((5251160)|0);
HEAP32[((5327296)>>2)]=((5250372)|0);
HEAP32[((5327300)>>2)]=((5250360)|0);
HEAP32[((5327312)>>2)]=((5250244)|0);
HEAP32[((5327316)>>2)]=((5250232)|0);
HEAP32[((5327344)>>2)]=((5250200)|0);
HEAP32[((5327348)>>2)]=((5250184)|0);
HEAP32[((5327360)>>2)]=((5250152)|0);
HEAP32[((5327364)>>2)]=((5250136)|0);
HEAP32[((5327376)>>2)]=((5250064)|0);
HEAP32[((5327380)>>2)]=((5250028)|0);
HEAP32[((5327392)>>2)]=((5249956)|0);
HEAP32[((5327396)>>2)]=((5249920)|0);
HEAP32[((5327408)>>2)]=((5249848)|0);
HEAP32[((5327412)>>2)]=((5249812)|0);
HEAP32[((5327424)>>2)]=((5254180)|0);
HEAP32[((5327428)>>2)]=((5254116)|0);
HEAP32[((5327440)>>2)]=((5253988)|0);
HEAP32[((5327444)>>2)]=((5253924)|0);
HEAP32[((5327456)>>2)]=((5253796)|0);
HEAP32[((5327460)>>2)]=((5253732)|0);
HEAP32[((5327472)>>2)]=((5253220)|0);
HEAP32[((5327476)>>2)]=((5252964)|0);
HEAP32[((5327492)>>2)]=((5251428)|0);
HEAP32[((5327504)>>2)]=((5252452)|0);
HEAP32[((5327508)>>2)]=((5252196)|0);
HEAP32[((5327520)>>2)]=((5251684)|0);
HEAP32[((5327524)>>2)]=((5251172)|0);
HEAP32[((5327536)>>2)]=((5251684)|0);
HEAP32[((5327540)>>2)]=((5251172)|0);
HEAP32[((5327552)>>2)]=((5251684)|0);
HEAP32[((5327556)>>2)]=((5251172)|0);
HEAP32[((5327568)>>2)]=((5251684)|0);
HEAP32[((5327572)>>2)]=((5251172)|0);
HEAP32[((5327584)>>2)]=((5251684)|0);
HEAP32[((5327588)>>2)]=((5251172)|0);
HEAP32[((5327600)>>2)]=((5251684)|0);
HEAP32[((5327604)>>2)]=((5251172)|0);
HEAP32[((5327616)>>2)]=((5251684)|0);
HEAP32[((5327620)>>2)]=((5251172)|0);
HEAP32[((5327632)>>2)]=((5251684)|0);
HEAP32[((5327636)>>2)]=((5251172)|0);
HEAP32[((5327648)>>2)]=((5250648)|0);
HEAP32[((5327652)>>2)]=((5250392)|0);
HEAP32[((5327664)>>2)]=((5250648)|0);
HEAP32[((5327668)>>2)]=((5250392)|0);
HEAP32[((5327680)>>2)]=((5250648)|0);
HEAP32[((5327684)>>2)]=((5250392)|0);
HEAP32[((5327696)>>2)]=((5250648)|0);
HEAP32[((5327700)>>2)]=((5250392)|0);
HEAP32[((5327712)>>2)]=((5250648)|0);
HEAP32[((5327716)>>2)]=((5250392)|0);
HEAP32[((5327728)>>2)]=((5250648)|0);
HEAP32[((5327732)>>2)]=((5250392)|0);
HEAP32[((5327744)>>2)]=((5250648)|0);
HEAP32[((5327748)>>2)]=((5250392)|0);
HEAP32[((5327760)>>2)]=((5250648)|0);
HEAP32[((5327764)>>2)]=((5250392)|0);
HEAP32[((5327776)>>2)]=((5250328)|0);
HEAP32[((5327780)>>2)]=((5250312)|0);
HEAP32[((5327792)>>2)]=((5250280)|0);
HEAP32[((5327796)>>2)]=((5250264)|0);
HEAP32[((5345208)>>2)]=((5387240)|0);
HEAP32[((5345212)>>2)]=((5387116)|0);
HEAP32[((5345216)>>2)]=((5386980)|0);
HEAP32[((5345220)>>2)]=((5386796)|0);
HEAP32[((5345224)>>2)]=((5386500)|0);
HEAP32[((5345228)>>2)]=((5386284)|0);
HEAP32[((5345232)>>2)]=((5386204)|0);
HEAP32[((5345236)>>2)]=((5386160)|0);
HEAP32[((5345240)>>2)]=((5386080)|0);
HEAP32[((5345244)>>2)]=((5385700)|0);
HEAP32[((5345248)>>2)]=((5385688)|0);
HEAP32[((5345252)>>2)]=((5385664)|0);
HEAP32[((5345256)>>2)]=((5385640)|0);
HEAP32[((5345260)>>2)]=((5385608)|0);
HEAP32[((5345264)>>2)]=((5385536)|0);
HEAP32[((5345268)>>2)]=((5385524)|0);
HEAP32[((5345272)>>2)]=((5385440)|0);
HEAP32[((5345276)>>2)]=((5385404)|0);
HEAP32[((5345280)>>2)]=((5385372)|0);
HEAP32[((5345284)>>2)]=((5385284)|0);
HEAP32[((5345288)>>2)]=((5385264)|0);
HEAP32[((5345292)>>2)]=((5385236)|0);
HEAP32[((5345296)>>2)]=((5385220)|0);
HEAP32[((5345300)>>2)]=((5385208)|0);
HEAP32[((5345304)>>2)]=((5385172)|0);
HEAP32[((5345308)>>2)]=((5385156)|0);
HEAP32[((5345312)>>2)]=((5385128)|0);
HEAP32[((5345316)>>2)]=((5385100)|0);
HEAP32[((5345320)>>2)]=((5385044)|0);
HEAP32[((5345324)>>2)]=((5384940)|0);
HEAP32[((5345328)>>2)]=((5384924)|0);
HEAP32[((5345332)>>2)]=((5384884)|0);
HEAP32[((5345336)>>2)]=((5384856)|0);
HEAP32[((5345340)>>2)]=((5384820)|0);
HEAP32[((5345344)>>2)]=((5384660)|0);
HEAP32[((5345348)>>2)]=((5384640)|0);
HEAP32[((5345352)>>2)]=((5384616)|0);
HEAP32[((5345356)>>2)]=((5384564)|0);
HEAP32[((5345360)>>2)]=((5384540)|0);
HEAP32[((5345364)>>2)]=((5384468)|0);
HEAP32[((5345368)>>2)]=((5384420)|0);
HEAP32[((5345372)>>2)]=((5384364)|0);
HEAP32[((5345376)>>2)]=((5384324)|0);
HEAP32[((5345380)>>2)]=((5384280)|0);
HEAP32[((5345384)>>2)]=((5384236)|0);
HEAP32[((5345388)>>2)]=((5384204)|0);
HEAP32[((5345392)>>2)]=((5384164)|0);
HEAP32[((5345396)>>2)]=((5384136)|0);
HEAP32[((5345400)>>2)]=((5384112)|0);
HEAP32[((5345404)>>2)]=((5384056)|0);
HEAP32[((5345408)>>2)]=((5384036)|0);
HEAP32[((5345412)>>2)]=((5383976)|0);
HEAP32[((5345416)>>2)]=((5383944)|0);
HEAP32[((5345420)>>2)]=((5383908)|0);
HEAP32[((5345424)>>2)]=((5383856)|0);
HEAP32[((5345428)>>2)]=((5383816)|0);
HEAP32[((5345432)>>2)]=((5383764)|0);
HEAP32[((5345436)>>2)]=((5383736)|0);
HEAP32[((5345440)>>2)]=((5383704)|0);
HEAP32[((5345444)>>2)]=((5383624)|0);
HEAP32[((5345448)>>2)]=((5383608)|0);
HEAP32[((5345452)>>2)]=((5383544)|0);
HEAP32[((5345456)>>2)]=((5383512)|0);
HEAP32[((5345460)>>2)]=((5383492)|0);
HEAP32[((5345464)>>2)]=((5383468)|0);
HEAP32[((5345468)>>2)]=((5383444)|0);
HEAP32[((5345472)>>2)]=((5383412)|0);
HEAP32[((5345476)>>2)]=((5383380)|0);
HEAP32[((5345480)>>2)]=((5383340)|0);
HEAP32[((5345484)>>2)]=((5383300)|0);
HEAP32[((5345488)>>2)]=((5383256)|0);
HEAP32[((5345492)>>2)]=((5383200)|0);
HEAP32[((5345496)>>2)]=((5383120)|0);
HEAP32[((5345500)>>2)]=((5383104)|0);
HEAP32[((5345504)>>2)]=((5383088)|0);
HEAP32[((5345508)>>2)]=((5383044)|0);
HEAP32[((5345512)>>2)]=((5383000)|0);
HEAP32[((5345516)>>2)]=((5382988)|0);
HEAP32[((5345520)>>2)]=((5382940)|0);
HEAP32[((5345524)>>2)]=((5382848)|0);
HEAP32[((5345528)>>2)]=((5382784)|0);
HEAP32[((5345532)>>2)]=((5382728)|0);
HEAP32[((5345536)>>2)]=((5382644)|0);
HEAP32[((5345540)>>2)]=((5382636)|0);
HEAP32[((5345544)>>2)]=((5382624)|0);
HEAP32[((5345548)>>2)]=((5382616)|0);
HEAP32[((5345552)>>2)]=((5382608)|0);
HEAP32[((5345556)>>2)]=((5382600)|0);
HEAP32[((5345560)>>2)]=((5382592)|0);
HEAP32[((5345564)>>2)]=((5387376)|0);
HEAP32[((5345568)>>2)]=((5387364)|0);
HEAP32[((5345572)>>2)]=((5387352)|0);
HEAP32[((5345576)>>2)]=((5387332)|0);
HEAP32[((5345580)>>2)]=((5387312)|0);
HEAP32[((5345584)>>2)]=((5387296)|0);
HEAP32[((5345588)>>2)]=((5387284)|0);
HEAP32[((5345592)>>2)]=((5387272)|0);
HEAP32[((5345596)>>2)]=((5387264)|0);
HEAP32[((5345600)>>2)]=((5387248)|0);
HEAP32[((5345604)>>2)]=((5387228)|0);
HEAP32[((5345608)>>2)]=((5387220)|0);
HEAP32[((5345612)>>2)]=((5387204)|0);
HEAP32[((5345616)>>2)]=((5387196)|0);
HEAP32[((5345620)>>2)]=((5387188)|0);
HEAP32[((5345624)>>2)]=((5387172)|0);
HEAP32[((5345628)>>2)]=((5387164)|0);
HEAP32[((5345632)>>2)]=((5387152)|0);
HEAP32[((5345636)>>2)]=((5387140)|0);
HEAP32[((5345640)>>2)]=((5387132)|0);
HEAP32[((5345644)>>2)]=((5387104)|0);
HEAP32[((5345648)>>2)]=((5387096)|0);
HEAP32[((5345652)>>2)]=((5387064)|0);
HEAP32[((5345656)>>2)]=((5387056)|0);
HEAP32[((5345660)>>2)]=((5387048)|0);
HEAP32[((5345664)>>2)]=((5387040)|0);
HEAP32[((5345668)>>2)]=((5387028)|0);
HEAP32[((5345672)>>2)]=((5387020)|0);
HEAP32[((5345676)>>2)]=((5387004)|0);
HEAP32[((5345680)>>2)]=((5386988)|0);
HEAP32[((5345684)>>2)]=((5386968)|0);
HEAP32[((5345688)>>2)]=((5386960)|0);
HEAP32[((5345692)>>2)]=((5386880)|0);
HEAP32[((5345696)>>2)]=((5386868)|0);
HEAP32[((5345700)>>2)]=((5386856)|0);
HEAP32[((5345704)>>2)]=((5386844)|0);
HEAP32[((5345708)>>2)]=((5386832)|0);
HEAP32[((5345712)>>2)]=((5386828)|0);
HEAP32[((5345716)>>2)]=((5386816)|0);
HEAP32[((5345720)>>2)]=((5386804)|0);
HEAP32[((5345724)>>2)]=((5386784)|0);
HEAP32[((5345728)>>2)]=((5386776)|0);
HEAP32[((5345732)>>2)]=((5386724)|0);
HEAP32[((5345736)>>2)]=((5386716)|0);
HEAP32[((5345740)>>2)]=((5386704)|0);
HEAP32[((5345744)>>2)]=((5386600)|0);
HEAP32[((5345748)>>2)]=((5386580)|0);
HEAP32[((5345752)>>2)]=((5386560)|0);
HEAP32[((5345756)>>2)]=((5386520)|0);
HEAP32[((5345760)>>2)]=((5386508)|0);
HEAP32[((5345764)>>2)]=((5386488)|0);
HEAP32[((5345768)>>2)]=((5386464)|0);
HEAP32[((5345772)>>2)]=((5386376)|0);
HEAP32[((5345776)>>2)]=((5386364)|0);
HEAP32[((5345780)>>2)]=((5386356)|0);
HEAP32[((5345784)>>2)]=((5386340)|0);
HEAP32[((5345788)>>2)]=((5386332)|0);
HEAP32[((5345792)>>2)]=((5386324)|0);
HEAP32[((5345796)>>2)]=((5386312)|0);
HEAP32[((5387980)>>2)]=(30);
HEAP32[((5387984)>>2)]=(12);
HEAP32[((5387988)>>2)]=(24);
HEAP32[((5388004)>>2)]=(30);
HEAP32[((5388008)>>2)]=(2);
HEAP32[((5388012)>>2)]=(44);
__ZTVN10__cxxabiv120__si_class_type_infoE=allocate([2,0,0,0], "i8", ALLOC_STATIC);
HEAP32[((5388064)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5388068)>>2)]=((5388020)|0);
HEAP32[((5388072)>>2)]=__ZTISt9exception;
HEAP32[((5388076)>>2)]=(((__ZTVN10__cxxabiv120__si_class_type_infoE+8)|0));
HEAP32[((5388080)>>2)]=((5388036)|0);
__ZNSt9bad_allocC1Ev = 10;
__ZNSt9bad_allocD1Ev = 30;
__ZNSt20bad_array_new_lengthC1Ev = 40;
__ZNSt20bad_array_new_lengthD1Ev = (30);
__ZNSt20bad_array_new_lengthD2Ev = (30);
function _memcpy(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
ret = dest|0;
if ((dest&3) == (src&3)) {
while (dest & 3) {
if ((num|0) == 0) return ret|0;
HEAP8[(dest)]=HEAP8[(src)];
dest = (dest+1)|0;
src = (src+1)|0;
num = (num-1)|0;
}
while ((num|0) >= 4) {
HEAP32[((dest)>>2)]=HEAP32[((src)>>2)];
dest = (dest+4)|0;
src = (src+4)|0;
num = (num-4)|0;
}
}
while ((num|0) > 0) {
HEAP8[(dest)]=HEAP8[(src)];
dest = (dest+1)|0;
src = (src+1)|0;
num = (num-1)|0;
}
return ret|0;
}var _llvm_memcpy_p0i8_p0i8_i32;
function _memset(ptr, value, num) {
ptr = ptr|0; value = value|0; num = num|0;
var stop = 0, value4 = 0, stop4 = 0, unaligned = 0;
stop = (ptr + num)|0;
if (num|0 >= 20) {
// This is unaligned, but quite large, so work hard to get to aligned settings
unaligned = ptr & 3;
value4 = value | (value << 8) | (value << 16) | (value << 24);
stop4 = stop & ~3;
if (unaligned) {
unaligned = (ptr + 4 - unaligned)|0;
while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num
HEAP8[(ptr)]=value;
ptr = (ptr+1)|0;
}
}
while ((ptr|0) < (stop4|0)) {
HEAP32[((ptr)>>2)]=value4;
ptr = (ptr+4)|0;
}
}
while ((ptr|0) < (stop|0)) {
HEAP8[(ptr)]=value;
ptr = (ptr+1)|0;
}
}var _llvm_memset_p0i8_i32;
function _strlen(ptr) {
ptr = ptr|0;
var curr = 0;
curr = ptr;
while (HEAP8[(curr)]|0 != 0) {
curr = (curr + 1)|0;
}
return (curr - ptr)|0;
}
var _cos=Math.cos;
function _log10(x) {
return Math.log(x) / Math.LN10;
}
function _memmove(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
// Unlikely case: Copy backwards in a safe manner
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)]=HEAP8[(src)];
}
} else {
_memcpy(dest, src, num);
}
}var _llvm_memmove_p0i8_p0i8_i32;
var _ceil=Math.ceil;
function _strncmp(px, py, n) {
var i = 0;
while (i < n) {
var x = HEAPU8[((px)+(i))];
var y = HEAPU8[((py)+(i))];
if (x == y && x == 0) return 0;
if (x == 0) return -1;
if (y == 0) return 1;
if (x == y) {
i ++;
continue;
} else {
return x > y ? 1 : -1;
}
}
return 0;
}
function _isspace(chr) {
return chr in { 32: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0 };
}
function ___setErrNo(value) {
// For convenient setting and returning of errno.
if (!___setErrNo.ret) ___setErrNo.ret = allocate([0], 'i32', ALLOC_STATIC);
HEAP32[((___setErrNo.ret)>>2)]=value
return value;
}
var ERRNO_CODES={E2BIG:7,EACCES:13,EADDRINUSE:98,EADDRNOTAVAIL:99,EAFNOSUPPORT:97,EAGAIN:11,EALREADY:114,EBADF:9,EBADMSG:74,EBUSY:16,ECANCELED:125,ECHILD:10,ECONNABORTED:103,ECONNREFUSED:111,ECONNRESET:104,EDEADLK:35,EDESTADDRREQ:89,EDOM:33,EDQUOT:122,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:113,EIDRM:43,EILSEQ:84,EINPROGRESS:115,EINTR:4,EINVAL:22,EIO:5,EISCONN:106,EISDIR:21,ELOOP:40,EMFILE:24,EMLINK:31,EMSGSIZE:90,EMULTIHOP:72,ENAMETOOLONG:36,ENETDOWN:100,ENETRESET:102,ENETUNREACH:101,ENFILE:23,ENOBUFS:105,ENODATA:61,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:37,ENOLINK:67,ENOMEM:12,ENOMSG:42,ENOPROTOOPT:92,ENOSPC:28,ENOSR:63,ENOSTR:60,ENOSYS:38,ENOTCONN:107,ENOTDIR:20,ENOTEMPTY:39,ENOTRECOVERABLE:131,ENOTSOCK:88,ENOTSUP:95,ENOTTY:25,ENXIO:6,EOVERFLOW:75,EOWNERDEAD:130,EPERM:1,EPIPE:32,EPROTO:71,EPROTONOSUPPORT:93,EPROTOTYPE:91,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:116,ETIME:62,ETIMEDOUT:110,ETXTBSY:26,EWOULDBLOCK:11,EXDEV:18};function __parseInt(str, endptr, base, min, max, bits, unsign) {
// Skip space.
while (_isspace(HEAP8[(str)])) str++;
// Check for a plus/minus sign.
var multiplier = 1;
if (HEAP8[(str)] == '-'.charCodeAt(0)) {
multiplier = -1;
str++;
} else if (HEAP8[(str)] == '+'.charCodeAt(0)) {
str++;
}
// Find base.
var finalBase = base;
if (!finalBase) {
if (HEAP8[(str)] == '0'.charCodeAt(0)) {
if (HEAP8[(str+1)] == 'x'.charCodeAt(0) ||
HEAP8[(str+1)] == 'X'.charCodeAt(0)) {
finalBase = 16;
str += 2;
} else {
finalBase = 8;
str++;
}
}
}
if (!finalBase) finalBase = 10;
// Get digits.
var chr;
var ret = 0;
while ((chr = HEAP8[(str)]) != 0) {
var digit = parseInt(String.fromCharCode(chr), finalBase);
if (isNaN(digit)) {
break;
} else {
ret = ret * finalBase + digit;
str++;
}
}
// Apply sign.
ret *= multiplier;
// Set end pointer.
if (endptr) {
HEAP32[((endptr)>>2)]=str
}
// Unsign if needed.
if (unsign) {
if (Math.abs(ret) > max) {
ret = max;
___setErrNo(ERRNO_CODES.ERANGE);
} else {
ret = unSign(ret, bits);
}
}
// Validate range.
if (ret > max || ret < min) {
ret = ret > max ? max : min;
___setErrNo(ERRNO_CODES.ERANGE);
}
if (bits == 64) {
return (tempRet0 = Math.min(Math.floor((ret)/4294967296), 4294967295)>>>0,ret>>>0);
}
return ret;
}function _strtol(str, endptr, base) {
return __parseInt(str, endptr, base, -2147483648, 2147483647, 32); // LONG_MIN, LONG_MAX.
}function _atoi(ptr) {
return _strtol(ptr, null, 10);
}
function _strchr(ptr, chr) {
ptr--;
do {
ptr++;
var val = HEAP8[(ptr)];
if (val == chr) return ptr;
} while (val);
return 0;
}
function __formatString(format, varargs) {
var textIndex = format;
var argIndex = 0;
function getNextArg(type) {
// NOTE: Explicitly ignoring type safety. Otherwise this fails:
// int x = 4; printf("%c\n", (char)x);
var ret;
if (type === 'double') {
ret = (HEAP32[((tempDoublePtr)>>2)]=HEAP32[(((varargs)+(argIndex))>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((varargs)+((argIndex)+(4)))>>2)],HEAPF64[(tempDoublePtr)>>3]);
} else if (type == 'i64') {
ret = [HEAP32[(((varargs)+(argIndex))>>2)],
HEAP32[(((varargs)+(argIndex+4))>>2)]];
} else {
type = 'i32'; // varargs are always i32, i64, or double
ret = HEAP32[(((varargs)+(argIndex))>>2)];
}
argIndex += Runtime.getNativeFieldSize(type);
return ret;
}
var ret = [];
var curr, next, currArg;
while(1) {
var startTextIndex = textIndex;
curr = HEAP8[(textIndex)];
if (curr === 0) break;
next = HEAP8[(textIndex+1)];
if (curr == '%'.charCodeAt(0)) {
// Handle flags.
var flagAlwaysSigned = false;
var flagLeftAlign = false;
var flagAlternative = false;
var flagZeroPad = false;
flagsLoop: while (1) {
switch (next) {
case '+'.charCodeAt(0):
flagAlwaysSigned = true;
break;
case '-'.charCodeAt(0):
flagLeftAlign = true;
break;
case '#'.charCodeAt(0):
flagAlternative = true;
break;
case '0'.charCodeAt(0):
if (flagZeroPad) {
break flagsLoop;
} else {
flagZeroPad = true;
break;
}
default:
break flagsLoop;
}
textIndex++;
next = HEAP8[(textIndex+1)];
}
// Handle width.
var width = 0;
if (next == '*'.charCodeAt(0)) {
width = getNextArg('i32');
textIndex++;
next = HEAP8[(textIndex+1)];
} else {
while (next >= '0'.charCodeAt(0) && next <= '9'.charCodeAt(0)) {
width = width * 10 + (next - '0'.charCodeAt(0));
textIndex++;
next = HEAP8[(textIndex+1)];
}
}
// Handle precision.
var precisionSet = false;
if (next == '.'.charCodeAt(0)) {
var precision = 0;
precisionSet = true;
textIndex++;
next = HEAP8[(textIndex+1)];
if (next == '*'.charCodeAt(0)) {
precision = getNextArg('i32');
textIndex++;
} else {
while(1) {
var precisionChr = HEAP8[(textIndex+1)];
if (precisionChr < '0'.charCodeAt(0) ||
precisionChr > '9'.charCodeAt(0)) break;
precision = precision * 10 + (precisionChr - '0'.charCodeAt(0));
textIndex++;
}
}
next = HEAP8[(textIndex+1)];
} else {
var precision = 6; // Standard default.
}
// Handle integer sizes. WARNING: These assume a 32-bit architecture!
var argSize;
switch (String.fromCharCode(next)) {
case 'h':
var nextNext = HEAP8[(textIndex+2)];
if (nextNext == 'h'.charCodeAt(0)) {
textIndex++;
argSize = 1; // char (actually i32 in varargs)
} else {
argSize = 2; // short (actually i32 in varargs)
}
break;
case 'l':
var nextNext = HEAP8[(textIndex+2)];
if (nextNext == 'l'.charCodeAt(0)) {
textIndex++;
argSize = 8; // long long
} else {
argSize = 4; // long
}
break;
case 'L': // long long
case 'q': // int64_t
case 'j': // intmax_t
argSize = 8;
break;
case 'z': // size_t
case 't': // ptrdiff_t
case 'I': // signed ptrdiff_t or unsigned size_t
argSize = 4;
break;
default:
argSize = null;
}
if (argSize) textIndex++;
next = HEAP8[(textIndex+1)];
// Handle type specifier.
if (['d', 'i', 'u', 'o', 'x', 'X', 'p'].indexOf(String.fromCharCode(next)) != -1) {
// Integer.
var signed = next == 'd'.charCodeAt(0) || next == 'i'.charCodeAt(0);
argSize = argSize || 4;
var currArg = getNextArg('i' + (argSize * 8));
var origArg = currArg;
var argText;
// Flatten i64-1 [low, high] into a (slightly rounded) double
if (argSize == 8) {
currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 'u'.charCodeAt(0));
}
// Truncate to requested size.
if (argSize <= 4) {
var limit = Math.pow(256, argSize) - 1;
currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
}
// Format the number.
var currAbsArg = Math.abs(currArg);
var prefix = '';
if (next == 'd'.charCodeAt(0) || next == 'i'.charCodeAt(0)) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else
argText = reSign(currArg, 8 * argSize, 1).toString(10);
} else if (next == 'u'.charCodeAt(0)) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else
argText = unSign(currArg, 8 * argSize, 1).toString(10);
currArg = Math.abs(currArg);
} else if (next == 'o'.charCodeAt(0)) {
argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
} else if (next == 'x'.charCodeAt(0) || next == 'X'.charCodeAt(0)) {
prefix = flagAlternative ? '0x' : '';
if (argSize == 8 && i64Math) argText = (origArg[1]>>>0).toString(16) + (origArg[0]>>>0).toString(16); else
if (currArg < 0) {
// Represent negative numbers in hex as 2's complement.
currArg = -currArg;
argText = (currAbsArg - 1).toString(16);
var buffer = [];
for (var i = 0; i < argText.length; i++) {
buffer.push((0xF - parseInt(argText[i], 16)).toString(16));
}
argText = buffer.join('');
while (argText.length < argSize * 2) argText = 'f' + argText;
} else {
argText = currAbsArg.toString(16);
}
if (next == 'X'.charCodeAt(0)) {
prefix = prefix.toUpperCase();
argText = argText.toUpperCase();
}
} else if (next == 'p'.charCodeAt(0)) {
if (currAbsArg === 0) {
argText = '(nil)';
} else {
prefix = '0x';
argText = currAbsArg.toString(16);
}
}
if (precisionSet) {
while (argText.length < precision) {
argText = '0' + argText;
}
}
// Add sign if needed
if (flagAlwaysSigned) {
if (currArg < 0) {
prefix = '-' + prefix;
} else {
prefix = '+' + prefix;
}
}
// Add padding.
while (prefix.length + argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad) {
argText = '0' + argText;
} else {
prefix = ' ' + prefix;
}
}
}
// Insert the result into the buffer.
argText = prefix + argText;
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
} else if (['f', 'F', 'e', 'E', 'g', 'G'].indexOf(String.fromCharCode(next)) != -1) {
// Float.
var currArg = getNextArg('double');
var argText;
if (isNaN(currArg)) {
argText = 'nan';
flagZeroPad = false;
} else if (!isFinite(currArg)) {
argText = (currArg < 0 ? '-' : '') + 'inf';
flagZeroPad = false;
} else {
var isGeneral = false;
var effectivePrecision = Math.min(precision, 20);
// Convert g/G to f/F or e/E, as per:
// http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
if (next == 'g'.charCodeAt(0) || next == 'G'.charCodeAt(0)) {
isGeneral = true;
precision = precision || 1;
var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10);
if (precision > exponent && exponent >= -4) {
next = ((next == 'g'.charCodeAt(0)) ? 'f' : 'F').charCodeAt(0);
precision -= exponent + 1;
} else {
next = ((next == 'g'.charCodeAt(0)) ? 'e' : 'E').charCodeAt(0);
precision--;
}
effectivePrecision = Math.min(precision, 20);
}
if (next == 'e'.charCodeAt(0) || next == 'E'.charCodeAt(0)) {
argText = currArg.toExponential(effectivePrecision);
// Make sure the exponent has at least 2 digits.
if (/[eE][-+]\d$/.test(argText)) {
argText = argText.slice(0, -1) + '0' + argText.slice(-1);
}
} else if (next == 'f'.charCodeAt(0) || next == 'F'.charCodeAt(0)) {
argText = currArg.toFixed(effectivePrecision);
}
var parts = argText.split('e');
if (isGeneral && !flagAlternative) {
// Discard trailing zeros and periods.
while (parts[0].length > 1 && parts[0].indexOf('.') != -1 &&
(parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) {
parts[0] = parts[0].slice(0, -1);
}
} else {
// Make sure we have a period in alternative mode.
if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.';
// Zero pad until required precision.
while (precision > effectivePrecision++) parts[0] += '0';
}
argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : '');
// Capitalize 'E' if needed.
if (next == 'E'.charCodeAt(0)) argText = argText.toUpperCase();
// Add sign.
if (flagAlwaysSigned && currArg >= 0) {
argText = '+' + argText;
}
}
// Add padding.
while (argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) {
argText = argText[0] + '0' + argText.slice(1);
} else {
argText = (flagZeroPad ? '0' : ' ') + argText;
}
}
}
// Adjust case.
if (next < 'a'.charCodeAt(0)) argText = argText.toUpperCase();
// Insert the result into the buffer.
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
} else if (next == 's'.charCodeAt(0)) {
// String.
var arg = getNextArg('i8*') || nullString;
var argLength = _strlen(arg);
if (precisionSet) argLength = Math.min(argLength, precision);
if (!flagLeftAlign) {
while (argLength < width--) {
ret.push(' '.charCodeAt(0));
}
}
for (var i = 0; i < argLength; i++) {
ret.push(HEAPU8[(arg++)]);
}
if (flagLeftAlign) {
while (argLength < width--) {
ret.push(' '.charCodeAt(0));
}
}
} else if (next == 'c'.charCodeAt(0)) {
// Character.
if (flagLeftAlign) ret.push(getNextArg('i8'));
while (--width > 0) {
ret.push(' '.charCodeAt(0));
}
if (!flagLeftAlign) ret.push(getNextArg('i8'));
} else if (next == 'n'.charCodeAt(0)) {
// Write the length written so far to the next parameter.
var ptr = getNextArg('i32*');
HEAP32[((ptr)>>2)]=ret.length
} else if (next == '%'.charCodeAt(0)) {
// Literal percent sign.
ret.push(curr);
} else {
// Unknown specifiers remain untouched.
for (var i = startTextIndex; i < textIndex + 2; i++) {
ret.push(HEAP8[(i)]);
}
}
textIndex += 2;
// TODO: Support a/A (hex float) and m (last error) specifiers.
// TODO: Support %1${specifier} for arg selection.
} else {
ret.push(curr);
textIndex += 1;
}
}
return ret;
}function _snprintf(s, n, format, varargs) {
// int snprintf(char *restrict s, size_t n, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var result = __formatString(format, varargs);
var limit = (n === undefined) ? result.length
: Math.min(result.length, Math.max(n - 1, 0));
if (s < 0) {
s = -s;
var buf = _malloc(limit+1);
HEAP32[((s)>>2)]=buf;
s = buf;
}
for (var i = 0; i < limit; i++) {
HEAP8[((s)+(i))]=result[i];
}
if (limit < n || (n === undefined)) HEAP8[((s)+(i))]=0;
return result.length;
}function _sprintf(s, format, varargs) {
// int sprintf(char *restrict s, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
return _snprintf(s, undefined, format, varargs);
}
function _toupper(chr) {
if (chr >= 'a'.charCodeAt(0) && chr <= 'z'.charCodeAt(0)) {
return chr - 'a'.charCodeAt(0) + 'A'.charCodeAt(0);
} else {
return chr;
}
}
function _tolower(chr) {
if (chr >= 'A'.charCodeAt(0) && chr <= 'Z'.charCodeAt(0)) {
return chr - 'A'.charCodeAt(0) + 'a'.charCodeAt(0);
} else {
return chr;
}
}
var _fabs=Math.abs;
var _llvm_pow_f64=Math.pow;
var _llvm_pow_f32=Math.pow;
var _stdin=allocate(1, "i32*", ALLOC_STACK);
var _stdout=allocate(1, "i32*", ALLOC_STACK);
var _stderr=allocate(1, "i32*", ALLOC_STACK);
var __impure_ptr=allocate(1, "i32*", ALLOC_STACK);var FS={currentPath:"/",nextInode:2,streams:[null],ignorePermissions:true,joinPath:function (parts, forceRelative) {
var ret = parts[0];
for (var i = 1; i < parts.length; i++) {
if (ret[ret.length-1] != '/') ret += '/';
ret += parts[i];
}
if (forceRelative && ret[0] == '/') ret = ret.substr(1);
return ret;
},absolutePath:function (relative, base) {
if (typeof relative !== 'string') return null;
if (base === undefined) base = FS.currentPath;
if (relative && relative[0] == '/') base = '';
var full = base + '/' + relative;
var parts = full.split('/').reverse();
var absolute = [''];
while (parts.length) {
var part = parts.pop();
if (part == '' || part == '.') {
// Nothing.
} else if (part == '..') {
if (absolute.length > 1) absolute.pop();
} else {
absolute.push(part);
}
}
return absolute.length == 1 ? '/' : absolute.join('/');
},analyzePath:function (path, dontResolveLastLink, linksVisited) {
var ret = {
isRoot: false,
exists: false,
error: 0,
name: null,
path: null,
object: null,
parentExists: false,
parentPath: null,
parentObject: null
};
path = FS.absolutePath(path);
if (path == '/') {
ret.isRoot = true;
ret.exists = ret.parentExists = true;
ret.name = '/';
ret.path = ret.parentPath = '/';
ret.object = ret.parentObject = FS.root;
} else if (path !== null) {
linksVisited = linksVisited || 0;
path = path.slice(1).split('/');
var current = FS.root;
var traversed = [''];
while (path.length) {
if (path.length == 1 && current.isFolder) {
ret.parentExists = true;
ret.parentPath = traversed.length == 1 ? '/' : traversed.join('/');
ret.parentObject = current;
ret.name = path[0];
}
var target = path.shift();
if (!current.isFolder) {
ret.error = ERRNO_CODES.ENOTDIR;
break;
} else if (!current.read) {
ret.error = ERRNO_CODES.EACCES;
break;
} else if (!current.contents.hasOwnProperty(target)) {
ret.error = ERRNO_CODES.ENOENT;
break;
}
current = current.contents[target];
if (current.link && !(dontResolveLastLink && path.length == 0)) {
if (linksVisited > 40) { // Usual Linux SYMLOOP_MAX.
ret.error = ERRNO_CODES.ELOOP;
break;
}
var link = FS.absolutePath(current.link, traversed.join('/'));
ret = FS.analyzePath([link].concat(path).join('/'),
dontResolveLastLink, linksVisited + 1);
return ret;
}
traversed.push(target);
if (path.length == 0) {
ret.exists = true;
ret.path = traversed.join('/');
ret.object = current;
}
}
}
return ret;
},findObject:function (path, dontResolveLastLink) {
FS.ensureRoot();
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},createObject:function (parent, name, properties, canRead, canWrite) {
if (!parent) parent = '/';
if (typeof parent === 'string') parent = FS.findObject(parent);
if (!parent) {
___setErrNo(ERRNO_CODES.EACCES);
throw new Error('Parent path must exist.');
}
if (!parent.isFolder) {
___setErrNo(ERRNO_CODES.ENOTDIR);
throw new Error('Parent must be a folder.');
}
if (!parent.write && !FS.ignorePermissions) {
___setErrNo(ERRNO_CODES.EACCES);
throw new Error('Parent folder must be writeable.');
}
if (!name || name == '.' || name == '..') {
___setErrNo(ERRNO_CODES.ENOENT);
throw new Error('Name must not be empty.');
}
if (parent.contents.hasOwnProperty(name)) {
___setErrNo(ERRNO_CODES.EEXIST);
throw new Error("Can't overwrite object.");
}
parent.contents[name] = {
read: canRead === undefined ? true : canRead,
write: canWrite === undefined ? false : canWrite,
timestamp: Date.now(),
inodeNumber: FS.nextInode++
};
for (var key in properties) {
if (properties.hasOwnProperty(key)) {
parent.contents[name][key] = properties[key];
}
}
return parent.contents[name];
},createFolder:function (parent, name, canRead, canWrite) {
var properties = {isFolder: true, isDevice: false, contents: {}};
return FS.createObject(parent, name, properties, canRead, canWrite);
},createPath:function (parent, path, canRead, canWrite) {
var current = FS.findObject(parent);
if (current === null) throw new Error('Invalid parent.');
path = path.split('/').reverse();
while (path.length) {
var part = path.pop();
if (!part) continue;
if (!current.contents.hasOwnProperty(part)) {
FS.createFolder(current, part, canRead, canWrite);
}
current = current.contents[part];
}
return current;
},createFile:function (parent, name, properties, canRead, canWrite) {
properties.isFolder = false;
return FS.createObject(parent, name, properties, canRead, canWrite);
},createDataFile:function (parent, name, data, canRead, canWrite) {
if (typeof data === 'string') {
var dataArray = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) dataArray[i] = data.charCodeAt(i);
data = dataArray;
}
var properties = {
isDevice: false,
contents: data.subarray ? data.subarray(0) : data // as an optimization, create a new array wrapper (not buffer) here, to help JS engines understand this object
};
return FS.createFile(parent, name, properties, canRead, canWrite);
},createLazyFile:function (parent, name, url, canRead, canWrite) {
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';
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
var LazyUint8Array = function(chunkSize, length) {
this.length = length;
this.chunkSize = chunkSize;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % chunkSize;
var chunkNum = Math.floor(idx / chunkSize);
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function(getter) {
this.getter = getter;
}
// 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 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 = new LazyUint8Array(chunkSize, datalength);
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * lazyArray.chunkSize;
var end = (chunkNum+1) * lazyArray.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];
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
return FS.createFile(parent, name, properties, canRead, canWrite);
},createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile) {
Browser.ensureObjects();
var fullname = FS.joinPath([parent, name], true);
function processData(byteArray) {
function finish(byteArray) {
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite);
}
if (onload) onload();
removeRunDependency('cp ' + fullname);
}
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('cp ' + fullname);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency('cp ' + fullname);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},createLink:function (parent, name, target, canRead, canWrite) {
var properties = {isDevice: false, link: target};
return FS.createFile(parent, name, properties, canRead, canWrite);
},createDevice:function (parent, name, input, output) {
if (!(input || output)) {
throw new Error('A device must have at least one callback defined.');
}
var ops = {isDevice: true, input: input, output: output};
return FS.createFile(parent, name, ops, Boolean(input), Boolean(output));
},forceLoadFile:function (obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module['read']) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(Module['read'](obj.url), true);
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},ensureRoot:function () {
if (FS.root) return;
// The main file system tree. All the contents are inside this.
FS.root = {
read: true,
write: true,
isFolder: true,
isDevice: false,
timestamp: Date.now(),
inodeNumber: 1,
contents: {}
};
},init:function (input, output, error) {
// Make sure we initialize only once.
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.ensureRoot();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
input = input || Module['stdin'];
output = output || Module['stdout'];
error = error || Module['stderr'];
// Default handlers.
var stdinOverridden = true, stdoutOverridden = true, stderrOverridden = true;
if (!input) {
stdinOverridden = false;
input = function() {
if (!input.cache || !input.cache.length) {
var result;
if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: ');
if (result === null) result = String.fromCharCode(0); // cancel ==> EOF
} else if (typeof readline == 'function') {
// Command line.
result = readline();
}
if (!result) result = '';
input.cache = intArrayFromString(result + '\n', true);
}
return input.cache.shift();
};
}
var utf8 = new Runtime.UTF8Processor();
function simpleOutput(val) {
if (val === null || val === '\n'.charCodeAt(0)) {
output.printer(output.buffer.join(''));
output.buffer = [];
} else {
output.buffer.push(utf8.processCChar(val));
}
}
if (!output) {
stdoutOverridden = false;
output = simpleOutput;
}
if (!output.printer) output.printer = Module['print'];
if (!output.buffer) output.buffer = [];
if (!error) {
stderrOverridden = false;
error = simpleOutput;
}
if (!error.printer) error.printer = Module['print'];
if (!error.buffer) error.buffer = [];
// Create the temporary folder, if not already created
try {
FS.createFolder('/', 'tmp', true, true);
} catch(e) {}
// Create the I/O devices.
var devFolder = FS.createFolder('/', 'dev', true, true);
var stdin = FS.createDevice(devFolder, 'stdin', input);
var stdout = FS.createDevice(devFolder, 'stdout', null, output);
var stderr = FS.createDevice(devFolder, 'stderr', null, error);
FS.createDevice(devFolder, 'tty', input, output);
// Create default streams.
FS.streams[1] = {
path: '/dev/stdin',
object: stdin,
position: 0,
isRead: true,
isWrite: false,
isAppend: false,
isTerminal: !stdinOverridden,
error: false,
eof: false,
ungotten: []
};
FS.streams[2] = {
path: '/dev/stdout',
object: stdout,
position: 0,
isRead: false,
isWrite: true,
isAppend: false,
isTerminal: !stdoutOverridden,
error: false,
eof: false,
ungotten: []
};
FS.streams[3] = {
path: '/dev/stderr',
object: stderr,
position: 0,
isRead: false,
isWrite: true,
isAppend: false,
isTerminal: !stderrOverridden,
error: false,
eof: false,
ungotten: []
};
assert(Math.max(_stdin, _stdout, _stderr) < 128); // make sure these are low, we flatten arrays with these
HEAP32[((_stdin)>>2)]=1;
HEAP32[((_stdout)>>2)]=2;
HEAP32[((_stderr)>>2)]=3;
// Other system paths
FS.createPath('/', 'dev/shm/tmp', true, true); // temp files
// Newlib initialization
for (var i = FS.streams.length; i < Math.max(_stdin, _stdout, _stderr) + 4; i++) {
FS.streams[i] = null; // Make sure to keep FS.streams dense
}
FS.streams[_stdin] = FS.streams[1];
FS.streams[_stdout] = FS.streams[2];
FS.streams[_stderr] = FS.streams[3];
allocate([ allocate(
[0, 0, 0, 0, _stdin, 0, 0, 0, _stdout, 0, 0, 0, _stderr, 0, 0, 0],
'void*', ALLOC_STATIC) ], 'void*', ALLOC_NONE, __impure_ptr);
},quit:function () {
if (!FS.init.initialized) return;
// Flush any partially-printed lines in stdout and stderr. Careful, they may have been closed
if (FS.streams[2] && FS.streams[2].object.output.buffer.length > 0) FS.streams[2].object.output('\n'.charCodeAt(0));
if (FS.streams[3] && FS.streams[3].object.output.buffer.length > 0) FS.streams[3].object.output('\n'.charCodeAt(0));
},standardizePath:function (path) {
if (path.substr(0, 2) == './') path = path.substr(2);
return path;
},deleteFile:function (path) {
path = FS.analyzePath(path);
if (!path.parentExists || !path.exists) {
throw 'Invalid path ' + path;
}
delete path.parentObject.contents[path.name];
}};
function _lseek(fildes, offset, whence) {
// off_t lseek(int fildes, off_t offset, int whence);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/lseek.html
if (FS.streams[fildes] && !FS.streams[fildes].object.isDevice) {
var stream = FS.streams[fildes];
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
position += stream.object.contents.length;
}
if (position < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
stream.ungotten = [];
stream.position = position;
return position;
}
} else {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
}function _fseek(stream, offset, whence) {
// int fseek(FILE *stream, long offset, int whence);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fseek.html
var ret = _lseek(stream, offset, whence);
if (ret == -1) {
return -1;
} else {
FS.streams[stream].eof = false;
return 0;
}
}
var _floor=Math.floor;
function _strcat(pdest, psrc) {
var len = _strlen(pdest);
var i = 0;
do {
HEAP8[(pdest+len+i)]=HEAP8[(psrc+i)];
i ++;
} while (HEAP8[((psrc)+(i-1))] != 0);
return pdest;
}
var _ExitMP3; // stub for _ExitMP3
var _InitMP3; // stub for _InitMP3
var _decodeMP3; // stub for _decodeMP3
var _decodeMP3_unclipped; // stub for _decodeMP3_unclipped
var _log=Math.log;
var _exp=Math.exp;
var _sqrt=Math.sqrt;
function __exit(status) {
// void _exit(int status);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
exitRuntime();
ABORT = true;
throw 'exit(' + status + ') called, at ' + new Error().stack;
}function _exit(status) {
__exit(status);
}
function _qsort(base, num, size, cmp) {
if (num == 0 || size == 0) return;
// forward calls to the JavaScript sort method
// first, sort the items logically
var comparator = function(x, y) {
return Runtime.dynCall('iii', cmp, [x, y]);
}
var keys = [];
for (var i = 0; i < num; i++) keys.push(i);
keys.sort(function(a, b) {
return comparator(base+a*size, base+b*size);
});
// apply the sort
var temp = _malloc(num*size);
_memcpy(temp, base, num*size);
for (var i = 0; i < num; i++) {
if (keys[i] == i) continue; // already in place
_memcpy(base+i*size, temp+keys[i]*size, size);
}
_free(temp);
}
var _atan=Math.atan;
function _pwrite(fildes, buf, nbyte, offset) {
// ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.streams[fildes];
if (!stream || stream.object.isDevice) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isWrite) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (stream.object.isFolder) {
___setErrNo(ERRNO_CODES.EISDIR);
return -1;
} else if (nbyte < 0 || offset < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var contents = stream.object.contents;
while (contents.length < offset) contents.push(0);
for (var i = 0; i < nbyte; i++) {
contents[offset + i] = HEAPU8[((buf)+(i))];
}
stream.object.timestamp = Date.now();
return i;
}
}function _write(fildes, buf, nbyte) {
// ssize_t write(int fildes, const void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.streams[fildes];
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isWrite) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (nbyte < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
if (stream.object.isDevice) {
if (stream.object.output) {
for (var i = 0; i < nbyte; i++) {
try {
stream.object.output(HEAP8[((buf)+(i))]);
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
}
stream.object.timestamp = Date.now();
return i;
} else {
___setErrNo(ERRNO_CODES.ENXIO);
return -1;
}
} else {
var bytesWritten = _pwrite(fildes, buf, nbyte, stream.position);
if (bytesWritten != -1) stream.position += bytesWritten;
return bytesWritten;
}
}
}function _fwrite(ptr, size, nitems, stream) {
// size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html
var bytesToWrite = nitems * size;
if (bytesToWrite == 0) return 0;
var bytesWritten = _write(stream, ptr, bytesToWrite);
if (bytesWritten == -1) {
if (FS.streams[stream]) FS.streams[stream].error = true;
return 0;
} else {
return Math.floor(bytesWritten / size);
}
}function _fprintf(stream, format, varargs) {
// int fprintf(FILE *restrict stream, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var result = __formatString(format, varargs);
var stack = Runtime.stackSave();
var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream);
Runtime.stackRestore(stack);
return ret;
}var _vfprintf;
function _fflush(stream) {
// int fflush(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html
var flush = function(filedes) {
// Right now we write all data directly, except for output devices.
if (FS.streams[filedes] && FS.streams[filedes].object.output) {
if (!FS.streams[filedes].isTerminal) { // don't flush terminals, it would cause a \n to also appear
FS.streams[filedes].object.output(null);
}
}
};
try {
if (stream === 0) {
for (var i = 0; i < FS.streams.length; i++) if (FS.streams[i]) flush(i);
} else {
flush(stream);
}
return 0;
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
}
var _llvm_va_start; // stub for _llvm_va_start
function _llvm_va_end() {}
var _sin=Math.sin;
var _fabsf=Math.abs;
var _log10f;
function _ftell(stream) {
// long ftell(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/ftell.html
if (FS.streams[stream]) {
stream = FS.streams[stream];
if (stream.object.isDevice) {
___setErrNo(ERRNO_CODES.ESPIPE);
return -1;
} else {
return stream.position;
}
} else {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
}
function _pread(fildes, buf, nbyte, offset) {
// ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.streams[fildes];
if (!stream || stream.object.isDevice) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isRead) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (stream.object.isFolder) {
___setErrNo(ERRNO_CODES.EISDIR);
return -1;
} else if (nbyte < 0 || offset < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var bytesRead = 0;
while (stream.ungotten.length && nbyte > 0) {
HEAP8[(buf++)]=stream.ungotten.pop()
nbyte--;
bytesRead++;
}
var contents = stream.object.contents;
var size = Math.min(contents.length - offset, nbyte);
if (contents.subarray || contents.slice) { // typed array or normal array
for (var i = 0; i < size; i++) {
HEAP8[((buf)+(i))]=contents[offset + i]
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
HEAP8[((buf)+(i))]=contents.get(offset + i)
}
}
bytesRead += size;
return bytesRead;
}
}function _read(fildes, buf, nbyte) {
// ssize_t read(int fildes, void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.streams[fildes];
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
} else if (!stream.isRead) {
___setErrNo(ERRNO_CODES.EACCES);
return -1;
} else if (nbyte < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
} else {
var bytesRead;
if (stream.object.isDevice) {
if (stream.object.input) {
bytesRead = 0;
while (stream.ungotten.length && nbyte > 0) {
HEAP8[(buf++)]=stream.ungotten.pop()
nbyte--;
bytesRead++;
}
for (var i = 0; i < nbyte; i++) {
try {
var result = stream.object.input();
} catch (e) {
___setErrNo(ERRNO_CODES.EIO);
return -1;
}
if (result === null || result === undefined) break;
bytesRead++;
HEAP8[((buf)+(i))]=result
}
return bytesRead;
} else {
___setErrNo(ERRNO_CODES.ENXIO);
return -1;
}
} else {
var ungotSize = stream.ungotten.length;
bytesRead = _pread(fildes, buf, nbyte, stream.position);
if (bytesRead != -1) {
stream.position += (stream.ungotten.length - ungotSize) + bytesRead;
}
return bytesRead;
}
}
}function _fread(ptr, size, nitems, stream) {
// size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html
var bytesToRead = nitems * size;
if (bytesToRead == 0) return 0;
var bytesRead = _read(stream, ptr, bytesToRead);
var streamObj = FS.streams[stream];
if (bytesRead == -1) {
if (streamObj) streamObj.error = true;
return 0;
} else {
if (bytesRead < bytesToRead) streamObj.eof = true;
return Math.floor(bytesRead / size);
}
}
function _abort() {
ABORT = true;
throw 'abort() at ' + (new Error().stack);
}
function _sysconf(name) {
// long sysconf(int name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
switch(name) {
case 8: return PAGE_SIZE;
case 54:
case 56:
case 21:
case 61:
case 63:
case 22:
case 67:
case 23:
case 24:
case 25:
case 26:
case 27:
case 69:
case 28:
case 101:
case 70:
case 71:
case 29:
case 30:
case 199:
case 75:
case 76:
case 32:
case 43:
case 44:
case 80:
case 46:
case 47:
case 45:
case 48:
case 49:
case 42:
case 82:
case 33:
case 7:
case 108:
case 109:
case 107:
case 112:
case 119:
case 121:
return 200809;
case 13:
case 104:
case 94:
case 95:
case 34:
case 35:
case 77:
case 81:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 91:
case 94:
case 95:
case 110:
case 111:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 120:
case 40:
case 16:
case 79:
case 19:
return -1;
case 92:
case 93:
case 5:
case 72:
case 6:
case 74:
case 92:
case 93:
case 96:
case 97:
case 98:
case 99:
case 102:
case 103:
case 105:
return 1;
case 38:
case 66:
case 50:
case 51:
case 4:
return 1024;
case 15:
case 64:
case 41:
return 32;
case 55:
case 37:
case 17:
return 2147483647;
case 18:
case 1:
return 47839;
case 59:
case 57:
return 99;
case 68:
case 58:
return 2048;
case 0: return 2097152;
case 3: return 65536;
case 14: return 32768;
case 73: return 32767;
case 39: return 16384;
case 60: return 1000;
case 106: return 700;
case 52: return 256;
case 62: return 255;
case 2: return 100;
case 65: return 64;
case 36: return 20;
case 100: return 16;
case 20: return 6;
case 53: return 4;
}
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
function _time(ptr) {
var ret = Math.floor(Date.now()/1000);
if (ptr) {
HEAP32[((ptr)>>2)]=ret
}
return ret;
}
function ___errno_location() {
return ___setErrNo.ret;
}var ___errno;
function _sbrk(bytes) {
// Implement a Linux-like 'memory area' for our 'process'.
// Changes the size of the memory area by |bytes|; returns the
// address of the previous top ('break') of the memory area
// We need to make sure no one else allocates unfreeable memory!
// We must control this entirely. So we don't even need to do
// unfreeable allocations - the HEAP is ours, from STATICTOP up.
// TODO: We could in theory slice off the top of the HEAP when
// sbrk gets a negative increment in |bytes|...
var self = _sbrk;
if (!self.called) {
STATICTOP = alignMemoryPage(STATICTOP); // make sure we start out aligned
self.called = true;
_sbrk.DYNAMIC_START = STATICTOP;
}
var ret = STATICTOP;
if (bytes != 0) Runtime.staticAlloc(bytes);
return ret; // Previous break location.
}
function ___gxx_personality_v0() {
}
function ___cxa_allocate_exception(size) {
return _malloc(size);
}
function _llvm_eh_exception() {
return HEAP32[((_llvm_eh_exception.buf)>>2)];
}
function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
}
function ___cxa_is_number_type(type) {
var isNumber = false;
try { if (type == __ZTIi) isNumber = true } catch(e){}
try { if (type == __ZTIj) isNumber = true } catch(e){}
try { if (type == __ZTIl) isNumber = true } catch(e){}
try { if (type == __ZTIm) isNumber = true } catch(e){}
try { if (type == __ZTIx) isNumber = true } catch(e){}
try { if (type == __ZTIy) isNumber = true } catch(e){}
try { if (type == __ZTIf) isNumber = true } catch(e){}
try { if (type == __ZTId) isNumber = true } catch(e){}
try { if (type == __ZTIe) isNumber = true } catch(e){}
try { if (type == __ZTIc) isNumber = true } catch(e){}
try { if (type == __ZTIa) isNumber = true } catch(e){}
try { if (type == __ZTIh) isNumber = true } catch(e){}
try { if (type == __ZTIs) isNumber = true } catch(e){}
try { if (type == __ZTIt) isNumber = true } catch(e){}
return isNumber;
}function ___cxa_does_inherit(definiteType, possibilityType, possibility) {
if (possibility == 0) return false;
if (possibilityType == 0 || possibilityType == definiteType)
return true;
var possibility_type_info;
if (___cxa_is_number_type(possibilityType)) {
possibility_type_info = possibilityType;
} else {
var possibility_type_infoAddr = HEAP32[((possibilityType)>>2)] - 8;
possibility_type_info = HEAP32[((possibility_type_infoAddr)>>2)];
}
switch (possibility_type_info) {
case 0: // possibility is a pointer
// See if definite type is a pointer
var definite_type_infoAddr = HEAP32[((definiteType)>>2)] - 8;
var definite_type_info = HEAP32[((definite_type_infoAddr)>>2)];
if (definite_type_info == 0) {
// Also a pointer; compare base types of pointers
var defPointerBaseAddr = definiteType+8;
var defPointerBaseType = HEAP32[((defPointerBaseAddr)>>2)];
var possPointerBaseAddr = possibilityType+8;
var possPointerBaseType = HEAP32[((possPointerBaseAddr)>>2)];
return ___cxa_does_inherit(defPointerBaseType, possPointerBaseType, possibility);
} else
return false; // one pointer and one non-pointer
case 1: // class with no base class
return false;
case 2: // class with base class
var parentTypeAddr = possibilityType + 8;
var parentType = HEAP32[((parentTypeAddr)>>2)];
return ___cxa_does_inherit(definiteType, parentType, possibility);
default:
return false; // some unencountered type
}
}function ___cxa_find_matching_catch(thrown, throwntype, typeArray) {
// If throwntype is a pointer, this means a pointer has been
// thrown. When a pointer is thrown, actually what's thrown
// is a pointer to the pointer. We'll dereference it.
if (throwntype != 0 && !___cxa_is_number_type(throwntype)) {
var throwntypeInfoAddr= HEAP32[((throwntype)>>2)] - 8;
var throwntypeInfo= HEAP32[((throwntypeInfoAddr)>>2)];
if (throwntypeInfo == 0)
thrown = HEAP32[((thrown)>>2)];
}
// The different catch blocks are denoted by different types.
// Due to inheritance, those types may not precisely match the
// type of the thrown object. Find one which matches, and
// return the type of the catch block which should be called.
for (var i = 0; i < typeArray.length; i++) {
if (___cxa_does_inherit(typeArray[i], throwntype, thrown))
return (tempRet0 = typeArray[i],thrown);
}
// Shouldn't happen unless we have bogus data in typeArray
// or encounter a type for which emscripten doesn't have suitable
// typeinfo defined. Best-efforts match just in case.
return (tempRet0 = throwntype,thrown);
}function ___cxa_throw(ptr, type, destructor) {
if (!___cxa_throw.initialized) {
try {
HEAP32[((__ZTVN10__cxxabiv119__pointer_type_infoE)>>2)]=0; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv117__class_type_infoE)>>2)]=1; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv120__si_class_type_infoE)>>2)]=2; // Workaround for libcxxabi integration bug
} catch(e){}
___cxa_throw.initialized = true;
}
HEAP32[((_llvm_eh_exception.buf)>>2)]=ptr
HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]=type
HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)]=destructor
if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
__ZSt18uncaught_exceptionv.uncaught_exception = 1;
} else {
__ZSt18uncaught_exceptionv.uncaught_exception++;
}
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 ___cxa_call_unexpected(exception) {
ABORT = true;
throw exception;
}
function ___cxa_begin_catch(ptr) {
__ZSt18uncaught_exceptionv.uncaught_exception--;
return ptr;
}
function ___cxa_free_exception(ptr) {
return _free(ptr);
}function ___cxa_end_catch() {
if (___cxa_end_catch.rethrown) {
___cxa_end_catch.rethrown = false;
return;
}
// Clear state flag.
__THREW__ = 0;
// Clear type.
HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]=0
// Call destructor if one is registered then clear it.
var ptr = HEAP32[((_llvm_eh_exception.buf)>>2)];
var destructor = HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)];
if (destructor) {
Runtime.dynCall('vi', destructor, [ptr]);
HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)]=0
}
// Free ptr if it isn't null.
if (ptr) {
___cxa_free_exception(ptr);
HEAP32[((_llvm_eh_exception.buf)>>2)]=0
}
}
function __ZNSt9exceptionD2Ev(){}
function _llvm_bswap_i16(x) {
return ((x&0xff)<<8) | ((x>>8)&0xff);
}
var _llvm_memset_p0i8_i64;
function _exp2(x) {
return Math.pow(2, x);
}
var _floorf=Math.floor;
var Browser={mainLoop:{scheduler:null,shouldPause:false,paused:false,queue:[],pause:function () {
Browser.mainLoop.shouldPause = true;
},resume:function () {
if (Browser.mainLoop.paused) {
Browser.mainLoop.paused = false;
Browser.mainLoop.scheduler();
}
Browser.mainLoop.shouldPause = false;
},updateStatus:function () {
if (Module['setStatus']) {
var message = Module['statusMessage'] || 'Please wait...';
var remaining = Browser.mainLoop.remainingBlockers;
var expected = Browser.mainLoop.expectedBlockers;
if (remaining) {
if (remaining < expected) {
Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
} else {
Module['setStatus'](message);
}
} else {
Module['setStatus']('');
}
}
}},pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],ensureObjects:function () {
if (Browser.ensured) return;
Browser.ensured = true;
try {
new Blob();
Browser.hasBlobConstructor = true;
} catch(e) {
Browser.hasBlobConstructor = false;
console.log("warning: no blob constructor, cannot create blobs with mimetypes");
}
Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : console.log("warning: cannot create object URLs");
// Support for plugins that can process preloaded files. You can add more of these to
// your app by creating and appending to Module.preloadPlugins.
//
// Each plugin is asked if it can handle a file based on the file's name. If it can,
// it is given the file's raw data. When it is done, it calls a callback with the file's
// (possibly modified) data. For example, a plugin might decompress a file, or it
// might create some side data structure for use later (like an Image element, etc.).
function getMimetype(name) {
return {
'jpg': 'image/jpeg',
'png': 'image/png',
'bmp': 'image/bmp',
'ogg': 'audio/ogg',
'wav': 'audio/wav',
'mp3': 'audio/mpeg'
}[name.substr(-3)];
return ret;
}
if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
var imagePlugin = {};
imagePlugin['canHandle'] = function(name) {
return name.substr(-4) in { '.jpg': 1, '.png': 1, '.bmp': 1 };
};
imagePlugin['handle'] = function(byteArray, name, onload, onerror) {
var b = null;
if (Browser.hasBlobConstructor) {
try {
b = new Blob([byteArray], { type: getMimetype(name) });
} catch(e) {
Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
}
}
if (!b) {
var bb = new Browser.BlobBuilder();
bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
b = bb.getBlob();
}
var url = Browser.URLObject.createObjectURL(b);
var img = new Image();
img.onload = function() {
assert(img.complete, 'Image ' + name + ' could not be decoded');
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
Module["preloadedImages"][name] = canvas;
Browser.URLObject.revokeObjectURL(url);
if (onload) onload(byteArray);
};
img.onerror = function(event) {
console.log('Image ' + url + ' could not be decoded');
if (onerror) onerror();
};
img.src = url;
};
Module['preloadPlugins'].push(imagePlugin);
var audioPlugin = {};
audioPlugin['canHandle'] = function(name) {
return name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
};
audioPlugin['handle'] = function(byteArray, name, onload, onerror) {
var done = false;
function finish(audio) {
if (done) return;
done = true;
Module["preloadedAudios"][name] = audio;
if (onload) onload(byteArray);
}
function fail() {
if (done) return;
done = true;
Module["preloadedAudios"][name] = new Audio(); // empty shim
if (onerror) onerror();
}
if (Browser.hasBlobConstructor) {
try {
var b = new Blob([byteArray], { type: getMimetype(name) });
} catch(e) {
return fail();
}
var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
var audio = new Audio();
audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
audio.onerror = function(event) {
if (done) return;
console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
function encode64(data) {
var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var PAD = '=';
var ret = '';
var leftchar = 0;
var leftbits = 0;
for (var i = 0; i < data.length; i++) {
leftchar = (leftchar << 8) | data[i];
leftbits += 8;
while (leftbits >= 6) {
var curr = (leftchar >> (leftbits-6)) & 0x3f;
leftbits -= 6;
ret += BASE[curr];
}
}
if (leftbits == 2) {
ret += BASE[(leftchar&3) << 4];
ret += PAD + PAD;
} else if (leftbits == 4) {
ret += BASE[(leftchar&0xf) << 2];
ret += PAD;
}
return ret;
}
audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
finish(audio); // we don't wait for confirmation this worked - but it's worth trying
};
audio.src = url;
// workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
setTimeout(function() {
finish(audio); // try to use it even though it is not necessarily ready to play
}, 10000);
} else {
return fail();
}
};
Module['preloadPlugins'].push(audioPlugin);
},createContext:function (canvas, useWebGL, setInModule) {
try {
var ctx = canvas.getContext(useWebGL ? 'experimental-webgl' : '2d');
if (!ctx) throw ':(';
} catch (e) {
Module.print('Could not create canvas - ' + e);
return null;
}
if (useWebGL) {
// Set the background of the WebGL canvas to black
canvas.style.backgroundColor = "black";
// Warn on context loss
canvas.addEventListener('webglcontextlost', function(event) {
alert('WebGL context lost. You will need to reload the page.');
}, false);
}
if (setInModule) {
Module.ctx = ctx;
Module.useWebGL = useWebGL;
Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
}
return ctx;
},requestFullScreen:function () {
var canvas = Module['canvas'];
function fullScreenChange() {
var isFullScreen = false;
if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] ||
document['mozFullScreenElement'] || document['mozFullscreenElement'] ||
document['fullScreenElement'] || document['fullscreenElement']) === canvas) {
canvas.requestPointerLock = canvas['requestPointerLock'] ||
canvas['mozRequestPointerLock'] ||
canvas['webkitRequestPointerLock'];
canvas.requestPointerLock();
isFullScreen = true;
}
if (Module['onFullScreen']) Module['onFullScreen'](isFullScreen);
}
document.addEventListener('fullscreenchange', fullScreenChange, false);
document.addEventListener('mozfullscreenchange', fullScreenChange, false);
document.addEventListener('webkitfullscreenchange', fullScreenChange, false);
function pointerLockChange() {
Browser.pointerLock = document['pointerLockElement'] === canvas ||
document['mozPointerLockElement'] === canvas ||
document['webkitPointerLockElement'] === canvas;
}
document.addEventListener('pointerlockchange', pointerLockChange, false);
document.addEventListener('mozpointerlockchange', pointerLockChange, false);
document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
canvas.requestFullScreen = canvas['requestFullScreen'] ||
canvas['mozRequestFullScreen'] ||
(canvas['webkitRequestFullScreen'] ? function() { canvas['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
canvas.requestFullScreen();
},requestAnimationFrame:function (func) {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = window['requestAnimationFrame'] ||
window['mozRequestAnimationFrame'] ||
window['webkitRequestAnimationFrame'] ||
window['msRequestAnimationFrame'] ||
window['oRequestAnimationFrame'] ||
window['setTimeout'];
}
window.requestAnimationFrame(func);
},getMovementX:function (event) {
return event['movementX'] ||
event['mozMovementX'] ||
event['webkitMovementX'] ||
0;
},getMovementY:function (event) {
return event['movementY'] ||
event['mozMovementY'] ||
event['webkitMovementY'] ||
0;
},xhrLoad:function (url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
if (xhr.status == 200) {
onload(xhr.response);
} else {
onerror();
}
};
xhr.onerror = onerror;
xhr.send(null);
},asyncLoad:function (url, onload, onerror, noRunDep) {
Browser.xhrLoad(url, function(arrayBuffer) {
assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
onload(new Uint8Array(arrayBuffer));
if (!noRunDep) removeRunDependency('al ' + url);
}, function(event) {
if (onerror) {
onerror();
} else {
throw 'Loading data file "' + url + '" failed.';
}
});
if (!noRunDep) addRunDependency('al ' + url);
},resizeListeners:[],updateResizeListeners:function () {
var canvas = Module['canvas'];
Browser.resizeListeners.forEach(function(listener) {
listener(canvas.width, canvas.height);
});
},setCanvasSize:function (width, height, noUpdates) {
var canvas = Module['canvas'];
canvas.width = width;
canvas.height = height;
if (!noUpdates) Browser.updateResizeListeners();
}};
___setErrNo(0);
__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;
_llvm_eh_exception.buf = allocate(12, "void*", ALLOC_STATIC);
Module["requestFullScreen"] = function() { Browser.requestFullScreen() };
Module["requestAnimationFrame"] = function(func) { Browser.requestAnimationFrame(func) };
Module["pauseMainLoop"] = function() { Browser.mainLoop.pause() };
Module["resumeMainLoop"] = function() { Browser.mainLoop.resume() };
var FUNCTION_TABLE = [0,0,__ZNSt20bad_array_new_lengthD0Ev,0,_ABR_iteration_loop,0,_count_bit_noESC_from2,0,_count_bit_noESC_from3,0,__ZNSt9bad_allocC2Ev,0,__ZNSt9bad_allocD0Ev,0,_VBR_old_iteration_loop,0,_find_scalefac_x34,0,_floatcompare,0,_VBR_new_iteration_loop,0,_long_block_constrain,0,__ZNKSt9bad_alloc4whatEv,0,_CBR_iteration_loop,0,_count_bit_null,0,__ZNSt9bad_allocD2Ev,0,_count_bit_noESC,0,_short_block_constrain,0,_guess_scalefac_x34,0,_choose_table_nonMMX,0,__ZNSt20bad_array_new_lengthC2Ev,0,_decodeMP3_unclipped,0,__ZNKSt20bad_array_new_length4whatEv,0,_decodeMP3,0,_init_xrpow_core_c,0,_fht,0,_lame_report_def,0];
function _CRC_update($value, $crc) {
var $2 = $crc << 1;
var $8 = ((($2 ^ $value << 9) & 65536 | 0) == 0 ? $2 : $2 ^ 32773) << 1;
var $14 = ((($8 ^ $value << 10) & 65536 | 0) == 0 ? $8 : $8 ^ 32773) << 1;
var $20 = ((($14 ^ $value << 11) & 65536 | 0) == 0 ? $14 : $14 ^ 32773) << 1;
var $26 = ((($20 ^ $value << 12) & 65536 | 0) == 0 ? $20 : $20 ^ 32773) << 1;
var $32 = ((($26 ^ $value << 13) & 65536 | 0) == 0 ? $26 : $26 ^ 32773) << 1;
var $38 = ((($32 ^ $value << 14) & 65536 | 0) == 0 ? $32 : $32 ^ 32773) << 1;
var $44 = ((($38 ^ $value << 15) & 65536 | 0) == 0 ? $38 : $38 ^ 32773) << 1;
return (($44 ^ $value << 16) & 65536 | 0) == 0 ? $44 : $44 ^ 32773;
}
_CRC_update["X"] = 1;
function _calcFrameLength($cfg, $kbps, $pad) {
return ((((HEAP32[$cfg >> 2] * 72e3 & -1) + 72e3) * $kbps & -1 | 0) / (HEAP32[$cfg + 48 >> 2] | 0) & -1) + $pad << 3;
}
function _putbits_noheaders($gfc, $val) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 284 | 0;
var $2 = $gfc + 300 | 0;
var $3 = $gfc + 296 | 0;
var $4 = $1 | 0;
var $5 = $gfc + 296 | 0;
var $6 = $1 | 0;
var $7 = $gfc + 292 | 0;
var $_01 = 8;
label = 3;
break;
case 3:
var $_01;
var $9 = HEAP32[$2 >> 2];
var $10 = ($9 | 0) == 0;
if ($10) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
HEAP32[$2 >> 2] = 8;
var $12 = HEAP32[$3 >> 2];
var $13 = $12 + 1 | 0;
HEAP32[$3 >> 2] = $13;
var $14 = HEAP32[$4 >> 2];
var $15 = $14 + $13 | 0;
HEAP8[$15] = 0;
label = 5;
break;
case 5:
var $17 = HEAP32[$2 >> 2];
var $18 = ($_01 | 0) < ($17 | 0);
var $_0_ = $18 ? $_01 : $17;
var $19 = $_01 - $_0_ | 0;
var $20 = $17 - $_0_ | 0;
HEAP32[$2 >> 2] = $20;
var $21 = $val >> $19;
var $22 = $21 << $20;
var $23 = HEAP32[$5 >> 2];
var $24 = HEAP32[$6 >> 2];
var $25 = $24 + $23 | 0;
var $26 = HEAP8[$25];
var $27 = $26 & 255;
var $28 = $22 | $27;
var $29 = $28 & 255;
HEAP8[$25] = $29;
var $30 = HEAP32[$7 >> 2];
var $31 = $30 + $_0_ | 0;
HEAP32[$7 >> 2] = $31;
var $32 = ($19 | 0) > 0;
if ($32) {
var $_01 = $19;
label = 3;
break;
} else {
label = 6;
break;
}
case 6:
return;
}
}
function _getframebits($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 16 | 0;
var $2 = $gfc + 84740 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 0;
if ($4) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $1 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = 5348684 + ($7 << 6) + ($3 << 2) | 0;
var $bit_rate_0_in = $8;
label = 5;
break;
case 4:
var $10 = $gfc + 120 | 0;
var $bit_rate_0_in = $10;
label = 5;
break;
case 5:
var $bit_rate_0_in;
var $bit_rate_0 = HEAP32[$bit_rate_0_in >> 2];
var $12 = $gfc + 84748 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = _calcFrameLength($1, $bit_rate_0, $13);
return $14;
}
}
function _get_max_frame_buffer_size_by_constraint($cfg, $constraint) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cfg + 104 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 320;
if ($3) {
label = 3;
break;
} else {
label = 6;
break;
}
case 3:
var $5 = ($constraint | 0) == 1;
if ($5) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $7 = _calcFrameLength($cfg, $2, 0);
var $maxmp3buf_0 = $7;
label = 12;
break;
case 5:
var $9 = $cfg | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $10 * 7680 & -1;
var $12 = $11 + 7680 | 0;
var $maxmp3buf_0 = $12;
label = 12;
break;
case 6:
var $14 = $cfg + 48 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = ($15 | 0) < 16e3;
var $17 = $cfg | 0;
var $18 = HEAP32[$17 >> 2];
if ($16) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $20 = 5348716 + ($18 << 6) | 0;
var $max_kbps_0_in = $20;
label = 9;
break;
case 8:
var $22 = 5348740 + ($18 << 6) | 0;
var $max_kbps_0_in = $22;
label = 9;
break;
case 9:
var $max_kbps_0_in;
if (($constraint | 0) == 1) {
label = 10;
break;
} else if (($constraint | 0) == 2) {
label = 11;
break;
} else {
var $maxmp3buf_0 = 11520;
label = 12;
break;
}
case 10:
var $max_kbps_0 = HEAP32[$max_kbps_0_in >> 2];
var $25 = _calcFrameLength($cfg, $max_kbps_0, 0);
var $maxmp3buf_0 = $25;
label = 12;
break;
case 11:
var $27 = HEAP32[$17 >> 2];
var $28 = $27 * 7680 & -1;
var $29 = $28 + 7680 | 0;
var $maxmp3buf_0 = $29;
label = 12;
break;
case 12:
var $maxmp3buf_0;
return $maxmp3buf_0;
}
}
function _CRC_writeheader($gfc, $header) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $header + 2 | 0;
var $2 = HEAP8[$1];
var $3 = $2 & 255;
var $4 = _CRC_update($3, 65535);
var $5 = $header + 3 | 0;
var $6 = HEAP8[$5];
var $7 = $6 & 255;
var $8 = _CRC_update($7, $4);
var $9 = $gfc + 24 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) > 6;
if ($11) {
label = 3;
break;
} else {
var $crc_0_lcssa = $8;
label = 5;
break;
}
case 3:
var $12 = HEAP32[$9 >> 2];
var $crc_012 = $8;
var $i_013 = 6;
label = 4;
break;
case 4:
var $i_013;
var $crc_012;
var $14 = $header + $i_013 | 0;
var $15 = HEAP8[$14];
var $16 = $15 & 255;
var $17 = _CRC_update($16, $crc_012);
var $18 = $i_013 + 1 | 0;
var $19 = ($18 | 0) < ($12 | 0);
if ($19) {
var $crc_012 = $17;
var $i_013 = $18;
label = 4;
break;
} else {
var $crc_0_lcssa = $17;
label = 5;
break;
}
case 5:
var $crc_0_lcssa;
var $20 = $crc_0_lcssa >>> 8;
var $21 = $20 & 255;
var $22 = $header + 4 | 0;
HEAP8[$22] = $21;
var $23 = $crc_0_lcssa & 255;
var $24 = $header + 5 | 0;
HEAP8[$24] = $23;
return;
}
}
function _compute_flushbits($gfc, $total_bytes_output) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52128 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 52124 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $4 - 1 | 0;
var $6 = ($4 | 0) == 0;
var $_ = $6 ? 255 : $5;
var $7 = $gfc + 39836 + $_ * 48 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $gfc + 292 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $8 - $10 | 0;
HEAP32[$total_bytes_output >> 2] = $11;
var $12 = ($11 | 0) > -1;
if ($12) {
label = 3;
break;
} else {
var $flushbits_0 = $11;
label = 4;
break;
}
case 3:
var $14 = 1 - $2 | 0;
var $15 = $14 + $_ | 0;
var $16 = ($_ | 0) < ($2 | 0);
var $17 = $15 + 256 | 0;
var $remaining_headers_0 = $16 ? $17 : $15;
var $18 = $remaining_headers_0 << 3;
var $19 = $gfc + 24 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $18 * $20 & -1;
var $22 = $11 - $21 | 0;
var $flushbits_0 = $22;
label = 4;
break;
case 4:
var $flushbits_0;
var $24 = _getframebits($gfc);
var $25 = $24 + $flushbits_0 | 0;
var $26 = HEAP32[$total_bytes_output >> 2];
var $27 = $26 + $24 | 0;
var $28 = $27 & 7;
var $29 = ($27 | 0) / 8 & -1;
var $not_ = ($28 | 0) != 0;
var $30 = $not_ & 1;
var $storemerge = $30 + $29 | 0;
HEAP32[$total_bytes_output >> 2] = $storemerge;
var $31 = $gfc + 296 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $32 + 1 | 0;
var $34 = $33 + $storemerge | 0;
HEAP32[$total_bytes_output >> 2] = $34;
var $35 = ($25 | 0) < 0;
if ($35) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
_lame_errorf($gfc, 5387468, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 6;
break;
case 6:
STACKTOP = __stackBase__;
return $25;
}
}
function _flush_bitstream($gfc) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $nbytes = __stackBase__;
var $1 = _compute_flushbits($gfc, $nbytes);
var $2 = ($1 | 0) < 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
_drain_into_ancillary($gfc, $1);
var $4 = $gfc + 52136 | 0;
HEAP32[$4 >> 2] = 0;
var $5 = $gfc + 21312 | 0;
HEAP32[$5 >> 2] = 0;
label = 4;
break;
case 4:
STACKTOP = __stackBase__;
return;
}
}
function _drain_into_ancillary($gfc, $remainingBits) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($remainingBits | 0) > 7;
if ($1) {
label = 6;
break;
} else {
var $_5_ph = $remainingBits;
label = 4;
break;
}
case 3:
var $2 = $22 - 32 | 0;
var $_5_ph = $2;
label = 4;
break;
case 4:
var $_5_ph;
var $3 = ($_5_ph | 0) > 0;
if ($3) {
label = 5;
break;
} else {
label = 13;
break;
}
case 5:
var $4 = $gfc + 52132 | 0;
var $5 = $gfc + 144 | 0;
var $_530 = $_5_ph;
label = 12;
break;
case 6:
_putbits2($gfc, 76, 8);
var $7 = $remainingBits - 8 | 0;
var $8 = ($7 | 0) > 7;
if ($8) {
label = 7;
break;
} else {
var $_5_ph = $7;
label = 4;
break;
}
case 7:
_putbits2($gfc, 65, 8);
var $10 = $remainingBits - 16 | 0;
var $11 = ($10 | 0) > 7;
if ($11) {
label = 8;
break;
} else {
var $_5_ph = $10;
label = 4;
break;
}
case 8:
_putbits2($gfc, 77, 8);
var $12 = $remainingBits - 24 | 0;
var $13 = ($12 | 0) > 7;
if ($13) {
label = 9;
break;
} else {
var $_5_ph = $12;
label = 4;
break;
}
case 9:
_putbits2($gfc, 69, 8);
var $15 = $remainingBits - 32 | 0;
var $16 = ($15 | 0) > 31;
if ($16) {
label = 10;
break;
} else {
var $_5_ph = $15;
label = 4;
break;
}
case 10:
var $17 = $remainingBits - 40 | 0;
var $18 = $17 >>> 3;
var $19 = $18 ^ -1;
var $20 = $19 >>> 0 > 4294967290;
var $umax = $20 ? $19 : -6;
var $21 = $umax << 3;
var $22 = $21 + $remainingBits | 0;
var $23 = -$umax | 0;
var $i_031 = 0;
label = 11;
break;
case 11:
var $i_031;
var $25 = $i_031 + 5384648 | 0;
var $26 = HEAP8[$25];
var $27 = $26 << 24 >> 24;
_putbits2($gfc, $27, 8);
var $28 = $i_031 + 1 | 0;
var $exitcond = ($28 | 0) == ($23 | 0);
if ($exitcond) {
label = 3;
break;
} else {
var $i_031 = $28;
label = 11;
break;
}
case 12:
var $_530;
var $29 = HEAP32[$4 >> 2];
_putbits2($gfc, $29, 1);
var $30 = HEAP32[$5 >> 2];
var $31 = ($30 | 0) == 0;
var $32 = $31 & 1;
var $33 = HEAP32[$4 >> 2];
var $34 = $32 ^ $33;
HEAP32[$4 >> 2] = $34;
var $35 = $_530 - 1 | 0;
var $36 = ($35 | 0) > 0;
if ($36) {
var $_530 = $35;
label = 12;
break;
} else {
label = 13;
break;
}
case 13:
return;
}
}
_drain_into_ancillary["X"] = 1;
function _add_dummy_byte($gfc, $val, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($n | 0) == 0;
if ($1) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $val & 255;
var $_in = $n;
label = 5;
break;
case 4:
var $3 = $_in - 1 | 0;
var $4 = ($3 | 0) == 0;
if ($4) {
label = 7;
break;
} else {
var $_in = $3;
label = 5;
break;
}
case 5:
var $_in;
_putbits_noheaders($gfc, $2);
var $i_06 = 0;
label = 6;
break;
case 6:
var $i_06;
var $7 = $gfc + 39836 + $i_06 * 48 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $8 + 8 | 0;
HEAP32[$7 >> 2] = $9;
var $10 = $i_06 + 1 | 0;
var $exitcond = ($10 | 0) == 256;
if ($exitcond) {
label = 4;
break;
} else {
var $i_06 = $10;
label = 6;
break;
}
case 7:
return;
}
}
function _format_bitstream($gfc) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $nbytes = __stackBase__;
var $1 = _getframebits($gfc);
var $2 = $gfc + 21320 | 0;
var $3 = HEAP32[$2 >> 2];
_drain_into_ancillary($gfc, $3);
_encodeSideInfo2($gfc, $1);
var $4 = $gfc + 24 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 << 3;
var $7 = _writeMainData($gfc);
var $8 = $6 + $7 | 0;
var $9 = $gfc + 21324 | 0;
var $10 = HEAP32[$9 >> 2];
_drain_into_ancillary($gfc, $10);
var $11 = HEAP32[$9 >> 2];
var $12 = $8 + $11 | 0;
var $13 = $1 - $12 | 0;
var $14 = ($13 | 0) / 8 & -1;
var $15 = $gfc + 21312 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $16 + $14 | 0;
HEAP32[$15 >> 2] = $17;
var $18 = _compute_flushbits($gfc, $nbytes);
var $19 = $gfc + 52136 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = ($18 | 0) == ($20 | 0);
if ($21) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
_lame_errorf($gfc, 5387412, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 4;
break;
case 4:
var $24 = HEAP32[$15 >> 2];
var $25 = $24 << 3;
var $26 = HEAP32[$19 >> 2];
var $27 = ($25 | 0) == ($26 | 0);
if ($27) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $29 = HEAP32[$9 >> 2];
var $30 = HEAP32[$2 >> 2];
var $31 = HEAP32[$4 >> 2];
var $32 = $31 << 3;
var $33 = $12 - $29 | 0;
var $34 = $33 - $32 | 0;
var $35 = ($12 | 0) % 8;
_lame_errorf($gfc, 5385708, (tempInt = STACKTOP, STACKTOP = STACKTOP + 36 | 0, HEAP32[tempInt >> 2] = $25, HEAP32[tempInt + 4 >> 2] = $26, HEAP32[tempInt + 8 >> 2] = $29, HEAP32[tempInt + 12 >> 2] = $30, HEAP32[tempInt + 16 >> 2] = $32, HEAP32[tempInt + 20 >> 2] = $34, HEAP32[tempInt + 24 >> 2] = $12, HEAP32[tempInt + 28 >> 2] = $35, HEAP32[tempInt + 32 >> 2] = $1, tempInt));
_lame_errorf($gfc, 5385296, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_errorf($gfc, 5384952, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_errorf($gfc, 5384476, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_errorf($gfc, 5384064, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $36 = HEAP32[$15 >> 2];
var $37 = $36 << 3;
HEAP32[$19 >> 2] = $37;
label = 6;
break;
case 6:
var $39 = $gfc + 292 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = ($40 | 0) > 1e9;
if ($41) {
label = 7;
break;
} else {
label = 10;
break;
}
case 7:
var $42 = HEAP32[$39 >> 2];
var $i_042 = 0;
label = 8;
break;
case 8:
var $i_042;
var $44 = $gfc + 39836 + $i_042 * 48 | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = $45 - $42 | 0;
HEAP32[$44 >> 2] = $46;
var $47 = $i_042 + 1 | 0;
var $exitcond = ($47 | 0) == 256;
if ($exitcond) {
label = 9;
break;
} else {
var $i_042 = $47;
label = 8;
break;
}
case 9:
HEAP32[$39 >> 2] = 0;
label = 10;
break;
case 10:
STACKTOP = __stackBase__;
return 0;
}
}
_format_bitstream["X"] = 1;
function _encodeSideInfo2($gfc, $bitsPerFrame) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52124 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 39836 + $2 * 48 + 4 | 0;
HEAP32[$3 >> 2] = 0;
var $4 = HEAP32[$1 >> 2];
var $5 = $gfc + 39836 + $4 * 48 + 8 | 0;
var $6 = $gfc + 24 | 0;
var $7 = HEAP32[$6 >> 2];
_memset($5, 0, $7);
var $8 = $gfc + 64 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($9 | 0) < 16e3;
if ($10) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_writeheader($gfc, 4094, 12);
label = 5;
break;
case 4:
_writeheader($gfc, 4095, 12);
label = 5;
break;
case 5:
var $14 = $gfc + 16 | 0;
var $15 = HEAP32[$14 >> 2];
_writeheader($gfc, $15, 1);
_writeheader($gfc, 1, 2);
var $16 = $gfc + 160 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) == 0;
var $19 = $18 & 1;
_writeheader($gfc, $19, 1);
var $20 = $gfc + 84740 | 0;
var $21 = HEAP32[$20 >> 2];
_writeheader($gfc, $21, 4);
var $22 = $gfc + 20 | 0;
var $23 = HEAP32[$22 >> 2];
_writeheader($gfc, $23, 2);
var $24 = $gfc + 84748 | 0;
var $25 = HEAP32[$24 >> 2];
_writeheader($gfc, $25, 1);
var $26 = $gfc + 172 | 0;
var $27 = HEAP32[$26 >> 2];
_writeheader($gfc, $27, 1);
var $28 = $gfc + 180 | 0;
var $29 = HEAP32[$28 >> 2];
_writeheader($gfc, $29, 2);
var $30 = $gfc + 84752 | 0;
var $31 = HEAP32[$30 >> 2];
_writeheader($gfc, $31, 2);
var $32 = $gfc + 164 | 0;
var $33 = HEAP32[$32 >> 2];
_writeheader($gfc, $33, 1);
var $34 = $gfc + 168 | 0;
var $35 = HEAP32[$34 >> 2];
_writeheader($gfc, $35, 1);
var $36 = $gfc + 176 | 0;
var $37 = HEAP32[$36 >> 2];
_writeheader($gfc, $37, 2);
var $38 = HEAP32[$16 >> 2];
var $39 = ($38 | 0) == 0;
if ($39) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
_writeheader($gfc, 0, 16);
label = 7;
break;
case 7:
var $42 = HEAP32[$14 >> 2];
var $43 = ($42 | 0) == 1;
var $44 = $gfc + 21312 | 0;
var $45 = HEAP32[$44 >> 2];
if ($43) {
label = 8;
break;
} else {
label = 30;
break;
}
case 8:
_writeheader($gfc, $45, 9);
var $47 = $gfc + 72 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = ($48 | 0) == 2;
var $50 = $gfc + 21316 | 0;
var $51 = HEAP32[$50 >> 2];
if ($49) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
_writeheader($gfc, $51, 3);
label = 11;
break;
case 10:
_writeheader($gfc, $51, 5);
label = 11;
break;
case 11:
var $54 = HEAP32[$47 >> 2];
var $55 = ($54 | 0) > 0;
if ($55) {
var $ch_0181 = 0;
label = 12;
break;
} else {
var $gr_0176 = 0;
var $67 = $54;
label = 14;
break;
}
case 12:
var $ch_0181;
var $56 = $gfc + 21328 + ($ch_0181 << 4) | 0;
var $57 = HEAP32[$56 >> 2];
_writeheader($gfc, $57, 1);
var $58 = $gfc + 21328 + ($ch_0181 << 4) + 4 | 0;
var $59 = HEAP32[$58 >> 2];
_writeheader($gfc, $59, 1);
var $60 = $gfc + 21328 + ($ch_0181 << 4) + 8 | 0;
var $61 = HEAP32[$60 >> 2];
_writeheader($gfc, $61, 1);
var $62 = $gfc + 21328 + ($ch_0181 << 4) + 12 | 0;
var $63 = HEAP32[$62 >> 2];
_writeheader($gfc, $63, 1);
var $64 = $ch_0181 + 1 | 0;
var $65 = HEAP32[$47 >> 2];
var $66 = ($64 | 0) < ($65 | 0);
if ($66) {
var $ch_0181 = $64;
label = 12;
break;
} else {
var $gr_0176 = 0;
var $67 = $65;
label = 14;
break;
}
case 13:
var $_pr = HEAP32[$47 >> 2];
var $gr_0176 = $139;
var $67 = $_pr;
label = 14;
break;
case 14:
var $67;
var $gr_0176;
var $68 = ($67 | 0) > 0;
if ($68) {
var $ch_1173 = 0;
label = 15;
break;
} else {
label = 29;
break;
}
case 15:
var $ch_1173;
var $69 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4768 | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4844 | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = $72 + $70 | 0;
_writeheader($gfc, $73, 12);
var $74 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4772 | 0;
var $75 = HEAP32[$74 >> 2];
var $76 = ($75 | 0) / 2 & -1;
_writeheader($gfc, $76, 9);
var $77 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4780 | 0;
var $78 = HEAP32[$77 >> 2];
_writeheader($gfc, $78, 8);
var $79 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4784 | 0;
var $80 = HEAP32[$79 >> 2];
_writeheader($gfc, $80, 4);
var $81 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4788 | 0;
var $82 = HEAP32[$81 >> 2];
var $83 = ($82 | 0) == 0;
if ($83) {
label = 21;
break;
} else {
label = 16;
break;
}
case 16:
_writeheader($gfc, 1, 1);
var $85 = HEAP32[$81 >> 2];
_writeheader($gfc, $85, 2);
var $86 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4792 | 0;
var $87 = HEAP32[$86 >> 2];
_writeheader($gfc, $87, 1);
var $88 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4796 | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = ($89 | 0) == 14;
if ($90) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
HEAP32[$88 >> 2] = 16;
label = 18;
break;
case 18:
var $93 = HEAP32[$88 >> 2];
_writeheader($gfc, $93, 5);
var $94 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4800 | 0;
var $95 = HEAP32[$94 >> 2];
var $96 = ($95 | 0) == 14;
if ($96) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
HEAP32[$94 >> 2] = 16;
label = 20;
break;
case 20:
var $99 = HEAP32[$94 >> 2];
_writeheader($gfc, $99, 5);
var $100 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4808 | 0;
var $101 = HEAP32[$100 >> 2];
_writeheader($gfc, $101, 3);
var $102 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4812 | 0;
var $103 = HEAP32[$102 >> 2];
_writeheader($gfc, $103, 3);
var $104 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4816 | 0;
var $105 = HEAP32[$104 >> 2];
_writeheader($gfc, $105, 3);
label = 28;
break;
case 21:
_writeheader($gfc, 0, 1);
var $107 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4796 | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = ($108 | 0) == 14;
if ($109) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
HEAP32[$107 >> 2] = 16;
label = 23;
break;
case 23:
var $112 = HEAP32[$107 >> 2];
_writeheader($gfc, $112, 5);
var $113 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4800 | 0;
var $114 = HEAP32[$113 >> 2];
var $115 = ($114 | 0) == 14;
if ($115) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
HEAP32[$113 >> 2] = 16;
label = 25;
break;
case 25:
var $118 = HEAP32[$113 >> 2];
_writeheader($gfc, $118, 5);
var $119 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4804 | 0;
var $120 = HEAP32[$119 >> 2];
var $121 = ($120 | 0) == 14;
if ($121) {
label = 26;
break;
} else {
label = 27;
break;
}
case 26:
HEAP32[$119 >> 2] = 16;
label = 27;
break;
case 27:
var $124 = HEAP32[$119 >> 2];
_writeheader($gfc, $124, 5);
var $125 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4824 | 0;
var $126 = HEAP32[$125 >> 2];
_writeheader($gfc, $126, 4);
var $127 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4828 | 0;
var $128 = HEAP32[$127 >> 2];
_writeheader($gfc, $128, 3);
label = 28;
break;
case 28:
var $130 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4832 | 0;
var $131 = HEAP32[$130 >> 2];
_writeheader($gfc, $131, 1);
var $132 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4836 | 0;
var $133 = HEAP32[$132 >> 2];
_writeheader($gfc, $133, 1);
var $134 = $gfc + 304 + $gr_0176 * 10504 + $ch_1173 * 5252 + 4840 | 0;
var $135 = HEAP32[$134 >> 2];
_writeheader($gfc, $135, 1);
var $136 = $ch_1173 + 1 | 0;
var $137 = HEAP32[$47 >> 2];
var $138 = ($136 | 0) < ($137 | 0);
if ($138) {
var $ch_1173 = $136;
label = 15;
break;
} else {
label = 29;
break;
}
case 29:
var $139 = $gr_0176 + 1 | 0;
var $exitcond = ($139 | 0) == 2;
if ($exitcond) {
label = 45;
break;
} else {
label = 13;
break;
}
case 30:
_writeheader($gfc, $45, 8);
var $141 = $gfc + 21316 | 0;
var $142 = HEAP32[$141 >> 2];
var $143 = $gfc + 72 | 0;
var $144 = HEAP32[$143 >> 2];
_writeheader($gfc, $142, $144);
var $145 = HEAP32[$143 >> 2];
var $146 = ($145 | 0) > 0;
if ($146) {
var $ch_2183 = 0;
label = 31;
break;
} else {
label = 45;
break;
}
case 31:
var $ch_2183;
var $147 = $gfc + 304 + $ch_2183 * 5252 + 4768 | 0;
var $148 = HEAP32[$147 >> 2];
var $149 = $gfc + 304 + $ch_2183 * 5252 + 4844 | 0;
var $150 = HEAP32[$149 >> 2];
var $151 = $150 + $148 | 0;
_writeheader($gfc, $151, 12);
var $152 = $gfc + 304 + $ch_2183 * 5252 + 4772 | 0;
var $153 = HEAP32[$152 >> 2];
var $154 = ($153 | 0) / 2 & -1;
_writeheader($gfc, $154, 9);
var $155 = $gfc + 304 + $ch_2183 * 5252 + 4780 | 0;
var $156 = HEAP32[$155 >> 2];
_writeheader($gfc, $156, 8);
var $157 = $gfc + 304 + $ch_2183 * 5252 + 4784 | 0;
var $158 = HEAP32[$157 >> 2];
_writeheader($gfc, $158, 9);
var $159 = $gfc + 304 + $ch_2183 * 5252 + 4788 | 0;
var $160 = HEAP32[$159 >> 2];
var $161 = ($160 | 0) == 0;
if ($161) {
label = 37;
break;
} else {
label = 32;
break;
}
case 32:
_writeheader($gfc, 1, 1);
var $163 = HEAP32[$159 >> 2];
_writeheader($gfc, $163, 2);
var $164 = $gfc + 304 + $ch_2183 * 5252 + 4792 | 0;
var $165 = HEAP32[$164 >> 2];
_writeheader($gfc, $165, 1);
var $166 = $gfc + 304 + $ch_2183 * 5252 + 4796 | 0;
var $167 = HEAP32[$166 >> 2];
var $168 = ($167 | 0) == 14;
if ($168) {
label = 33;
break;
} else {
label = 34;
break;
}
case 33:
HEAP32[$166 >> 2] = 16;
label = 34;
break;
case 34:
var $171 = HEAP32[$166 >> 2];
_writeheader($gfc, $171, 5);
var $172 = $gfc + 304 + $ch_2183 * 5252 + 4800 | 0;
var $173 = HEAP32[$172 >> 2];
var $174 = ($173 | 0) == 14;
if ($174) {
label = 35;
break;
} else {
label = 36;
break;
}
case 35:
HEAP32[$172 >> 2] = 16;
label = 36;
break;
case 36:
var $177 = HEAP32[$172 >> 2];
_writeheader($gfc, $177, 5);
var $178 = $gfc + 304 + $ch_2183 * 5252 + 4808 | 0;
var $179 = HEAP32[$178 >> 2];
_writeheader($gfc, $179, 3);
var $180 = $gfc + 304 + $ch_2183 * 5252 + 4812 | 0;
var $181 = HEAP32[$180 >> 2];
_writeheader($gfc, $181, 3);
var $182 = $gfc + 304 + $ch_2183 * 5252 + 4816 | 0;
var $183 = HEAP32[$182 >> 2];
_writeheader($gfc, $183, 3);
label = 44;
break;
case 37:
_writeheader($gfc, 0, 1);
var $185 = $gfc + 304 + $ch_2183 * 5252 + 4796 | 0;
var $186 = HEAP32[$185 >> 2];
var $187 = ($186 | 0) == 14;
if ($187) {
label = 38;
break;
} else {
label = 39;
break;
}
case 38:
HEAP32[$185 >> 2] = 16;
label = 39;
break;
case 39:
var $190 = HEAP32[$185 >> 2];
_writeheader($gfc, $190, 5);
var $191 = $gfc + 304 + $ch_2183 * 5252 + 4800 | 0;
var $192 = HEAP32[$191 >> 2];
var $193 = ($192 | 0) == 14;
if ($193) {
label = 40;
break;
} else {
label = 41;
break;
}
case 40:
HEAP32[$191 >> 2] = 16;
label = 41;
break;
case 41:
var $196 = HEAP32[$191 >> 2];
_writeheader($gfc, $196, 5);
var $197 = $gfc + 304 + $ch_2183 * 5252 + 4804 | 0;
var $198 = HEAP32[$197 >> 2];
var $199 = ($198 | 0) == 14;
if ($199) {
label = 42;
break;
} else {
label = 43;
break;
}
case 42:
HEAP32[$197 >> 2] = 16;
label = 43;
break;
case 43:
var $202 = HEAP32[$197 >> 2];
_writeheader($gfc, $202, 5);
var $203 = $gfc + 304 + $ch_2183 * 5252 + 4824 | 0;
var $204 = HEAP32[$203 >> 2];
_writeheader($gfc, $204, 4);
var $205 = $gfc + 304 + $ch_2183 * 5252 + 4828 | 0;
var $206 = HEAP32[$205 >> 2];
_writeheader($gfc, $206, 3);
label = 44;
break;
case 44:
var $208 = $gfc + 304 + $ch_2183 * 5252 + 4836 | 0;
var $209 = HEAP32[$208 >> 2];
_writeheader($gfc, $209, 1);
var $210 = $gfc + 304 + $ch_2183 * 5252 + 4840 | 0;
var $211 = HEAP32[$210 >> 2];
_writeheader($gfc, $211, 1);
var $212 = $ch_2183 + 1 | 0;
var $213 = HEAP32[$143 >> 2];
var $214 = ($212 | 0) < ($213 | 0);
if ($214) {
var $ch_2183 = $212;
label = 31;
break;
} else {
label = 45;
break;
}
case 45:
var $215 = HEAP32[$16 >> 2];
var $216 = ($215 | 0) == 0;
if ($216) {
label = 47;
break;
} else {
label = 46;
break;
}
case 46:
var $218 = HEAP32[$1 >> 2];
var $219 = $gfc + 39836 + $218 * 48 + 8 | 0;
_CRC_writeheader($gfc, $219);
label = 47;
break;
case 47:
var $221 = HEAP32[$1 >> 2];
var $222 = $221 + 1 | 0;
var $223 = $222 & 255;
HEAP32[$1 >> 2] = $223;
var $224 = $gfc + 39836 + $221 * 48 | 0;
var $225 = HEAP32[$224 >> 2];
var $226 = $225 + $bitsPerFrame | 0;
var $227 = $gfc + 39836 + $223 * 48 | 0;
HEAP32[$227 >> 2] = $226;
var $228 = HEAP32[$1 >> 2];
var $229 = $gfc + 52128 | 0;
var $230 = HEAP32[$229 >> 2];
var $231 = ($228 | 0) == ($230 | 0);
if ($231) {
label = 48;
break;
} else {
label = 49;
break;
}
case 48:
_lame_errorf($gfc, 5383632, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 49;
break;
case 49:
STACKTOP = __stackBase__;
return;
}
}
_encodeSideInfo2["X"] = 1;
function _writeheader($gfc, $val, $j) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52124 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 39836 + $2 * 48 + 4 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($j | 0) > 0;
if ($5) {
var $ptr_019 = $4;
var $_020 = $j;
label = 3;
break;
} else {
var $ptr_0_lcssa = $4;
label = 4;
break;
}
case 3:
var $_020;
var $ptr_019;
var $6 = $ptr_019 & 7;
var $7 = 8 - $6 | 0;
var $8 = ($_020 | 0) < ($7 | 0);
var $_0_ = $8 ? $_020 : $7;
var $9 = $_020 - $_0_ | 0;
var $10 = $val >> $9;
var $11 = $7 - $_0_ | 0;
var $12 = $10 << $11;
var $13 = $ptr_019 >> 3;
var $14 = HEAP32[$1 >> 2];
var $15 = $gfc + 39836 + $14 * 48 + 8 + $13 | 0;
var $16 = HEAP8[$15];
var $17 = $16 & 255;
var $18 = $17 | $12;
var $19 = $18 & 255;
HEAP8[$15] = $19;
var $20 = $_0_ + $ptr_019 | 0;
var $21 = ($9 | 0) > 0;
if ($21) {
var $ptr_019 = $20;
var $_020 = $9;
label = 3;
break;
} else {
var $ptr_0_lcssa = $20;
label = 4;
break;
}
case 4:
var $ptr_0_lcssa;
var $22 = HEAP32[$1 >> 2];
var $23 = $gfc + 39836 + $22 * 48 + 4 | 0;
HEAP32[$23 >> 2] = $ptr_0_lcssa;
return;
}
}
function _writeMainData($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 1;
var $4 = $gfc + 72 | 0;
if ($3) {
var $tot_bits_0113 = 0;
var $gr_0114 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) > 0;
if ($6) {
var $tot_bits_2142 = 0;
var $ch_1143 = 0;
label = 18;
break;
} else {
var $tot_bits_3 = 0;
label = 30;
break;
}
case 4:
var $gr_0114;
var $tot_bits_0113;
var $7 = HEAP32[$4 >> 2];
var $8 = ($7 | 0) > 0;
if ($8) {
var $tot_bits_1104 = $tot_bits_0113;
var $ch_0105 = 0;
label = 5;
break;
} else {
var $tot_bits_1_lcssa = $tot_bits_0113;
label = 17;
break;
}
case 5:
var $ch_0105;
var $tot_bits_1104;
var $9 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 | 0;
var $10 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4784 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = 5254620 + ($11 << 2) | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = 5254492 + ($11 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4868 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) > 0;
if ($18) {
var $data_bits_097 = 0;
var $sfb_098 = 0;
label = 6;
break;
} else {
var $data_bits_0_lcssa = 0;
var $sfb_0_lcssa = 0;
label = 9;
break;
}
case 6:
var $sfb_098;
var $data_bits_097;
var $19 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4608 + ($sfb_098 << 2) | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = ($20 | 0) == -1;
if ($21) {
var $data_bits_1 = $data_bits_097;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
_putbits2($gfc, $20, $13);
var $23 = $data_bits_097 + $13 | 0;
var $data_bits_1 = $23;
label = 8;
break;
case 8:
var $data_bits_1;
var $25 = $sfb_098 + 1 | 0;
var $26 = HEAP32[$16 >> 2];
var $27 = ($25 | 0) < ($26 | 0);
if ($27) {
var $data_bits_097 = $data_bits_1;
var $sfb_098 = $25;
label = 6;
break;
} else {
var $data_bits_0_lcssa = $data_bits_1;
var $sfb_0_lcssa = $25;
label = 9;
break;
}
case 9:
var $sfb_0_lcssa;
var $data_bits_0_lcssa;
var $28 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4860 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = ($sfb_0_lcssa | 0) < ($29 | 0);
if ($30) {
var $data_bits_2100 = $data_bits_0_lcssa;
var $sfb_1101 = $sfb_0_lcssa;
label = 10;
break;
} else {
var $data_bits_2_lcssa = $data_bits_0_lcssa;
label = 13;
break;
}
case 10:
var $sfb_1101;
var $data_bits_2100;
var $31 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4608 + ($sfb_1101 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($32 | 0) == -1;
if ($33) {
var $data_bits_3 = $data_bits_2100;
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
_putbits2($gfc, $32, $15);
var $35 = $data_bits_2100 + $15 | 0;
var $data_bits_3 = $35;
label = 12;
break;
case 12:
var $data_bits_3;
var $37 = $sfb_1101 + 1 | 0;
var $38 = HEAP32[$28 >> 2];
var $39 = ($37 | 0) < ($38 | 0);
if ($39) {
var $data_bits_2100 = $data_bits_3;
var $sfb_1101 = $37;
label = 10;
break;
} else {
var $data_bits_2_lcssa = $data_bits_3;
label = 13;
break;
}
case 13:
var $data_bits_2_lcssa;
var $40 = $gfc + 304 + $gr_0114 * 10504 + $ch_0105 * 5252 + 4788 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = ($41 | 0) == 2;
if ($42) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $44 = _ShortHuffmancodebits($gfc, $9);
var $_pn = $44;
label = 16;
break;
case 15:
var $46 = _LongHuffmancodebits($gfc, $9);
var $_pn = $46;
label = 16;
break;
case 16:
var $_pn;
var $48 = _huffman_coder_count1($gfc, $9);
var $data_bits_4 = $data_bits_2_lcssa + $tot_bits_1104 | 0;
var $49 = $data_bits_4 + $_pn | 0;
var $50 = $49 + $48 | 0;
var $51 = $ch_0105 + 1 | 0;
var $52 = HEAP32[$4 >> 2];
var $53 = ($51 | 0) < ($52 | 0);
if ($53) {
var $tot_bits_1104 = $50;
var $ch_0105 = $51;
label = 5;
break;
} else {
var $tot_bits_1_lcssa = $50;
label = 17;
break;
}
case 17:
var $tot_bits_1_lcssa;
var $54 = $gr_0114 + 1 | 0;
var $exitcond = ($54 | 0) == 2;
if ($exitcond) {
var $tot_bits_3 = $tot_bits_1_lcssa;
label = 30;
break;
} else {
var $tot_bits_0113 = $tot_bits_1_lcssa;
var $gr_0114 = $54;
label = 4;
break;
}
case 18:
var $ch_1143;
var $tot_bits_2142;
var $55 = $gfc + 304 + $ch_1143 * 5252 | 0;
var $56 = $gfc + 304 + $ch_1143 * 5252 + 4788 | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = ($57 | 0) == 2;
var $59 = $gfc + 304 + $ch_1143 * 5252 + 5188 | 0;
if ($58) {
var $sfb_partition_0137 = 0;
var $scale_bits_0138 = 0;
var $sfb_2139 = 0;
label = 19;
break;
} else {
label = 25;
break;
}
case 19:
var $sfb_2139;
var $scale_bits_0138;
var $sfb_partition_0137;
var $60 = HEAP32[$59 >> 2];
var $61 = $60 + ($sfb_partition_0137 << 2) | 0;
var $62 = HEAP32[$61 >> 2];
var $63 = ($62 | 0) / 3 & -1;
var $64 = $gfc + 304 + $ch_1143 * 5252 + 5192 + ($sfb_partition_0137 << 2) | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = ($62 | 0) > 2;
if ($66) {
label = 20;
break;
} else {
var $scale_bits_1_lcssa = $scale_bits_0138;
var $sfb_3_lcssa = $sfb_2139;
label = 23;
break;
}
case 20:
var $67 = $65 * 3 & -1;
var $68 = ($63 | 0) > 1;
var $smax = $68 ? $63 : 1;
var $69 = $67 * $smax & -1;
var $i_0128 = 0;
var $sfb_3130 = $sfb_2139;
label = 21;
break;
case 21:
var $sfb_3130;
var $i_0128;
var $71 = $sfb_3130 * 3 & -1;
var $72 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($71 << 2) | 0;
var $73 = HEAP32[$72 >> 2];
var $74 = ($73 | 0) > 0;
var $_ = $74 ? $73 : 0;
_putbits2($gfc, $_, $65);
var $75 = $71 + 1 | 0;
var $76 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($75 << 2) | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($77 | 0) > 0;
var $79 = $78 ? $77 : 0;
_putbits2($gfc, $79, $65);
var $80 = $71 + 2 | 0;
var $81 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($80 << 2) | 0;
var $82 = HEAP32[$81 >> 2];
var $83 = ($82 | 0) > 0;
var $_95 = $83 ? $82 : 0;
_putbits2($gfc, $_95, $65);
var $84 = $i_0128 + 1 | 0;
var $85 = $sfb_3130 + 1 | 0;
var $86 = ($84 | 0) < ($63 | 0);
if ($86) {
var $i_0128 = $84;
var $sfb_3130 = $85;
label = 21;
break;
} else {
label = 22;
break;
}
case 22:
var $87 = $sfb_2139 + $smax | 0;
var $88 = $scale_bits_0138 + $69 | 0;
var $scale_bits_1_lcssa = $88;
var $sfb_3_lcssa = $87;
label = 23;
break;
case 23:
var $sfb_3_lcssa;
var $scale_bits_1_lcssa;
var $90 = $sfb_partition_0137 + 1 | 0;
var $exitcond154 = ($90 | 0) == 4;
if ($exitcond154) {
label = 24;
break;
} else {
var $sfb_partition_0137 = $90;
var $scale_bits_0138 = $scale_bits_1_lcssa;
var $sfb_2139 = $sfb_3_lcssa;
label = 19;
break;
}
case 24:
var $92 = _ShortHuffmancodebits($gfc, $55);
var $data_bits_5 = $92;
var $scale_bits_4 = $scale_bits_1_lcssa;
label = 29;
break;
case 25:
var $94 = HEAP32[$59 >> 2];
var $95 = HEAP32[$94 >> 2];
var $96 = $gfc + 304 + $ch_1143 * 5252 + 5192 | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = ($95 | 0) > 0;
if ($98) {
label = 26;
break;
} else {
var $scale_bits_3_lcssa = 0;
var $sfb_5_lcssa = 0;
label = 28;
break;
}
case 26:
var $99 = $97 * $95 & -1;
var $i_1116 = 0;
var $sfb_5118 = 0;
label = 27;
break;
case 27:
var $sfb_5118;
var $i_1116;
var $101 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($sfb_5118 << 2) | 0;
var $102 = HEAP32[$101 >> 2];
var $103 = ($102 | 0) > 0;
var $_96 = $103 ? $102 : 0;
_putbits2($gfc, $_96, $97);
var $104 = $i_1116 + 1 | 0;
var $105 = $sfb_5118 + 1 | 0;
var $exitcond150 = ($104 | 0) == ($95 | 0);
if ($exitcond150) {
var $scale_bits_3_lcssa = $99;
var $sfb_5_lcssa = $95;
label = 28;
break;
} else {
var $i_1116 = $104;
var $sfb_5118 = $105;
label = 27;
break;
}
case 28:
var $sfb_5_lcssa;
var $scale_bits_3_lcssa;
var $106 = HEAP32[$59 >> 2];
var $107 = $106 + 4 | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = $gfc + 304 + $ch_1143 * 5252 + 5196 | 0;
var $110 = HEAP32[$109 >> 2];
var $111 = ($108 | 0) > 0;
if ($111) {
label = 31;
break;
} else {
var $scale_bits_3_lcssa_1 = $scale_bits_3_lcssa;
var $sfb_5_lcssa_1 = $sfb_5_lcssa;
label = 34;
break;
}
case 29:
var $scale_bits_4;
var $data_bits_5;
var $113 = _huffman_coder_count1($gfc, $55);
var $114 = $scale_bits_4 + $tot_bits_2142 | 0;
var $115 = $114 + $data_bits_5 | 0;
var $116 = $115 + $113 | 0;
var $117 = $ch_1143 + 1 | 0;
var $118 = HEAP32[$4 >> 2];
var $119 = ($117 | 0) < ($118 | 0);
if ($119) {
var $tot_bits_2142 = $116;
var $ch_1143 = $117;
label = 18;
break;
} else {
var $tot_bits_3 = $116;
label = 30;
break;
}
case 30:
var $tot_bits_3;
return $tot_bits_3;
case 31:
var $120 = $110 * $108 & -1;
var $i_1116_1 = 0;
var $sfb_5118_1 = $sfb_5_lcssa;
label = 32;
break;
case 32:
var $sfb_5118_1;
var $i_1116_1;
var $122 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($sfb_5118_1 << 2) | 0;
var $123 = HEAP32[$122 >> 2];
var $124 = ($123 | 0) > 0;
var $_96_1 = $124 ? $123 : 0;
_putbits2($gfc, $_96_1, $110);
var $125 = $i_1116_1 + 1 | 0;
var $126 = $sfb_5118_1 + 1 | 0;
var $exitcond150_1 = ($125 | 0) == ($108 | 0);
if ($exitcond150_1) {
label = 33;
break;
} else {
var $i_1116_1 = $125;
var $sfb_5118_1 = $126;
label = 32;
break;
}
case 33:
var $127 = $sfb_5_lcssa + $108 | 0;
var $128 = $scale_bits_3_lcssa + $120 | 0;
var $scale_bits_3_lcssa_1 = $128;
var $sfb_5_lcssa_1 = $127;
label = 34;
break;
case 34:
var $sfb_5_lcssa_1;
var $scale_bits_3_lcssa_1;
var $130 = HEAP32[$59 >> 2];
var $131 = $130 + 8 | 0;
var $132 = HEAP32[$131 >> 2];
var $133 = $gfc + 304 + $ch_1143 * 5252 + 5200 | 0;
var $134 = HEAP32[$133 >> 2];
var $135 = ($132 | 0) > 0;
if ($135) {
label = 35;
break;
} else {
var $scale_bits_3_lcssa_2 = $scale_bits_3_lcssa_1;
var $sfb_5_lcssa_2 = $sfb_5_lcssa_1;
label = 38;
break;
}
case 35:
var $136 = $134 * $132 & -1;
var $i_1116_2 = 0;
var $sfb_5118_2 = $sfb_5_lcssa_1;
label = 36;
break;
case 36:
var $sfb_5118_2;
var $i_1116_2;
var $138 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($sfb_5118_2 << 2) | 0;
var $139 = HEAP32[$138 >> 2];
var $140 = ($139 | 0) > 0;
var $_96_2 = $140 ? $139 : 0;
_putbits2($gfc, $_96_2, $134);
var $141 = $i_1116_2 + 1 | 0;
var $142 = $sfb_5118_2 + 1 | 0;
var $exitcond150_2 = ($141 | 0) == ($132 | 0);
if ($exitcond150_2) {
label = 37;
break;
} else {
var $i_1116_2 = $141;
var $sfb_5118_2 = $142;
label = 36;
break;
}
case 37:
var $143 = $sfb_5_lcssa_1 + $132 | 0;
var $144 = $scale_bits_3_lcssa_1 + $136 | 0;
var $scale_bits_3_lcssa_2 = $144;
var $sfb_5_lcssa_2 = $143;
label = 38;
break;
case 38:
var $sfb_5_lcssa_2;
var $scale_bits_3_lcssa_2;
var $146 = HEAP32[$59 >> 2];
var $147 = $146 + 12 | 0;
var $148 = HEAP32[$147 >> 2];
var $149 = $gfc + 304 + $ch_1143 * 5252 + 5204 | 0;
var $150 = HEAP32[$149 >> 2];
var $151 = ($148 | 0) > 0;
if ($151) {
label = 39;
break;
} else {
var $scale_bits_3_lcssa_3 = $scale_bits_3_lcssa_2;
label = 42;
break;
}
case 39:
var $152 = $150 * $148 & -1;
var $i_1116_3 = 0;
var $sfb_5118_3 = $sfb_5_lcssa_2;
label = 40;
break;
case 40:
var $sfb_5118_3;
var $i_1116_3;
var $154 = $gfc + 304 + $ch_1143 * 5252 + 4608 + ($sfb_5118_3 << 2) | 0;
var $155 = HEAP32[$154 >> 2];
var $156 = ($155 | 0) > 0;
var $_96_3 = $156 ? $155 : 0;
_putbits2($gfc, $_96_3, $150);
var $157 = $i_1116_3 + 1 | 0;
var $158 = $sfb_5118_3 + 1 | 0;
var $exitcond150_3 = ($157 | 0) == ($148 | 0);
if ($exitcond150_3) {
label = 41;
break;
} else {
var $i_1116_3 = $157;
var $sfb_5118_3 = $158;
label = 40;
break;
}
case 41:
var $159 = $scale_bits_3_lcssa_2 + $152 | 0;
var $scale_bits_3_lcssa_3 = $159;
label = 42;
break;
case 42:
var $scale_bits_3_lcssa_3;
var $161 = _LongHuffmancodebits($gfc, $55);
var $data_bits_5 = $161;
var $scale_bits_4 = $scale_bits_3_lcssa_3;
label = 29;
break;
}
}
_writeMainData["X"] = 1;
function _copy_buffer($gfc, $buffer, $size, $mp3data) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _do_copy_buffer($gfc, $buffer, $size);
var $2 = ($1 | 0) < 1;
var $3 = ($mp3data | 0) == 0;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = $1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfc + 85748 | 0;
_UpdateMusicCRC($5, $buffer, $1);
var $6 = $gfc + 85784 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 + $1 | 0;
HEAP32[$6 >> 2] = $8;
var $9 = _do_gain_analysis($gfc, $buffer, $1);
var $_0 = $9;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _do_copy_buffer($gfc, $buffer, $size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 296 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 1 | 0;
var $4 = ($2 | 0) < 0;
if ($4) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = ($size | 0) != 0;
var $7 = ($3 | 0) > ($size | 0);
var $or_cond = $6 & $7;
if ($or_cond) {
var $_0 = -1;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $gfc + 284 | 0;
var $10 = HEAP32[$9 >> 2];
_memcpy($buffer, $10, $3);
HEAP32[$1 >> 2] = -1;
var $11 = $gfc + 300 | 0;
HEAP32[$11 >> 2] = 0;
var $_0 = $3;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _do_gain_analysis($gfc, $buffer, $minimum) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 9216 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $pcm_buf = __stackBase__;
var $1 = $gfc + 136 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
var $_0 = $minimum;
label = 21;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfc + 85672 | 0;
var $5 = $gfc + 85804 | 0;
var $6 = $pcm_buf | 0;
var $7 = $pcm_buf + 4608 | 0;
var $8 = $gfc + 132 | 0;
var $9 = $gfc + 128 | 0;
var $10 = $gfc + 72 | 0;
var $11 = $gfc + 72 | 0;
var $12 = $gfc + 85680 | 0;
var $13 = $gfc + 85680 | 0;
var $mp3_in_039 = $minimum;
label = 4;
break;
case 4:
var $mp3_in_039;
var $15 = HEAP32[$5 >> 2];
var $16 = _hip_decode1_unclipped($15, $buffer, $mp3_in_039, $6, $7);
var $17 = ($16 | 0) == -1;
var $_ = $17 ? 0 : $16;
var $18 = ($_ | 0) > 0;
if ($18) {
label = 5;
break;
} else {
label = 20;
break;
}
case 5:
var $20 = HEAP32[$8 >> 2];
var $21 = ($20 | 0) == 0;
if ($21) {
label = 18;
break;
} else {
label = 6;
break;
}
case 6:
var $22 = ($_ | 0) > 0;
if ($22) {
var $i_033 = 0;
label = 7;
break;
} else {
label = 12;
break;
}
case 7:
var $i_033;
var $23 = $pcm_buf + ($i_033 << 2) | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = HEAPF32[$13 >> 2];
var $26 = $24 > $25;
if ($26) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
HEAPF32[$13 >> 2] = $24;
label = 11;
break;
case 9:
var $29 = -$24;
var $30 = $25 < $29;
if ($30) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
HEAPF32[$13 >> 2] = $29;
label = 11;
break;
case 11:
var $33 = $i_033 + 1 | 0;
var $exitcond = ($33 | 0) == ($_ | 0);
if ($exitcond) {
label = 12;
break;
} else {
var $i_033 = $33;
label = 7;
break;
}
case 12:
var $34 = HEAP32[$11 >> 2];
var $35 = ($34 | 0) > 1;
var $36 = ($_ | 0) > 0;
var $or_cond = $35 & $36;
if ($or_cond) {
var $i_135 = 0;
label = 13;
break;
} else {
label = 18;
break;
}
case 13:
var $i_135;
var $37 = $pcm_buf + 4608 + ($i_135 << 2) | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = HEAPF32[$12 >> 2];
var $40 = $38 > $39;
if ($40) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
HEAPF32[$12 >> 2] = $38;
label = 17;
break;
case 15:
var $43 = -$38;
var $44 = $39 < $43;
if ($44) {
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
HEAPF32[$12 >> 2] = $43;
label = 17;
break;
case 17:
var $47 = $i_135 + 1 | 0;
var $exitcond40 = ($47 | 0) == ($_ | 0);
if ($exitcond40) {
label = 18;
break;
} else {
var $i_135 = $47;
label = 13;
break;
}
case 18:
var $48 = HEAP32[$9 >> 2];
var $49 = ($48 | 0) == 0;
if ($49) {
label = 20;
break;
} else {
label = 19;
break;
}
case 19:
var $51 = HEAP32[$4 >> 2];
var $52 = HEAP32[$10 >> 2];
var $53 = _AnalyzeSamples($51, $6, $7, $_, $52);
var $54 = ($53 | 0) == 0;
if ($54) {
var $_0 = -6;
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
var $55 = ($_ | 0) == 0;
if ($55) {
var $_0 = $minimum;
label = 21;
break;
} else {
var $mp3_in_039 = 0;
label = 4;
break;
}
case 21:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_do_gain_analysis["X"] = 1;
function _init_bit_stream_w($gfc) {
HEAP32[$gfc + 52128 >> 2] = 0;
HEAP32[$gfc + 52124 >> 2] = 0;
HEAP32[$gfc + 39836 >> 2] = 0;
HEAP32[$gfc + 284 >> 2] = _malloc(147456);
HEAP32[$gfc + 288 >> 2] = 147456;
HEAP32[$gfc + 296 >> 2] = -1;
HEAP32[$gfc + 300 >> 2] = 0;
HEAP32[$gfc + 292 >> 2] = 0;
return;
}
function _putbits2($gfc, $val, $j) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 284 | 0;
var $2 = ($j | 0) > 0;
if ($2) {
label = 3;
break;
} else {
label = 9;
break;
}
case 3:
var $3 = $gfc + 300 | 0;
var $4 = $gfc + 296 | 0;
var $5 = $gfc + 52128 | 0;
var $6 = $gfc + 292 | 0;
var $7 = $1 | 0;
var $8 = $gfc + 296 | 0;
var $9 = $1 | 0;
var $10 = $gfc + 292 | 0;
var $_024 = $j;
label = 4;
break;
case 4:
var $_024;
var $12 = HEAP32[$3 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
label = 5;
break;
} else {
label = 8;
break;
}
case 5:
HEAP32[$3 >> 2] = 8;
var $15 = HEAP32[$4 >> 2];
var $16 = $15 + 1 | 0;
HEAP32[$4 >> 2] = $16;
var $17 = HEAP32[$5 >> 2];
var $18 = $gfc + 39836 + $17 * 48 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = HEAP32[$6 >> 2];
var $21 = ($19 | 0) == ($20 | 0);
if ($21) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
_putheader_bits($gfc);
label = 7;
break;
case 7:
var $24 = HEAP32[$4 >> 2];
var $25 = HEAP32[$7 >> 2];
var $26 = $25 + $24 | 0;
HEAP8[$26] = 0;
label = 8;
break;
case 8:
var $28 = HEAP32[$3 >> 2];
var $29 = ($_024 | 0) < ($28 | 0);
var $_0_ = $29 ? $_024 : $28;
var $30 = $_024 - $_0_ | 0;
var $31 = $28 - $_0_ | 0;
HEAP32[$3 >> 2] = $31;
var $32 = $val >> $30;
var $33 = $32 << $31;
var $34 = HEAP32[$8 >> 2];
var $35 = HEAP32[$9 >> 2];
var $36 = $35 + $34 | 0;
var $37 = HEAP8[$36];
var $38 = $37 & 255;
var $39 = $33 | $38;
var $40 = $39 & 255;
HEAP8[$36] = $40;
var $41 = HEAP32[$10 >> 2];
var $42 = $41 + $_0_ | 0;
HEAP32[$10 >> 2] = $42;
var $43 = ($30 | 0) > 0;
if ($43) {
var $_024 = $30;
label = 4;
break;
} else {
label = 9;
break;
}
case 9:
return;
}
}
_putbits2["X"] = 1;
function _ShortHuffmancodebits($gfc, $gi) {
var $3 = HEAP32[$gfc + 21464 >> 2] * 3 & -1;
var $4 = $gi + 4772 | 0;
var $5 = HEAP32[$4 >> 2];
var $_ = ($3 | 0) > ($5 | 0) ? $5 : $3;
var $9 = _Huffmancode($gfc, HEAP32[$gi + 4796 >> 2], 0, $_, $gi);
return _Huffmancode($gfc, HEAP32[$gi + 4800 >> 2], $_, HEAP32[$4 >> 2], $gi) + $9 | 0;
}
function _LongHuffmancodebits($gfc, $gi) {
var $2 = HEAP32[$gi + 4772 >> 2];
var $4 = HEAP32[$gi + 4824 >> 2];
var $7 = HEAP32[$gfc + 21360 + ($4 + 1 << 2) >> 2];
var $13 = HEAP32[$gfc + 21360 + ($4 + 2 + HEAP32[$gi + 4828 >> 2] << 2) >> 2];
var $_ = ($7 | 0) > ($2 | 0) ? $2 : $7;
var $region2Start_0 = ($13 | 0) > ($2 | 0) ? $2 : $13;
var $18 = _Huffmancode($gfc, HEAP32[$gi + 4796 >> 2], 0, $_, $gi);
var $22 = _Huffmancode($gfc, HEAP32[$gi + 4800 >> 2], $_, $region2Start_0, $gi) + $18 | 0;
return $22 + _Huffmancode($gfc, HEAP32[$gi + 4804 >> 2], $region2Start_0, $2, $gi) | 0;
}
function _huffman_coder_count1($gfc, $gi) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gi + 4840 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 32 | 0;
var $4 = $gi + 4772 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $gi + 4776 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 - $5 | 0;
var $9 = ($8 | 0) > 3;
if ($9) {
label = 3;
break;
} else {
var $bits_0_lcssa = 0;
label = 17;
break;
}
case 3:
var $10 = ($8 | 0) / 4 & -1;
var $11 = $gi + ($5 << 2) | 0;
var $12 = $gi + 2304 + ($5 << 2) | 0;
var $13 = 5327264 + ($3 << 4) | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = 5327268 + ($3 << 4) | 0;
var $16 = HEAP32[$15 >> 2];
var $i_036 = $10;
var $bits_037 = 0;
var $ix_038 = $12;
var $xr_039 = $11;
label = 4;
break;
case 4:
var $xr_039;
var $ix_038;
var $bits_037;
var $i_036;
var $18 = HEAP32[$ix_038 >> 2];
var $19 = ($18 | 0) == 0;
if ($19) {
var $p_0 = 0;
var $huffbits_0 = 0;
label = 7;
break;
} else {
label = 5;
break;
}
case 5:
var $21 = HEAPF32[$xr_039 >> 2];
var $22 = $21 < 0;
if ($22) {
label = 6;
break;
} else {
var $p_0 = 8;
var $huffbits_0 = 0;
label = 7;
break;
}
case 6:
var $p_0 = 8;
var $huffbits_0 = 1;
label = 7;
break;
case 7:
var $huffbits_0;
var $p_0;
var $25 = $ix_038 + 4 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) == 0;
if ($27) {
var $p_1 = $p_0;
var $huffbits_1 = $huffbits_0;
label = 10;
break;
} else {
label = 8;
break;
}
case 8:
var $29 = $p_0 | 4;
var $30 = $huffbits_0 << 1;
var $31 = $xr_039 + 4 | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = $32 < 0;
if ($33) {
label = 9;
break;
} else {
var $p_1 = $29;
var $huffbits_1 = $30;
label = 10;
break;
}
case 9:
var $35 = $30 | 1;
var $p_1 = $29;
var $huffbits_1 = $35;
label = 10;
break;
case 10:
var $huffbits_1;
var $p_1;
var $37 = $ix_038 + 8 | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = ($38 | 0) == 0;
if ($39) {
var $p_2 = $p_1;
var $huffbits_2 = $huffbits_1;
label = 13;
break;
} else {
label = 11;
break;
}
case 11:
var $41 = $p_1 + 2 | 0;
var $42 = $huffbits_1 << 1;
var $43 = $xr_039 + 8 | 0;
var $44 = HEAPF32[$43 >> 2];
var $45 = $44 < 0;
if ($45) {
label = 12;
break;
} else {
var $p_2 = $41;
var $huffbits_2 = $42;
label = 13;
break;
}
case 12:
var $47 = $42 | 1;
var $p_2 = $41;
var $huffbits_2 = $47;
label = 13;
break;
case 13:
var $huffbits_2;
var $p_2;
var $49 = $ix_038 + 12 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = ($50 | 0) == 0;
if ($51) {
var $p_3 = $p_2;
var $huffbits_3 = $huffbits_2;
label = 16;
break;
} else {
label = 14;
break;
}
case 14:
var $53 = $p_2 + 1 | 0;
var $54 = $huffbits_2 << 1;
var $55 = $xr_039 + 12 | 0;
var $56 = HEAPF32[$55 >> 2];
var $57 = $56 < 0;
if ($57) {
label = 15;
break;
} else {
var $p_3 = $53;
var $huffbits_3 = $54;
label = 16;
break;
}
case 15:
var $59 = $54 | 1;
var $p_3 = $53;
var $huffbits_3 = $59;
label = 16;
break;
case 16:
var $huffbits_3;
var $p_3;
var $61 = $ix_038 + 16 | 0;
var $62 = $xr_039 + 16 | 0;
var $63 = $14 + ($p_3 << 1) | 0;
var $64 = HEAP16[$63 >> 1];
var $65 = $64 & 65535;
var $66 = $65 + $huffbits_3 | 0;
var $67 = $16 + $p_3 | 0;
var $68 = HEAP8[$67];
var $69 = $68 & 255;
_putbits2($gfc, $66, $69);
var $70 = $16 + $p_3 | 0;
var $71 = HEAP8[$70];
var $72 = $71 & 255;
var $73 = $72 + $bits_037 | 0;
var $74 = $i_036 - 1 | 0;
var $75 = ($74 | 0) > 0;
if ($75) {
var $i_036 = $74;
var $bits_037 = $73;
var $ix_038 = $61;
var $xr_039 = $62;
label = 4;
break;
} else {
var $bits_0_lcssa = $73;
label = 17;
break;
}
case 17:
var $bits_0_lcssa;
return $bits_0_lcssa;
}
}
_huffman_coder_count1["X"] = 1;
function _Huffmancode($gfc, $tableindex, $start, $end, $gi) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = 5327256 + ($tableindex << 4) | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($tableindex | 0) != 0;
var $4 = ($start | 0) < ($end | 0);
var $or_cond = $3 & $4;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = 0;
label = 14;
break;
}
case 3:
var $5 = HEAP32[$1 >> 2];
var $6 = $tableindex >>> 0 > 15;
var $7 = $2 & 65535;
var $8 = 5327268 + ($tableindex << 4) | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = 5327264 + ($tableindex << 4) | 0;
var $11 = HEAP32[$10 >> 2];
var $bits_055 = 0;
var $i_056 = $start;
label = 4;
break;
case 4:
var $i_056;
var $bits_055;
var $13 = $gi + 2304 + ($i_056 << 2) | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $i_056 + 1 | 0;
var $16 = $gi + 2304 + ($15 << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($14 | 0) == 0;
if ($18) {
var $ext_1 = 0;
var $cbits_0 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $20 = $gi + ($i_056 << 2) | 0;
var $21 = HEAPF32[$20 >> 2];
var $22 = $21 < 0;
var $ext_0 = $22 & 1;
var $ext_1 = $ext_0;
var $cbits_0 = -1;
label = 6;
break;
case 6:
var $cbits_0;
var $ext_1;
if ($6) {
label = 7;
break;
} else {
var $x1_1 = $14;
var $ext_4 = $ext_1;
var $xlen_0 = $5;
var $xbits_2 = 0;
label = 11;
break;
}
case 7:
var $25 = $14 >>> 0 > 14;
if ($25) {
label = 8;
break;
} else {
var $x1_0 = $14;
var $ext_2 = $ext_1;
var $xbits_0 = 0;
label = 9;
break;
}
case 8:
var $27 = $14 << 1;
var $28 = $27 + 131042 | 0;
var $29 = $28 & 131070;
var $30 = $ext_1 | $29;
var $x1_0 = 15;
var $ext_2 = $30;
var $xbits_0 = $7;
label = 9;
break;
case 9:
var $xbits_0;
var $ext_2;
var $x1_0;
var $32 = $17 >>> 0 > 14;
if ($32) {
label = 10;
break;
} else {
var $x1_1 = $x1_0;
var $ext_4 = $ext_2;
var $xlen_0 = 16;
var $xbits_2 = $xbits_0;
label = 11;
break;
}
case 10:
var $33 = $17 + 65521 | 0;
var $34 = $ext_2 << $2;
var $35 = $33 & 65535;
var $36 = $34 | $35;
var $37 = $xbits_0 & 65535;
var $38 = $37 + $2 | 0;
var $39 = $38 & 65535;
var $xbits_246 = $39;
var $xlen_048 = 16;
var $ext_450 = $36;
var $x1_151 = $x1_0;
var $x2_153 = 15;
label = 12;
break;
case 11:
var $xbits_2;
var $xlen_0;
var $ext_4;
var $x1_1;
var $41 = ($17 | 0) == 0;
if ($41) {
var $ext_6 = $ext_4;
var $cbits_1 = $cbits_0;
var $xbits_247 = $xbits_2;
var $xlen_049 = $xlen_0;
var $x1_152 = $x1_1;
var $x2_154 = 0;
label = 13;
break;
} else {
var $xbits_246 = $xbits_2;
var $xlen_048 = $xlen_0;
var $ext_450 = $ext_4;
var $x1_151 = $x1_1;
var $x2_153 = $17;
label = 12;
break;
}
case 12:
var $x2_153;
var $x1_151;
var $ext_450;
var $xlen_048;
var $xbits_246;
var $43 = $ext_450 << 1;
var $44 = $gi + ($15 << 2) | 0;
var $45 = HEAPF32[$44 >> 2];
var $46 = $45 < 0;
var $47 = $46 & 1;
var $ext_5 = $47 | $43;
var $48 = $cbits_0 - 1 & 65535;
var $ext_6 = $ext_5;
var $cbits_1 = $48;
var $xbits_247 = $xbits_246;
var $xlen_049 = $xlen_048;
var $x1_152 = $x1_151;
var $x2_154 = $x2_153;
label = 13;
break;
case 13:
var $x2_154;
var $x1_152;
var $xlen_049;
var $xbits_247;
var $cbits_1;
var $ext_6;
var $50 = $xlen_049 * $x1_152 & -1;
var $51 = $50 + $x2_154 | 0;
var $52 = $xbits_247 - $cbits_1 & 65535;
var $53 = $9 + $51 | 0;
var $54 = HEAP8[$53];
var $55 = $54 & 255;
var $56 = $55 + $cbits_1 & 65535;
var $57 = $11 + ($51 << 1) | 0;
var $58 = HEAP16[$57 >> 1];
var $59 = $58 & 65535;
var $60 = $56 << 16 >> 16;
_putbits2($gfc, $59, $60);
var $61 = $52 & 65535;
_putbits2($gfc, $ext_6, $61);
var $62 = $61 + $bits_055 | 0;
var $63 = $62 + $60 | 0;
var $64 = $i_056 + 2 | 0;
var $65 = ($64 | 0) < ($end | 0);
if ($65) {
var $bits_055 = $63;
var $i_056 = $64;
label = 4;
break;
} else {
var $_0 = $63;
label = 14;
break;
}
case 14:
var $_0;
return $_0;
}
}
_Huffmancode["X"] = 1;
function _putheader_bits($gfc) {
var $1 = $gfc + 296 | 0;
var $6 = $gfc + 52128 | 0;
var $9 = $gfc + 24 | 0;
_memcpy(HEAP32[$gfc + 284 >> 2] + HEAP32[$1 >> 2] | 0, $gfc + 39836 + HEAP32[$6 >> 2] * 48 + 8 | 0, HEAP32[$9 >> 2]);
HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + HEAP32[$9 >> 2] | 0;
var $16 = $gfc + 292 | 0;
HEAP32[$16 >> 2] = HEAP32[$16 >> 2] + (HEAP32[$9 >> 2] << 3) | 0;
HEAP32[$6 >> 2] = HEAP32[$6 >> 2] + 1 & 255;
return;
}
function _adjust_ATH($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85792 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $7 = $2 + 8 | 0;
HEAPF32[$7 >> 2] = 1;
label = 22;
break;
case 4:
var $9 = $gfc + 27804 | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $gfc + 27812 | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $gfc + 72 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = ($14 | 0) == 2;
if ($15) {
label = 5;
break;
} else {
var $_pn43 = $12;
var $_pn = $10;
label = 6;
break;
}
case 5:
var $17 = $gfc + 27808 | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = $gfc + 27816 | 0;
var $20 = HEAPF32[$19 >> 2];
var $_pn43 = $20;
var $_pn = $18;
label = 6;
break;
case 6:
var $_pn;
var $_pn43;
var $gr2_max_0 = $12 + $_pn43;
var $max_pow_0 = $10 + $_pn;
var $22 = $gfc + 76 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = ($23 | 0) == 2;
if ($24) {
label = 7;
break;
} else {
var $max_pow_1 = $max_pow_0;
label = 8;
break;
}
case 7:
var $26 = $max_pow_0 > $gr2_max_0;
var $27 = $26 ? $max_pow_0 : $gr2_max_0;
var $max_pow_1 = $27;
label = 8;
break;
case 8:
var $max_pow_1;
var $29 = $max_pow_1 * .5;
var $30 = HEAP32[$1 >> 2];
var $31 = $30 + 4 | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = $29 * $32;
var $34 = $33 > .03125;
if ($34) {
label = 9;
break;
} else {
label = 14;
break;
}
case 9:
var $36 = $30 + 8 | 0;
var $37 = HEAPF32[$36 >> 2];
var $38 = $37 < 1;
if ($38) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
HEAPF32[$36 >> 2] = 1;
label = 13;
break;
case 11:
var $41 = $30 + 12 | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $37 < $42;
if ($43) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
HEAPF32[$36 >> 2] = $42;
label = 13;
break;
case 13:
var $46 = HEAP32[$1 >> 2];
var $47 = $46 + 12 | 0;
HEAPF32[$47 >> 2] = 1;
label = 22;
break;
case 14:
var $49 = $33;
var $50 = $49 * 31.98;
var $51 = $50 + 625e-6;
var $52 = $51;
var $53 = $30 + 8 | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $54 < $52;
if ($55) {
label = 17;
break;
} else {
label = 15;
break;
}
case 15:
var $57 = $52;
var $58 = $57 * .075;
var $59 = $58 + .925;
var $60 = $54;
var $61 = $59 * $60;
var $62 = $61;
HEAPF32[$53 >> 2] = $62;
var $63 = HEAP32[$1 >> 2];
var $64 = $63 + 8 | 0;
var $65 = HEAPF32[$64 >> 2];
var $66 = $65 < $52;
if ($66) {
label = 16;
break;
} else {
label = 21;
break;
}
case 16:
HEAPF32[$64 >> 2] = $52;
label = 21;
break;
case 17:
var $69 = $30 + 12 | 0;
var $70 = HEAPF32[$69 >> 2];
var $71 = $70 < $52;
if ($71) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
HEAPF32[$53 >> 2] = $52;
label = 21;
break;
case 19:
var $74 = $54 < $70;
if ($74) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
HEAPF32[$53 >> 2] = $70;
label = 21;
break;
case 21:
var $77 = HEAP32[$1 >> 2];
var $78 = $77 + 12 | 0;
HEAPF32[$78 >> 2] = $52;
label = 22;
break;
case 22:
return;
}
}
_adjust_ATH["X"] = 1;
function _updateStats($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 84740 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 84036 + $2 * 20 + 16 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $4 + 1 | 0;
HEAP32[$3 >> 2] = $5;
var $6 = $gfc + 84352 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 + 1 | 0;
HEAP32[$6 >> 2] = $8;
var $9 = $gfc + 72 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 2;
if ($11) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $13 = $gfc + 84752 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = HEAP32[$1 >> 2];
var $16 = $gfc + 84036 + $15 * 20 + ($14 << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $17 + 1 | 0;
HEAP32[$16 >> 2] = $18;
var $19 = HEAP32[$13 >> 2];
var $20 = $gfc + 84336 + ($19 << 2) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $21 + 1 | 0;
HEAP32[$20 >> 2] = $22;
label = 4;
break;
case 4:
var $23 = $gfc + 76 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = ($24 | 0) > 0;
if ($25) {
label = 5;
break;
} else {
label = 9;
break;
}
case 5:
var $26 = $gfc + 84736 | 0;
var $gr_028 = 0;
label = 6;
break;
case 6:
var $gr_028;
var $27 = HEAP32[$9 >> 2];
var $28 = ($27 | 0) > 0;
if ($28) {
var $ch_026 = 0;
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $ch_026;
var $29 = $gfc + 304 + $gr_028 * 10504 + $ch_026 * 5252 + 4788 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $gfc + 304 + $gr_028 * 10504 + $ch_026 * 5252 + 4792 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($32 | 0) == 0;
var $_ = $33 ? $30 : 4;
var $34 = HEAP32[$1 >> 2];
var $35 = $gfc + 84356 + $34 * 24 + ($_ << 2) | 0;
var $36 = HEAP32[$35 >> 2];
var $37 = $36 + 1 | 0;
HEAP32[$35 >> 2] = $37;
var $38 = HEAP32[$1 >> 2];
var $39 = $gfc + 84356 + $38 * 24 + 20 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $40 + 1 | 0;
HEAP32[$39 >> 2] = $41;
var $42 = $gfc + 84716 + ($_ << 2) | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $43 + 1 | 0;
HEAP32[$42 >> 2] = $44;
var $45 = HEAP32[$26 >> 2];
var $46 = $45 + 1 | 0;
HEAP32[$26 >> 2] = $46;
var $47 = $ch_026 + 1 | 0;
var $48 = HEAP32[$9 >> 2];
var $49 = ($47 | 0) < ($48 | 0);
if ($49) {
var $ch_026 = $47;
label = 7;
break;
} else {
label = 8;
break;
}
case 8:
var $50 = $gr_028 + 1 | 0;
var $51 = HEAP32[$23 >> 2];
var $52 = ($50 | 0) < ($51 | 0);
if ($52) {
var $gr_028 = $50;
label = 6;
break;
} else {
label = 9;
break;
}
case 9:
return;
}
}
_updateStats["X"] = 1;
function _lame_encode_mp3_frame($gfc, $inbuf_l, $inbuf_r, $mp3buf, $mp3buf_size) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4e3 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $masking_LR = __stackBase__;
var $masking_MS = __stackBase__ + 1952;
var $inbuf = __stackBase__ + 3904;
var $tot_ener = __stackBase__ + 3912;
var $ms_ener_ratio = __stackBase__ + 3944;
var $pe = __stackBase__ + 3952;
var $pe_MS = __stackBase__ + 3968;
var $bufp = __stackBase__ + 3984;
var $blocktype = __stackBase__ + 3992;
var $1 = $ms_ener_ratio;
var $$etemp$0$0 = 1056964608;
var $$etemp$0$1 = 1056964608;
var $st$12$0 = $1 | 0;
HEAP32[$st$12$0 >> 2] = $$etemp$0$0;
var $st$12$1 = $1 + 4 | 0;
HEAP32[$st$12$1 >> 2] = $$etemp$0$1;
var $2 = $pe;
HEAP32[$2 >> 2] = 0;
HEAP32[$2 + 4 >> 2] = 0;
HEAP32[$2 + 8 >> 2] = 0;
HEAP32[$2 + 12 >> 2] = 0;
var $3 = $pe_MS;
HEAP32[$3 >> 2] = 0;
HEAP32[$3 + 4 >> 2] = 0;
HEAP32[$3 + 8 >> 2] = 0;
HEAP32[$3 + 12 >> 2] = 0;
var $4 = $inbuf | 0;
HEAP32[$4 >> 2] = $inbuf_l;
var $5 = $inbuf + 4 | 0;
HEAP32[$5 >> 2] = $inbuf_r;
var $6 = $gfc + 4 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) == 0;
if ($8) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_lame_encode_frame_init($gfc, $4);
label = 4;
break;
case 4:
var $11 = $gfc + 84748 | 0;
HEAP32[$11 >> 2] = 0;
var $12 = $gfc + 39828 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = $gfc + 39832 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 - $13 | 0;
HEAP32[$14 >> 2] = $16;
var $17 = ($16 | 0) < 0;
if ($17) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $19 = $gfc + 64 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $20 + $16 | 0;
HEAP32[$14 >> 2] = $21;
HEAP32[$11 >> 2] = 1;
label = 6;
break;
case 6:
var $23 = $bufp;
var $$etemp$1$0 = 0;
var $$etemp$1$1 = 0;
var $st$3$0 = $23 | 0;
HEAP32[$st$3$0 >> 2] = $$etemp$1$0;
var $st$3$1 = $23 + 4 | 0;
HEAP32[$st$3$1 >> 2] = $$etemp$1$1;
var $24 = $gfc + 76 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = ($25 | 0) > 0;
if ($26) {
label = 7;
break;
} else {
label = 17;
break;
}
case 7:
var $27 = $gfc + 72 | 0;
var $28 = $bufp | 0;
var $29 = $masking_LR | 0;
var $30 = $masking_MS | 0;
var $31 = $blocktype | 0;
var $32 = $gfc + 180 | 0;
var $gr_0240 = 0;
label = 8;
break;
case 8:
var $gr_0240;
var $33 = HEAP32[$27 >> 2];
var $34 = ($33 | 0) > 0;
if ($34) {
label = 9;
break;
} else {
label = 11;
break;
}
case 9:
var $35 = $gr_0240 * 576 & -1;
var $36 = $35 + 304 | 0;
var $37 = HEAP32[$27 >> 2];
var $ch_0231 = 0;
label = 10;
break;
case 10:
var $ch_0231;
var $39 = $inbuf + ($ch_0231 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $40 + ($36 << 2) | 0;
var $42 = $bufp + ($ch_0231 << 2) | 0;
HEAP32[$42 >> 2] = $41;
var $43 = $ch_0231 + 1 | 0;
var $44 = ($43 | 0) < ($37 | 0);
if ($44) {
var $ch_0231 = $43;
label = 10;
break;
} else {
label = 11;
break;
}
case 11:
var $45 = $pe + ($gr_0240 << 3) | 0;
var $46 = $pe_MS + ($gr_0240 << 3) | 0;
var $47 = $tot_ener + ($gr_0240 << 4) | 0;
var $48 = _L3psycho_anal_vbr($gfc, $28, $gr_0240, $29, $30, $45, $46, $47, $31);
var $49 = HEAP32[$32 >> 2];
var $50 = ($49 | 0) == 1;
if ($50) {
label = 12;
break;
} else {
label = 14;
break;
}
case 12:
var $52 = $tot_ener + ($gr_0240 << 4) + 8 | 0;
var $53 = HEAPF32[$52 >> 2];
var $54 = $tot_ener + ($gr_0240 << 4) + 12 | 0;
var $55 = HEAPF32[$54 >> 2];
var $56 = $53 + $55;
var $57 = $ms_ener_ratio + ($gr_0240 << 2) | 0;
HEAPF32[$57 >> 2] = $56;
var $58 = $56 > 0;
if ($58) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
var $60 = HEAPF32[$54 >> 2];
var $61 = $60 / $56;
HEAPF32[$57 >> 2] = $61;
label = 14;
break;
case 14:
var $62 = HEAP32[$27 >> 2];
var $63 = ($62 | 0) > 0;
if ($63) {
var $ch_1236 = 0;
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $ch_1236;
var $64 = $blocktype + ($ch_1236 << 2) | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = $gfc + 304 + $gr_0240 * 10504 + $ch_1236 * 5252 + 4788 | 0;
HEAP32[$66 >> 2] = $65;
var $67 = $gfc + 304 + $gr_0240 * 10504 + $ch_1236 * 5252 + 4792 | 0;
HEAP32[$67 >> 2] = 0;
var $68 = $ch_1236 + 1 | 0;
var $69 = HEAP32[$27 >> 2];
var $70 = ($68 | 0) < ($69 | 0);
if ($70) {
var $ch_1236 = $68;
label = 15;
break;
} else {
label = 16;
break;
}
case 16:
var $71 = $gr_0240 + 1 | 0;
var $72 = HEAP32[$24 >> 2];
var $73 = ($71 | 0) < ($72 | 0);
if ($73) {
var $gr_0240 = $71;
label = 8;
break;
} else {
label = 17;
break;
}
case 17:
_adjust_ATH($gfc);
var $74 = HEAP32[$4 >> 2];
var $75 = HEAP32[$5 >> 2];
_mdct_sub48($gfc, $74, $75);
var $76 = $gfc + 84752 | 0;
HEAP32[$76 >> 2] = 0;
var $77 = $gfc + 80 | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = ($78 | 0) == 0;
if ($79) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
HEAP32[$76 >> 2] = 2;
label = 30;
break;
case 19:
var $82 = $gfc + 180 | 0;
var $83 = HEAP32[$82 >> 2];
var $84 = ($83 | 0) == 1;
if ($84) {
label = 20;
break;
} else {
label = 30;
break;
}
case 20:
var $85 = HEAP32[$24 >> 2];
var $86 = ($85 | 0) > 0;
if ($86) {
label = 21;
break;
} else {
var $_lcssa252 = $85;
label = 27;
break;
}
case 21:
var $87 = $gfc + 72 | 0;
var $88 = HEAP32[$87 >> 2];
var $89 = ($88 | 0) > 0;
var $90 = HEAP32[$24 >> 2];
var $gr_1221 = 0;
var $sum_pe_MS_0223 = 0;
var $sum_pe_LR_0224 = 0;
label = 22;
break;
case 22:
var $sum_pe_LR_0224;
var $sum_pe_MS_0223;
var $gr_1221;
if ($89) {
label = 23;
break;
} else {
var $sum_pe_MS_1_lcssa = $sum_pe_MS_0223;
var $sum_pe_LR_1_lcssa = $sum_pe_LR_0224;
label = 25;
break;
}
case 23:
var $91 = HEAP32[$87 >> 2];
var $ch_2213 = 0;
var $sum_pe_MS_1214 = $sum_pe_MS_0223;
var $sum_pe_LR_1215 = $sum_pe_LR_0224;
label = 24;
break;
case 24:
var $sum_pe_LR_1215;
var $sum_pe_MS_1214;
var $ch_2213;
var $93 = $pe_MS + ($gr_1221 << 3) + ($ch_2213 << 2) | 0;
var $94 = HEAPF32[$93 >> 2];
var $95 = $sum_pe_MS_1214 + $94;
var $96 = $pe + ($gr_1221 << 3) + ($ch_2213 << 2) | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $sum_pe_LR_1215 + $97;
var $99 = $ch_2213 + 1 | 0;
var $100 = ($99 | 0) < ($91 | 0);
if ($100) {
var $ch_2213 = $99;
var $sum_pe_MS_1214 = $95;
var $sum_pe_LR_1215 = $98;
label = 24;
break;
} else {
var $sum_pe_MS_1_lcssa = $95;
var $sum_pe_LR_1_lcssa = $98;
label = 25;
break;
}
case 25:
var $sum_pe_LR_1_lcssa;
var $sum_pe_MS_1_lcssa;
var $101 = $gr_1221 + 1 | 0;
var $102 = ($101 | 0) < ($90 | 0);
if ($102) {
var $gr_1221 = $101;
var $sum_pe_MS_0223 = $sum_pe_MS_1_lcssa;
var $sum_pe_LR_0224 = $sum_pe_LR_1_lcssa;
label = 22;
break;
} else {
label = 26;
break;
}
case 26:
var $103 = $sum_pe_MS_1_lcssa > $sum_pe_LR_1_lcssa;
if ($103) {
label = 30;
break;
} else {
var $_lcssa252 = $90;
label = 27;
break;
}
case 27:
var $_lcssa252;
var $104 = $_lcssa252 - 1 | 0;
var $105 = $gfc + 5092 | 0;
var $106 = HEAP32[$105 >> 2];
var $107 = $gfc + 10344 | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = ($106 | 0) == ($108 | 0);
if ($109) {
label = 28;
break;
} else {
label = 30;
break;
}
case 28:
var $111 = $gfc + 304 + $104 * 10504 + 4788 | 0;
var $112 = HEAP32[$111 >> 2];
var $113 = $gfc + 304 + $104 * 10504 + 10040 | 0;
var $114 = HEAP32[$113 >> 2];
var $115 = ($112 | 0) == ($114 | 0);
if ($115) {
label = 29;
break;
} else {
label = 30;
break;
}
case 29:
HEAP32[$76 >> 2] = 2;
label = 30;
break;
case 30:
var $118 = HEAP32[$76 >> 2];
var $119 = ($118 | 0) == 2;
var $masking_MS_sink = $119 ? $masking_MS : $masking_LR;
var $pe_MS_sink = $119 ? $pe_MS : $pe;
var $120 = $masking_MS_sink | 0;
var $121 = $pe_MS_sink | 0;
var $122 = $gfc + 140 | 0;
var $123 = HEAP32[$122 >> 2];
var $124 = ($123 | 0) == 0;
if ($124) {
label = 40;
break;
} else {
label = 31;
break;
}
case 31:
var $126 = $gfc + 85800 | 0;
var $127 = HEAP32[$126 >> 2];
var $128 = ($127 | 0) == 0;
if ($128) {
label = 40;
break;
} else {
label = 32;
break;
}
case 32:
var $129 = HEAP32[$24 >> 2];
var $130 = ($129 | 0) > 0;
if ($130) {
label = 33;
break;
} else {
label = 40;
break;
}
case 33:
var $131 = $gfc + 72 | 0;
var $gr_2210 = 0;
label = 34;
break;
case 34:
var $gr_2210;
var $132 = HEAP32[$131 >> 2];
var $133 = ($132 | 0) > 0;
if ($133) {
label = 35;
break;
} else {
label = 39;
break;
}
case 35:
var $134 = $ms_ener_ratio + ($gr_2210 << 2) | 0;
var $ch_3205 = 0;
label = 36;
break;
case 36:
var $ch_3205;
var $136 = HEAP32[$126 >> 2];
var $137 = $136 + 90900 + ($gr_2210 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = 0, HEAP32[$137 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$137 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $138 = HEAPF32[$134 >> 2];
var $139 = $138;
var $140 = HEAP32[$126 >> 2];
var $141 = $140 + 90916 + ($gr_2210 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $139, HEAP32[$141 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$141 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $142 = $gfc + 304 + $gr_2210 * 10504 + $ch_3205 * 5252 + 4788 | 0;
var $143 = HEAP32[$142 >> 2];
var $144 = HEAP32[$126 >> 2];
var $145 = $144 + 203284 + ($gr_2210 << 3) + ($ch_3205 << 2) | 0;
HEAP32[$145 >> 2] = $143;
var $146 = $pe_MS_sink + ($gr_2210 << 3) + ($ch_3205 << 2) | 0;
var $147 = HEAPF32[$146 >> 2];
var $148 = $147;
var $149 = HEAP32[$126 >> 2];
var $150 = $149 + 189236 + ($gr_2210 << 5) + ($ch_3205 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $148, HEAP32[$150 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$150 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $151 = HEAP32[$126 >> 2];
var $152 = $151 + 54036 + $gr_2210 * 9216 + $ch_3205 * 4608 | 0;
var $153 = $152;
var $154 = $gfc + 304 + $gr_2210 * 10504 + $ch_3205 * 5252 | 0;
var $155 = $154;
for (var $$src = $155 >> 2, $$dest = $153 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $156 = HEAP32[$76 >> 2];
var $157 = ($156 | 0) == 2;
if ($157) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
var $159 = $ch_3205 + 2 | 0;
var $160 = HEAP32[$126 >> 2];
var $161 = $160 + 197140 + ($gr_2210 << 5) + ($159 << 3) | 0;
var $162 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$161 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$161 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $163 = $160 + 197140 + ($gr_2210 << 5) + ($ch_3205 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $162, HEAP32[$163 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$163 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $164 = HEAP32[$126 >> 2];
var $165 = $164 + 123700 + ($gr_2210 << 15) + ($ch_3205 << 13) | 0;
var $166 = $165;
var $167 = $164 + 123700 + ($gr_2210 << 15) + ($159 << 13) | 0;
var $168 = $167;
for (var $$src = $168 >> 2, $$dest = $166 >> 2, $$stop = $$src + 2048; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 38;
break;
case 38:
var $170 = $ch_3205 + 1 | 0;
var $171 = HEAP32[$131 >> 2];
var $172 = ($170 | 0) < ($171 | 0);
if ($172) {
var $ch_3205 = $170;
label = 36;
break;
} else {
label = 39;
break;
}
case 39:
var $173 = $gr_2210 + 1 | 0;
var $174 = HEAP32[$24 >> 2];
var $175 = ($173 | 0) < ($174 | 0);
if ($175) {
var $gr_2210 = $173;
label = 34;
break;
} else {
label = 40;
break;
}
case 40:
var $176 = $gfc + 104 | 0;
var $177 = HEAP32[$176 >> 2];
if (($177 | 0) == 0 | ($177 | 0) == 3) {
label = 42;
break;
} else {
label = 53;
break;
}
case 41:
var $178 = $gfc + 72 | 0;
var $179 = HEAP32[$178 >> 2];
var $180 = ($179 | 0) > 0;
var $181 = HEAP32[$24 >> 2];
var $gr_3197 = 0;
var $f_0199 = 0;
label = 43;
break;
case 42:
var $182 = $gfc + 39756 | 0;
var $183 = HEAPF32[$182 >> 2];
var $184 = $gfc + 39752 | 0;
HEAPF32[$184 >> 2] = $183;
var $185 = $gfc + 39760 | 0;
var $186 = HEAPF32[$185 >> 2];
var $187 = $gfc + 39756 | 0;
HEAPF32[$187 >> 2] = $186;
var $188 = $gfc + 39764 | 0;
var $189 = HEAPF32[$188 >> 2];
var $190 = $gfc + 39760 | 0;
HEAPF32[$190 >> 2] = $189;
var $191 = $gfc + 39768 | 0;
var $192 = HEAPF32[$191 >> 2];
var $193 = $gfc + 39764 | 0;
HEAPF32[$193 >> 2] = $192;
var $194 = $gfc + 39772 | 0;
var $195 = HEAPF32[$194 >> 2];
var $196 = $gfc + 39768 | 0;
HEAPF32[$196 >> 2] = $195;
var $197 = $gfc + 39776 | 0;
var $198 = HEAPF32[$197 >> 2];
var $199 = $gfc + 39772 | 0;
HEAPF32[$199 >> 2] = $198;
var $200 = $gfc + 39780 | 0;
var $201 = HEAPF32[$200 >> 2];
var $202 = $gfc + 39776 | 0;
HEAPF32[$202 >> 2] = $201;
var $203 = $gfc + 39784 | 0;
var $204 = HEAPF32[$203 >> 2];
var $205 = $gfc + 39780 | 0;
HEAPF32[$205 >> 2] = $204;
var $206 = $gfc + 39788 | 0;
var $207 = HEAPF32[$206 >> 2];
var $208 = $gfc + 39784 | 0;
HEAPF32[$208 >> 2] = $207;
var $209 = $gfc + 39792 | 0;
var $210 = HEAPF32[$209 >> 2];
var $211 = $gfc + 39788 | 0;
HEAPF32[$211 >> 2] = $210;
var $212 = $gfc + 39796 | 0;
var $213 = HEAPF32[$212 >> 2];
var $214 = $gfc + 39792 | 0;
HEAPF32[$214 >> 2] = $213;
var $215 = $gfc + 39800 | 0;
var $216 = HEAPF32[$215 >> 2];
var $217 = $gfc + 39796 | 0;
HEAPF32[$217 >> 2] = $216;
var $218 = $gfc + 39804 | 0;
var $219 = HEAPF32[$218 >> 2];
var $220 = $gfc + 39800 | 0;
HEAPF32[$220 >> 2] = $219;
var $221 = $gfc + 39808 | 0;
var $222 = HEAPF32[$221 >> 2];
var $223 = $gfc + 39804 | 0;
HEAPF32[$223 >> 2] = $222;
var $224 = $gfc + 39812 | 0;
var $225 = HEAPF32[$224 >> 2];
var $226 = $gfc + 39808 | 0;
HEAPF32[$226 >> 2] = $225;
var $227 = $gfc + 39816 | 0;
var $228 = HEAPF32[$227 >> 2];
var $229 = $gfc + 39812 | 0;
HEAPF32[$229 >> 2] = $228;
var $230 = $gfc + 39820 | 0;
var $231 = HEAPF32[$230 >> 2];
var $232 = $gfc + 39816 | 0;
HEAPF32[$232 >> 2] = $231;
var $233 = $gfc + 39824 | 0;
var $234 = HEAPF32[$233 >> 2];
var $235 = $gfc + 39820 | 0;
HEAPF32[$235 >> 2] = $234;
var $236 = HEAP32[$24 >> 2];
var $237 = ($236 | 0) > 0;
if ($237) {
label = 41;
break;
} else {
var $f_0_lcssa = 0;
label = 47;
break;
}
case 43:
var $f_0199;
var $gr_3197;
if ($180) {
label = 44;
break;
} else {
var $f_1_lcssa = $f_0199;
label = 46;
break;
}
case 44:
var $238 = HEAP32[$178 >> 2];
var $ch_4192 = 0;
var $f_1193 = $f_0199;
label = 45;
break;
case 45:
var $f_1193;
var $ch_4192;
var $240 = $pe_MS_sink + ($gr_3197 << 3) + ($ch_4192 << 2) | 0;
var $241 = HEAPF32[$240 >> 2];
var $242 = $f_1193 + $241;
var $243 = $ch_4192 + 1 | 0;
var $244 = ($243 | 0) < ($238 | 0);
if ($244) {
var $ch_4192 = $243;
var $f_1193 = $242;
label = 45;
break;
} else {
var $f_1_lcssa = $242;
label = 46;
break;
}
case 46:
var $f_1_lcssa;
var $245 = $gr_3197 + 1 | 0;
var $246 = ($245 | 0) < ($181 | 0);
if ($246) {
var $gr_3197 = $245;
var $f_0199 = $f_1_lcssa;
label = 43;
break;
} else {
var $f_0_lcssa = $f_1_lcssa;
label = 47;
break;
}
case 47:
var $f_0_lcssa;
var $248 = $gfc + 39824 | 0;
HEAPF32[$248 >> 2] = $f_0_lcssa;
var $249 = $gfc + 39788 | 0;
var $250 = HEAPF32[$249 >> 2];
var $251 = $gfc + 39752 | 0;
var $252 = HEAPF32[$251 >> 2];
var $253 = $252 + $f_0_lcssa;
var $254 = $253 * -.10394349694252014;
var $255 = $250 + $254;
var $256 = $gfc + 39756 | 0;
var $257 = HEAPF32[$256 >> 2];
var $258 = $gfc + 39820 | 0;
var $259 = HEAPF32[$258 >> 2];
var $260 = $257 + $259;
var $261 = $260 * -.18920649588108063;
var $262 = $255 + $261;
var $263 = $gfc + 39760 | 0;
var $264 = HEAPF32[$263 >> 2];
var $265 = $gfc + 39816 | 0;
var $266 = HEAPF32[$265 >> 2];
var $267 = $264 + $266;
var $268 = $267 * -.21623599529266357;
var $269 = $262 + $268;
var $270 = $gfc + 39764 | 0;
var $271 = HEAPF32[$270 >> 2];
var $272 = $gfc + 39812 | 0;
var $273 = HEAPF32[$272 >> 2];
var $274 = $271 + $273;
var $275 = $274 * -.1559150069952011;
var $276 = $269 + $275;
var $277 = $gfc + 39768 | 0;
var $278 = HEAPF32[$277 >> 2];
var $279 = $gfc + 39808 | 0;
var $280 = HEAPF32[$279 >> 2];
var $281 = $278 + $280;
var $282 = $281 * 3.8980449615198e-17;
var $283 = $276 + $282;
var $284 = $gfc + 39772 | 0;
var $285 = HEAPF32[$284 >> 2];
var $286 = $gfc + 39804 | 0;
var $287 = HEAPF32[$286 >> 2];
var $288 = $285 + $287;
var $289 = $288 * .23387250304222107;
var $290 = $283 + $289;
var $291 = $gfc + 39776 | 0;
var $292 = HEAPF32[$291 >> 2];
var $293 = $gfc + 39800 | 0;
var $294 = HEAPF32[$293 >> 2];
var $295 = $292 + $294;
var $296 = $295 * .5045499801635742;
var $297 = $290 + $296;
var $298 = $gfc + 39780 | 0;
var $299 = HEAPF32[$298 >> 2];
var $300 = $gfc + 39796 | 0;
var $301 = HEAPF32[$300 >> 2];
var $302 = $299 + $301;
var $303 = $302 * .7568249702453613;
var $304 = $297 + $303;
var $305 = $gfc + 39784 | 0;
var $306 = HEAPF32[$305 >> 2];
var $307 = $gfc + 39792 | 0;
var $308 = HEAPF32[$307 >> 2];
var $309 = $306 + $308;
var $310 = $309 * .9354900121688843;
var $311 = $304 + $310;
var $312 = HEAP32[$24 >> 2];
var $313 = $312 * 3350 & -1;
var $314 = $gfc + 72 | 0;
var $315 = HEAP32[$314 >> 2];
var $316 = $313 * $315 & -1;
var $317 = $316 | 0;
var $318 = $317 / $311;
var $319 = HEAP32[$24 >> 2];
var $320 = ($319 | 0) > 0;
if ($320) {
label = 48;
break;
} else {
label = 53;
break;
}
case 48:
var $321 = HEAP32[$314 >> 2];
var $322 = ($321 | 0) > 0;
var $323 = HEAP32[$24 >> 2];
var $gr_4187 = 0;
label = 49;
break;
case 49:
var $gr_4187;
if ($322) {
label = 50;
break;
} else {
label = 52;
break;
}
case 50:
var $324 = HEAP32[$314 >> 2];
var $ch_5184 = 0;
label = 51;
break;
case 51:
var $ch_5184;
var $326 = $pe_MS_sink + ($gr_4187 << 3) + ($ch_5184 << 2) | 0;
var $327 = HEAPF32[$326 >> 2];
var $328 = $318 * $327;
HEAPF32[$326 >> 2] = $328;
var $329 = $ch_5184 + 1 | 0;
var $330 = ($329 | 0) < ($324 | 0);
if ($330) {
var $ch_5184 = $329;
label = 51;
break;
} else {
label = 52;
break;
}
case 52:
var $331 = $gr_4187 + 1 | 0;
var $332 = ($331 | 0) < ($323 | 0);
if ($332) {
var $gr_4187 = $331;
label = 49;
break;
} else {
label = 53;
break;
}
case 53:
var $333 = $gfc + 85808 | 0;
var $334 = HEAP32[$333 >> 2];
var $335 = $ms_ener_ratio | 0;
FUNCTION_TABLE[$334]($gfc, $121, $335, $120);
var $336 = _format_bitstream($gfc);
var $337 = _copy_buffer($gfc, $mp3buf, $mp3buf_size, 1);
var $338 = $gfc + 156 | 0;
var $339 = HEAP32[$338 >> 2];
var $340 = ($339 | 0) == 0;
if ($340) {
label = 55;
break;
} else {
label = 54;
break;
}
case 54:
_AddVbrFrame($gfc);
label = 55;
break;
case 55:
var $343 = HEAP32[$122 >> 2];
var $344 = ($343 | 0) == 0;
if ($344) {
label = 64;
break;
} else {
label = 56;
break;
}
case 56:
var $346 = $gfc + 85800 | 0;
var $347 = HEAP32[$346 >> 2];
var $348 = ($347 | 0) == 0;
if ($348) {
label = 64;
break;
} else {
label = 57;
break;
}
case 57:
var $350 = HEAP32[$24 >> 2];
var $351 = $350 * 576 & -1;
var $352 = $gfc + 72 | 0;
var $353 = HEAP32[$352 >> 2];
var $354 = ($353 | 0) > 0;
if ($354) {
var $ch_6182 = 0;
label = 58;
break;
} else {
label = 63;
break;
}
case 58:
var $ch_6182;
var $j_0180 = 0;
label = 59;
break;
case 59:
var $j_0180;
var $356 = $j_0180 + $351 | 0;
var $357 = HEAP32[$346 >> 2];
var $358 = $357 + 20 + $ch_6182 * 12800 + ($356 << 3) | 0;
var $359 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$358 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$358 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $360 = $357 + 20 + $ch_6182 * 12800 + ($j_0180 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $359, HEAP32[$360 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$360 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $361 = $j_0180 + 1 | 0;
var $exitcond = ($361 | 0) == 272;
if ($exitcond) {
label = 60;
break;
} else {
var $j_0180 = $361;
label = 59;
break;
}
case 60:
var $362 = $inbuf + ($ch_6182 << 2) | 0;
var $363 = HEAP32[$362 >> 2];
var $j_1181 = 272;
label = 61;
break;
case 61:
var $j_1181;
var $365 = $j_1181 - 272 | 0;
var $366 = $363 + ($365 << 2) | 0;
var $367 = HEAPF32[$366 >> 2];
var $368 = $367;
var $369 = HEAP32[$346 >> 2];
var $370 = $369 + 20 + $ch_6182 * 12800 + ($j_1181 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $368, HEAP32[$370 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$370 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $371 = $j_1181 + 1 | 0;
var $exitcond244 = ($371 | 0) == 1600;
if ($exitcond244) {
label = 62;
break;
} else {
var $j_1181 = $371;
label = 61;
break;
}
case 62:
var $373 = $ch_6182 + 1 | 0;
var $374 = HEAP32[$352 >> 2];
var $375 = ($373 | 0) < ($374 | 0);
if ($375) {
var $ch_6182 = $373;
label = 58;
break;
} else {
label = 63;
break;
}
case 63:
var $376 = $gfc + 84904 | 0;
HEAPF32[$376 >> 2] = 1;
_set_frame_pinfo($gfc, $120);
label = 64;
break;
case 64:
var $378 = $gfc + 84744 | 0;
var $379 = HEAP32[$378 >> 2];
var $380 = $379 + 1 | 0;
HEAP32[$378 >> 2] = $380;
_updateStats($gfc);
STACKTOP = __stackBase__;
return $337;
}
}
_lame_encode_mp3_frame["X"] = 1;
function _lame_encode_frame_init($gfc, $inbuf) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16112 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $primebuff0 = __stackBase__;
var $primebuff1 = __stackBase__ + 8056;
var $1 = $gfc + 4 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 3;
break;
} else {
label = 19;
break;
}
case 3:
var $5 = $gfc + 76 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $6 * 576 & -1;
HEAP32[$1 >> 2] = 1;
var $8 = $primebuff0;
for (var $$dest = $8 >> 2, $$stop = $$dest + 2014; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $9 = $primebuff1;
for (var $$dest = $9 >> 2, $$stop = $$dest + 2014; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $10 = HEAP32[$5 >> 2];
var $11 = $10 * 576 & -1;
var $12 = $11 + 862 | 0;
var $13 = ($12 | 0) > 0;
if ($13) {
label = 4;
break;
} else {
var $20 = $10;
label = 6;
break;
}
case 4:
var $14 = $gfc + 72 | 0;
var $15 = HEAP32[$5 >> 2];
var $16 = $15 * 576 & -1;
var $17 = $16 + 862 | 0;
var $18 = $gfc + 72 | 0;
var $19 = $inbuf + 4 | 0;
var $i_029 = 0;
var $j_030 = 0;
label = 8;
break;
case 5:
var $_pr = HEAP32[$5 >> 2];
var $20 = $_pr;
label = 6;
break;
case 6:
var $20;
var $21 = ($20 | 0) > 0;
if ($21) {
label = 7;
break;
} else {
label = 18;
break;
}
case 7:
var $22 = $gfc + 72 | 0;
var $gr_026 = 0;
label = 15;
break;
case 8:
var $j_030;
var $i_029;
var $24 = ($i_029 | 0) < ($7 | 0);
if ($24) {
label = 9;
break;
} else {
label = 11;
break;
}
case 9:
var $26 = $primebuff0 + ($i_029 << 2) | 0;
HEAPF32[$26 >> 2] = 0;
var $27 = HEAP32[$14 >> 2];
var $28 = ($27 | 0) == 2;
if ($28) {
label = 10;
break;
} else {
var $j_1 = $j_030;
label = 14;
break;
}
case 10:
var $30 = $primebuff1 + ($i_029 << 2) | 0;
HEAPF32[$30 >> 2] = 0;
var $j_1 = $j_030;
label = 14;
break;
case 11:
var $32 = HEAP32[$inbuf >> 2];
var $33 = $32 + ($j_030 << 2) | 0;
var $34 = HEAPF32[$33 >> 2];
var $35 = $primebuff0 + ($i_029 << 2) | 0;
HEAPF32[$35 >> 2] = $34;
var $36 = HEAP32[$18 >> 2];
var $37 = ($36 | 0) == 2;
if ($37) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $39 = HEAP32[$19 >> 2];
var $40 = $39 + ($j_030 << 2) | 0;
var $41 = HEAPF32[$40 >> 2];
var $42 = $primebuff1 + ($i_029 << 2) | 0;
HEAPF32[$42 >> 2] = $41;
label = 13;
break;
case 13:
var $44 = $j_030 + 1 | 0;
var $j_1 = $44;
label = 14;
break;
case 14:
var $j_1;
var $46 = $i_029 + 1 | 0;
var $47 = ($46 | 0) < ($17 | 0);
if ($47) {
var $i_029 = $46;
var $j_030 = $j_1;
label = 8;
break;
} else {
label = 5;
break;
}
case 15:
var $gr_026;
var $48 = HEAP32[$22 >> 2];
var $49 = ($48 | 0) > 0;
if ($49) {
var $ch_024 = 0;
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
var $ch_024;
var $50 = $gfc + 304 + $gr_026 * 10504 + $ch_024 * 5252 + 4788 | 0;
HEAP32[$50 >> 2] = 2;
var $51 = $ch_024 + 1 | 0;
var $52 = HEAP32[$22 >> 2];
var $53 = ($51 | 0) < ($52 | 0);
if ($53) {
var $ch_024 = $51;
label = 16;
break;
} else {
label = 17;
break;
}
case 17:
var $54 = $gr_026 + 1 | 0;
var $55 = HEAP32[$5 >> 2];
var $56 = ($54 | 0) < ($55 | 0);
if ($56) {
var $gr_026 = $54;
label = 15;
break;
} else {
label = 18;
break;
}
case 18:
var $57 = $primebuff0 | 0;
var $58 = $primebuff1 | 0;
_mdct_sub48($gfc, $57, $58);
label = 19;
break;
case 19:
STACKTOP = __stackBase__;
return;
}
}
_lame_encode_frame_init["X"] = 1;
function _fht($fz, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $n << 1;
var $2 = $fz + ($1 << 2) | 0;
var $tri_0 = 5348652;
var $k4_0 = 4;
label = 3;
break;
case 3:
var $k4_0;
var $tri_0;
var $4 = $k4_0 >> 1;
var $5 = $k4_0 << 1;
var $6 = $5 + $k4_0 | 0;
var $7 = $k4_0 << 2;
var $8 = $fz + ($4 << 2) | 0;
var $fi_0 = $fz;
var $gi_0 = $8;
label = 4;
break;
case 4:
var $gi_0;
var $fi_0;
var $10 = HEAPF32[$fi_0 >> 2];
var $11 = $fi_0 + ($k4_0 << 2) | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $10 - $12;
var $14 = $10 + $12;
var $15 = $fi_0 + ($5 << 2) | 0;
var $16 = HEAPF32[$15 >> 2];
var $17 = $fi_0 + ($6 << 2) | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = $16 - $18;
var $20 = $16 + $18;
var $21 = $14 - $20;
HEAPF32[$15 >> 2] = $21;
var $22 = $14 + $20;
HEAPF32[$fi_0 >> 2] = $22;
var $23 = $13 - $19;
HEAPF32[$17 >> 2] = $23;
var $24 = $13 + $19;
HEAPF32[$11 >> 2] = $24;
var $25 = HEAPF32[$gi_0 >> 2];
var $26 = $gi_0 + ($k4_0 << 2) | 0;
var $27 = HEAPF32[$26 >> 2];
var $28 = $25 - $27;
var $29 = $25 + $27;
var $30 = $gi_0 + ($6 << 2) | 0;
var $31 = HEAPF32[$30 >> 2];
var $32 = $31;
var $33 = $32 * 1.4142135623730951;
var $34 = $33;
var $35 = $gi_0 + ($5 << 2) | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = $36;
var $38 = $37 * 1.4142135623730951;
var $39 = $38;
var $40 = $29 - $39;
HEAPF32[$35 >> 2] = $40;
var $41 = $29 + $39;
HEAPF32[$gi_0 >> 2] = $41;
var $42 = $28 - $34;
HEAPF32[$30 >> 2] = $42;
var $43 = $28 + $34;
HEAPF32[$26 >> 2] = $43;
var $44 = $gi_0 + ($7 << 2) | 0;
var $45 = $fi_0 + ($7 << 2) | 0;
var $46 = $45 >>> 0 < $2 >>> 0;
if ($46) {
var $fi_0 = $45;
var $gi_0 = $44;
label = 4;
break;
} else {
label = 5;
break;
}
case 5:
var $48 = $tri_0 + 4 | 0;
var $49 = ($k4_0 | 0) > 2;
if ($49) {
label = 6;
break;
} else {
label = 10;
break;
}
case 6:
var $50 = HEAPF32[$48 >> 2];
var $51 = HEAPF32[$tri_0 >> 2];
var $i_0166 = 1;
var $c1_0167 = $51;
var $s1_0168 = $50;
label = 7;
break;
case 7:
var $s1_0168;
var $c1_0167;
var $i_0166;
var $53 = $s1_0168 * 2;
var $54 = $s1_0168 * $53;
var $55 = 1 - $54;
var $56 = $c1_0167 * $53;
var $57 = $fz + ($i_0166 << 2) | 0;
var $_sum = $k4_0 - $i_0166 | 0;
var $58 = $fz + ($_sum << 2) | 0;
var $fi_1 = $57;
var $gi_1 = $58;
label = 8;
break;
case 8:
var $gi_1;
var $fi_1;
var $60 = $fi_1 + ($k4_0 << 2) | 0;
var $61 = HEAPF32[$60 >> 2];
var $62 = $56 * $61;
var $63 = $gi_1 + ($k4_0 << 2) | 0;
var $64 = HEAPF32[$63 >> 2];
var $65 = $55 * $64;
var $66 = $62 - $65;
var $67 = $55 * $61;
var $68 = $56 * $64;
var $69 = $67 + $68;
var $70 = HEAPF32[$fi_1 >> 2];
var $71 = $70 - $69;
var $72 = $70 + $69;
var $73 = HEAPF32[$gi_1 >> 2];
var $74 = $73 - $66;
var $75 = $73 + $66;
var $76 = $fi_1 + ($6 << 2) | 0;
var $77 = HEAPF32[$76 >> 2];
var $78 = $56 * $77;
var $79 = $gi_1 + ($6 << 2) | 0;
var $80 = HEAPF32[$79 >> 2];
var $81 = $55 * $80;
var $82 = $78 - $81;
var $83 = $55 * $77;
var $84 = $56 * $80;
var $85 = $83 + $84;
var $86 = $fi_1 + ($5 << 2) | 0;
var $87 = HEAPF32[$86 >> 2];
var $88 = $87 - $85;
var $89 = $87 + $85;
var $90 = $gi_1 + ($5 << 2) | 0;
var $91 = HEAPF32[$90 >> 2];
var $92 = $91 - $82;
var $93 = $91 + $82;
var $94 = $s1_0168 * $89;
var $95 = $c1_0167 * $92;
var $96 = $94 - $95;
var $97 = $c1_0167 * $89;
var $98 = $s1_0168 * $92;
var $99 = $97 + $98;
var $100 = $72 - $99;
HEAPF32[$86 >> 2] = $100;
var $101 = $72 + $99;
HEAPF32[$fi_1 >> 2] = $101;
var $102 = $74 - $96;
HEAPF32[$79 >> 2] = $102;
var $103 = $74 + $96;
HEAPF32[$63 >> 2] = $103;
var $104 = $c1_0167 * $93;
var $105 = $s1_0168 * $88;
var $106 = $104 - $105;
var $107 = $s1_0168 * $93;
var $108 = $c1_0167 * $88;
var $109 = $107 + $108;
var $110 = $75 - $109;
HEAPF32[$90 >> 2] = $110;
var $111 = $75 + $109;
HEAPF32[$gi_1 >> 2] = $111;
var $112 = $71 - $106;
HEAPF32[$76 >> 2] = $112;
var $113 = $71 + $106;
HEAPF32[$60 >> 2] = $113;
var $114 = $gi_1 + ($7 << 2) | 0;
var $115 = $fi_1 + ($7 << 2) | 0;
var $116 = $115 >>> 0 < $2 >>> 0;
if ($116) {
var $fi_1 = $115;
var $gi_1 = $114;
label = 8;
break;
} else {
label = 9;
break;
}
case 9:
var $118 = HEAPF32[$tri_0 >> 2];
var $119 = $c1_0167 * $118;
var $120 = HEAPF32[$48 >> 2];
var $121 = $s1_0168 * $120;
var $122 = $119 - $121;
var $123 = $c1_0167 * $120;
var $124 = $s1_0168 * $118;
var $125 = $124 + $123;
var $126 = $i_0166 + 1 | 0;
var $127 = ($126 | 0) < ($4 | 0);
if ($127) {
var $i_0166 = $126;
var $c1_0167 = $122;
var $s1_0168 = $125;
label = 7;
break;
} else {
label = 10;
break;
}
case 10:
var $128 = $tri_0 + 8 | 0;
var $129 = ($7 | 0) < ($1 | 0);
if ($129) {
var $tri_0 = $128;
var $k4_0 = $7;
label = 3;
break;
} else {
label = 11;
break;
}
case 11:
return;
}
}
_fht["X"] = 1;
function _fft_short($gfc, $x_real, $chn, $buffer) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $buffer + ($chn << 2) | 0;
var $2 = $gfc + 85816 | 0;
var $b_080 = 0;
var $indvars_iv = $x_real;
label = 3;
break;
case 3:
var $indvars_iv;
var $b_080;
var $4 = $x_real + ($b_080 << 10) + 512 | 0;
var $5 = $b_080 + 1 | 0;
var $sext = $5 * 12582912 & -1;
var $6 = $sext >> 16;
var $j_0 = 31;
var $x_0 = $4;
label = 4;
break;
case 4:
var $x_0;
var $j_0;
var $8 = $j_0 << 2;
var $9 = $8 + 5256844 | 0;
var $10 = HEAP8[$9];
var $11 = $10 & 255;
var $12 = 5242880 + ($11 << 2) | 0;
var $13 = HEAPF32[$12 >> 2];
var $14 = $11 + $6 | 0;
var $15 = HEAP32[$1 >> 2];
var $16 = $15 + ($14 << 2) | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = $13 * $17;
var $19 = 127 - $11 | 0;
var $20 = 5242880 + ($19 << 2) | 0;
var $21 = HEAPF32[$20 >> 2];
var $22 = $14 + 128 | 0;
var $23 = $15 + ($22 << 2) | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = $21 * $24;
var $26 = $18 - $25;
var $27 = $18 + $25;
var $28 = $11 + 64 | 0;
var $29 = 5242880 + ($28 << 2) | 0;
var $30 = HEAPF32[$29 >> 2];
var $31 = $14 + 64 | 0;
var $32 = $15 + ($31 << 2) | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $30 * $33;
var $35 = 63 - $11 | 0;
var $36 = 5242880 + ($35 << 2) | 0;
var $37 = HEAPF32[$36 >> 2];
var $38 = $14 + 192 | 0;
var $39 = $15 + ($38 << 2) | 0;
var $40 = HEAPF32[$39 >> 2];
var $41 = $37 * $40;
var $42 = $34 - $41;
var $43 = $34 + $41;
var $44 = $x_0 - 16 | 0;
var $45 = $27 + $43;
HEAPF32[$44 >> 2] = $45;
var $46 = $27 - $43;
var $47 = $x_0 - 8 | 0;
HEAPF32[$47 >> 2] = $46;
var $48 = $26 + $42;
var $49 = $x_0 - 12 | 0;
HEAPF32[$49 >> 2] = $48;
var $50 = $26 - $42;
var $51 = $x_0 - 4 | 0;
HEAPF32[$51 >> 2] = $50;
var $52 = $11 + 1 | 0;
var $53 = 5242880 + ($52 << 2) | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $14 + 1 | 0;
var $56 = HEAP32[$1 >> 2];
var $57 = $56 + ($55 << 2) | 0;
var $58 = HEAPF32[$57 >> 2];
var $59 = $54 * $58;
var $60 = 126 - $11 | 0;
var $61 = 5242880 + ($60 << 2) | 0;
var $62 = HEAPF32[$61 >> 2];
var $63 = $14 + 129 | 0;
var $64 = $56 + ($63 << 2) | 0;
var $65 = HEAPF32[$64 >> 2];
var $66 = $62 * $65;
var $67 = $59 - $66;
var $68 = $59 + $66;
var $69 = $11 + 65 | 0;
var $70 = 5242880 + ($69 << 2) | 0;
var $71 = HEAPF32[$70 >> 2];
var $72 = $14 + 65 | 0;
var $73 = $56 + ($72 << 2) | 0;
var $74 = HEAPF32[$73 >> 2];
var $75 = $71 * $74;
var $76 = 62 - $11 | 0;
var $77 = 5242880 + ($76 << 2) | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = $14 + 193 | 0;
var $80 = $56 + ($79 << 2) | 0;
var $81 = HEAPF32[$80 >> 2];
var $82 = $78 * $81;
var $83 = $75 - $82;
var $84 = $75 + $82;
var $85 = $68 + $84;
var $86 = $x_0 + 496 | 0;
HEAPF32[$86 >> 2] = $85;
var $87 = $68 - $84;
var $88 = $x_0 + 504 | 0;
HEAPF32[$88 >> 2] = $87;
var $89 = $67 + $83;
var $90 = $x_0 + 500 | 0;
HEAPF32[$90 >> 2] = $89;
var $91 = $67 - $83;
var $92 = $x_0 + 508 | 0;
HEAPF32[$92 >> 2] = $91;
var $93 = $j_0 - 1 | 0;
var $94 = ($j_0 | 0) > 0;
if ($94) {
var $j_0 = $93;
var $x_0 = $44;
label = 4;
break;
} else {
label = 5;
break;
}
case 5:
var $indvars_iv81 = $indvars_iv | 0;
var $96 = HEAP32[$2 >> 2];
FUNCTION_TABLE[$96]($indvars_iv81, 128);
var $scevgep = $indvars_iv + 1024 | 0;
var $97 = $scevgep;
var $exitcond = ($5 | 0) == 3;
if ($exitcond) {
label = 6;
break;
} else {
var $b_080 = $5;
var $indvars_iv = $97;
label = 3;
break;
}
case 6:
return;
}
}
_fft_short["X"] = 1;
function _fft_long($gfc, $x, $chn, $buffer) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $x + 2048 | 0;
var $2 = $buffer + ($chn << 2) | 0;
var $_0 = $1;
var $jj_0 = 127;
label = 3;
break;
case 3:
var $jj_0;
var $_0;
var $4 = $jj_0 + 5256844 | 0;
var $5 = HEAP8[$4];
var $6 = $5 & 255;
var $7 = 5243392 + ($6 << 2) | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = HEAP32[$2 >> 2];
var $10 = $9 + ($6 << 2) | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $8 * $11;
var $13 = $6 | 512;
var $14 = 5243392 + ($13 << 2) | 0;
var $15 = HEAPF32[$14 >> 2];
var $16 = $9 + ($13 << 2) | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = $15 * $17;
var $19 = $12 - $18;
var $20 = $12 + $18;
var $21 = $6 | 256;
var $22 = 5243392 + ($21 << 2) | 0;
var $23 = HEAPF32[$22 >> 2];
var $24 = $9 + ($21 << 2) | 0;
var $25 = HEAPF32[$24 >> 2];
var $26 = $23 * $25;
var $27 = $6 | 768;
var $28 = 5243392 + ($27 << 2) | 0;
var $29 = HEAPF32[$28 >> 2];
var $30 = $9 + ($27 << 2) | 0;
var $31 = HEAPF32[$30 >> 2];
var $32 = $29 * $31;
var $33 = $26 - $32;
var $34 = $26 + $32;
var $35 = $_0 - 16 | 0;
var $36 = $20 + $34;
HEAPF32[$35 >> 2] = $36;
var $37 = $20 - $34;
var $38 = $_0 - 8 | 0;
HEAPF32[$38 >> 2] = $37;
var $39 = $19 + $33;
var $40 = $_0 - 12 | 0;
HEAPF32[$40 >> 2] = $39;
var $41 = $19 - $33;
var $42 = $_0 - 4 | 0;
HEAPF32[$42 >> 2] = $41;
var $43 = $6 + 1 | 0;
var $44 = 5243392 + ($43 << 2) | 0;
var $45 = HEAPF32[$44 >> 2];
var $46 = HEAP32[$2 >> 2];
var $47 = $46 + ($43 << 2) | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $45 * $48;
var $50 = $6 + 513 | 0;
var $51 = 5243392 + ($50 << 2) | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $46 + ($50 << 2) | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $52 * $54;
var $56 = $49 - $55;
var $57 = $49 + $55;
var $58 = $6 + 257 | 0;
var $59 = 5243392 + ($58 << 2) | 0;
var $60 = HEAPF32[$59 >> 2];
var $61 = $46 + ($58 << 2) | 0;
var $62 = HEAPF32[$61 >> 2];
var $63 = $60 * $62;
var $64 = $6 + 769 | 0;
var $65 = 5243392 + ($64 << 2) | 0;
var $66 = HEAPF32[$65 >> 2];
var $67 = $46 + ($64 << 2) | 0;
var $68 = HEAPF32[$67 >> 2];
var $69 = $66 * $68;
var $70 = $63 - $69;
var $71 = $63 + $69;
var $72 = $57 + $71;
var $73 = $_0 + 2032 | 0;
HEAPF32[$73 >> 2] = $72;
var $74 = $57 - $71;
var $75 = $_0 + 2040 | 0;
HEAPF32[$75 >> 2] = $74;
var $76 = $56 + $70;
var $77 = $_0 + 2036 | 0;
HEAPF32[$77 >> 2] = $76;
var $78 = $56 - $70;
var $79 = $_0 + 2044 | 0;
HEAPF32[$79 >> 2] = $78;
var $80 = $jj_0 - 1 | 0;
var $81 = ($jj_0 | 0) > 0;
if ($81) {
var $_0 = $35;
var $jj_0 = $80;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $83 = $gfc + 85816 | 0;
var $84 = HEAP32[$83 >> 2];
FUNCTION_TABLE[$84]($x, 512);
return;
}
}
_fft_long["X"] = 1;
function _init_fft($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_010 = 0;
label = 3;
break;
case 3:
var $i_010;
var $2 = $i_010 | 0;
var $3 = $2 + .5;
var $4 = $3 * 6.283185307179586;
var $5 = $4 * .0009765625;
var $6 = Math.cos($5);
var $7 = $6 * .5;
var $8 = .42 - $7;
var $9 = $3 * 12.566370614359172;
var $10 = $9 * .0009765625;
var $11 = Math.cos($10);
var $12 = $11 * .08;
var $13 = $8 + $12;
var $14 = $13;
var $15 = 5243392 + ($i_010 << 2) | 0;
HEAPF32[$15 >> 2] = $14;
var $16 = $i_010 + 1 | 0;
var $exitcond11 = ($16 | 0) == 1024;
if ($exitcond11) {
var $i_19 = 0;
label = 4;
break;
} else {
var $i_010 = $16;
label = 3;
break;
}
case 4:
var $i_19;
var $17 = $i_19 | 0;
var $18 = $17 + .5;
var $19 = $18 * 6.283185307179586;
var $20 = $19 * .00390625;
var $21 = Math.cos($20);
var $22 = 1 - $21;
var $23 = $22 * .5;
var $24 = $23;
var $25 = 5242880 + ($i_19 << 2) | 0;
HEAPF32[$25 >> 2] = $24;
var $26 = $i_19 + 1 | 0;
var $exitcond = ($26 | 0) == 128;
if ($exitcond) {
label = 5;
break;
} else {
var $i_19 = $26;
label = 4;
break;
}
case 5:
var $28 = $gfc + 85816 | 0;
HEAP32[$28 >> 2] = 50;
return;
}
}
function _InitGainAnalysis($rgData, $samplefreq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _ResetSampleFrequency($rgData, $samplefreq);
var $2 = ($1 | 0) == 1;
if ($2) {
label = 3;
break;
} else {
var $_0 = 0;
label = 4;
break;
}
case 3:
var $4 = $rgData + 40 | 0;
var $5 = $rgData + 80 | 0;
HEAP32[$5 >> 2] = $4;
var $6 = $rgData + 19420 | 0;
var $7 = $rgData + 19460 | 0;
HEAP32[$7 >> 2] = $6;
var $8 = $rgData + 124 | 0;
var $9 = $rgData + 9728 | 0;
HEAP32[$9 >> 2] = $8;
var $10 = $rgData + 19504 | 0;
var $11 = $rgData + 29108 | 0;
HEAP32[$11 >> 2] = $10;
var $12 = $rgData + 9772 | 0;
var $13 = $rgData + 19376 | 0;
HEAP32[$13 >> 2] = $12;
var $14 = $rgData + 29152 | 0;
var $15 = $rgData + 38756 | 0;
HEAP32[$15 >> 2] = $14;
var $16 = $rgData + 86792 | 0;
var $17 = $16;
for (var $$dest = $17 >> 2, $$stop = $$dest + 12e3; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $_0 = 1;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _ResetSampleFrequency($rgData, $samplefreq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $rgData + 29112 | 0;
var $2 = $rgData + 19464 | 0;
var $3 = $rgData + 19380 | 0;
var $4 = $rgData + 9732 | 0;
var $5 = $rgData + 84 | 0;
var $6 = $rgData;
for (var $$dest = $6 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $7 = $5;
for (var $$dest = $7 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $8 = $4;
for (var $$dest = $8 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $9 = $3;
for (var $$dest = $9 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $10 = $2;
for (var $$dest = $10 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $11 = $1;
for (var $$dest = $11 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
if (($samplefreq | 0) == 48e3) {
label = 3;
break;
} else if (($samplefreq | 0) == 44100) {
label = 4;
break;
} else if (($samplefreq | 0) == 32e3) {
label = 5;
break;
} else if (($samplefreq | 0) == 24e3) {
label = 6;
break;
} else if (($samplefreq | 0) == 22050) {
label = 7;
break;
} else if (($samplefreq | 0) == 16e3) {
label = 8;
break;
} else if (($samplefreq | 0) == 12e3) {
label = 9;
break;
} else if (($samplefreq | 0) == 11025) {
label = 10;
break;
} else if (($samplefreq | 0) == 8e3) {
label = 11;
break;
} else {
var $_0 = 0;
label = 13;
break;
}
case 3:
var $13 = $rgData + 38784 | 0;
HEAP32[$13 >> 2] = 0;
label = 12;
break;
case 4:
var $15 = $rgData + 38784 | 0;
HEAP32[$15 >> 2] = 1;
label = 12;
break;
case 5:
var $17 = $rgData + 38784 | 0;
HEAP32[$17 >> 2] = 2;
label = 12;
break;
case 6:
var $19 = $rgData + 38784 | 0;
HEAP32[$19 >> 2] = 3;
label = 12;
break;
case 7:
var $21 = $rgData + 38784 | 0;
HEAP32[$21 >> 2] = 4;
label = 12;
break;
case 8:
var $23 = $rgData + 38784 | 0;
HEAP32[$23 >> 2] = 5;
label = 12;
break;
case 9:
var $25 = $rgData + 38784 | 0;
HEAP32[$25 >> 2] = 6;
label = 12;
break;
case 10:
var $27 = $rgData + 38784 | 0;
HEAP32[$27 >> 2] = 7;
label = 12;
break;
case 11:
var $29 = $rgData + 38784 | 0;
HEAP32[$29 >> 2] = 8;
label = 12;
break;
case 12:
var $31 = $samplefreq + 19 | 0;
var $32 = ($31 | 0) / 20 & -1;
var $33 = $rgData + 38760 | 0;
HEAP32[$33 >> 2] = $32;
var $34 = $rgData + 38764 | 0;
var $35 = $rgData + 38792 | 0;
var $36 = $35;
for (var $$dest = $36 >> 2, $$stop = $$dest + 12e3; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $37 = $34;
HEAP32[$37 >> 2] = 0;
HEAP32[$37 + 4 >> 2] = 0;
HEAP32[$37 + 8 >> 2] = 0;
HEAP32[$37 + 12 >> 2] = 0;
HEAP32[$37 + 16 >> 2] = 0;
var $_0 = 1;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
_ResetSampleFrequency["X"] = 1;
function _AnalyzeSamples($rgData, $left_samples, $right_samples, $num_samples, $num_channels) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($num_samples | 0) == 0;
if ($1) {
var $_0 = 1;
label = 27;
break;
} else {
label = 3;
break;
}
case 3:
if (($num_channels | 0) == 1) {
label = 4;
break;
} else if (($num_channels | 0) == 2) {
var $_0134 = $right_samples;
label = 5;
break;
} else {
var $_0 = 0;
label = 27;
break;
}
case 4:
var $_0134 = $left_samples;
label = 5;
break;
case 5:
var $_0134;
var $5 = $num_samples >>> 0 < 10;
var $6 = $rgData + 40 | 0;
var $7 = $6;
var $8 = $left_samples;
if ($5) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $10 = $num_samples << 2;
_memcpy($7, $8, $10);
var $11 = $rgData + 19420 | 0;
var $12 = $11;
var $13 = $_0134;
_memcpy($12, $13, $10);
label = 8;
break;
case 7:
for (var $$src = $8 >> 2, $$dest = $7 >> 2, $$stop = $$src + 10; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $15 = $rgData + 19420 | 0;
var $16 = $15;
var $17 = $_0134;
for (var $$src = $17 >> 2, $$dest = $16 >> 2, $$stop = $$src + 10; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 8;
break;
case 8:
var $18 = $rgData + 38760 | 0;
var $19 = $rgData + 38764 | 0;
var $20 = $rgData + 80 | 0;
var $21 = $rgData + 19460 | 0;
var $22 = $rgData + 9728 | 0;
var $23 = $rgData + 38784 | 0;
var $24 = $rgData + 29108 | 0;
var $25 = $rgData + 19376 | 0;
var $26 = $rgData + 38756 | 0;
var $27 = $rgData + 38768 | 0;
var $28 = $rgData + 38776 | 0;
var $29 = $rgData + 9732 | 0;
var $30 = $29;
var $31 = $rgData + 29112 | 0;
var $32 = $31;
var $33 = $rgData + 84 | 0;
var $34 = $33;
var $35 = $rgData + 19464 | 0;
var $36 = $35;
var $37 = $rgData + 38768 | 0;
var $38 = $rgData + 38776 | 0;
var $39 = $rgData + 38768 | 0;
var $40 = $rgData + 38776 | 0;
var $cursamplepos_0 = 0;
var $batchsamples_0 = $num_samples;
label = 9;
break;
case 9:
var $batchsamples_0;
var $cursamplepos_0;
var $42 = ($batchsamples_0 | 0) > 0;
if ($42) {
label = 10;
break;
} else {
label = 24;
break;
}
case 10:
var $44 = HEAP32[$18 >> 2];
var $45 = HEAP32[$19 >> 2];
var $46 = $44 - $45 | 0;
var $47 = ($batchsamples_0 | 0) > ($46 | 0);
var $_batchsamples_0 = $47 ? $46 : $batchsamples_0;
var $48 = ($cursamplepos_0 | 0) < 10;
if ($48) {
label = 11;
break;
} else {
var $cursamples_0 = $_batchsamples_0;
var $_0134_pn = $_0134;
var $left_samples_pn = $left_samples;
label = 12;
break;
}
case 11:
var $50 = HEAP32[$20 >> 2];
var $51 = HEAP32[$21 >> 2];
var $52 = 10 - $cursamplepos_0 | 0;
var $53 = ($_batchsamples_0 | 0) > ($52 | 0);
var $__batchsamples_0 = $53 ? $52 : $_batchsamples_0;
var $cursamples_0 = $__batchsamples_0;
var $_0134_pn = $51;
var $left_samples_pn = $50;
label = 12;
break;
case 12:
var $left_samples_pn;
var $_0134_pn;
var $cursamples_0;
var $curright_0 = $_0134_pn + ($cursamplepos_0 << 2) | 0;
var $curleft_0 = $left_samples_pn + ($cursamplepos_0 << 2) | 0;
var $55 = HEAP32[$22 >> 2];
var $56 = HEAP32[$19 >> 2];
var $57 = $55 + ($56 << 2) | 0;
var $58 = HEAP32[$23 >> 2];
var $59 = 5388128 + $58 * 84 | 0;
_filterYule($curleft_0, $57, $cursamples_0, $59);
var $60 = HEAP32[$24 >> 2];
var $61 = HEAP32[$19 >> 2];
var $62 = $60 + ($61 << 2) | 0;
var $63 = HEAP32[$23 >> 2];
var $64 = 5388128 + $63 * 84 | 0;
_filterYule($curright_0, $62, $cursamples_0, $64);
var $65 = HEAP32[$22 >> 2];
var $66 = HEAP32[$19 >> 2];
var $67 = $65 + ($66 << 2) | 0;
var $68 = HEAP32[$25 >> 2];
var $69 = $68 + ($66 << 2) | 0;
var $70 = HEAP32[$23 >> 2];
var $71 = 5388884 + $70 * 20 | 0;
_filterButter($67, $69, $cursamples_0, $71);
var $72 = HEAP32[$24 >> 2];
var $73 = HEAP32[$19 >> 2];
var $74 = $72 + ($73 << 2) | 0;
var $75 = HEAP32[$26 >> 2];
var $76 = $75 + ($73 << 2) | 0;
var $77 = HEAP32[$23 >> 2];
var $78 = 5388884 + $77 * 20 | 0;
_filterButter($74, $76, $cursamples_0, $78);
var $79 = HEAP32[$25 >> 2];
var $80 = HEAP32[$19 >> 2];
var $81 = $79 + ($80 << 2) | 0;
var $82 = HEAP32[$26 >> 2];
var $83 = $82 + ($80 << 2) | 0;
var $84 = ($cursamples_0 | 0) % 8;
var $85 = ($84 | 0) == 0;
if ($85) {
var $curleft_1_lcssa = $81;
var $curright_1_lcssa = $83;
label = 16;
break;
} else {
label = 13;
break;
}
case 13:
var $86 = $80 + $84 | 0;
var $scevgep = $82 + ($86 << 2) | 0;
var $curleft_1138 = $81;
var $curright_1139 = $83;
var $i_0140 = $84;
label = 14;
break;
case 14:
var $i_0140;
var $curright_1139;
var $curleft_1138;
var $88 = $i_0140 - 1 | 0;
var $89 = $curleft_1138 + 4 | 0;
var $90 = HEAPF32[$curleft_1138 >> 2];
var $91 = $90;
var $92 = _fsqr($91);
var $93 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$39 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$39 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $94 = $92 + $93;
HEAPF64[tempDoublePtr >> 3] = $94, HEAP32[$39 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$39 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $95 = $curright_1139 + 4 | 0;
var $96 = HEAPF32[$curright_1139 >> 2];
var $97 = $96;
var $98 = _fsqr($97);
var $99 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$40 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$40 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $100 = $98 + $99;
HEAPF64[tempDoublePtr >> 3] = $100, HEAP32[$40 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$40 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $101 = ($88 | 0) == 0;
if ($101) {
label = 15;
break;
} else {
var $curleft_1138 = $89;
var $curright_1139 = $95;
var $i_0140 = $88;
label = 14;
break;
}
case 15:
var $scevgep149 = $79 + ($86 << 2) | 0;
var $curleft_1_lcssa = $scevgep149;
var $curright_1_lcssa = $scevgep;
label = 16;
break;
case 16:
var $curright_1_lcssa;
var $curleft_1_lcssa;
var $cursamples_0_off = $cursamples_0 + 7 | 0;
var $103 = $cursamples_0_off >>> 0 < 15;
if ($103) {
label = 19;
break;
} else {
label = 17;
break;
}
case 17:
var $104 = ($cursamples_0 | 0) / 8 & -1;
var $curleft_2142 = $curleft_1_lcssa;
var $curright_2143 = $curright_1_lcssa;
var $i_1144 = $104;
label = 18;
break;
case 18:
var $i_1144;
var $curright_2143;
var $curleft_2142;
var $106 = $i_1144 - 1 | 0;
var $107 = HEAPF32[$curleft_2142 >> 2];
var $108 = $107;
var $109 = _fsqr($108);
var $110 = $curleft_2142 + 4 | 0;
var $111 = HEAPF32[$110 >> 2];
var $112 = $111;
var $113 = _fsqr($112);
var $114 = $109 + $113;
var $115 = $curleft_2142 + 8 | 0;
var $116 = HEAPF32[$115 >> 2];
var $117 = $116;
var $118 = _fsqr($117);
var $119 = $114 + $118;
var $120 = $curleft_2142 + 12 | 0;
var $121 = HEAPF32[$120 >> 2];
var $122 = $121;
var $123 = _fsqr($122);
var $124 = $119 + $123;
var $125 = $curleft_2142 + 16 | 0;
var $126 = HEAPF32[$125 >> 2];
var $127 = $126;
var $128 = _fsqr($127);
var $129 = $124 + $128;
var $130 = $curleft_2142 + 20 | 0;
var $131 = HEAPF32[$130 >> 2];
var $132 = $131;
var $133 = _fsqr($132);
var $134 = $129 + $133;
var $135 = $curleft_2142 + 24 | 0;
var $136 = HEAPF32[$135 >> 2];
var $137 = $136;
var $138 = _fsqr($137);
var $139 = $134 + $138;
var $140 = $curleft_2142 + 28 | 0;
var $141 = HEAPF32[$140 >> 2];
var $142 = $141;
var $143 = _fsqr($142);
var $144 = $139 + $143;
var $145 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$37 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$37 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $146 = $145 + $144;
HEAPF64[tempDoublePtr >> 3] = $146, HEAP32[$37 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$37 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $147 = $curleft_2142 + 32 | 0;
var $148 = HEAPF32[$curright_2143 >> 2];
var $149 = $148;
var $150 = _fsqr($149);
var $151 = $curright_2143 + 4 | 0;
var $152 = HEAPF32[$151 >> 2];
var $153 = $152;
var $154 = _fsqr($153);
var $155 = $150 + $154;
var $156 = $curright_2143 + 8 | 0;
var $157 = HEAPF32[$156 >> 2];
var $158 = $157;
var $159 = _fsqr($158);
var $160 = $155 + $159;
var $161 = $curright_2143 + 12 | 0;
var $162 = HEAPF32[$161 >> 2];
var $163 = $162;
var $164 = _fsqr($163);
var $165 = $160 + $164;
var $166 = $curright_2143 + 16 | 0;
var $167 = HEAPF32[$166 >> 2];
var $168 = $167;
var $169 = _fsqr($168);
var $170 = $165 + $169;
var $171 = $curright_2143 + 20 | 0;
var $172 = HEAPF32[$171 >> 2];
var $173 = $172;
var $174 = _fsqr($173);
var $175 = $170 + $174;
var $176 = $curright_2143 + 24 | 0;
var $177 = HEAPF32[$176 >> 2];
var $178 = $177;
var $179 = _fsqr($178);
var $180 = $175 + $179;
var $181 = $curright_2143 + 28 | 0;
var $182 = HEAPF32[$181 >> 2];
var $183 = $182;
var $184 = _fsqr($183);
var $185 = $180 + $184;
var $186 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$38 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$38 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $187 = $186 + $185;
HEAPF64[tempDoublePtr >> 3] = $187, HEAP32[$38 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$38 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $188 = $curright_2143 + 32 | 0;
var $189 = ($106 | 0) == 0;
if ($189) {
label = 19;
break;
} else {
var $curleft_2142 = $147;
var $curright_2143 = $188;
var $i_1144 = $106;
label = 18;
break;
}
case 19:
var $190 = $batchsamples_0 - $cursamples_0 | 0;
var $191 = $cursamples_0 + $cursamplepos_0 | 0;
var $192 = HEAP32[$19 >> 2];
var $193 = $192 + $cursamples_0 | 0;
HEAP32[$19 >> 2] = $193;
var $194 = HEAP32[$18 >> 2];
var $195 = ($193 | 0) == ($194 | 0);
if ($195) {
label = 20;
break;
} else {
label = 23;
break;
}
case 20:
var $197 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$27 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$27 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $198 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$28 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$28 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $199 = $197 + $198;
var $200 = $193 | 0;
var $201 = $199 / $200;
var $202 = $201 * .5;
var $203 = $202 + 1e-37;
var $204 = _log10($203);
var $205 = $204 * 1e3;
var $206 = $205 > 0;
if ($206) {
label = 21;
break;
} else {
var $210 = 0;
label = 22;
break;
}
case 21:
var $208 = $205 >= 0 ? Math.floor($205) : Math.ceil($205);
var $210 = $208;
label = 22;
break;
case 22:
var $210;
var $211 = $210 >>> 0 > 11999;
var $_ = $211 ? 11999 : $210;
var $212 = $rgData + 38792 + ($_ << 2) | 0;
var $213 = HEAP32[$212 >> 2];
var $214 = $213 + 1 | 0;
HEAP32[$212 >> 2] = $214;
var $215 = $27;
HEAP32[$215 >> 2] = 0;
HEAP32[$215 + 4 >> 2] = 0;
HEAP32[$215 + 8 >> 2] = 0;
HEAP32[$215 + 12 >> 2] = 0;
var $216 = HEAP32[$19 >> 2];
var $217 = $rgData + 9732 + ($216 << 2) | 0;
var $218 = $217;
_memmove($30, $218, 40, 4, 0);
var $219 = HEAP32[$19 >> 2];
var $220 = $rgData + 29112 + ($219 << 2) | 0;
var $221 = $220;
_memmove($32, $221, 40, 4, 0);
var $222 = HEAP32[$19 >> 2];
var $223 = $rgData + 84 + ($222 << 2) | 0;
var $224 = $223;
_memmove($34, $224, 40, 4, 0);
var $225 = HEAP32[$19 >> 2];
var $226 = $rgData + 19464 + ($225 << 2) | 0;
var $227 = $226;
_memmove($36, $227, 40, 4, 0);
HEAP32[$19 >> 2] = 0;
label = 23;
break;
case 23:
var $229 = HEAP32[$19 >> 2];
var $230 = HEAP32[$18 >> 2];
var $231 = ($229 | 0) > ($230 | 0);
if ($231) {
var $_0 = 0;
label = 27;
break;
} else {
var $cursamplepos_0 = $191;
var $batchsamples_0 = $190;
label = 9;
break;
}
case 24:
var $233 = $rgData;
if ($5) {
label = 25;
break;
} else {
label = 26;
break;
}
case 25:
var $235 = $rgData + ($num_samples << 2) | 0;
var $236 = $235;
var $237 = 10 - $num_samples | 0;
var $238 = $237 << 2;
_memmove($233, $236, $238, 4, 0);
var $239 = $rgData + 19380 | 0;
var $240 = $239;
var $241 = $rgData + 19380 + ($num_samples << 2) | 0;
var $242 = $241;
_memmove($240, $242, $238, 4, 0);
var $243 = $rgData + ($237 << 2) | 0;
var $244 = $243;
var $245 = $num_samples << 2;
_memcpy($244, $8, $245);
var $246 = $rgData + 19380 + ($237 << 2) | 0;
var $247 = $246;
var $248 = $_0134;
_memcpy($247, $248, $245);
var $_0 = 1;
label = 27;
break;
case 26:
var $_sum = $num_samples - 10 | 0;
var $250 = $left_samples + ($_sum << 2) | 0;
var $251 = $250;
for (var $$src = $251 >> 2, $$dest = $233 >> 2, $$stop = $$src + 10; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $252 = $rgData + 19380 | 0;
var $253 = $252;
var $254 = $_0134 + ($_sum << 2) | 0;
var $255 = $254;
for (var $$src = $255 >> 2, $$dest = $253 >> 2, $$stop = $$src + 10; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $_0 = 1;
label = 27;
break;
case 27:
var $_0;
return $_0;
}
}
_AnalyzeSamples["X"] = 1;
function _hasUcs2ByteOrderMarker($bom) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if ($bom << 16 >> 16 == -2 | $bom << 16 >> 16 == -257) {
var $_0 = 1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _fsqr($d) {
return $d * $d;
}
function _filterYule($input, $output, $nSamples, $kernel) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($nSamples | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $kernel + 4 | 0;
var $3 = $kernel + 8 | 0;
var $4 = $kernel + 12 | 0;
var $5 = $kernel + 16 | 0;
var $6 = $kernel + 20 | 0;
var $7 = $kernel + 24 | 0;
var $8 = $kernel + 28 | 0;
var $9 = $kernel + 32 | 0;
var $10 = $kernel + 36 | 0;
var $11 = $kernel + 40 | 0;
var $12 = $kernel + 44 | 0;
var $13 = $kernel + 48 | 0;
var $14 = $kernel + 52 | 0;
var $15 = $kernel + 56 | 0;
var $16 = $kernel + 60 | 0;
var $17 = $kernel + 64 | 0;
var $18 = $kernel + 68 | 0;
var $19 = $kernel + 72 | 0;
var $20 = $kernel + 76 | 0;
var $21 = $kernel + 80 | 0;
var $_04748 = $output;
var $_04649 = $nSamples;
var $_050 = $input;
label = 4;
break;
case 4:
var $_050;
var $_04649;
var $_04748;
var $23 = $_04649 - 1 | 0;
var $24 = HEAPF32[$_050 >> 2];
var $25 = HEAPF32[$kernel >> 2];
var $26 = $24 * $25;
var $27 = $26;
var $28 = $27 + 1e-10;
var $29 = $_04748 - 4 | 0;
var $30 = HEAPF32[$29 >> 2];
var $31 = HEAPF32[$2 >> 2];
var $32 = $30 * $31;
var $33 = $32;
var $34 = $28 - $33;
var $35 = $_050 - 4 | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = HEAPF32[$3 >> 2];
var $38 = $36 * $37;
var $39 = $38;
var $40 = $34 + $39;
var $41 = $_04748 - 8 | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = HEAPF32[$4 >> 2];
var $44 = $42 * $43;
var $45 = $44;
var $46 = $40 - $45;
var $47 = $_050 - 8 | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = HEAPF32[$5 >> 2];
var $50 = $48 * $49;
var $51 = $50;
var $52 = $46 + $51;
var $53 = $_04748 - 12 | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = HEAPF32[$6 >> 2];
var $56 = $54 * $55;
var $57 = $56;
var $58 = $52 - $57;
var $59 = $_050 - 12 | 0;
var $60 = HEAPF32[$59 >> 2];
var $61 = HEAPF32[$7 >> 2];
var $62 = $60 * $61;
var $63 = $62;
var $64 = $58 + $63;
var $65 = $_04748 - 16 | 0;
var $66 = HEAPF32[$65 >> 2];
var $67 = HEAPF32[$8 >> 2];
var $68 = $66 * $67;
var $69 = $68;
var $70 = $64 - $69;
var $71 = $_050 - 16 | 0;
var $72 = HEAPF32[$71 >> 2];
var $73 = HEAPF32[$9 >> 2];
var $74 = $72 * $73;
var $75 = $74;
var $76 = $70 + $75;
var $77 = $_04748 - 20 | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = HEAPF32[$10 >> 2];
var $80 = $78 * $79;
var $81 = $80;
var $82 = $76 - $81;
var $83 = $_050 - 20 | 0;
var $84 = HEAPF32[$83 >> 2];
var $85 = HEAPF32[$11 >> 2];
var $86 = $84 * $85;
var $87 = $86;
var $88 = $82 + $87;
var $89 = $_04748 - 24 | 0;
var $90 = HEAPF32[$89 >> 2];
var $91 = HEAPF32[$12 >> 2];
var $92 = $90 * $91;
var $93 = $92;
var $94 = $88 - $93;
var $95 = $_050 - 24 | 0;
var $96 = HEAPF32[$95 >> 2];
var $97 = HEAPF32[$13 >> 2];
var $98 = $96 * $97;
var $99 = $98;
var $100 = $94 + $99;
var $101 = $_04748 - 28 | 0;
var $102 = HEAPF32[$101 >> 2];
var $103 = HEAPF32[$14 >> 2];
var $104 = $102 * $103;
var $105 = $104;
var $106 = $100 - $105;
var $107 = $_050 - 28 | 0;
var $108 = HEAPF32[$107 >> 2];
var $109 = HEAPF32[$15 >> 2];
var $110 = $108 * $109;
var $111 = $110;
var $112 = $106 + $111;
var $113 = $_04748 - 32 | 0;
var $114 = HEAPF32[$113 >> 2];
var $115 = HEAPF32[$16 >> 2];
var $116 = $114 * $115;
var $117 = $116;
var $118 = $112 - $117;
var $119 = $_050 - 32 | 0;
var $120 = HEAPF32[$119 >> 2];
var $121 = HEAPF32[$17 >> 2];
var $122 = $120 * $121;
var $123 = $122;
var $124 = $118 + $123;
var $125 = $_04748 - 36 | 0;
var $126 = HEAPF32[$125 >> 2];
var $127 = HEAPF32[$18 >> 2];
var $128 = $126 * $127;
var $129 = $128;
var $130 = $124 - $129;
var $131 = $_050 - 36 | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = HEAPF32[$19 >> 2];
var $134 = $132 * $133;
var $135 = $134;
var $136 = $130 + $135;
var $137 = $_04748 - 40 | 0;
var $138 = HEAPF32[$137 >> 2];
var $139 = HEAPF32[$20 >> 2];
var $140 = $138 * $139;
var $141 = $140;
var $142 = $136 - $141;
var $143 = $_050 - 40 | 0;
var $144 = HEAPF32[$143 >> 2];
var $145 = HEAPF32[$21 >> 2];
var $146 = $144 * $145;
var $147 = $146;
var $148 = $142 + $147;
var $149 = $148;
HEAPF32[$_04748 >> 2] = $149;
var $150 = $_04748 + 4 | 0;
var $151 = $_050 + 4 | 0;
var $152 = ($23 | 0) == 0;
if ($152) {
label = 5;
break;
} else {
var $_04748 = $150;
var $_04649 = $23;
var $_050 = $151;
label = 4;
break;
}
case 5:
return;
}
}
_filterYule["X"] = 1;
function _filterButter($input, $output, $nSamples, $kernel) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($nSamples | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $kernel + 4 | 0;
var $3 = $kernel + 8 | 0;
var $4 = $kernel + 12 | 0;
var $5 = $kernel + 16 | 0;
var $_01516 = $output;
var $_01417 = $nSamples;
var $_018 = $input;
label = 4;
break;
case 4:
var $_018;
var $_01417;
var $_01516;
var $7 = $_01417 - 1 | 0;
var $8 = HEAPF32[$_018 >> 2];
var $9 = HEAPF32[$kernel >> 2];
var $10 = $8 * $9;
var $11 = $_01516 - 4 | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = HEAPF32[$2 >> 2];
var $14 = $12 * $13;
var $15 = $10 - $14;
var $16 = $_018 - 4 | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = HEAPF32[$3 >> 2];
var $19 = $17 * $18;
var $20 = $15 + $19;
var $21 = $_01516 - 8 | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = HEAPF32[$4 >> 2];
var $24 = $22 * $23;
var $25 = $20 - $24;
var $26 = $_018 - 8 | 0;
var $27 = HEAPF32[$26 >> 2];
var $28 = HEAPF32[$5 >> 2];
var $29 = $27 * $28;
var $30 = $25 + $29;
HEAPF32[$_01516 >> 2] = $30;
var $31 = $_01516 + 4 | 0;
var $32 = $_018 + 4 | 0;
var $33 = ($7 | 0) == 0;
if ($33) {
label = 5;
break;
} else {
var $_01516 = $31;
var $_01417 = $7;
var $_018 = $32;
label = 4;
break;
}
case 5:
return;
}
}
function _id3tag_add_v2($gfp) {
var $3 = HEAP32[$gfp + 288 >> 2] + 85692 | 0;
HEAP32[$3 >> 2] = HEAP32[$3 >> 2] & -7 | 2;
return;
}
function _id3tag_v1_only($gfp) {
var $3 = HEAP32[$gfp + 288 >> 2] + 85692 | 0;
HEAP32[$3 >> 2] = HEAP32[$3 >> 2] & -15 | 4;
return;
}
function _id3tag_v2_only($gfp) {
var $3 = HEAP32[$gfp + 288 >> 2] + 85692 | 0;
HEAP32[$3 >> 2] = HEAP32[$3 >> 2] & -13 | 8;
return;
}
function _id3tag_space_v1($gfp) {
var $3 = HEAP32[$gfp + 288 >> 2] + 85692 | 0;
HEAP32[$3 >> 2] = HEAP32[$3 >> 2] & -25 | 16;
return;
}
function _id3tag_set_pad($gfp, $n) {
var $2 = HEAP32[$gfp + 288 >> 2];
var $3 = $2 + 85692 | 0;
HEAP32[$3 >> 2] = HEAP32[$3 >> 2] & -39 | 34;
HEAP32[$2 + 85732 >> 2] = $n;
return;
}
function _toID3v2TagId($s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($s | 0) == 0;
if ($1) {
var $_0 = 0;
label = 6;
break;
} else {
var $i_0 = 0;
var $x_0 = 0;
label = 3;
break;
}
case 3:
var $x_0;
var $i_0;
var $2 = $i_0 >>> 0 < 4;
if ($2) {
label = 4;
break;
} else {
var $_0 = $x_0;
label = 6;
break;
}
case 4:
var $4 = $s + $i_0 | 0;
var $5 = HEAP8[$4];
var $6 = $5 << 24 >> 24 == 0;
if ($6) {
var $_0 = $x_0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = $5 & 255;
var $9 = $x_0 << 8;
var $10 = $8 | $9;
var $_off = $5 - 65 & 255;
var $11 = ($_off & 255) > 25;
var $_off14 = $5 - 48 & 255;
var $12 = ($_off14 & 255) > 9;
var $or_cond = $11 & $12;
var $13 = $i_0 + 1 | 0;
if ($or_cond) {
var $_0 = 0;
label = 6;
break;
} else {
var $i_0 = $13;
var $x_0 = $10;
label = 3;
break;
}
case 6:
var $_0;
return $_0;
}
}
function _GetTitleGain($rgData) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $rgData + 38792 | 0;
var $2 = _analyzeResult($1);
var $i_026 = 0;
label = 3;
break;
case 3:
var $i_026;
var $4 = $rgData + 38792 + ($i_026 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $rgData + 86792 + ($i_026 << 2) | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 + $5 | 0;
HEAP32[$6 >> 2] = $8;
HEAP32[$4 >> 2] = 0;
var $9 = $i_026 + 1 | 0;
var $exitcond = ($9 | 0) == 12e3;
if ($exitcond) {
label = 4;
break;
} else {
var $i_026 = $9;
label = 3;
break;
}
case 4:
var $10 = $rgData + 29112 | 0;
var $11 = $rgData + 19464 | 0;
var $12 = $rgData + 19380 | 0;
var $13 = $rgData + 9732 | 0;
var $14 = $rgData + 84 | 0;
var $15 = $rgData + 38764 | 0;
var $16 = $rgData;
for (var $$dest = $16 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $17 = $14;
for (var $$dest = $17 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $18 = $13;
for (var $$dest = $18 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $19 = $12;
for (var $$dest = $19 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $20 = $11;
for (var $$dest = $20 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $21 = $10;
for (var $$dest = $21 >> 2, $$stop = $$dest + 10; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $22 = $15;
HEAP32[$22 >> 2] = 0;
HEAP32[$22 + 4 >> 2] = 0;
HEAP32[$22 + 8 >> 2] = 0;
HEAP32[$22 + 12 >> 2] = 0;
HEAP32[$22 + 16 >> 2] = 0;
return $2;
}
}
function _analyzeResult($Array) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $elems_01 = 0;
var $i_02 = 0;
label = 3;
break;
case 3:
var $i_02;
var $elems_01;
var $2 = $Array + ($i_02 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 + $elems_01 | 0;
var $5 = $i_02 + 1 | 0;
var $exitcond = ($5 | 0) == 12e3;
if ($exitcond) {
label = 4;
break;
} else {
var $elems_01 = $4;
var $i_02 = $5;
label = 3;
break;
}
case 4:
var $7 = ($4 | 0) == 0;
if ($7) {
var $_0 = -24601;
label = 9;
break;
} else {
label = 5;
break;
}
case 5:
var $9 = $4 >>> 0;
var $10 = $9 * .050000000000000044;
var $11 = Math.ceil($10);
var $12 = $11 >= 0 ? Math.floor($11) : Math.ceil($11);
var $i_1 = 12e3;
var $sum_0 = 0;
label = 6;
break;
case 6:
var $sum_0;
var $i_1;
var $14 = $i_1 - 1 | 0;
var $15 = ($i_1 | 0) == 0;
if ($15) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $17 = $Array + ($14 << 2) | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $18 + $sum_0 | 0;
var $20 = $19 >>> 0 < $12 >>> 0;
if ($20) {
var $i_1 = $14;
var $sum_0 = $19;
label = 6;
break;
} else {
label = 8;
break;
}
case 8:
var $22 = $14 >>> 0;
var $23 = $22 / 100;
var $24 = 64.81999969482422 - $23;
var $_0 = $24;
label = 9;
break;
case 9:
var $_0;
return $_0;
}
}
function _id3tag_genre_list($handler, $cookie) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($handler | 0) == 0;
if ($1) {
label = 4;
break;
} else {
var $i_07 = 0;
label = 3;
break;
}
case 3:
var $i_07;
var $2 = 5345800 + ($i_07 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = 5345208 + ($3 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
FUNCTION_TABLE[$handler]($3, $5, $cookie);
var $6 = $i_07 + 1 | 0;
var $exitcond = ($6 | 0) == 148;
if ($exitcond) {
label = 4;
break;
} else {
var $i_07 = $6;
label = 3;
break;
}
case 4:
return;
}
}
function _id3tag_init($gfp) {
var $2 = HEAP32[$gfp + 288 >> 2];
_free_id3tag($2);
var $4 = $2 + 85692 | 0;
for (var $$dest = $4 >> 2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
HEAP32[$2 + 85720 >> 2] = 255;
HEAP32[$2 + 85732 >> 2] = 128;
_id3v2AddLameVersion($gfp);
return;
}
function _id3v2AddLameVersion($gfp) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 1024 | 0;
var $1 = __stackBase__ | 0;
_sprintf($1, 5382860, (tempInt = STACKTOP, STACKTOP = STACKTOP + 12 | 0, HEAP32[tempInt >> 2] = 5383868, HEAP32[tempInt + 4 >> 2] = 5384648, HEAP32[tempInt + 8 >> 2] = 5384668, tempInt));
_copyV1ToV2($gfp, 1414746949, $1);
STACKTOP = __stackBase__;
return;
}
function _id3tag_pad_v2($gfp) {
_id3tag_set_pad($gfp, 128);
return;
}
function _id3tag_set_albumart($gfp, $image, $size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $size >>> 0 > 2;
if ($3) {
label = 3;
break;
} else {
var $_0 = -1;
label = 15;
break;
}
case 3:
var $5 = HEAP8[$image];
var $6 = $5 << 24 >> 24 == -1;
if ($6) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $8 = $image + 1 | 0;
var $9 = HEAP8[$8];
var $10 = $9 << 24 >> 24 == -40;
if ($10) {
var $mimetype_0 = 1;
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
var $12 = $size >>> 0 > 4;
if ($12) {
label = 6;
break;
} else {
var $_0 = -1;
label = 15;
break;
}
case 6:
var $14 = HEAP8[$image];
var $15 = $14 << 24 >> 24 == -119;
if ($15) {
label = 7;
break;
} else {
label = 9;
break;
}
case 7:
var $17 = $image + 1 | 0;
var $18 = _strncmp($17, 5383312, 3);
var $19 = ($18 | 0) == 0;
if ($19) {
var $mimetype_0 = 2;
label = 10;
break;
} else {
label = 8;
break;
}
case 8:
if ($12) {
label = 9;
break;
} else {
var $_0 = -1;
label = 15;
break;
}
case 9:
var $21 = _strncmp($image, 5386088, 4);
var $22 = ($21 | 0) == 0;
if ($22) {
var $mimetype_0 = 3;
label = 10;
break;
} else {
var $_0 = -1;
label = 15;
break;
}
case 10:
var $mimetype_0;
var $24 = $2 + 85724 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = ($25 | 0) == 0;
if ($26) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
_free($25);
HEAP32[$24 >> 2] = 0;
var $28 = $2 + 85728 | 0;
HEAP32[$28 >> 2] = 0;
var $29 = $2 + 85736 | 0;
HEAP32[$29 >> 2] = 0;
label = 12;
break;
case 12:
var $31 = ($size | 0) == 0;
if ($31) {
var $_0 = 0;
label = 15;
break;
} else {
label = 13;
break;
}
case 13:
var $33 = _calloc($size, 1);
HEAP32[$24 >> 2] = $33;
var $34 = ($33 | 0) == 0;
if ($34) {
var $_0 = 0;
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
_memcpy($33, $image, $size);
var $36 = $2 + 85728 | 0;
HEAP32[$36 >> 2] = $size;
var $37 = $2 + 85736 | 0;
HEAP32[$37 >> 2] = $mimetype_0;
var $38 = $2 + 85692 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = $39 | 1;
HEAP32[$38 >> 2] = $40;
_id3tag_add_v2($gfp);
var $_0 = 0;
label = 15;
break;
case 15:
var $_0;
return $_0;
}
}
_id3tag_set_albumart["X"] = 1;
function _id3tag_set_textinfo_utf16($gfp, $id, $text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _toID3v2TagId($id);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 14;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($text | 0) == 0;
if ($4) {
var $_0 = 0;
label = 14;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = HEAP16[$text >> 1];
var $7 = _hasUcs2ByteOrderMarker($6);
var $8 = ($7 | 0) == 0;
if ($8) {
var $_0 = -3;
label = 14;
break;
} else {
label = 5;
break;
}
case 5:
if (($1 | 0) == 1465407576 | ($1 | 0) == 1415075928 | ($1 | 0) == 1129270605) {
label = 6;
break;
} else if (($1 | 0) == 1413697358) {
label = 7;
break;
} else if (($1 | 0) == 1346589524) {
label = 8;
break;
} else if (($1 | 0) == 1431520594) {
label = 9;
break;
} else if (($1 | 0) == 1464223044) {
label = 10;
break;
} else {
label = 11;
break;
}
case 6:
var $11 = _id3tag_set_userinfo_ucs2($gfp, $1, $text);
var $_0 = $11;
label = 14;
break;
case 7:
var $13 = _id3tag_set_genre_utf16($gfp, $text);
var $_0 = $13;
label = 14;
break;
case 8:
var $15 = _id3v2_add_ucs2($gfp, $1, 0, 0, $text);
var $_0 = $15;
label = 14;
break;
case 9:
var $17 = _id3v2_add_ucs2($gfp, $1, 5385684, $text, 0);
var $_0 = $17;
label = 14;
break;
case 10:
var $19 = _id3v2_add_ucs2($gfp, $1, 0, $text, 0);
var $_0 = $19;
label = 14;
break;
case 11:
var $21 = _isFrameIdMatching($1, 1409286144);
var $22 = ($21 | 0) == 0;
if ($22) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $24 = _isFrameIdMatching($1, 1459617792);
var $25 = ($24 | 0) == 0;
if ($25) {
var $_0 = -255;
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $27 = _id3v2_add_ucs2($gfp, $1, 0, 0, $text);
var $_0 = $27;
label = 14;
break;
case 14:
var $_0;
return $_0;
}
}
function _id3tag_set_userinfo_ucs2($gfp, $id, $fieldvalue) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $dsc = __stackBase__;
var $val = __stackBase__ + 4;
var $1 = _fromLatin1Char($fieldvalue);
var $2 = _local_ucs2_pos($fieldvalue, $1);
var $3 = ($2 | 0) > -1;
if ($3) {
label = 3;
break;
} else {
var $rc_0 = -7;
label = 4;
break;
}
case 3:
var $5 = _local_ucs2_strlen($fieldvalue);
HEAP32[$dsc >> 2] = 0;
HEAP32[$val >> 2] = 0;
_local_ucs2_substr($dsc, $fieldvalue, 0, $2);
var $6 = $2 + 1 | 0;
_local_ucs2_substr($val, $fieldvalue, $6, $5);
var $7 = HEAP32[$dsc >> 2];
var $8 = HEAP32[$val >> 2];
var $9 = _id3v2_add_ucs2($gfp, $id, 5385684, $7, $8);
var $10 = HEAP32[$dsc >> 2];
var $11 = $10;
_free($11);
var $12 = HEAP32[$val >> 2];
var $13 = $12;
_free($13);
var $rc_0 = $9;
label = 4;
break;
case 4:
var $rc_0;
STACKTOP = __stackBase__;
return $rc_0;
}
}
function _id3tag_set_genre_utf16($gfp, $text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($text | 0) == 0;
if ($3) {
var $_0 = -3;
label = 10;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = HEAP16[$text >> 1];
var $6 = _hasUcs2ByteOrderMarker($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = -3;
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = _maybeLatin1($text);
var $10 = ($9 | 0) == 0;
if ($10) {
label = 8;
break;
} else {
label = 5;
break;
}
case 5:
var $12 = _local_strdup_utf16_to_latin1($text);
var $13 = _lookupGenre($12);
_free($12);
var $14 = ($13 | 0) == -1;
if ($14) {
var $_0 = -1;
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $16 = ($13 | 0) > -1;
if ($16) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $18 = $2 + 85692 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $19 | 1;
HEAP32[$18 >> 2] = $20;
var $21 = $2 + 85720 | 0;
HEAP32[$21 >> 2] = $13;
var $22 = 5345208 + ($13 << 2) | 0;
var $23 = HEAP32[$22 >> 2];
_copyV1ToV2($gfp, 1413697358, $23);
var $_0 = 0;
label = 10;
break;
case 8:
var $25 = _id3v2_add_ucs2($gfp, 1413697358, 0, 0, $text);
var $26 = ($25 | 0) == 0;
if ($26) {
label = 9;
break;
} else {
var $_0 = $25;
label = 10;
break;
}
case 9:
var $28 = $2 + 85692 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $29 | 1;
HEAP32[$28 >> 2] = $30;
var $31 = $2 + 85720 | 0;
HEAP32[$31 >> 2] = 12;
var $_0 = 0;
label = 10;
break;
case 10:
var $_0;
return $_0;
}
}
function _id3v2_add_ucs2($gfp, $frame_id, $lang, $desc, $text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = -255;
label = 13;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
var $_0 = -255;
label = 13;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $4 + 85692 | 0;
var $8 = _findNode($7, $frame_id, 0);
var $9 = _isMultiFrame($frame_id);
var $10 = ($9 | 0) == 0;
if ($10) {
var $node_1 = $8;
label = 9;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = ($8 | 0) == 0;
if ($11) {
label = 10;
break;
} else {
var $node_032 = $8;
label = 6;
break;
}
case 6:
var $node_032;
var $12 = $node_032 + 8 | 0;
var $13 = _isSameLang($12, $lang);
var $14 = ($13 | 0) == 0;
if ($14) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $16 = _isSameDescriptorUcs2($node_032, $desc);
var $17 = ($16 | 0) == 0;
if ($17) {
label = 8;
break;
} else {
var $node_1 = $node_032;
label = 9;
break;
}
case 8:
var $19 = _findNode($7, $frame_id, $node_032);
var $20 = ($19 | 0) == 0;
if ($20) {
label = 10;
break;
} else {
var $node_032 = $19;
label = 6;
break;
}
case 9:
var $node_1;
var $21 = ($node_1 | 0) == 0;
if ($21) {
label = 10;
break;
} else {
var $node_2 = $node_1;
label = 12;
break;
}
case 10:
var $22 = _calloc(1, 36);
var $23 = $22;
var $24 = ($22 | 0) == 0;
if ($24) {
var $_0 = -254;
label = 13;
break;
} else {
label = 11;
break;
}
case 11:
_appendNode($7, $23);
var $node_2 = $23;
label = 12;
break;
case 12:
var $node_2;
var $27 = $node_2 + 4 | 0;
HEAP32[$27 >> 2] = $frame_id;
var $28 = $node_2 + 8 | 0;
_setLang($28, $lang);
var $29 = $node_2 + 12 | 0;
var $30 = $29;
var $31 = _local_ucs2_strdup($30, $desc);
var $32 = $node_2 + 16 | 0;
HEAP32[$32 >> 2] = $31;
var $33 = $node_2 + 20 | 0;
HEAP32[$33 >> 2] = 1;
var $34 = $node_2 + 24 | 0;
var $35 = $34;
var $36 = _local_ucs2_strdup($35, $text);
var $37 = $node_2 + 28 | 0;
HEAP32[$37 >> 2] = $36;
var $38 = $node_2 + 32 | 0;
HEAP32[$38 >> 2] = 1;
var $39 = $7 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $40 | 3;
HEAP32[$39 >> 2] = $41;
var $_0 = 0;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
_id3v2_add_ucs2["X"] = 1;
function _isFrameIdMatching($id, $mask) {
return (_frame_id_matches($id, $mask) | 0) == 0 & 1;
}
function _id3tag_set_textinfo_ucs2($gfp, $id, $text) {
return _id3tag_set_textinfo_utf16($gfp, $id, $text);
}
function _id3tag_set_textinfo_latin1($gfp, $id, $text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _toID3v2TagId($id);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 13;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($text | 0) == 0;
if ($4) {
var $_0 = 0;
label = 13;
break;
} else {
label = 4;
break;
}
case 4:
if (($1 | 0) == 1465407576 | ($1 | 0) == 1415075928 | ($1 | 0) == 1129270605) {
label = 5;
break;
} else if (($1 | 0) == 1413697358) {
label = 6;
break;
} else if (($1 | 0) == 1346589524) {
label = 7;
break;
} else if (($1 | 0) == 1431520594) {
label = 8;
break;
} else if (($1 | 0) == 1464223044) {
label = 9;
break;
} else {
label = 10;
break;
}
case 5:
var $7 = _id3tag_set_userinfo_latin1($gfp, $1, $text);
var $_0 = $7;
label = 13;
break;
case 6:
var $9 = _id3tag_set_genre($gfp, $text);
var $_0 = $9;
label = 13;
break;
case 7:
var $11 = _id3v2_add_latin1($gfp, $1, 0, 0, $text);
var $_0 = $11;
label = 13;
break;
case 8:
var $13 = _id3v2_add_latin1($gfp, $1, 5385684, $text, 0);
var $_0 = $13;
label = 13;
break;
case 9:
var $15 = _id3v2_add_latin1($gfp, $1, 0, $text, 0);
var $_0 = $15;
label = 13;
break;
case 10:
var $17 = _isFrameIdMatching($1, 1409286144);
var $18 = ($17 | 0) == 0;
if ($18) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $20 = _isFrameIdMatching($1, 1459617792);
var $21 = ($20 | 0) == 0;
if ($21) {
var $_0 = -255;
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $23 = _id3v2_add_latin1($gfp, $1, 0, 0, $text);
var $_0 = $23;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
function _id3tag_set_userinfo_latin1($gfp, $id, $fieldvalue) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $dup = __stackBase__;
var $1 = _local_char_pos($fieldvalue);
var $2 = ($1 | 0) > -1;
if ($2) {
label = 3;
break;
} else {
var $rc_0 = -7;
label = 4;
break;
}
case 3:
HEAP32[$dup >> 2] = 0;
var $4 = _local_strdup($dup, $fieldvalue);
var $5 = HEAP32[$dup >> 2];
var $6 = $5 + $1 | 0;
HEAP8[$6] = 0;
var $7 = HEAP32[$dup >> 2];
var $_sum = $1 + 1 | 0;
var $8 = $7 + $_sum | 0;
var $9 = _id3v2_add_latin1($gfp, $id, 5385684, $7, $8);
var $10 = HEAP32[$dup >> 2];
_free($10);
var $rc_0 = $9;
label = 4;
break;
case 4:
var $rc_0;
STACKTOP = __stackBase__;
return $rc_0;
}
}
function _id3tag_set_genre($gfp, $genre) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($genre | 0) == 0;
if ($3) {
var $_0 = 0;
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = HEAP8[$genre];
var $6 = $5 << 24 >> 24 == 0;
if ($6) {
var $_0 = 0;
label = 9;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = _lookupGenre($genre);
var $9 = ($8 | 0) == -1;
if ($9) {
var $_0 = -1;
label = 9;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $2 + 85692 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 | 1;
HEAP32[$11 >> 2] = $13;
var $14 = ($8 | 0) > -1;
var $15 = $2 + 85720 | 0;
if ($14) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
HEAP32[$15 >> 2] = $8;
var $17 = 5345208 + ($8 << 2) | 0;
var $18 = HEAP32[$17 >> 2];
var $_014 = $18;
label = 8;
break;
case 7:
HEAP32[$15 >> 2] = 12;
var $20 = HEAP32[$11 >> 2];
var $21 = $20 | 2;
HEAP32[$11 >> 2] = $21;
var $_014 = $genre;
label = 8;
break;
case 8:
var $_014;
_copyV1ToV2($gfp, 1413697358, $_014);
var $_0 = 0;
label = 9;
break;
case 9:
var $_0;
return $_0;
}
}
function _id3v2_add_latin1($gfp, $frame_id, $lang, $desc, $text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = -255;
label = 13;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
var $_0 = -255;
label = 13;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $4 + 85692 | 0;
var $8 = _findNode($7, $frame_id, 0);
var $9 = _isMultiFrame($frame_id);
var $10 = ($9 | 0) == 0;
if ($10) {
var $node_1 = $8;
label = 9;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = ($8 | 0) == 0;
if ($11) {
label = 10;
break;
} else {
var $node_032 = $8;
label = 6;
break;
}
case 6:
var $node_032;
var $12 = $node_032 + 8 | 0;
var $13 = _isSameLang($12, $lang);
var $14 = ($13 | 0) == 0;
if ($14) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $16 = _isSameDescriptor($node_032, $desc);
var $17 = ($16 | 0) == 0;
if ($17) {
label = 8;
break;
} else {
var $node_1 = $node_032;
label = 9;
break;
}
case 8:
var $19 = _findNode($7, $frame_id, $node_032);
var $20 = ($19 | 0) == 0;
if ($20) {
label = 10;
break;
} else {
var $node_032 = $19;
label = 6;
break;
}
case 9:
var $node_1;
var $21 = ($node_1 | 0) == 0;
if ($21) {
label = 10;
break;
} else {
var $node_2 = $node_1;
label = 12;
break;
}
case 10:
var $22 = _calloc(1, 36);
var $23 = $22;
var $24 = ($22 | 0) == 0;
if ($24) {
var $_0 = -254;
label = 13;
break;
} else {
label = 11;
break;
}
case 11:
_appendNode($7, $23);
var $node_2 = $23;
label = 12;
break;
case 12:
var $node_2;
var $27 = $node_2 + 4 | 0;
HEAP32[$27 >> 2] = $frame_id;
var $28 = $node_2 + 8 | 0;
_setLang($28, $lang);
var $29 = $node_2 + 12 | 0;
var $30 = _local_strdup($29, $desc);
var $31 = $node_2 + 16 | 0;
HEAP32[$31 >> 2] = $30;
var $32 = $node_2 + 20 | 0;
HEAP32[$32 >> 2] = 0;
var $33 = $node_2 + 24 | 0;
var $34 = _local_strdup($33, $text);
var $35 = $node_2 + 28 | 0;
HEAP32[$35 >> 2] = $34;
var $36 = $node_2 + 32 | 0;
HEAP32[$36 >> 2] = 0;
var $37 = $7 | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = $38 | 3;
HEAP32[$37 >> 2] = $39;
var $_0 = 0;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
_id3v2_add_latin1["X"] = 1;
function _id3tag_set_comment_latin1($gfp, $lang, $desc, $text) {
return _id3v2_add_latin1($gfp, 1129270605, $lang, $desc, $text);
}
function _id3tag_set_comment_utf16($gfp, $lang, $desc, $text) {
return _id3v2_add_ucs2($gfp, 1129270605, $lang, $desc, $text);
}
function _id3tag_set_comment_ucs2($gfp, $lang, $desc, $text) {
return _id3tag_set_comment_utf16($gfp, $lang, $desc, $text);
}
function _local_ucs2_strlen($s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($s | 0) == 0;
if ($1) {
var $n_1 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = HEAP16[$s >> 1];
var $3 = $2 << 16 >> 16 == 0;
if ($3) {
var $n_1 = 0;
label = 5;
break;
} else {
var $_03 = $s;
var $n_04 = 0;
label = 4;
break;
}
case 4:
var $n_04;
var $_03;
var $4 = $_03 + 2 | 0;
var $5 = $n_04 + 1 | 0;
var $6 = HEAP16[$4 >> 1];
var $7 = $6 << 16 >> 16 == 0;
if ($7) {
var $n_1 = $5;
label = 5;
break;
} else {
var $_03 = $4;
var $n_04 = $5;
label = 4;
break;
}
case 5:
var $n_1;
return $n_1;
}
}
function _test_tag_spec_flags($gfc, $tst) {
return (HEAP32[$gfc + 85692 >> 2] & $tst | 0) != 0 & 1;
}
function _sizeOfCommentNode($node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($node | 0) == 0;
if ($1) {
var $n_1 = 0;
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $node + 20 | 0;
var $4 = HEAP32[$3 >> 2];
var $cond = ($4 | 0) == 1;
var $5 = $node + 16 | 0;
var $6 = HEAP32[$5 >> 2];
if ($cond) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $6 + 15 | 0;
var $n_0 = $8;
label = 6;
break;
case 5:
var $10 = $6 << 1;
var $11 = $10 + 16 | 0;
var $n_0 = $11;
label = 6;
break;
case 6:
var $n_0;
var $13 = $node + 32 | 0;
var $14 = HEAP32[$13 >> 2];
var $cond1 = ($14 | 0) == 1;
var $15 = $node + 28 | 0;
var $16 = HEAP32[$15 >> 2];
if ($cond1) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $18 = $16 + $n_0 | 0;
var $n_1 = $18;
label = 9;
break;
case 8:
var $20 = $16 << 1;
var $21 = $20 + $n_0 | 0;
var $n_1 = $21;
label = 9;
break;
case 9:
var $n_1;
return $n_1;
}
}
function _id3tag_set_title($gfp, $title) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($title | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$title];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $4 + 85700 | 0;
var $12 = _local_strdup($11, $title);
var $13 = $4 + 85692 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 | 1;
HEAP32[$13 >> 2] = $15;
_copyV1ToV2($gfp, 1414091826, $title);
label = 6;
break;
case 6:
return;
}
}
function _local_strdup($dst, $src) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($dst | 0) == 0;
if ($1) {
var $_0 = 0;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP32[$dst >> 2];
_free($3);
HEAP32[$dst >> 2] = 0;
var $4 = ($src | 0) == 0;
if ($4) {
var $_0 = 0;
label = 8;
break;
} else {
var $n_0 = 0;
label = 4;
break;
}
case 4:
var $n_0;
var $5 = $src + $n_0 | 0;
var $6 = HEAP8[$5];
var $7 = $6 << 24 >> 24 == 0;
var $8 = $n_0 + 1 | 0;
if ($7) {
label = 5;
break;
} else {
var $n_0 = $8;
label = 4;
break;
}
case 5:
var $10 = ($n_0 | 0) == 0;
if ($10) {
var $_0 = 0;
label = 8;
break;
} else {
label = 6;
break;
}
case 6:
var $12 = $n_0 + 1 | 0;
var $13 = _calloc($12, 1);
HEAP32[$dst >> 2] = $13;
var $14 = ($13 | 0) == 0;
if ($14) {
var $_0 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
_memcpy($13, $src, $n_0);
var $16 = HEAP32[$dst >> 2];
var $17 = $16 + $n_0 | 0;
HEAP8[$17] = 0;
var $_0 = $n_0;
label = 8;
break;
case 8:
var $_0;
return $_0;
}
}
function _copyV1ToV2($gfp, $frame_id, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $4 + 85692 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = _id3v2_add_latin1($gfp, $frame_id, 5385684, 0, $s);
HEAP32[$7 >> 2] = $8;
label = 5;
break;
case 5:
return;
}
}
function _id3tag_set_artist($gfp, $artist) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($artist | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$artist];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $4 + 85704 | 0;
var $12 = _local_strdup($11, $artist);
var $13 = $4 + 85692 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 | 1;
HEAP32[$13 >> 2] = $15;
_copyV1ToV2($gfp, 1414546737, $artist);
label = 6;
break;
case 6:
return;
}
}
function _id3tag_set_album($gfp, $album) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($album | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$album];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $4 + 85708 | 0;
var $12 = _local_strdup($11, $album);
var $13 = $4 + 85692 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 | 1;
HEAP32[$13 >> 2] = $15;
_copyV1ToV2($gfp, 1413565506, $album);
label = 6;
break;
case 6:
return;
}
}
function _id3tag_set_year($gfp, $year) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($year | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$year];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
label = 8;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = _atoi($year);
var $12 = ($11 | 0) < 0;
var $_ = $12 ? 0 : $11;
var $13 = ($_ | 0) > 9999;
var $num_1 = $13 ? 9999 : $_;
var $14 = ($num_1 | 0) == 0;
if ($14) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $16 = $4 + 85696 | 0;
HEAP32[$16 >> 2] = $num_1;
var $17 = $4 + 85692 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $18 | 1;
HEAP32[$17 >> 2] = $19;
label = 7;
break;
case 7:
_copyV1ToV2($gfp, 1415136594, $year);
label = 8;
break;
case 8:
return;
}
}
function _id3tag_set_comment($gfp, $comment) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($comment | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$comment];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $4 + 85712 | 0;
var $12 = _local_strdup($11, $comment);
var $13 = $4 + 85692 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 | 1;
HEAP32[$13 >> 2] = $15;
var $16 = _id3v2_add_latin1($gfp, 1129270605, 5385684, 5385260, $comment);
HEAP32[$13 >> 2] = $15;
label = 6;
break;
case 6:
return;
}
}
function _id3tag_set_track($gfp, $track) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $ret_1 = 0;
label = 13;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
var $6 = ($track | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
var $ret_1 = 0;
label = 13;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = HEAP8[$track];
var $9 = $8 << 24 >> 24 == 0;
if ($9) {
var $ret_1 = 0;
label = 13;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = _atoi($track);
var $_off = $11 - 1 | 0;
var $12 = $_off >>> 0 > 254;
if ($12) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $13 = $4 + 85692 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 | 3;
HEAP32[$13 >> 2] = $15;
var $ret_019 = -1;
label = 9;
break;
case 7:
var $17 = ($11 | 0) == 0;
if ($17) {
var $ret_019 = 0;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $19 = $4 + 85716 | 0;
HEAP32[$19 >> 2] = $11;
var $20 = $4 + 85692 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $21 | 1;
HEAP32[$20 >> 2] = $22;
var $ret_019 = 0;
label = 9;
break;
case 9:
var $ret_019;
var $24 = _strchr($track, 47);
var $25 = ($24 | 0) == 0;
if ($25) {
label = 12;
break;
} else {
label = 10;
break;
}
case 10:
var $27 = HEAP8[$24];
var $28 = $27 << 24 >> 24 == 0;
if ($28) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
var $30 = $4 + 85692 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $31 | 3;
HEAP32[$30 >> 2] = $32;
label = 12;
break;
case 12:
_copyV1ToV2($gfp, 1414677323, $track);
var $ret_1 = $ret_019;
label = 13;
break;
case 13:
var $ret_1;
return $ret_1;
}
}
function _lookupGenre($genre) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $str = __stackBase__;
var $1 = _strtol($genre, $str, 10);
var $2 = HEAP32[$str >> 2];
var $3 = HEAP8[$2];
var $4 = $3 << 24 >> 24 == 0;
if ($4) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = _searchGenre($genre);
var $7 = ($6 | 0) == 148;
if ($7) {
label = 4;
break;
} else {
var $num_1 = $6;
label = 6;
break;
}
case 4:
var $9 = _sloppySearchGenre($genre);
var $10 = ($9 | 0) == 148;
if ($10) {
var $_0 = -2;
label = 7;
break;
} else {
var $num_1 = $9;
label = 6;
break;
}
case 5:
var $12 = $1 >>> 0 > 147;
if ($12) {
var $_0 = -1;
label = 7;
break;
} else {
var $num_1 = $1;
label = 6;
break;
}
case 6:
var $num_1;
var $_0 = $num_1;
label = 7;
break;
case 7:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _id3tag_set_fieldvalue($gfp, $fieldvalue) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($fieldvalue | 0) == 0;
if ($1) {
var $_0 = 0;
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP8[$fieldvalue];
var $4 = $3 << 24 >> 24 == 0;
if ($4) {
var $_0 = 0;
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = _strlen($fieldvalue);
var $7 = $6 >>> 0 < 5;
if ($7) {
var $_0 = -1;
label = 7;
break;
} else {
label = 5;
break;
}
case 5:
var $9 = $fieldvalue + 4 | 0;
var $10 = HEAP8[$9];
var $11 = $10 << 24 >> 24 == 61;
if ($11) {
label = 6;
break;
} else {
var $_0 = -1;
label = 7;
break;
}
case 6:
var $13 = $fieldvalue + 5 | 0;
var $14 = _id3tag_set_textinfo_latin1($gfp, $fieldvalue, $13);
var $_0 = $14;
label = 7;
break;
case 7:
var $_0;
return $_0;
}
}
function _id3tag_set_fieldvalue_utf16($gfp, $fieldvalue) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 12 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $fid = __stackBase__;
var $txt = __stackBase__ + 8;
var $1 = ($fieldvalue | 0) == 0;
if ($1) {
var $_0 = -1;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP16[$fieldvalue >> 1];
var $4 = $3 << 16 >> 16 == 0;
if ($4) {
var $_0 = -1;
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = _hasUcs2ByteOrderMarker($3);
var $7 = _fromLatin1Char($fieldvalue);
var $8 = $fid | 0;
HEAP8[$8] = 0;
HEAP8[$8 + 1] = 0;
HEAP8[$8 + 2] = 0;
HEAP8[$8 + 3] = 0;
HEAP8[$8 + 4] = 0;
var $9 = _toID3v2TagId_ucs2($fieldvalue);
var $10 = _local_ucs2_strlen($fieldvalue);
var $11 = $6 + 5 | 0;
var $12 = $10 >>> 0 < $11 >>> 0;
if ($12) {
var $_0 = -1;
label = 8;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = $6 + 4 | 0;
var $15 = $fieldvalue + ($14 << 1) | 0;
var $16 = HEAP16[$15 >> 1];
var $17 = $16 << 16 >> 16 == $7 << 16 >> 16;
if ($17) {
label = 6;
break;
} else {
var $_0 = -1;
label = 8;
break;
}
case 6:
var $19 = $9 >>> 24;
var $20 = $19 & 255;
HEAP8[$8] = $20;
var $21 = $9 >>> 16;
var $22 = $21 & 255;
var $23 = $fid + 1 | 0;
HEAP8[$23] = $22;
var $24 = $9 >>> 8;
var $25 = $24 & 255;
var $26 = $fid + 2 | 0;
HEAP8[$26] = $25;
var $27 = $9 & 255;
var $28 = $fid + 3 | 0;
HEAP8[$28] = $27;
var $29 = ($9 | 0) == 0;
if ($29) {
var $_0 = -1;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
HEAP32[$txt >> 2] = 0;
var $31 = _local_ucs2_strlen($fieldvalue);
_local_ucs2_substr($txt, $fieldvalue, $11, $31);
var $32 = HEAP32[$txt >> 2];
var $33 = _id3tag_set_textinfo_utf16($gfp, $8, $32);
var $34 = HEAP32[$txt >> 2];
var $35 = $34;
_free($35);
var $_0 = $33;
label = 8;
break;
case 8:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _fromLatin1Char($s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP16[$s >> 1];
var $2 = $1 << 16 >> 16 == -2;
if ($2) {
label = 3;
break;
} else {
var $_0 = 61;
label = 4;
break;
}
case 3:
var $4 = _swap_bytes(61);
var $_0 = $4;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _toID3v2TagId_ucs2($s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($s | 0) == 0;
if ($1) {
var $_0 = 0;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP16[$s >> 1];
var $4 = _hasUcs2ByteOrderMarker($3);
var $5 = ($4 | 0) == 0;
var $6 = $s + 2 | 0;
var $s_ = $5 ? $s : $6;
var $7 = HEAP16[$s_ >> 1];
var $8 = $7 << 16 >> 16 == 0;
if ($8) {
var $_0 = 0;
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $10 = _toLittleEndian($3, $7);
var $_off = $10 - 65 & 65535;
var $11 = ($_off & 65535) > 25;
var $_off18 = $10 - 48 & 65535;
var $12 = ($_off18 & 65535) > 9;
var $or_cond = $11 & $12;
if ($or_cond) {
var $_0 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = $10 & 65535;
var $15 = $s_ + 2 | 0;
var $16 = HEAP16[$15 >> 1];
var $17 = $16 << 16 >> 16 == 0;
if ($17) {
var $_0 = $14;
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $_0;
return $_0;
case 7:
var $19 = _toLittleEndian($3, $16);
var $_off_1 = $19 - 65 & 65535;
var $20 = ($_off_1 & 65535) > 25;
var $_off18_1 = $19 - 48 & 65535;
var $21 = ($_off18_1 & 65535) > 9;
var $or_cond_1 = $20 & $21;
if ($or_cond_1) {
var $_0 = 0;
label = 6;
break;
} else {
label = 8;
break;
}
case 8:
var $23 = $19 & 65535;
var $24 = $14 << 8;
var $25 = $23 | $24;
var $26 = $s_ + 4 | 0;
var $27 = HEAP16[$26 >> 1];
var $28 = $27 << 16 >> 16 == 0;
if ($28) {
var $_0 = $25;
label = 6;
break;
} else {
label = 9;
break;
}
case 9:
var $30 = _toLittleEndian($3, $27);
var $_off_2 = $30 - 65 & 65535;
var $31 = ($_off_2 & 65535) > 25;
var $_off18_2 = $30 - 48 & 65535;
var $32 = ($_off18_2 & 65535) > 9;
var $or_cond_2 = $31 & $32;
if ($or_cond_2) {
var $_0 = 0;
label = 6;
break;
} else {
label = 10;
break;
}
case 10:
var $34 = $30 & 65535;
var $35 = $25 << 8;
var $36 = $34 | $35;
var $37 = $s_ + 6 | 0;
var $38 = HEAP16[$37 >> 1];
var $39 = $38 << 16 >> 16 == 0;
if ($39) {
var $_0 = $36;
label = 6;
break;
} else {
label = 11;
break;
}
case 11:
var $41 = _toLittleEndian($3, $38);
var $_off_3 = $41 - 65 & 65535;
var $42 = ($_off_3 & 65535) > 25;
var $_off18_3 = $41 - 48 & 65535;
var $43 = ($_off18_3 & 65535) > 9;
var $or_cond_3 = $42 & $43;
if ($or_cond_3) {
var $_0 = 0;
label = 6;
break;
} else {
label = 12;
break;
}
case 12:
var $45 = $41 & 65535;
var $46 = $36 << 8;
var $47 = $45 | $46;
var $_0 = $47;
label = 6;
break;
}
}
_toID3v2TagId_ucs2["X"] = 1;
function _local_ucs2_substr($dst, $src, $start, $end) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $start >>> 0 < $end >>> 0;
if ($1) {
label = 3;
break;
} else {
var $5 = 2;
label = 4;
break;
}
case 3:
var $3 = 2 - $start | 0;
var $phitmp = $3 + $end | 0;
var $5 = $phitmp;
label = 4;
break;
case 4:
var $5;
var $6 = _calloc($5, 2);
var $7 = $6;
HEAP32[$dst >> 2] = $7;
var $8 = ($6 | 0) == 0;
var $9 = ($src | 0) == 0;
var $or_cond = $8 | $9;
if ($or_cond) {
label = 11;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = HEAP16[$src >> 1];
var $12 = _hasUcs2ByteOrderMarker($11);
var $13 = ($12 | 0) == 0;
if ($13) {
var $n_0_ph = 0;
var $_022_ph = $start;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
HEAP16[$7 >> 1] = $11;
var $15 = ($start | 0) == 0;
var $16 = $15 & 1;
var $_start = $16 + $start | 0;
var $n_0_ph = 1;
var $_022_ph = $_start;
label = 7;
break;
case 7:
var $_022_ph;
var $n_0_ph;
var $17 = $_022_ph >>> 0 < $end >>> 0;
if ($17) {
label = 8;
break;
} else {
var $n_0_lcssa = $n_0_ph;
label = 10;
break;
}
case 8:
var $18 = $n_0_ph + $end | 0;
var $19 = $18 - $_022_ph | 0;
var $_0221 = $_022_ph;
var $n_02 = $n_0_ph;
label = 9;
break;
case 9:
var $n_02;
var $_0221;
var $21 = $_0221 + 1 | 0;
var $22 = $src + ($_0221 << 1) | 0;
var $23 = HEAP16[$22 >> 1];
var $24 = $n_02 + 1 | 0;
var $25 = $7 + ($n_02 << 1) | 0;
HEAP16[$25 >> 1] = $23;
var $exitcond = ($24 | 0) == ($19 | 0);
if ($exitcond) {
var $n_0_lcssa = $19;
label = 10;
break;
} else {
var $_0221 = $21;
var $n_02 = $24;
label = 9;
break;
}
case 10:
var $n_0_lcssa;
var $26 = $7 + ($n_0_lcssa << 1) | 0;
HEAP16[$26 >> 1] = 0;
label = 11;
break;
case 11:
return;
}
}
function _id3tag_set_fieldvalue_ucs2($gfp, $fieldvalue) {
return _id3tag_set_fieldvalue_utf16($gfp, $fieldvalue);
}
function _lame_get_id3v2_tag($gfp, $buffer, $size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = 0;
label = 44;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
var $_0 = 0;
label = 44;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = _test_tag_spec_flags($4, 4);
var $8 = ($7 | 0) == 0;
if ($8) {
label = 5;
break;
} else {
var $_0 = 0;
label = 44;
break;
}
case 5:
var $10 = _test_tag_spec_flags($4, 10);
var $11 = $4 + 85700 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
var $17 = 0;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $15 = _strlen($12);
var $17 = $15;
label = 7;
break;
case 7:
var $17;
var $18 = $4 + 85704 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = ($19 | 0) == 0;
if ($20) {
var $24 = 0;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $22 = _strlen($19);
var $24 = $22;
label = 9;
break;
case 9:
var $24;
var $25 = $4 + 85708 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) == 0;
if ($27) {
var $31 = 0;
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
var $29 = _strlen($26);
var $31 = $29;
label = 11;
break;
case 11:
var $31;
var $32 = $4 + 85712 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = ($33 | 0) == 0;
if ($34) {
var $38 = 0;
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $36 = _strlen($33);
var $38 = $36;
label = 13;
break;
case 13:
var $38;
var $39 = $17 >>> 0 > 30;
var $40 = $24 >>> 0 > 30;
var $or_cond = $39 | $40;
var $41 = $31 >>> 0 > 30;
var $or_cond78 = $or_cond | $41;
var $42 = $38 >>> 0 > 30;
var $or_cond79 = $or_cond78 | $42;
if ($or_cond79) {
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $44 = $4 + 85716 | 0;
var $45 = HEAP32[$44 >> 2];
var $notlhs = ($45 | 0) == 0;
var $notrhs = $38 >>> 0 < 29;
var $or_cond80_not = $notrhs | $notlhs;
var $46 = ($10 | 0) == 0;
var $or_cond84 = $or_cond80_not & $46;
if ($or_cond84) {
var $_0 = 0;
label = 44;
break;
} else {
label = 15;
break;
}
case 15:
var $47 = $gfp + 4 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = ($48 | 0) == -1;
if ($49) {
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $51 = $48 >>> 0;
_id3v2AddAudioDuration($gfp, $51);
label = 17;
break;
case 17:
var $53 = $4 + 85724 | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = ($54 | 0) == 0;
if ($55) {
var $albumart_mime_1 = 0;
var $tag_size_0 = 10;
label = 23;
break;
} else {
label = 18;
break;
}
case 18:
var $57 = $4 + 85728 | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = ($58 | 0) == 0;
if ($59) {
var $albumart_mime_1 = 0;
var $tag_size_0 = 10;
label = 23;
break;
} else {
label = 19;
break;
}
case 19:
var $61 = $4 + 85736 | 0;
var $62 = HEAP32[$61 >> 2];
if (($62 | 0) == 2) {
label = 20;
break;
} else if (($62 | 0) == 3) {
label = 21;
break;
} else if (($62 | 0) == 1) {
var $albumart_mime_0_ph = 5384896;
label = 22;
break;
} else {
var $albumart_mime_1 = 0;
var $tag_size_0 = 10;
label = 23;
break;
}
case 20:
var $albumart_mime_0_ph = 5384376;
label = 22;
break;
case 21:
var $albumart_mime_0_ph = 5383996;
label = 22;
break;
case 22:
var $albumart_mime_0_ph;
var $66 = _strlen($albumart_mime_0_ph);
var $67 = HEAP32[$57 >> 2];
var $68 = $66 + 24 | 0;
var $69 = $68 + $67 | 0;
var $albumart_mime_1 = $albumart_mime_0_ph;
var $tag_size_0 = $69;
label = 23;
break;
case 23:
var $tag_size_0;
var $albumart_mime_1;
var $70 = $4 + 85740 | 0;
var $71 = HEAP32[$70 >> 2];
var $72 = ($71 | 0) == 0;
if ($72) {
var $tag_size_3 = $tag_size_0;
label = 30;
break;
} else {
var $tag_size_189 = $tag_size_0;
var $node_090 = $71;
label = 24;
break;
}
case 24:
var $node_090;
var $tag_size_189;
var $73 = $node_090 + 4 | 0;
var $74 = HEAP32[$73 >> 2];
if (($74 | 0) == 1129270605 | ($74 | 0) == 1431520594) {
label = 25;
break;
} else {
label = 26;
break;
}
case 25:
var $76 = _sizeOfCommentNode($node_090);
var $_pn = $76;
label = 29;
break;
case 26:
var $78 = _isFrameIdMatching($74, 1459617792);
var $79 = ($78 | 0) == 0;
if ($79) {
label = 28;
break;
} else {
label = 27;
break;
}
case 27:
var $81 = _sizeOfWxxxNode($node_090);
var $_pn = $81;
label = 29;
break;
case 28:
var $83 = _sizeOfNode($node_090);
var $_pn = $83;
label = 29;
break;
case 29:
var $_pn;
var $tag_size_2 = $_pn + $tag_size_189 | 0;
var $85 = $node_090 | 0;
var $86 = HEAP32[$85 >> 2];
var $87 = ($86 | 0) == 0;
if ($87) {
var $tag_size_3 = $tag_size_2;
label = 30;
break;
} else {
var $tag_size_189 = $tag_size_2;
var $node_090 = $86;
label = 24;
break;
}
case 30:
var $tag_size_3;
var $88 = _test_tag_spec_flags($4, 32);
var $89 = ($88 | 0) == 0;
if ($89) {
var $tag_size_4 = $tag_size_3;
label = 32;
break;
} else {
label = 31;
break;
}
case 31:
var $91 = $4 + 85732 | 0;
var $92 = HEAP32[$91 >> 2];
var $93 = $92 + $tag_size_3 | 0;
var $tag_size_4 = $93;
label = 32;
break;
case 32:
var $tag_size_4;
var $95 = $tag_size_4 >>> 0 > $size >>> 0;
if ($95) {
var $_0 = $tag_size_4;
label = 44;
break;
} else {
label = 33;
break;
}
case 33:
var $97 = ($buffer | 0) == 0;
if ($97) {
var $_0 = 0;
label = 44;
break;
} else {
label = 34;
break;
}
case 34:
var $99 = $buffer + 1 | 0;
HEAP8[$buffer] = 73;
var $100 = $buffer + 2 | 0;
HEAP8[$99] = 68;
var $101 = $buffer + 3 | 0;
HEAP8[$100] = 51;
var $102 = $buffer + 4 | 0;
HEAP8[$101] = 3;
var $103 = $buffer + 5 | 0;
HEAP8[$102] = 0;
var $104 = $buffer + 6 | 0;
HEAP8[$103] = 0;
var $105 = $tag_size_4 - 10 | 0;
var $106 = $105 >>> 21;
var $_tr = $106 & 255;
var $107 = $_tr & 127;
var $108 = $buffer + 7 | 0;
HEAP8[$104] = $107;
var $109 = $105 >>> 14;
var $_tr75 = $109 & 255;
var $110 = $_tr75 & 127;
var $111 = $buffer + 8 | 0;
HEAP8[$108] = $110;
var $112 = $105 >>> 7;
var $_tr76 = $112 & 255;
var $113 = $_tr76 & 127;
var $114 = $buffer + 9 | 0;
HEAP8[$111] = $113;
var $_tr77 = $105 & 255;
var $115 = $_tr77 & 127;
var $116 = $buffer + 10 | 0;
HEAP8[$114] = $115;
var $117 = HEAP32[$70 >> 2];
var $118 = ($117 | 0) == 0;
if ($118) {
var $p_2 = $116;
label = 41;
break;
} else {
var $p_085 = $116;
var $node2_086 = $117;
label = 35;
break;
}
case 35:
var $node2_086;
var $p_085;
var $119 = $node2_086 + 4 | 0;
var $120 = HEAP32[$119 >> 2];
if (($120 | 0) == 1129270605 | ($120 | 0) == 1431520594) {
label = 36;
break;
} else {
label = 37;
break;
}
case 36:
var $122 = _set_frame_comment($p_085, $node2_086);
var $p_1 = $122;
label = 40;
break;
case 37:
var $124 = _isFrameIdMatching($120, 1459617792);
var $125 = ($124 | 0) == 0;
if ($125) {
label = 39;
break;
} else {
label = 38;
break;
}
case 38:
var $127 = _set_frame_wxxx($p_085, $node2_086);
var $p_1 = $127;
label = 40;
break;
case 39:
var $129 = _set_frame_custom2($p_085, $node2_086);
var $p_1 = $129;
label = 40;
break;
case 40:
var $p_1;
var $131 = $node2_086 | 0;
var $132 = HEAP32[$131 >> 2];
var $133 = ($132 | 0) == 0;
if ($133) {
var $p_2 = $p_1;
label = 41;
break;
} else {
var $p_085 = $p_1;
var $node2_086 = $132;
label = 35;
break;
}
case 41:
var $p_2;
var $134 = ($albumart_mime_1 | 0) == 0;
if ($134) {
var $p_3 = $p_2;
label = 43;
break;
} else {
label = 42;
break;
}
case 42:
var $136 = HEAP32[$53 >> 2];
var $137 = $4 + 85728 | 0;
var $138 = HEAP32[$137 >> 2];
var $139 = _set_frame_apic($p_2, $albumart_mime_1, $136, $138);
var $p_3 = $139;
label = 43;
break;
case 43:
var $p_3;
var $141 = $p_3;
var $142 = $buffer;
var $143 = $tag_size_4 + $142 | 0;
var $144 = $143 - $141 | 0;
_memset($p_3, 0, $144);
var $_0 = $tag_size_4;
label = 44;
break;
case 44:
var $_0;
return $_0;
}
}
_lame_get_id3v2_tag["X"] = 1;
function _id3v2AddAudioDuration($gfp, $ms) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 1024 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $buffer = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $ms * 1e3;
var $4 = $2 + 60 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $7 = $3 / $6;
var $8 = $7 > 4294967295;
if ($8) {
var $playlength_ms_0 = -1;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $10 = $7 < 0;
if ($10) {
var $playlength_ms_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $12 = $7 >= 0 ? Math.floor($7) : Math.ceil($7);
var $playlength_ms_0 = $12;
label = 5;
break;
case 5:
var $playlength_ms_0;
var $14 = $buffer | 0;
var $15 = _sprintf($14, 5383208, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $playlength_ms_0, tempInt));
_copyV1ToV2($gfp, 1414284622, $14);
STACKTOP = __stackBase__;
return;
}
}
function _isMultiFrame($frame_id) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if (($frame_id | 0) == 1415075928 | ($frame_id | 0) == 1465407576 | ($frame_id | 0) == 1129270605 | ($frame_id | 0) == 1398361172 | ($frame_id | 0) == 1095780675 | ($frame_id | 0) == 1195724610 | ($frame_id | 0) == 1346588244 | ($frame_id | 0) == 1095061059 | ($frame_id | 0) == 1279872587 | ($frame_id | 0) == 1162756946 | ($frame_id | 0) == 1196575044 | ($frame_id | 0) == 1347570006) {
var $_0 = 1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _sizeOfWxxxNode($node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($node | 0) == 0;
if ($1) {
var $n_1 = 0;
label = 11;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $node + 16 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
var $n_0 = 10;
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $node + 20 | 0;
var $8 = HEAP32[$7 >> 2];
var $cond = ($8 | 0) == 1;
if ($cond) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $10 = $4 + 12 | 0;
var $n_0 = $10;
label = 7;
break;
case 6:
var $12 = $4 << 1;
var $13 = $12 + 13 | 0;
var $n_0 = $13;
label = 7;
break;
case 7:
var $n_0;
var $15 = $node + 28 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = ($16 | 0) == 0;
if ($17) {
var $n_1 = $n_0;
label = 11;
break;
} else {
label = 8;
break;
}
case 8:
var $19 = $node + 32 | 0;
var $20 = HEAP32[$19 >> 2];
var $cond1 = ($20 | 0) == 1;
if ($cond1) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $22 = $16 + $n_0 | 0;
var $n_1 = $22;
label = 11;
break;
case 10:
var $24 = $n_0 - 1 | 0;
var $25 = $24 + $16 | 0;
var $n_1 = $25;
label = 11;
break;
case 11:
var $n_1;
return $n_1;
}
}
function _sizeOfNode($node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($node | 0) == 0;
if ($1) {
var $n_2 = 0;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $node + 32 | 0;
var $4 = HEAP32[$3 >> 2];
var $cond = ($4 | 0) == 1;
var $5 = $node + 16 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) != 0;
if ($cond) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $6 + 12 | 0;
var $_ = $7 ? $9 : 11;
var $10 = $node + 28 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $11 + $_ | 0;
var $n_2 = $12;
label = 8;
break;
case 5:
if ($7) {
label = 6;
break;
} else {
var $n_1 = 11;
label = 7;
break;
}
case 6:
var $15 = $6 << 1;
var $16 = $15 + 13 | 0;
var $n_1 = $16;
label = 7;
break;
case 7:
var $n_1;
var $18 = $node + 28 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $19 << 1;
var $21 = $20 + $n_1 | 0;
var $n_2 = $21;
label = 8;
break;
case 8:
var $n_2;
return $n_2;
}
}
function _set_text_field($field, $text, $size, $pad) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($size | 0) == 0;
if ($1) {
var $_0_lcssa = $field;
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $pad & 255;
var $_09_ph14 = $text;
var $_0_ph15 = $field;
var $_in = $size;
label = 4;
break;
case 4:
var $_in;
var $_0_ph15;
var $_09_ph14;
var $3 = ($_09_ph14 | 0) == 0;
var $_012 = $_0_ph15;
var $_in17 = $_in;
label = 5;
break;
case 5:
var $_in17;
var $_012;
var $5 = $_in17 - 1 | 0;
if ($3) {
label = 8;
break;
} else {
label = 6;
break;
}
case 6:
var $7 = HEAP8[$_09_ph14];
var $8 = $7 << 24 >> 24 == 0;
if ($8) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $9 = $_09_ph14 + 1 | 0;
var $10 = $_012 + 1 | 0;
HEAP8[$_012] = $7;
var $11 = ($5 | 0) == 0;
if ($11) {
var $_0_lcssa = $10;
label = 9;
break;
} else {
var $_09_ph14 = $9;
var $_0_ph15 = $10;
var $_in = $5;
label = 4;
break;
}
case 8:
var $13 = $_012 + 1 | 0;
HEAP8[$_012] = $2;
var $14 = ($5 | 0) == 0;
if ($14) {
var $_0_lcssa = $13;
label = 9;
break;
} else {
var $_012 = $13;
var $_in17 = $5;
label = 5;
break;
}
case 9:
var $_0_lcssa;
return $_0_lcssa;
}
}
function _set_4_byte_value($bytes, $value) {
HEAP8[$bytes + 3 | 0] = $value & 255;
HEAP8[$bytes + 2 | 0] = $value >>> 8 & 255;
HEAP8[$bytes + 1 | 0] = $value >>> 16 & 255;
HEAP8[$bytes] = $value >>> 24 & 255;
return $bytes + 4 | 0;
}
function _writeChars($frame, $str, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($n | 0) == 0;
if ($1) {
var $_05_lcssa = $frame;
label = 5;
break;
} else {
var $_056 = $frame;
var $_047 = $str;
var $_08 = $n;
label = 3;
break;
}
case 3:
var $_08;
var $_047;
var $_056;
var $2 = $_08 - 1 | 0;
var $3 = $_047 + 1 | 0;
var $4 = HEAP8[$_047];
var $5 = $_056 + 1 | 0;
HEAP8[$_056] = $4;
var $6 = ($2 | 0) == 0;
if ($6) {
label = 4;
break;
} else {
var $_056 = $5;
var $_047 = $3;
var $_08 = $2;
label = 3;
break;
}
case 4:
var $scevgep = $frame + $n | 0;
var $_05_lcssa = $scevgep;
label = 5;
break;
case 5:
var $_05_lcssa;
return $_05_lcssa;
}
}
function _findNode($tag, $frame_id, $last) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($last | 0) == 0;
var $2 = $last | 0;
var $3 = $tag + 48 | 0;
var $_in = $1 ? $3 : $2;
var $node_0_in = $_in;
label = 3;
break;
case 3:
var $node_0_in;
var $node_0 = HEAP32[$node_0_in >> 2];
var $5 = ($node_0 | 0) == 0;
if ($5) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $node_0 + 4 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) == ($frame_id | 0);
var $10 = $node_0 | 0;
if ($9) {
var $_0 = $node_0;
label = 5;
break;
} else {
var $node_0_in = $10;
label = 3;
break;
}
case 5:
var $_0;
return $_0;
}
}
function _set_frame_comment($frame, $node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _sizeOfCommentNode($node);
var $2 = $1 >>> 0 > 10;
if ($2) {
label = 3;
break;
} else {
var $_1 = $frame;
label = 9;
break;
}
case 3:
var $4 = $node + 4 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _set_4_byte_value($frame, $5);
var $7 = $1 - 10 | 0;
var $8 = _set_4_byte_value($6, $7);
var $9 = $8 + 1 | 0;
HEAP8[$8] = 0;
var $10 = $8 + 2 | 0;
HEAP8[$9] = 0;
var $11 = $node + 24 | 0;
var $12 = $node + 32 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($13 | 0) == 1;
var $15 = $14 & 1;
var $16 = $8 + 3 | 0;
HEAP8[$10] = $15;
var $17 = $node + 8 | 0;
var $18 = HEAP8[$17];
var $19 = $8 + 4 | 0;
HEAP8[$16] = $18;
var $20 = $node + 9 | 0;
var $21 = HEAP8[$20];
var $22 = $8 + 5 | 0;
HEAP8[$19] = $21;
var $23 = $node + 10 | 0;
var $24 = HEAP8[$23];
var $25 = $8 + 6 | 0;
HEAP8[$22] = $24;
var $26 = $node + 12 | 0;
var $27 = $node + 20 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 1;
if ($29) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $31 = $26 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $node + 16 | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = _writeChars($25, $32, $34);
var $36 = $35 + 1 | 0;
HEAP8[$35] = 0;
var $_0 = $36;
label = 6;
break;
case 5:
var $38 = $26;
var $39 = HEAP32[$38 >> 2];
var $40 = $node + 16 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = _writeUcs2s($25, $39, $41);
var $43 = $42 + 1 | 0;
HEAP8[$42] = 0;
var $44 = $42 + 2 | 0;
HEAP8[$43] = 0;
var $_0 = $44;
label = 6;
break;
case 6:
var $_0;
var $46 = HEAP32[$12 >> 2];
var $47 = ($46 | 0) == 1;
if ($47) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $49 = $11 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = $node + 28 | 0;
var $52 = HEAP32[$51 >> 2];
var $53 = _writeChars($_0, $50, $52);
var $_1 = $53;
label = 9;
break;
case 8:
var $55 = $11;
var $56 = HEAP32[$55 >> 2];
var $57 = $node + 28 | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = _writeUcs2s($_0, $56, $58);
var $_1 = $59;
label = 9;
break;
case 9:
var $_1;
return $_1;
}
}
_set_frame_comment["X"] = 1;
function _set_frame_wxxx($frame, $node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _sizeOfWxxxNode($node);
var $2 = $1 >>> 0 > 10;
if ($2) {
label = 3;
break;
} else {
var $_1 = $frame;
label = 10;
break;
}
case 3:
var $4 = $node + 4 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _set_4_byte_value($frame, $5);
var $7 = $1 - 10 | 0;
var $8 = _set_4_byte_value($6, $7);
var $9 = $8 + 1 | 0;
HEAP8[$8] = 0;
var $10 = $8 + 2 | 0;
HEAP8[$9] = 0;
var $11 = $node + 16 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
var $_0 = $10;
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $15 = $node + 20 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = ($16 | 0) == 1;
var $18 = $17 & 1;
var $19 = $8 + 3 | 0;
HEAP8[$10] = $18;
var $20 = HEAP32[$15 >> 2];
var $21 = ($20 | 0) == 1;
var $22 = $node + 12 | 0;
if ($21) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $24 = $22 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = HEAP32[$11 >> 2];
var $27 = _writeChars($19, $25, $26);
var $28 = $27 + 1 | 0;
HEAP8[$27] = 0;
var $_0 = $28;
label = 7;
break;
case 6:
var $30 = $22;
var $31 = HEAP32[$30 >> 2];
var $32 = HEAP32[$11 >> 2];
var $33 = _writeUcs2s($19, $31, $32);
var $34 = $33 + 1 | 0;
HEAP8[$33] = 0;
var $35 = $33 + 2 | 0;
HEAP8[$34] = 0;
var $_0 = $35;
label = 7;
break;
case 7:
var $_0;
var $37 = $node + 24 | 0;
var $38 = $node + 32 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = ($39 | 0) == 1;
if ($40) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $42 = $37 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $node + 28 | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = _writeChars($_0, $43, $45);
var $_1 = $46;
label = 10;
break;
case 9:
var $48 = $37;
var $49 = HEAP32[$48 >> 2];
var $50 = $node + 28 | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = _writeLoBytes($_0, $49, $51);
var $_1 = $52;
label = 10;
break;
case 10:
var $_1;
return $_1;
}
}
_set_frame_wxxx["X"] = 1;
function _set_frame_custom2($frame, $node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _sizeOfNode($node);
var $2 = $1 >>> 0 > 10;
if ($2) {
label = 3;
break;
} else {
var $_1 = $frame;
label = 10;
break;
}
case 3:
var $4 = $node + 4 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _set_4_byte_value($frame, $5);
var $7 = $1 - 10 | 0;
var $8 = _set_4_byte_value($6, $7);
var $9 = $8 + 1 | 0;
HEAP8[$8] = 0;
var $10 = $8 + 2 | 0;
HEAP8[$9] = 0;
var $11 = $node + 24 | 0;
var $12 = $node + 32 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($13 | 0) == 1;
var $15 = $14 & 1;
var $16 = $8 + 3 | 0;
HEAP8[$10] = $15;
var $17 = $node + 16 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = ($18 | 0) == 0;
if ($19) {
var $_0 = $16;
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $21 = $node + 20 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($22 | 0) == 1;
var $24 = $node + 12 | 0;
if ($23) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $26 = $24 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = _writeChars($16, $27, $18);
var $29 = $28 + 1 | 0;
HEAP8[$28] = 0;
var $_0 = $29;
label = 7;
break;
case 6:
var $31 = $24;
var $32 = HEAP32[$31 >> 2];
var $33 = _writeUcs2s($16, $32, $18);
var $34 = $33 + 1 | 0;
HEAP8[$33] = 0;
var $35 = $33 + 2 | 0;
HEAP8[$34] = 0;
var $_0 = $35;
label = 7;
break;
case 7:
var $_0;
var $37 = HEAP32[$12 >> 2];
var $38 = ($37 | 0) == 1;
if ($38) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $40 = $11 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $node + 28 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = _writeChars($_0, $41, $43);
var $_1 = $44;
label = 10;
break;
case 9:
var $46 = $11;
var $47 = HEAP32[$46 >> 2];
var $48 = $node + 28 | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = _writeUcs2s($_0, $47, $49);
var $_1 = $50;
label = 10;
break;
case 10:
var $_1;
return $_1;
}
}
_set_frame_custom2["X"] = 1;
function _set_frame_apic($frame, $mimetype, $data, $size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($mimetype | 0) == 0;
var $2 = ($data | 0) == 0;
var $or_cond = $1 | $2;
var $3 = ($size | 0) == 0;
var $or_cond23 = $or_cond | $3;
if ($or_cond23) {
var $_2 = $frame;
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = _set_4_byte_value($frame, 1095780675);
var $6 = _strlen($mimetype);
var $7 = $size + 4 | 0;
var $8 = $7 + $6 | 0;
var $9 = _set_4_byte_value($5, $8);
var $10 = $9 + 1 | 0;
HEAP8[$9] = 0;
var $11 = $9 + 2 | 0;
HEAP8[$10] = 0;
var $12 = $9 + 3 | 0;
HEAP8[$11] = 0;
var $13 = HEAP8[$mimetype];
var $14 = $13 << 24 >> 24 == 0;
if ($14) {
var $_022_lcssa = $12;
label = 5;
break;
} else {
var $_02227 = $12;
var $_02128 = $mimetype;
var $15 = $13;
label = 4;
break;
}
case 4:
var $15;
var $_02128;
var $_02227;
var $16 = $_02128 + 1 | 0;
var $17 = $_02227 + 1 | 0;
HEAP8[$_02227] = $15;
var $18 = HEAP8[$16];
var $19 = $18 << 24 >> 24 == 0;
if ($19) {
var $_022_lcssa = $17;
label = 5;
break;
} else {
var $_02227 = $17;
var $_02128 = $16;
var $15 = $18;
label = 4;
break;
}
case 5:
var $_022_lcssa;
var $20 = $_022_lcssa + 1 | 0;
HEAP8[$_022_lcssa] = 0;
var $21 = $_022_lcssa + 2 | 0;
HEAP8[$20] = 0;
var $22 = $_022_lcssa + 3 | 0;
HEAP8[$21] = 0;
var $23 = ($size | 0) == 0;
if ($23) {
var $_2 = $22;
label = 9;
break;
} else {
label = 6;
break;
}
case 6:
var $24 = $size + 3 | 0;
var $_124 = $22;
var $_02025 = $data;
var $_026 = $size;
label = 7;
break;
case 7:
var $_026;
var $_02025;
var $_124;
var $26 = $_026 - 1 | 0;
var $27 = $_02025 + 1 | 0;
var $28 = HEAP8[$_02025];
var $29 = $_124 + 1 | 0;
HEAP8[$_124] = $28;
var $30 = ($26 | 0) == 0;
if ($30) {
label = 8;
break;
} else {
var $_124 = $29;
var $_02025 = $27;
var $_026 = $26;
label = 7;
break;
}
case 8:
var $scevgep = $_022_lcssa + $24 | 0;
var $_2 = $scevgep;
label = 9;
break;
case 9:
var $_2;
return $_2;
}
}
_set_frame_apic["X"] = 1;
function _id3tag_write_v2($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = _test_tag_spec_flags($2, 4);
var $4 = ($3 | 0) == 0;
if ($4) {
label = 3;
break;
} else {
var $_0 = 0;
label = 10;
break;
}
case 3:
var $6 = _test_tag_spec_flags($2, 1);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = _lame_get_id3v2_tag($gfp, 0, 0);
var $10 = _calloc($9, 1);
var $11 = ($10 | 0) == 0;
if ($11) {
var $_0 = -1;
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
var $13 = _lame_get_id3v2_tag($gfp, $10, $9);
var $14 = $13 >>> 0 > $9 >>> 0;
if ($14) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $15 = ($13 | 0) == 0;
if ($15) {
label = 9;
break;
} else {
var $i_016 = 0;
label = 8;
break;
}
case 7:
_free($10);
var $_0 = -1;
label = 10;
break;
case 8:
var $i_016;
var $17 = $10 + $i_016 | 0;
var $18 = HEAP8[$17];
_add_dummy_byte($2, $18, 1);
var $19 = $i_016 + 1 | 0;
var $exitcond = ($19 | 0) == ($13 | 0);
if ($exitcond) {
label = 9;
break;
} else {
var $i_016 = $19;
label = 8;
break;
}
case 9:
_free($10);
var $_0 = $13;
label = 10;
break;
case 10:
var $_0;
return $_0;
}
}
function _lame_get_id3v1_tag($gfp, $buffer, $size) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $year = __stackBase__;
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = 0;
label = 10;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $size >>> 0 < 128;
if ($3) {
var $_0 = 128;
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = $gfp + 288 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
var $8 = ($buffer | 0) == 0;
var $or_cond = $7 | $8;
if ($or_cond) {
var $_0 = 0;
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
var $10 = _test_tag_spec_flags($6, 8);
var $11 = ($10 | 0) == 0;
if ($11) {
label = 6;
break;
} else {
var $_0 = 0;
label = 10;
break;
}
case 6:
var $13 = _test_tag_spec_flags($6, 1);
var $14 = ($13 | 0) == 0;
if ($14) {
var $_0 = 0;
label = 10;
break;
} else {
label = 7;
break;
}
case 7:
var $16 = _test_tag_spec_flags($6, 16);
var $17 = ($16 | 0) != 0;
var $18 = $17 ? 32 : 0;
var $19 = $buffer + 1 | 0;
HEAP8[$buffer] = 84;
var $20 = $buffer + 2 | 0;
HEAP8[$19] = 65;
var $21 = $buffer + 3 | 0;
HEAP8[$20] = 71;
var $22 = $6 + 85700 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = _set_text_field($21, $23, 30, $18);
var $25 = $6 + 85704 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = _set_text_field($24, $26, 30, $18);
var $28 = $6 + 85708 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = _set_text_field($27, $29, 30, $18);
var $31 = $year | 0;
var $32 = $6 + 85696 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = _sprintf($31, 5383568, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $33, tempInt));
var $35 = HEAP32[$32 >> 2];
var $36 = ($35 | 0) != 0;
var $37 = $36 ? $31 : 0;
var $38 = _set_text_field($30, $37, 4, $18);
var $39 = $6 + 85712 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $6 + 85716 | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = ($42 | 0) != 0;
var $44 = $43 ? 28 : 30;
var $45 = _set_text_field($38, $40, $44, $18);
var $46 = HEAP32[$41 >> 2];
var $47 = ($46 | 0) == 0;
if ($47) {
var $p_0 = $45;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $49 = $45 + 1 | 0;
HEAP8[$45] = 0;
var $50 = HEAP32[$41 >> 2];
var $51 = $50 & 255;
var $52 = $45 + 2 | 0;
HEAP8[$49] = $51;
var $p_0 = $52;
label = 9;
break;
case 9:
var $p_0;
var $54 = $6 + 85720 | 0;
var $55 = HEAP32[$54 >> 2];
var $56 = $55 & 255;
HEAP8[$p_0] = $56;
var $_0 = 128;
label = 10;
break;
case 10:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_lame_get_id3v1_tag["X"] = 1;
function _id3tag_write_v1($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 128 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $tag = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $tag | 0;
var $4 = _lame_get_id3v1_tag($gfp, $3, 128);
var $5 = $4 >>> 0 > 128;
var $6 = ($4 | 0) == 0;
var $or_cond = $5 | $6;
if ($or_cond) {
var $_0 = 0;
label = 4;
break;
} else {
var $i_08 = 0;
label = 3;
break;
}
case 3:
var $i_08;
var $7 = $tag + $i_08 | 0;
var $8 = HEAP8[$7];
_add_dummy_byte($2, $8, 1);
var $9 = $i_08 + 1 | 0;
var $exitcond = ($9 | 0) == ($4 | 0);
if ($exitcond) {
var $_0 = $4;
label = 4;
break;
} else {
var $i_08 = $9;
label = 3;
break;
}
case 4:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _writeUcs2s($frame, $str, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($n | 0) == 0;
if ($1) {
var $_1 = $frame;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = HEAP16[$str >> 1];
var $3 = $n << 1;
var $_0910 = $n;
var $_0811 = $str;
var $_012 = $frame;
label = 4;
break;
case 4:
var $_012;
var $_0811;
var $_0910;
var $5 = $_0910 - 1 | 0;
var $6 = $_0811 + 2 | 0;
var $7 = HEAP16[$_0811 >> 1];
var $8 = _toLittleEndian($2, $7);
var $9 = $8 & 255;
var $10 = $_012 + 1 | 0;
HEAP8[$_012] = $9;
var $11 = ($8 & 65535) >>> 8;
var $12 = $11 & 255;
var $13 = $_012 + 2 | 0;
HEAP8[$10] = $12;
var $14 = ($5 | 0) == 0;
if ($14) {
label = 5;
break;
} else {
var $_0910 = $5;
var $_0811 = $6;
var $_012 = $13;
label = 4;
break;
}
case 5:
var $scevgep = $frame + $3 | 0;
var $_1 = $scevgep;
label = 6;
break;
case 6:
var $_1;
return $_1;
}
}
function _toLittleEndian($bom, $c) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bom << 16 >> 16 == -2;
if ($1) {
label = 3;
break;
} else {
var $_0 = $c;
label = 4;
break;
}
case 3:
var $3 = _swap_bytes($c);
var $_0 = $3;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _swap_bytes($w) {
return _llvm_bswap_i16($w);
}
function _writeLoBytes($frame, $str, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($n | 0) == 0;
if ($1) {
var $_1 = $frame;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP16[$str >> 1];
var $4 = _hasUcs2ByteOrderMarker($3);
var $5 = ($4 | 0) == 0;
if ($5) {
var $_012_ph = $str;
var $_013_ph = $n;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $str + 2 | 0;
var $8 = $n - 1 | 0;
var $_012_ph = $7;
var $_013_ph = $8;
label = 5;
break;
case 5:
var $_013_ph;
var $_012_ph;
var $9 = ($_013_ph | 0) == 0;
if ($9) {
var $_1 = $frame;
label = 8;
break;
} else {
var $_01214 = $_012_ph;
var $_015 = $frame;
var $_in = $_013_ph;
label = 6;
break;
}
case 6:
var $_in;
var $_015;
var $_01214;
var $10 = $_in - 1 | 0;
var $11 = $_01214 + 2 | 0;
var $12 = HEAP16[$_01214 >> 1];
var $13 = _toLittleEndian($3, $12);
var $_off = $13 - 32 & 65535;
var $14 = ($_off & 65535) > 223;
var $15 = $13 & 255;
var $storemerge = $14 ? 32 : $15;
var $_0_be = $_015 + 1 | 0;
HEAP8[$_015] = $storemerge;
var $16 = ($10 | 0) == 0;
if ($16) {
label = 7;
break;
} else {
var $_01214 = $11;
var $_015 = $_0_be;
var $_in = $10;
label = 6;
break;
}
case 7:
var $scevgep = $frame + $_013_ph | 0;
var $_1 = $scevgep;
label = 8;
break;
case 8:
var $_1;
return $_1;
}
}
function _searchGenre($genre) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_0 = 0;
label = 3;
break;
case 3:
var $i_0;
var $2 = ($i_0 | 0) < 148;
if ($2) {
label = 4;
break;
} else {
var $_0 = 148;
label = 5;
break;
}
case 4:
var $4 = 5345208 + ($i_0 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _local_strcasecmp($genre, $5);
var $7 = ($6 | 0) == 0;
var $8 = $i_0 + 1 | 0;
if ($7) {
var $_0 = $i_0;
label = 5;
break;
} else {
var $i_0 = $8;
label = 3;
break;
}
case 5:
var $_0;
return $_0;
}
}
function _sloppySearchGenre($genre) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_0 = 0;
label = 3;
break;
case 3:
var $i_0;
var $2 = ($i_0 | 0) < 148;
if ($2) {
label = 4;
break;
} else {
var $_0 = 148;
label = 5;
break;
}
case 4:
var $4 = 5345208 + ($i_0 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _sloppyCompared($genre, $5);
var $7 = ($6 | 0) == 0;
var $8 = $i_0 + 1 | 0;
if ($7) {
var $i_0 = $8;
label = 3;
break;
} else {
var $_0 = $i_0;
label = 5;
break;
}
case 5:
var $_0;
return $_0;
}
}
function _sloppyCompared($p, $q) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _nextUpperAlpha($p, 0);
var $2 = _nextUpperAlpha($q, 0);
var $3 = HEAP8[$1];
var $4 = $3 << 24 >> 24;
var $5 = _toupper($4);
var $6 = HEAP8[$2];
var $7 = $6 << 24 >> 24;
var $8 = _toupper($7);
var $sext20 = $5 << 24;
var $9 = $sext20 >> 24;
var $sext1721 = $8 << 24;
var $10 = $sext1721 >> 24;
var $11 = ($9 | 0) == ($10 | 0);
if ($11) {
var $_01522 = $1;
var $_023 = $2;
var $cq_024_in = $8;
var $cp_025_in = $5;
var $12 = $9;
label = 3;
break;
} else {
var $_016 = 0;
label = 8;
break;
}
case 3:
var $12;
var $cp_025_in;
var $cq_024_in;
var $_023;
var $_01522;
var $cq_024 = $cq_024_in & 255;
var $cp_025 = $cp_025_in & 255;
var $13 = ($12 | 0) == 0;
if ($13) {
var $_016 = 1;
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $15 = $_01522 + 1 | 0;
var $16 = HEAP8[$15];
var $17 = $16 << 24 >> 24 == 46;
if ($17) {
var $_1 = $_023;
label = 5;
break;
} else {
var $_2 = $_023;
label = 7;
break;
}
case 5:
var $_1;
var $18 = HEAP8[$_1];
var $19 = $18 << 24 >> 24 == 0;
if ($19) {
var $_2 = $_1;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $21 = $_1 + 1 | 0;
var $22 = $18 << 24 >> 24 == 32;
if ($22) {
var $_2 = $21;
label = 7;
break;
} else {
var $_1 = $21;
label = 5;
break;
}
case 7:
var $_2;
var $23 = _nextUpperAlpha($_01522, $cp_025);
var $24 = _nextUpperAlpha($_2, $cq_024);
var $25 = HEAP8[$23];
var $26 = $25 << 24 >> 24;
var $27 = _toupper($26);
var $28 = HEAP8[$24];
var $29 = $28 << 24 >> 24;
var $30 = _toupper($29);
var $sext = $27 << 24;
var $31 = $sext >> 24;
var $sext17 = $30 << 24;
var $32 = $sext17 >> 24;
var $33 = ($31 | 0) == ($32 | 0);
if ($33) {
var $_01522 = $23;
var $_023 = $24;
var $cq_024_in = $30;
var $cp_025_in = $27;
var $12 = $31;
label = 3;
break;
} else {
var $_016 = 0;
label = 8;
break;
}
case 8:
var $_016;
return $_016;
}
}
_sloppyCompared["X"] = 1;
function _nextUpperAlpha($p, $x) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP8[$p];
var $2 = $1 << 24 >> 24;
var $3 = _toupper($2);
var $4 = HEAP8[$p];
var $5 = $4 << 24 >> 24 == 0;
if ($5) {
var $_09_lcssa = $p;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $x << 24 >> 24;
var $_0910 = $p;
var $c_0_in11 = $3;
label = 4;
break;
case 4:
var $c_0_in11;
var $_0910;
var $sext = $c_0_in11 << 24;
var $sext_off = $sext - 1073741825 | 0;
var $8 = $sext_off >>> 0 > 452984830;
var $9 = $sext >> 24;
var $10 = ($9 | 0) == ($6 | 0);
var $or_cond = $8 | $10;
if ($or_cond) {
label = 5;
break;
} else {
var $_09_lcssa = $_0910;
label = 6;
break;
}
case 5:
var $12 = $_0910 + 1 | 0;
var $13 = HEAP8[$12];
var $14 = $13 << 24 >> 24;
var $15 = _toupper($14);
var $16 = HEAP8[$12];
var $17 = $16 << 24 >> 24 == 0;
if ($17) {
var $_09_lcssa = $12;
label = 6;
break;
} else {
var $_0910 = $12;
var $c_0_in11 = $15;
label = 4;
break;
}
case 6:
var $_09_lcssa;
return $_09_lcssa;
}
}
function _local_strcasecmp($s1, $s2) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $_0 = $s1;
var $_07 = $s2;
label = 3;
break;
case 3:
var $_07;
var $_0;
var $2 = HEAP8[$_0];
var $3 = $2 << 24 >> 24;
var $4 = _tolower($3);
var $5 = $4 & 255;
var $6 = HEAP8[$_07];
var $7 = $6 << 24 >> 24;
var $8 = _tolower($7);
var $9 = $5 << 24 >> 24 == 0;
if ($9) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $11 = $_0 + 1 | 0;
var $12 = $_07 + 1 | 0;
var $13 = $8 ^ $4;
var $14 = $13 & 255;
var $15 = ($14 | 0) == 0;
if ($15) {
var $_0 = $11;
var $_07 = $12;
label = 3;
break;
} else {
label = 5;
break;
}
case 5:
var $17 = $4 & 255;
var $18 = $8 & 255;
var $19 = $17 - $18 | 0;
return $19;
}
}
function _frame_id_matches($id, $mask) {
var $1 = $mask & 255;
var $2 = $id & 255;
var $6 = $mask & 65280;
var $7 = $id & 65280;
var $11 = $mask & 16711680;
var $12 = $id & 16711680;
var $16 = $mask & -16777216;
var $17 = $id & -16777216;
return (($16 | 0) == 0 | ($16 | 0) == ($17 | 0) ? 0 : $17) | ((($11 | 0) == 0 | ($11 | 0) == ($12 | 0) ? 0 : $12) | ((($6 | 0) == 0 | ($6 | 0) == ($7 | 0) ? 0 : $7) | (($1 | 0) == 0 | ($1 | 0) == ($2 | 0) ? 0 : $2)));
}
function _isSameDescriptor($node, $dsc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $node + 20 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 1;
if ($3) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $5 = $node + 16 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
if ($7) {
label = 4;
break;
} else {
var $_0 = 0;
label = 7;
break;
}
case 4:
var $8 = $node + 12 | 0;
var $9 = $node + 16 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($dsc | 0) == 0;
var $i_0 = 0;
label = 5;
break;
case 5:
var $i_0;
var $_not = $i_0 >>> 0 >= $10 >>> 0;
var $brmerge = $_not | $11;
var $_mux = $_not & 1;
if ($brmerge) {
var $_0 = $_mux;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $14 = HEAP32[$8 >> 2];
var $15 = $14 + $i_0 | 0;
var $16 = HEAP8[$15];
var $17 = $dsc + $i_0 | 0;
var $18 = HEAP8[$17];
var $19 = $16 << 24 >> 24 == $18 << 24 >> 24;
var $20 = $i_0 + 1 | 0;
if ($19) {
var $i_0 = $20;
label = 5;
break;
} else {
var $_0 = 0;
label = 7;
break;
}
case 7:
var $_0;
return $_0;
}
}
function _appendNode($tag, $node) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $tag + 52 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $tag + 48 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
if ($7) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $9 = $tag + 48 | 0;
HEAP32[$9 >> 2] = $node;
label = 6;
break;
case 5:
var $11 = $2 | 0;
HEAP32[$11 >> 2] = $node;
label = 6;
break;
case 6:
HEAP32[$1 >> 2] = $node;
return;
}
}
function _local_char_pos($str) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($str | 0) == 0;
if ($1) {
var $_0 = -1;
label = 6;
break;
} else {
var $i_02 = 0;
label = 3;
break;
}
case 3:
var $i_02;
var $2 = $str + $i_02 | 0;
var $3 = HEAP8[$2];
if ($3 << 24 >> 24 == 61) {
label = 5;
break;
} else if ($3 << 24 >> 24 == 0) {
var $_0 = -1;
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = $i_02 + 1 | 0;
var $i_02 = $5;
label = 3;
break;
case 5:
var $_0 = $i_02;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _isSameDescriptorUcs2($node, $dsc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $node + 12 | 0;
var $2 = $node + 20 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 1;
if ($4) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $node + 16 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) == 0;
if ($8) {
label = 4;
break;
} else {
var $_0 = 0;
label = 7;
break;
}
case 4:
var $9 = $1;
var $10 = $node + 16 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($dsc | 0) == 0;
var $i_0 = 0;
label = 5;
break;
case 5:
var $i_0;
var $_not = $i_0 >>> 0 >= $11 >>> 0;
var $brmerge = $_not | $12;
var $_mux = $_not & 1;
if ($brmerge) {
var $_0 = $_mux;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $15 = HEAP32[$9 >> 2];
var $16 = $15 + ($i_0 << 1) | 0;
var $17 = HEAP16[$16 >> 1];
var $18 = $dsc + ($i_0 << 1) | 0;
var $19 = HEAP16[$18 >> 1];
var $20 = $17 << 16 >> 16 == $19 << 16 >> 16;
var $21 = $i_0 + 1 | 0;
if ($20) {
var $i_0 = $21;
label = 5;
break;
} else {
var $_0 = 0;
label = 7;
break;
}
case 7:
var $_0;
return $_0;
}
}
function _local_ucs2_pos($str, $c) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($str | 0) == 0;
var $i_0 = 0;
label = 3;
break;
case 3:
var $i_0;
if ($1) {
var $_0 = -1;
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $4 = $str + ($i_0 << 1) | 0;
var $5 = HEAP16[$4 >> 1];
var $6 = $5 << 16 >> 16 == 0;
if ($6) {
var $_0 = -1;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = $5 << 16 >> 16 == $c << 16 >> 16;
var $9 = $i_0 + 1 | 0;
if ($8) {
var $_0 = $i_0;
label = 6;
break;
} else {
var $i_0 = $9;
label = 3;
break;
}
case 6:
var $_0;
return $_0;
}
}
function _is_lame_global_flags_valid($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == -487877;
var $_ = $5 & 1;
var $_0 = $_;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _is_lame_internal_flags_valid($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfc | 0) == 0;
if ($1) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfc | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == -487877;
var $_ = $5 & 1;
var $_0 = $_;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _isSameLang($l1, $l2) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $d = __stackBase__;
var $1 = $d | 0;
_setLang($1, $l2);
var $i_0 = 0;
label = 3;
break;
case 3:
var $i_0;
var $3 = ($i_0 | 0) < 3;
if ($3) {
label = 4;
break;
} else {
var $_0 = 1;
label = 5;
break;
}
case 4:
var $5 = $l1 + $i_0 | 0;
var $6 = HEAP8[$5];
var $7 = $6 << 24 >> 24;
var $8 = _tolower($7);
var $9 = $d + $i_0 | 0;
var $10 = HEAP8[$9];
var $11 = $10 << 24 >> 24;
var $12 = _tolower($11);
var $sext = $8 << 24;
var $13 = ($sext | 0) < 536870912;
var $sext8 = $12 << 24;
var $14 = ($sext8 | 0) < 536870912;
var $_op = $8 << 24;
var $sext9 = $13 ? 536870912 : $_op;
var $_op11 = $12 << 24;
var $sext10 = $14 ? 536870912 : $_op11;
var $15 = ($sext9 | 0) == ($sext10 | 0);
var $16 = $i_0 + 1 | 0;
if ($15) {
var $i_0 = $16;
label = 3;
break;
} else {
var $_0 = 0;
label = 5;
break;
}
case 5:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _setLang($dst, $src) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($src | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP8[$src];
var $4 = $3 << 24 >> 24 == 0;
if ($4) {
label = 4;
break;
} else {
var $i_018 = 0;
var $9 = $3;
label = 7;
break;
}
case 4:
HEAP8[$dst] = 88;
var $6 = $dst + 1 | 0;
HEAP8[$6] = 88;
var $7 = $dst + 2 | 0;
HEAP8[$7] = 88;
label = 10;
break;
case 5:
var $i_0_lcssa;
var $8 = ($i_0_lcssa | 0) < 3;
if ($8) {
label = 9;
break;
} else {
label = 10;
break;
}
case 6:
var $_pr = HEAP8[$src];
var $i_018 = $15;
var $9 = $_pr;
label = 7;
break;
case 7:
var $9;
var $i_018;
var $10 = $9 << 24 >> 24 == 0;
if ($10) {
var $i_0_lcssa = $i_018;
label = 5;
break;
} else {
label = 8;
break;
}
case 8:
var $12 = $src + $i_018 | 0;
var $13 = HEAP8[$12];
var $14 = $dst + $i_018 | 0;
HEAP8[$14] = $13;
var $15 = $i_018 + 1 | 0;
var $16 = ($15 | 0) > 2;
var $or_cond = $16 | $1;
if ($or_cond) {
var $i_0_lcssa = $15;
label = 5;
break;
} else {
label = 6;
break;
}
case 9:
var $scevgep = $dst + $i_0_lcssa | 0;
var $17 = 3 - $i_0_lcssa | 0;
_memset($scevgep, 32, $17);
label = 10;
break;
case 10:
return;
}
}
function _local_ucs2_strdup($dst, $src) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($dst | 0) == 0;
if ($1) {
var $_0 = 0;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP32[$dst >> 2];
var $4 = $3;
_free($4);
HEAP32[$dst >> 2] = 0;
var $5 = ($src | 0) == 0;
if ($5) {
var $_0 = 0;
label = 8;
break;
} else {
var $n_0 = 0;
label = 4;
break;
}
case 4:
var $n_0;
var $6 = $src + ($n_0 << 1) | 0;
var $7 = HEAP16[$6 >> 1];
var $8 = $7 << 16 >> 16 == 0;
var $9 = $n_0 + 1 | 0;
if ($8) {
label = 5;
break;
} else {
var $n_0 = $9;
label = 4;
break;
}
case 5:
var $11 = ($n_0 | 0) == 0;
if ($11) {
var $_0 = 0;
label = 8;
break;
} else {
label = 6;
break;
}
case 6:
var $13 = $n_0 + 1 | 0;
var $14 = _calloc($13, 2);
var $15 = $14;
HEAP32[$dst >> 2] = $15;
var $16 = ($14 | 0) == 0;
if ($16) {
var $_0 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $18 = $src;
var $19 = $n_0 << 1;
_memcpy($14, $18, $19);
var $20 = HEAP32[$dst >> 2];
var $21 = $20 + ($n_0 << 1) | 0;
HEAP16[$21 >> 1] = 0;
var $_0 = $n_0;
label = 8;
break;
case 8:
var $_0;
return $_0;
}
}
function _maybeLatin1($text) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($text | 0) == 0;
if ($1) {
var $_0 = 1;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = HEAP16[$text >> 1];
var $text_pn = $text;
label = 4;
break;
case 4:
var $text_pn;
var $_05 = $text_pn + 2 | 0;
var $5 = HEAP16[$_05 >> 1];
var $6 = $5 << 16 >> 16 == 0;
if ($6) {
var $_0 = 1;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = _toLittleEndian($3, $5);
var $9 = ($8 & 65535) > 254;
if ($9) {
var $_0 = 0;
label = 6;
break;
} else {
var $text_pn = $_05;
label = 4;
break;
}
case 6:
var $_0;
return $_0;
}
}
function _local_strdup_utf16_to_latin1($utf16) {
var $1 = _local_ucs2_strlen($utf16);
var $3 = _calloc($1 + 1 | 0, 1);
_writeLoBytes($3, $utf16, $1);
return $3;
}
function _lame_init_params($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $lowpass = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 16 | 0;
var $4 = $2 | 0;
HEAP32[$4 >> 2] = 0;
var $5 = $gfp + 180 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $2 + 124 | 0;
HEAP32[$7 >> 2] = $6;
var $8 = $gfp + 32 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $2 + 140 | 0;
HEAP32[$10 >> 2] = $9;
var $11 = ($9 | 0) == 0;
if ($11) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $13 = $gfp + 36 | 0;
HEAP32[$13 >> 2] = 0;
label = 4;
break;
case 4:
var $15 = $2 + 85800 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = ($16 | 0) == 0;
if ($17) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $19 = $gfp + 36 | 0;
HEAP32[$19 >> 2] = 0;
label = 6;
break;
case 6:
var $21 = $gfp + 272 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $2 + 85824 | 0;
HEAP32[$23 >> 2] = $22;
var $24 = $gfp + 276 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = $2 + 85828 | 0;
HEAP32[$26 >> 2] = $25;
var $27 = $gfp + 280 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = $2 + 85832 | 0;
HEAP32[$29 >> 2] = $28;
var $30 = $2 + 85752 | 0;
var $31 = $30;
var $32 = HEAP32[$31 >> 2];
var $33 = $32 & -3;
HEAP32[$31 >> 2] = $33;
var $34 = $2 + 85752 | 0;
var $35 = $34;
var $36 = HEAP32[$35 >> 2];
var $37 = $36 & -2;
HEAP32[$35 >> 2] = $37;
var $38 = $2 + 85752 | 0;
var $39 = $38;
var $40 = HEAP32[$39 >> 2];
var $storemerge608 = $40 & -13;
HEAP32[$39 >> 2] = $storemerge608;
var $41 = $2 + 85792 | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = ($42 | 0) == 0;
if ($43) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $45 = _calloc(1, 2772);
var $46 = $45;
HEAP32[$41 >> 2] = $46;
var $47 = ($45 | 0) == 0;
if ($47) {
var $_0 = -2;
label = 202;
break;
} else {
label = 8;
break;
}
case 8:
var $48 = $2 + 85672 | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = ($49 | 0) == 0;
if ($50) {
label = 9;
break;
} else {
label = 11;
break;
}
case 9:
var $52 = _calloc(1, 134792);
var $53 = $52;
HEAP32[$48 >> 2] = $53;
var $54 = ($52 | 0) == 0;
if ($54) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
_freegfc($2);
HEAP32[$1 >> 2] = 0;
var $_0 = -2;
label = 202;
break;
case 11:
var $56 = $gfp + 120 | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = $2 + 160 | 0;
HEAP32[$58 >> 2] = $57;
var $59 = $gfp + 104 | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = $2 + 164 | 0;
HEAP32[$61 >> 2] = $60;
var $62 = $gfp + 108 | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = $2 + 168 | 0;
HEAP32[$64 >> 2] = $63;
var $65 = $gfp + 112 | 0;
var $66 = HEAP32[$65 >> 2];
var $67 = $2 + 172 | 0;
HEAP32[$67 >> 2] = $66;
var $68 = $gfp + 116 | 0;
var $69 = HEAP32[$68 >> 2];
var $70 = $2 + 176 | 0;
HEAP32[$70 >> 2] = $69;
var $71 = $gfp + 8 | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = $2 + 68 | 0;
HEAP32[$73 >> 2] = $72;
var $74 = ($72 | 0) == 1;
if ($74) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $76 = $gfp + 48 | 0;
HEAP32[$76 >> 2] = 3;
label = 13;
break;
case 13:
var $78 = $gfp + 48 | 0;
var $79 = HEAP32[$78 >> 2];
var $80 = ($79 | 0) == 3;
var $81 = $80 ? 1 : 2;
var $82 = $2 + 72 | 0;
HEAP32[$82 >> 2] = $81;
var $83 = HEAP32[$78 >> 2];
var $84 = ($83 | 0) == 3;
if ($84) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $86 = $gfp + 52 | 0;
HEAP32[$86 >> 2] = 0;
label = 15;
break;
case 15:
var $88 = $gfp + 52 | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = $2 + 80 | 0;
HEAP32[$90 >> 2] = $89;
var $91 = $gfp + 156 | 0;
var $92 = HEAP32[$91 >> 2];
var $93 = ($92 | 0) == 0;
if ($93) {
label = 16;
break;
} else {
var $104 = $92;
label = 20;
break;
}
case 16:
var $95 = $gfp + 168 | 0;
var $96 = HEAP32[$95 >> 2];
var $97 = ($96 | 0) == 128;
if ($97) {
label = 19;
break;
} else {
label = 17;
break;
}
case 17:
var $99 = $gfp + 96 | 0;
var $100 = HEAP32[$99 >> 2];
var $101 = ($100 | 0) == 0;
if ($101) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
HEAP32[$99 >> 2] = $96;
label = 19;
break;
case 19:
var $_pr = HEAP32[$91 >> 2];
var $104 = $_pr;
label = 20;
break;
case 20:
var $104;
if (($104 | 0) == 0 | ($104 | 0) == 4 | ($104 | 0) == 1) {
label = 22;
break;
} else {
label = 21;
break;
}
case 21:
var $106 = $gfp + 56 | 0;
HEAP32[$106 >> 2] = 0;
label = 22;
break;
case 22:
var $108 = $gfp + 56 | 0;
var $109 = HEAP32[$108 >> 2];
var $110 = $2 + 152 | 0;
HEAP32[$110 >> 2] = $109;
var $111 = HEAP32[$91 >> 2];
var $112 = ($111 | 0) == 0;
if ($112) {
label = 23;
break;
} else {
label = 34;
break;
}
case 23:
var $114 = $gfp + 96 | 0;
var $115 = HEAP32[$114 >> 2];
var $116 = ($115 | 0) == 0;
if ($116) {
label = 24;
break;
} else {
label = 28;
break;
}
case 24:
var $118 = $gfp + 100 | 0;
var $119 = HEAPF32[$118 >> 2];
var $120 = $119 == 0;
if ($120) {
label = 26;
break;
} else {
label = 25;
break;
}
case 25:
var $fabsf = Math.abs($119);
var $122 = $fabsf;
var $123 = $122 * 9.999999974752427e-7;
var $124 = $122 > $123;
if ($124) {
label = 28;
break;
} else {
label = 27;
break;
}
case 26:
var $126 = $119 == 0;
if ($126) {
label = 27;
break;
} else {
label = 28;
break;
}
case 27:
HEAPF32[$118 >> 2] = 11.024999618530273;
label = 28;
break;
case 28:
var $_pr596 = HEAP32[$91 >> 2];
var $129 = ($_pr596 | 0) == 0;
if ($129) {
label = 29;
break;
} else {
label = 34;
break;
}
case 29:
var $131 = $gfp + 100 | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = $132 > 0;
if ($133) {
label = 30;
break;
} else {
label = 34;
break;
}
case 30:
var $135 = $gfp + 16 | 0;
var $136 = HEAP32[$135 >> 2];
var $137 = ($136 | 0) == 0;
if ($137) {
label = 31;
break;
} else {
label = 32;
break;
}
case 31:
var $139 = $gfp + 12 | 0;
var $140 = HEAP32[$139 >> 2];
var $141 = $140 | 0;
var $142 = $141 * .97;
var $143 = $142 & -1;
var $144 = _map2MP3Frequency($143);
HEAP32[$135 >> 2] = $144;
label = 32;
break;
case 32:
var $146 = HEAP32[$135 >> 2];
var $147 = $146 << 4;
var $148 = HEAP32[$82 >> 2];
var $149 = $147 * $148 & -1;
var $150 = $149 | 0;
var $151 = HEAPF32[$131 >> 2];
var $152 = $151;
var $153 = $152 * 1e3;
var $154 = $150 / $153;
var $155 = $154 & -1;
var $156 = $gfp + 96 | 0;
HEAP32[$156 >> 2] = $155;
var $157 = HEAP32[$135 >> 2];
var $158 = $3 | 0;
var $159 = _SmpFrqIndex($157, $158);
var $160 = $2 + 20 | 0;
HEAP32[$160 >> 2] = $159;
var $161 = HEAP32[$110 >> 2];
var $162 = ($161 | 0) == 0;
if ($162) {
label = 33;
break;
} else {
label = 34;
break;
}
case 33:
var $164 = HEAP32[$156 >> 2];
var $165 = HEAP32[$158 >> 2];
var $166 = HEAP32[$135 >> 2];
var $167 = _FindNearestBitrate($164, $165, $166);
HEAP32[$156 >> 2] = $167;
label = 34;
break;
case 34:
var $168 = $gfp + 16 | 0;
var $169 = HEAP32[$168 >> 2];
var $170 = ($169 | 0) == 0;
if ($170) {
label = 41;
break;
} else {
label = 35;
break;
}
case 35:
var $172 = ($169 | 0) < 16e3;
if ($172) {
label = 36;
break;
} else {
label = 37;
break;
}
case 36:
var $174 = $gfp + 168 | 0;
var $175 = HEAP32[$174 >> 2];
var $176 = ($175 | 0) > 8;
var $_ = $176 ? $175 : 8;
var $177 = ($_ | 0) < 64;
var $178 = $177 ? $_ : 64;
HEAP32[$174 >> 2] = $178;
label = 40;
break;
case 37:
var $180 = ($169 | 0) < 32e3;
var $181 = $gfp + 168 | 0;
var $182 = HEAP32[$181 >> 2];
if ($180) {
label = 38;
break;
} else {
label = 39;
break;
}
case 38:
var $184 = ($182 | 0) > 8;
var $_587 = $184 ? $182 : 8;
var $185 = ($_587 | 0) < 160;
var $186 = $185 ? $_587 : 160;
HEAP32[$181 >> 2] = $186;
label = 40;
break;
case 39:
var $188 = ($182 | 0) > 32;
var $_588 = $188 ? $182 : 32;
var $189 = ($_588 | 0) < 320;
var $190 = $189 ? $_588 : 320;
HEAP32[$181 >> 2] = $190;
label = 40;
break;
case 40:
var $_pr599 = HEAP32[$168 >> 2];
var $192 = ($_pr599 | 0) == 0;
if ($192) {
label = 41;
break;
} else {
label = 52;
break;
}
case 41:
var $193 = HEAP32[$91 >> 2];
if (($193 | 0) == 1 | ($193 | 0) == 4) {
label = 42;
break;
} else {
label = 52;
break;
}
case 42:
var $195 = $gfp + 164 | 0;
var $196 = HEAP32[$195 >> 2];
var $197 = $196 | 0;
var $198 = $gfp + 160 | 0;
var $199 = HEAPF32[$198 >> 2];
var $200 = $197 + $199;
var $201 = $gfp + 12 | 0;
var $i_0620 = 2;
label = 43;
break;
case 43:
var $i_0620;
var $203 = HEAP32[$201 >> 2];
var $204 = 5317672 + $i_0620 * 24 | 0;
var $205 = HEAP32[$204 >> 2];
var $206 = ($203 | 0) == ($205 | 0);
if ($206) {
label = 44;
break;
} else {
label = 46;
break;
}
case 44:
var $208 = 5317676 + $i_0620 * 24 | 0;
var $209 = HEAPF32[$208 >> 2];
var $210 = $200 < $209;
if ($210) {
label = 45;
break;
} else {
label = 46;
break;
}
case 45:
var $212 = $200 / $209;
var $213 = $212;
var $214 = 5317684 + $i_0620 * 24 | 0;
var $215 = HEAPF32[$214 >> 2];
var $216 = $215;
var $217 = $213 * $216;
var $218 = $217 & -1;
HEAP32[$195 >> 2] = $218;
var $219 = $218 | 0;
var $220 = $217 - $219;
var $221 = $220;
HEAPF32[$198 >> 2] = $221;
label = 46;
break;
case 46:
var $223 = HEAP32[$201 >> 2];
var $224 = HEAP32[$204 >> 2];
var $225 = ($223 | 0) < ($224 | 0);
if ($225) {
label = 51;
break;
} else {
label = 47;
break;
}
case 47:
var $227 = 5317676 + $i_0620 * 24 | 0;
var $228 = HEAPF32[$227 >> 2];
var $229 = $228 > $200;
if ($229) {
label = 51;
break;
} else {
label = 48;
break;
}
case 48:
var $231 = 5317680 + $i_0620 * 24 | 0;
var $232 = HEAPF32[$231 >> 2];
var $233 = $200 < $232;
if ($233) {
label = 49;
break;
} else {
label = 51;
break;
}
case 49:
var $235 = $232 - $228;
var $236 = 5317688 + $i_0620 * 24 | 0;
var $237 = HEAPF32[$236 >> 2];
var $238 = 5317684 + $i_0620 * 24 | 0;
var $239 = HEAPF32[$238 >> 2];
var $240 = $237 - $239;
var $241 = $200 - $228;
var $242 = $241 * $240;
var $243 = $242 / $235;
var $244 = $239 + $243;
var $245 = $244;
var $246 = $244 & -1;
HEAP32[$195 >> 2] = $246;
var $247 = $246 | 0;
var $248 = $245 - $247;
var $249 = $248;
HEAPF32[$198 >> 2] = $249;
var $250 = HEAP32[$204 >> 2];
HEAP32[$168 >> 2] = $250;
var $251 = $gfp + 184 | 0;
var $252 = HEAP32[$251 >> 2];
var $253 = ($252 | 0) == 0;
if ($253) {
label = 50;
break;
} else {
label = 52;
break;
}
case 50:
HEAP32[$251 >> 2] = -1;
label = 52;
break;
case 51:
var $256 = $i_0620 + 1 | 0;
var $257 = ($256 | 0) < 9;
if ($257) {
var $i_0620 = $256;
label = 43;
break;
} else {
label = 52;
break;
}
case 52:
var $258 = $gfp + 184 | 0;
var $259 = HEAP32[$258 >> 2];
var $260 = ($259 | 0) == 0;
if ($260) {
label = 53;
break;
} else {
label = 69;
break;
}
case 53:
HEAPF64[tempDoublePtr >> 3] = 16e3, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $262 = HEAP32[$91 >> 2];
if (($262 | 0) == 0) {
label = 54;
break;
} else if (($262 | 0) == 3) {
label = 55;
break;
} else if (($262 | 0) == 2) {
label = 56;
break;
} else if (($262 | 0) == 4 | ($262 | 0) == 1) {
label = 59;
break;
} else {
label = 62;
break;
}
case 54:
var $264 = $gfp + 96 | 0;
var $265 = HEAP32[$264 >> 2];
_optimum_bandwidth($lowpass, $265);
label = 65;
break;
case 55:
var $267 = $gfp + 168 | 0;
var $268 = HEAP32[$267 >> 2];
_optimum_bandwidth($lowpass, $268);
label = 65;
break;
case 56:
var $270 = $gfp + 164 | 0;
var $271 = HEAP32[$270 >> 2];
var $272 = $271 >>> 0 < 10;
if ($272) {
label = 57;
break;
} else {
label = 58;
break;
}
case 57:
var $274 = 5317628 + ($271 << 2) | 0;
var $275 = HEAP32[$274 >> 2];
var $276 = $275 | 0;
var $277 = $271 + 1 | 0;
var $278 = 5317628 + ($277 << 2) | 0;
var $279 = HEAP32[$278 >> 2];
var $280 = $279 | 0;
var $281 = $gfp + 160 | 0;
var $282 = HEAPF32[$281 >> 2];
var $283 = $282;
var $284 = _linear_int($276, $280, $283);
HEAPF64[tempDoublePtr >> 3] = $284, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 58:
HEAPF64[tempDoublePtr >> 3] = 19500, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 59:
var $287 = $gfp + 164 | 0;
var $288 = HEAP32[$287 >> 2];
var $289 = $288 >>> 0 < 10;
if ($289) {
label = 60;
break;
} else {
label = 61;
break;
}
case 60:
var $291 = 5317584 + ($288 << 2) | 0;
var $292 = HEAP32[$291 >> 2];
var $293 = $292 | 0;
var $294 = $288 + 1 | 0;
var $295 = 5317584 + ($294 << 2) | 0;
var $296 = HEAP32[$295 >> 2];
var $297 = $296 | 0;
var $298 = $gfp + 160 | 0;
var $299 = HEAPF32[$298 >> 2];
var $300 = $299;
var $301 = _linear_int($293, $297, $300);
HEAPF64[tempDoublePtr >> 3] = $301, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 61:
HEAPF64[tempDoublePtr >> 3] = 21500, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 62:
var $304 = $gfp + 164 | 0;
var $305 = HEAP32[$304 >> 2];
var $306 = $305 >>> 0 < 10;
if ($306) {
label = 63;
break;
} else {
label = 64;
break;
}
case 63:
var $308 = 5317540 + ($305 << 2) | 0;
var $309 = HEAP32[$308 >> 2];
var $310 = $309 | 0;
var $311 = $305 + 1 | 0;
var $312 = 5317540 + ($311 << 2) | 0;
var $313 = HEAP32[$312 >> 2];
var $314 = $313 | 0;
var $315 = $gfp + 160 | 0;
var $316 = HEAPF32[$315 >> 2];
var $317 = $316;
var $318 = _linear_int($310, $314, $317);
HEAPF64[tempDoublePtr >> 3] = $318, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 64:
HEAPF64[tempDoublePtr >> 3] = 19500, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 65;
break;
case 65:
var $321 = HEAP32[$78 >> 2];
var $322 = ($321 | 0) == 3;
if ($322) {
label = 66;
break;
} else {
label = 68;
break;
}
case 66:
var $324 = HEAP32[$91 >> 2];
if (($324 | 0) == 0 | ($324 | 0) == 3) {
label = 67;
break;
} else {
label = 68;
break;
}
case 67:
var $326 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$lowpass >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$lowpass + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $327 = $326 * 1.5;
HEAPF64[tempDoublePtr >> 3] = $327, HEAP32[$lowpass >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowpass + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 68;
break;
case 68:
var $329 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$lowpass >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$lowpass + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $330 = $329 & -1;
HEAP32[$258 >> 2] = $330;
label = 69;
break;
case 69:
var $332 = HEAP32[$168 >> 2];
var $333 = ($332 | 0) == 0;
if ($333) {
label = 70;
break;
} else {
label = 73;
break;
}
case 70:
var $335 = HEAP32[$258 >> 2];
var $336 = $335 << 1;
var $337 = $gfp + 12 | 0;
var $338 = HEAP32[$337 >> 2];
var $339 = ($336 | 0) > ($338 | 0);
if ($339) {
label = 71;
break;
} else {
label = 72;
break;
}
case 71:
var $341 = ($338 | 0) / 2 & -1;
HEAP32[$258 >> 2] = $341;
label = 72;
break;
case 72:
var $343 = HEAP32[$258 >> 2];
var $344 = HEAP32[$337 >> 2];
var $345 = _optimum_samplefreq($343, $344);
HEAP32[$168 >> 2] = $345;
label = 73;
break;
case 73:
var $347 = HEAP32[$91 >> 2];
if (($347 | 0) == 1 | ($347 | 0) == 4) {
label = 74;
break;
} else {
label = 75;
break;
}
case 74:
var $349 = HEAP32[$258 >> 2];
var $350 = ($349 | 0) > 24e3;
var $_591 = $350 ? 24e3 : $349;
var $storemerge = $_591;
label = 76;
break;
case 75:
var $352 = HEAP32[$258 >> 2];
var $353 = ($352 | 0) > 20500;
var $_592 = $353 ? 20500 : $352;
var $storemerge = $_592;
label = 76;
break;
case 76:
var $storemerge;
var $355 = HEAP32[$168 >> 2];
var $356 = ($355 | 0) / 2 & -1;
var $357 = ($356 | 0) < ($storemerge | 0);
var $_storemerge = $357 ? $356 : $storemerge;
HEAP32[$258 >> 2] = $_storemerge;
var $358 = HEAP32[$91 >> 2];
var $359 = ($358 | 0) == 0;
if ($359) {
label = 77;
break;
} else {
var $374 = $358;
label = 78;
break;
}
case 77:
var $361 = HEAP32[$168 >> 2];
var $362 = $361 << 4;
var $363 = HEAP32[$82 >> 2];
var $364 = $362 * $363 & -1;
var $365 = $364 | 0;
var $366 = $gfp + 96 | 0;
var $367 = HEAP32[$366 >> 2];
var $368 = $367 | 0;
var $369 = $368 * 1e3;
var $370 = $365 / $369;
var $371 = $370;
var $372 = $gfp + 100 | 0;
HEAPF32[$372 >> 2] = $371;
var $_pr601 = HEAP32[$91 >> 2];
var $374 = $_pr601;
label = 78;
break;
case 78:
var $374;
var $375 = ($374 | 0) == 3;
if ($375) {
label = 79;
break;
} else {
label = 80;
break;
}
case 79:
var $377 = HEAP32[$168 >> 2];
var $378 = $377 << 4;
var $379 = HEAP32[$82 >> 2];
var $380 = $378 * $379 & -1;
var $381 = $380 | 0;
var $382 = $gfp + 168 | 0;
var $383 = HEAP32[$382 >> 2];
var $384 = $383 | 0;
var $385 = $384 * 1e3;
var $386 = $381 / $385;
var $387 = $386;
var $388 = $gfp + 100 | 0;
HEAPF32[$388 >> 2] = $387;
label = 80;
break;
case 80:
var $390 = $gfp + 36 | 0;
var $391 = HEAP32[$390 >> 2];
var $392 = ($391 | 0) == 0;
if ($392) {
label = 81;
break;
} else {
label = 82;
break;
}
case 81:
var $394 = $gfp + 60 | 0;
HEAP32[$394 >> 2] = 0;
var $395 = $gfp + 64 | 0;
HEAP32[$395 >> 2] = 0;
var $396 = $2 + 132 | 0;
HEAP32[$396 >> 2] = 0;
label = 82;
break;
case 82:
var $398 = $gfp + 60 | 0;
var $399 = HEAP32[$398 >> 2];
var $400 = $2 + 128 | 0;
HEAP32[$400 >> 2] = $399;
var $401 = $gfp + 64 | 0;
var $402 = HEAP32[$401 >> 2];
var $403 = $2 + 136 | 0;
HEAP32[$403 >> 2] = $402;
var $404 = ($402 | 0) == 0;
if ($404) {
label = 84;
break;
} else {
label = 83;
break;
}
case 83:
var $406 = $2 + 132 | 0;
HEAP32[$406 >> 2] = 1;
label = 84;
break;
case 84:
var $408 = HEAP32[$400 >> 2];
var $409 = ($408 | 0) == 0;
if ($409) {
label = 87;
break;
} else {
label = 85;
break;
}
case 85:
var $411 = HEAP32[$48 >> 2];
var $412 = HEAP32[$168 >> 2];
var $413 = _InitGainAnalysis($411, $412);
var $414 = ($413 | 0) == 0;
if ($414) {
label = 86;
break;
} else {
label = 87;
break;
}
case 86:
_freegfc($2);
HEAP32[$1 >> 2] = 0;
var $_0 = -6;
label = 202;
break;
case 87:
var $417 = HEAP32[$403 >> 2];
var $418 = ($417 | 0) == 0;
if ($418) {
label = 92;
break;
} else {
label = 88;
break;
}
case 88:
var $420 = $gfp + 40 | 0;
var $421 = HEAP32[$420 >> 2];
var $422 = ($421 | 0) == 0;
if ($422) {
label = 89;
break;
} else {
label = 92;
break;
}
case 89:
var $424 = $2 + 85804 | 0;
var $425 = HEAP32[$424 >> 2];
var $426 = ($425 | 0) == 0;
if ($426) {
label = 91;
break;
} else {
label = 90;
break;
}
case 90:
var $428 = _hip_decode_exit($425);
label = 91;
break;
case 91:
var $430 = _hip_decode_init();
HEAP32[$424 >> 2] = $430;
var $431 = HEAP32[$27 >> 2];
_hip_set_errorf($430, $431);
var $432 = HEAP32[$424 >> 2];
var $433 = HEAP32[$24 >> 2];
_hip_set_debugf($432, $433);
var $434 = HEAP32[$424 >> 2];
var $435 = HEAP32[$21 >> 2];
_hip_set_msgf($434, $435);
label = 92;
break;
case 92:
var $437 = $gfp + 128 | 0;
var $438 = HEAP32[$437 >> 2];
var $439 = $2 + 144 | 0;
HEAP32[$439 >> 2] = $438;
var $440 = HEAP32[$258 >> 2];
var $441 = $2 + 52 | 0;
HEAP32[$441 >> 2] = $440;
var $442 = $gfp + 188 | 0;
var $443 = HEAP32[$442 >> 2];
var $444 = $2 + 56 | 0;
HEAP32[$444 >> 2] = $443;
var $445 = $gfp + 12 | 0;
var $446 = HEAP32[$445 >> 2];
var $447 = $2 + 60 | 0;
HEAP32[$447 >> 2] = $446;
var $448 = HEAP32[$168 >> 2];
var $449 = $2 + 64 | 0;
HEAP32[$449 >> 2] = $448;
var $450 = ($448 | 0) < 24001;
var $451 = $450 ? 1 : 2;
var $452 = $2 + 76 | 0;
HEAP32[$452 >> 2] = $451;
var $453 = $2 + 84756 | 0;
HEAP32[$453 >> 2] = 576;
var $454 = HEAP32[$91 >> 2];
if (($454 | 0) == 1 | ($454 | 0) == 2 | ($454 | 0) == 4) {
label = 93;
break;
} else if (($454 | 0) == 3) {
label = 94;
break;
} else {
label = 95;
break;
}
case 93:
var $456 = $gfp + 164 | 0;
var $457 = HEAP32[$456 >> 2];
var $458 = 5317888 + ($457 << 2) | 0;
var $459 = HEAPF32[$458 >> 2];
var $460 = $gfp + 100 | 0;
HEAPF32[$460 >> 2] = $459;
label = 96;
break;
case 94:
var $462 = HEAP32[$449 >> 2];
var $463 = $462 << 4;
var $464 = HEAP32[$82 >> 2];
var $465 = $463 * $464 & -1;
var $466 = $465 | 0;
var $467 = $gfp + 168 | 0;
var $468 = HEAP32[$467 >> 2];
var $469 = $468 | 0;
var $470 = $469 * 1e3;
var $471 = $466 / $470;
var $472 = $471;
var $473 = $gfp + 100 | 0;
HEAPF32[$473 >> 2] = $472;
label = 96;
break;
case 95:
var $475 = HEAP32[$449 >> 2];
var $476 = $475 << 4;
var $477 = HEAP32[$82 >> 2];
var $478 = $476 * $477 & -1;
var $479 = $478 | 0;
var $480 = $gfp + 96 | 0;
var $481 = HEAP32[$480 >> 2];
var $482 = $481 | 0;
var $483 = $482 * 1e3;
var $484 = $479 / $483;
var $485 = $484;
var $486 = $gfp + 100 | 0;
HEAPF32[$486 >> 2] = $485;
label = 96;
break;
case 96:
var $488 = HEAP32[$78 >> 2];
var $489 = ($488 | 0) == 4;
if ($489) {
label = 97;
break;
} else {
label = 98;
break;
}
case 97:
HEAP32[$78 >> 2] = 1;
label = 98;
break;
case 98:
var $492 = HEAP32[$78 >> 2];
var $493 = $2 + 180 | 0;
HEAP32[$493 >> 2] = $492;
var $494 = HEAP32[$444 >> 2];
var $495 = ($494 | 0) > 0;
if ($495) {
label = 99;
break;
} else {
label = 103;
break;
}
case 99:
var $497 = $494 | 0;
var $498 = $497 * 2;
var $499 = $498;
var $500 = $2 + 256 | 0;
HEAPF32[$500 >> 2] = $499;
var $501 = $gfp + 196 | 0;
var $502 = HEAP32[$501 >> 2];
var $503 = ($502 | 0) > -1;
var $504 = HEAP32[$444 >> 2];
if ($503) {
label = 100;
break;
} else {
label = 101;
break;
}
case 100:
var $506 = $504 + $502 | 0;
var $507 = $506 | 0;
var $508 = $507 * 2;
var $509 = $508;
var $510 = $2 + 260 | 0;
HEAPF32[$510 >> 2] = $509;
label = 102;
break;
case 101:
var $512 = $504 | 0;
var $513 = $512 * 2;
var $514 = $513;
var $515 = $2 + 260 | 0;
HEAPF32[$515 >> 2] = $514;
label = 102;
break;
case 102:
var $517 = HEAP32[$449 >> 2];
var $518 = $517 | 0;
var $519 = HEAPF32[$500 >> 2];
var $520 = $519 / $518;
HEAPF32[$500 >> 2] = $520;
var $521 = HEAP32[$449 >> 2];
var $522 = $521 | 0;
var $523 = $2 + 260 | 0;
var $524 = HEAPF32[$523 >> 2];
var $525 = $524 / $522;
HEAPF32[$523 >> 2] = $525;
label = 104;
break;
case 103:
var $527 = $2 + 256 | 0;
HEAPF32[$527 >> 2] = 0;
var $528 = $2 + 260 | 0;
HEAPF32[$528 >> 2] = 0;
label = 104;
break;
case 104:
var $530 = $2 + 248 | 0;
HEAPF32[$530 >> 2] = 0;
var $531 = $2 + 252 | 0;
HEAPF32[$531 >> 2] = 0;
var $532 = HEAP32[$441 >> 2];
var $533 = ($532 | 0) > 0;
if ($533) {
label = 105;
break;
} else {
label = 111;
break;
}
case 105:
var $535 = HEAP32[$449 >> 2];
var $536 = ($535 | 0) / 2 & -1;
var $537 = ($532 | 0) < ($536 | 0);
if ($537) {
label = 106;
break;
} else {
label = 111;
break;
}
case 106:
var $539 = $532 | 0;
var $540 = $539 * 2;
var $541 = $540;
HEAPF32[$531 >> 2] = $541;
var $542 = $gfp + 192 | 0;
var $543 = HEAP32[$542 >> 2];
var $544 = ($543 | 0) > -1;
var $545 = HEAP32[$441 >> 2];
if ($544) {
label = 107;
break;
} else {
label = 109;
break;
}
case 107:
var $547 = $545 - $543 | 0;
var $548 = $547 | 0;
var $549 = $548 * 2;
var $550 = $549;
HEAPF32[$530 >> 2] = $550;
var $551 = $550 < 0;
if ($551) {
label = 108;
break;
} else {
label = 110;
break;
}
case 108:
HEAPF32[$530 >> 2] = 0;
label = 110;
break;
case 109:
var $554 = $545 | 0;
var $555 = $554 * 2;
var $556 = $555;
HEAPF32[$530 >> 2] = $556;
label = 110;
break;
case 110:
var $558 = HEAP32[$449 >> 2];
var $559 = $558 | 0;
var $560 = HEAPF32[$530 >> 2];
var $561 = $560 / $559;
HEAPF32[$530 >> 2] = $561;
var $562 = HEAP32[$449 >> 2];
var $563 = $562 | 0;
var $564 = HEAPF32[$531 >> 2];
var $565 = $564 / $563;
HEAPF32[$531 >> 2] = $565;
label = 111;
break;
case 111:
_lame_init_params_ppflt($2);
var $567 = HEAP32[$449 >> 2];
var $568 = $3 | 0;
var $569 = _SmpFrqIndex($567, $568);
var $570 = $2 + 20 | 0;
HEAP32[$570 >> 2] = $569;
var $571 = ($569 | 0) < 0;
if ($571) {
label = 112;
break;
} else {
label = 113;
break;
}
case 112:
_freegfc($2);
HEAP32[$1 >> 2] = 0;
var $_0 = -1;
label = 202;
break;
case 113:
var $574 = HEAP32[$91 >> 2];
var $575 = ($574 | 0) == 0;
if ($575) {
label = 114;
break;
} else {
label = 118;
break;
}
case 114:
var $577 = HEAP32[$110 >> 2];
var $578 = ($577 | 0) == 0;
if ($578) {
label = 116;
break;
} else {
label = 115;
break;
}
case 115:
var $580 = $2 + 84740 | 0;
HEAP32[$580 >> 2] = 0;
label = 119;
break;
case 116:
var $582 = $gfp + 96 | 0;
var $583 = HEAP32[$582 >> 2];
var $584 = HEAP32[$568 >> 2];
var $585 = HEAP32[$449 >> 2];
var $586 = _FindNearestBitrate($583, $584, $585);
HEAP32[$582 >> 2] = $586;
var $587 = HEAP32[$568 >> 2];
var $588 = HEAP32[$449 >> 2];
var $589 = _BitrateIndex($586, $587, $588);
var $590 = $2 + 84740 | 0;
HEAP32[$590 >> 2] = $589;
var $591 = ($589 | 0) < 1;
if ($591) {
label = 117;
break;
} else {
label = 119;
break;
}
case 117:
_freegfc($2);
HEAP32[$1 >> 2] = 0;
var $_0 = -1;
label = 202;
break;
case 118:
var $594 = $2 + 84740 | 0;
HEAP32[$594 >> 2] = 1;
label = 119;
break;
case 119:
_init_bit_stream_w($2);
var $596 = HEAP32[$570 >> 2];
var $597 = HEAP32[$568 >> 2];
var $598 = $597 * 3 & -1;
var $599 = $598 + $596 | 0;
var $600 = HEAP32[$449 >> 2];
var $601 = ($600 | 0) < 16e3;
var $602 = $601 & 1;
var $603 = -$602 | 0;
var $604 = $603 & 6;
var $605 = $599 + $604 | 0;
var $i_1616 = 0;
label = 120;
break;
case 120:
var $i_1616;
var $607 = 5254748 + $605 * 204 + ($i_1616 << 2) | 0;
var $608 = HEAP32[$607 >> 2];
var $609 = $2 + 21360 + ($i_1616 << 2) | 0;
HEAP32[$609 >> 2] = $608;
var $610 = $i_1616 + 1 | 0;
var $exitcond625 = ($610 | 0) == 23;
if ($exitcond625) {
label = 121;
break;
} else {
var $i_1616 = $610;
label = 120;
break;
}
case 121:
var $612 = $2 + 21448 | 0;
var $613 = $2 + 21444 | 0;
var $614 = HEAP32[$613 >> 2];
var $615 = $2 + 21508 | 0;
HEAP32[$615 >> 2] = $614;
var $616 = HEAP32[$612 >> 2];
var $617 = HEAP32[$613 >> 2];
var $618 = $616 - $617 | 0;
var $619 = ($618 | 0) / 6 & -1;
var $620 = $619 + $617 | 0;
var $621 = $2 + 21512 | 0;
HEAP32[$621 >> 2] = $620;
var $622 = HEAP32[$612 >> 2];
var $623 = HEAP32[$613 >> 2];
var $624 = $622 - $623 | 0;
var $625 = ($624 | 0) / 6 & -1;
var $626 = $625 << 1;
var $627 = $626 + $623 | 0;
var $628 = $2 + 21516 | 0;
HEAP32[$628 >> 2] = $627;
var $629 = HEAP32[$612 >> 2];
var $630 = HEAP32[$613 >> 2];
var $631 = $629 - $630 | 0;
var $632 = ($631 | 0) / 6 & -1;
var $633 = $632 * 3 & -1;
var $634 = $633 + $630 | 0;
var $635 = $2 + 21520 | 0;
HEAP32[$635 >> 2] = $634;
var $636 = HEAP32[$612 >> 2];
var $637 = HEAP32[$613 >> 2];
var $638 = $636 - $637 | 0;
var $639 = ($638 | 0) / 6 & -1;
var $640 = $639 << 2;
var $641 = $640 + $637 | 0;
var $642 = $2 + 21524 | 0;
HEAP32[$642 >> 2] = $641;
var $643 = HEAP32[$612 >> 2];
var $644 = HEAP32[$613 >> 2];
var $645 = $643 - $644 | 0;
var $646 = ($645 | 0) / 6 & -1;
var $647 = $646 * 5 & -1;
var $648 = $647 + $644 | 0;
var $649 = $2 + 21528 | 0;
HEAP32[$649 >> 2] = $648;
var $650 = $2 + 21532 | 0;
HEAP32[$650 >> 2] = 576;
var $651 = 5254840 + $605 * 204 | 0;
var $652 = HEAP32[$651 >> 2];
var $653 = $2 + 21452 | 0;
HEAP32[$653 >> 2] = $652;
var $654 = 5254844 + $605 * 204 | 0;
var $655 = HEAP32[$654 >> 2];
var $656 = $2 + 21456 | 0;
HEAP32[$656 >> 2] = $655;
var $657 = 5254848 + $605 * 204 | 0;
var $658 = HEAP32[$657 >> 2];
var $659 = $2 + 21460 | 0;
HEAP32[$659 >> 2] = $658;
var $660 = 5254852 + $605 * 204 | 0;
var $661 = HEAP32[$660 >> 2];
var $662 = $2 + 21464 | 0;
HEAP32[$662 >> 2] = $661;
var $663 = 5254856 + $605 * 204 | 0;
var $664 = HEAP32[$663 >> 2];
var $665 = $2 + 21468 | 0;
HEAP32[$665 >> 2] = $664;
var $666 = 5254860 + $605 * 204 | 0;
var $667 = HEAP32[$666 >> 2];
var $668 = $2 + 21472 | 0;
HEAP32[$668 >> 2] = $667;
var $669 = 5254864 + $605 * 204 | 0;
var $670 = HEAP32[$669 >> 2];
var $671 = $2 + 21476 | 0;
HEAP32[$671 >> 2] = $670;
var $672 = 5254868 + $605 * 204 | 0;
var $673 = HEAP32[$672 >> 2];
var $674 = $2 + 21480 | 0;
HEAP32[$674 >> 2] = $673;
var $675 = 5254872 + $605 * 204 | 0;
var $676 = HEAP32[$675 >> 2];
var $677 = $2 + 21484 | 0;
HEAP32[$677 >> 2] = $676;
var $678 = 5254876 + $605 * 204 | 0;
var $679 = HEAP32[$678 >> 2];
var $680 = $2 + 21488 | 0;
HEAP32[$680 >> 2] = $679;
var $681 = 5254880 + $605 * 204 | 0;
var $682 = HEAP32[$681 >> 2];
var $683 = $2 + 21492 | 0;
HEAP32[$683 >> 2] = $682;
var $684 = 5254884 + $605 * 204 | 0;
var $685 = HEAP32[$684 >> 2];
var $686 = $2 + 21496 | 0;
HEAP32[$686 >> 2] = $685;
var $687 = 5254888 + $605 * 204 | 0;
var $688 = HEAP32[$687 >> 2];
var $689 = $2 + 21500 | 0;
HEAP32[$689 >> 2] = $688;
var $690 = 5254892 + $605 * 204 | 0;
var $691 = HEAP32[$690 >> 2];
var $692 = $2 + 21504 | 0;
HEAP32[$692 >> 2] = $691;
var $693 = $2 + 21504 | 0;
var $694 = $2 + 21500 | 0;
var $695 = HEAP32[$694 >> 2];
var $696 = $2 + 21536 | 0;
HEAP32[$696 >> 2] = $695;
var $697 = HEAP32[$693 >> 2];
var $698 = HEAP32[$694 >> 2];
var $699 = $697 - $698 | 0;
var $700 = ($699 | 0) / 6 & -1;
var $701 = $700 + $698 | 0;
var $702 = $2 + 21540 | 0;
HEAP32[$702 >> 2] = $701;
var $703 = HEAP32[$693 >> 2];
var $704 = HEAP32[$694 >> 2];
var $705 = $703 - $704 | 0;
var $706 = ($705 | 0) / 6 & -1;
var $707 = $706 << 1;
var $708 = $707 + $704 | 0;
var $709 = $2 + 21544 | 0;
HEAP32[$709 >> 2] = $708;
var $710 = HEAP32[$693 >> 2];
var $711 = HEAP32[$694 >> 2];
var $712 = $710 - $711 | 0;
var $713 = ($712 | 0) / 6 & -1;
var $714 = $713 * 3 & -1;
var $715 = $714 + $711 | 0;
var $716 = $2 + 21548 | 0;
HEAP32[$716 >> 2] = $715;
var $717 = HEAP32[$693 >> 2];
var $718 = HEAP32[$694 >> 2];
var $719 = $717 - $718 | 0;
var $720 = ($719 | 0) / 6 & -1;
var $721 = $720 << 2;
var $722 = $721 + $718 | 0;
var $723 = $2 + 21552 | 0;
HEAP32[$723 >> 2] = $722;
var $724 = HEAP32[$693 >> 2];
var $725 = HEAP32[$694 >> 2];
var $726 = $724 - $725 | 0;
var $727 = ($726 | 0) / 6 & -1;
var $728 = $727 * 5 & -1;
var $729 = $728 + $725 | 0;
var $730 = $2 + 21556 | 0;
HEAP32[$730 >> 2] = $729;
var $731 = $2 + 21560 | 0;
HEAP32[$731 >> 2] = 192;
var $732 = HEAP32[$452 >> 2];
var $733 = ($732 | 0) == 2;
var $734 = HEAP32[$82 >> 2];
var $735 = ($734 | 0) == 1;
if ($733) {
label = 122;
break;
} else {
label = 123;
break;
}
case 122:
var $737 = $735 ? 21 : 36;
var $738 = $2 + 24 | 0;
HEAP32[$738 >> 2] = $737;
label = 124;
break;
case 123:
var $740 = $735 ? 13 : 21;
var $741 = $2 + 24 | 0;
HEAP32[$741 >> 2] = $740;
label = 124;
break;
case 124:
var $743 = HEAP32[$58 >> 2];
var $744 = ($743 | 0) == 0;
if ($744) {
label = 126;
break;
} else {
label = 125;
break;
}
case 125:
var $746 = $2 + 24 | 0;
var $747 = HEAP32[$746 >> 2];
var $748 = $747 + 2 | 0;
HEAP32[$746 >> 2] = $748;
label = 126;
break;
case 126:
HEAP32[$4 >> 2] = -487877;
var $k_0611 = 0;
label = 127;
break;
case 127:
var $k_0611;
var $751 = HEAP32[$452 >> 2];
var $752 = $751 * 700 & -1;
var $753 = HEAP32[$82 >> 2];
var $754 = $752 * $753 & -1;
var $755 = $754 | 0;
var $756 = $2 + 39752 + ($k_0611 << 2) | 0;
HEAPF32[$756 >> 2] = $755;
var $757 = $k_0611 + 1 | 0;
var $exitcond = ($757 | 0) == 19;
if ($exitcond) {
label = 128;
break;
} else {
var $k_0611 = $757;
label = 127;
break;
}
case 128:
var $759 = $gfp + 220 | 0;
var $760 = HEAP32[$759 >> 2];
var $761 = ($760 | 0) == -1;
if ($761) {
label = 129;
break;
} else {
label = 130;
break;
}
case 129:
HEAP32[$759 >> 2] = 4;
label = 130;
break;
case 130:
var $764 = HEAP32[$91 >> 2];
if (($764 | 0) == 1 | ($764 | 0) == 4) {
label = 131;
break;
} else if (($764 | 0) == 2) {
label = 145;
break;
} else {
label = 153;
break;
}
case 131:
var $766 = $gfp + 124 | 0;
var $767 = HEAP32[$766 >> 2];
var $768 = ($767 | 0) < 0;
if ($768) {
label = 132;
break;
} else {
label = 133;
break;
}
case 132:
HEAP32[$766 >> 2] = 2;
label = 133;
break;
case 133:
var $771 = $gfp + 244 | 0;
var $772 = HEAP32[$771 >> 2];
var $773 = ($772 | 0) < 0;
if ($773) {
label = 134;
break;
} else {
label = 135;
break;
}
case 134:
HEAP32[$771 >> 2] = 0;
label = 135;
break;
case 135:
var $776 = $gfp + 164 | 0;
var $777 = HEAP32[$776 >> 2];
var $778 = $777 * -10 & -1;
var $779 = $778 + 500 | 0;
var $780 = _apply_preset($gfp, $779, 0);
var $781 = $gfp + 44 | 0;
var $782 = HEAP32[$781 >> 2];
var $783 = ($782 | 0) < 0;
if ($783) {
label = 136;
break;
} else {
label = 137;
break;
}
case 136:
HEAP32[$781 >> 2] = 3;
label = 138;
break;
case 137:
var $785 = ($782 | 0) < 5;
if ($785) {
label = 138;
break;
} else {
label = 139;
break;
}
case 138:
HEAP32[$781 >> 2] = 0;
label = 141;
break;
case 139:
var $_pr604 = HEAP32[$781 >> 2];
var $787 = ($_pr604 | 0) > 7;
if ($787) {
label = 140;
break;
} else {
label = 141;
break;
}
case 140:
HEAP32[$781 >> 2] = 7;
label = 141;
break;
case 141:
var $790 = $gfp + 140 | 0;
var $791 = HEAP32[$790 >> 2];
var $792 = ($791 | 0) == 0;
if ($792) {
label = 143;
break;
} else {
label = 142;
break;
}
case 142:
var $794 = $2 + 85088 | 0;
HEAP32[$794 >> 2] = 0;
label = 144;
break;
case 143:
var $796 = HEAP32[$449 >> 2];
var $797 = ($796 | 0) > 44e3;
var $798 = $797 & 1;
var $799 = $2 + 85088 | 0;
HEAP32[$799 >> 2] = $798;
label = 144;
break;
case 144:
var $801 = $2 + 85808 | 0;
HEAP32[$801 >> 2] = 20;
label = 160;
break;
case 145:
var $803 = $gfp + 164 | 0;
var $804 = HEAP32[$803 >> 2];
var $805 = $804 * -10 & -1;
var $806 = $805 + 500 | 0;
var $807 = _apply_preset($gfp, $806, 0);
var $808 = $gfp + 140 | 0;
var $809 = HEAP32[$808 >> 2];
var $810 = ($809 | 0) == 0;
if ($810) {
label = 147;
break;
} else {
label = 146;
break;
}
case 146:
var $812 = $2 + 85088 | 0;
HEAP32[$812 >> 2] = 0;
label = 148;
break;
case 147:
var $814 = HEAP32[$449 >> 2];
var $815 = ($814 | 0) > 44e3;
var $816 = $815 & 1;
var $817 = $2 + 85088 | 0;
HEAP32[$817 >> 2] = $816;
label = 148;
break;
case 148:
var $819 = $gfp + 44 | 0;
var $820 = HEAP32[$819 >> 2];
var $821 = ($820 | 0) > 6;
if ($821) {
label = 149;
break;
} else {
label = 150;
break;
}
case 149:
HEAP32[$819 >> 2] = 6;
label = 152;
break;
case 150:
var $823 = ($820 | 0) < 0;
if ($823) {
label = 151;
break;
} else {
label = 152;
break;
}
case 151:
HEAP32[$819 >> 2] = 3;
label = 152;
break;
case 152:
var $826 = $2 + 85808 | 0;
HEAP32[$826 >> 2] = 14;
label = 160;
break;
case 153:
var $828 = $2 + 85088 | 0;
HEAP32[$828 >> 2] = 0;
var $829 = $gfp + 44 | 0;
var $830 = HEAP32[$829 >> 2];
var $831 = ($830 | 0) < 0;
if ($831) {
label = 154;
break;
} else {
label = 155;
break;
}
case 154:
HEAP32[$829 >> 2] = 3;
label = 155;
break;
case 155:
var $834 = HEAP32[$91 >> 2];
var $835 = ($834 | 0) == 0;
if ($835) {
label = 156;
break;
} else {
label = 157;
break;
}
case 156:
var $837 = $gfp + 96 | 0;
var $838 = HEAP32[$837 >> 2];
var $839 = _lame_set_VBR_mean_bitrate_kbps($gfp, $838);
label = 157;
break;
case 157:
var $841 = $gfp + 168 | 0;
var $842 = HEAP32[$841 >> 2];
var $843 = _apply_preset($gfp, $842, 0);
HEAP32[$91 >> 2] = $834;
var $844 = $2 + 85808 | 0;
if ($835) {
label = 158;
break;
} else {
label = 159;
break;
}
case 158:
HEAP32[$844 >> 2] = 26;
label = 160;
break;
case 159:
HEAP32[$844 >> 2] = 4;
label = 160;
break;
case 160:
var $848 = $gfp + 200 | 0;
var $849 = HEAPF32[$848 >> 2];
var $850 = $2 + 84908 | 0;
HEAPF32[$850 >> 2] = $849;
var $851 = $gfp + 204 | 0;
var $852 = HEAPF32[$851 >> 2];
var $853 = $2 + 84912 | 0;
HEAPF32[$853 >> 2] = $852;
var $854 = $gfp + 256 | 0;
var $855 = HEAP32[$854 >> 2];
var $856 = ($855 | 0) == 0;
if ($856) {
label = 162;
break;
} else {
label = 161;
break;
}
case 161:
var $858 = $gfp + 260 | 0;
var $859 = HEAPF32[$858 >> 2];
var $860 = HEAPF32[$850 >> 2];
var $861 = $859 + $860;
HEAPF32[$850 >> 2] = $861;
var $862 = HEAPF32[$858 >> 2];
var $863 = HEAPF32[$853 >> 2];
var $864 = $862 + $863;
HEAPF32[$853 >> 2] = $864;
label = 162;
break;
case 162:
var $866 = HEAP32[$91 >> 2];
var $867 = ($866 | 0) == 0;
if ($867) {
label = 170;
break;
} else {
label = 163;
break;
}
case 163:
var $869 = $2 + 112 | 0;
HEAP32[$869 >> 2] = 1;
var $870 = $2 + 116 | 0;
HEAP32[$870 >> 2] = 14;
var $871 = HEAP32[$449 >> 2];
var $872 = ($871 | 0) < 16e3;
if ($872) {
label = 164;
break;
} else {
label = 165;
break;
}
case 164:
HEAP32[$870 >> 2] = 8;
label = 165;
break;
case 165:
var $875 = $gfp + 172 | 0;
var $876 = HEAP32[$875 >> 2];
var $877 = ($876 | 0) == 0;
if ($877) {
label = 167;
break;
} else {
label = 166;
break;
}
case 166:
var $879 = HEAP32[$568 >> 2];
var $880 = HEAP32[$449 >> 2];
var $881 = _FindNearestBitrate($876, $879, $880);
HEAP32[$875 >> 2] = $881;
var $882 = HEAP32[$568 >> 2];
var $883 = HEAP32[$449 >> 2];
var $884 = _BitrateIndex($881, $882, $883);
HEAP32[$869 >> 2] = $884;
var $885 = ($884 | 0) < 0;
if ($885) {
var $_0 = -1;
label = 202;
break;
} else {
label = 167;
break;
}
case 167:
var $887 = $gfp + 176 | 0;
var $888 = HEAP32[$887 >> 2];
var $889 = ($888 | 0) == 0;
if ($889) {
label = 169;
break;
} else {
label = 168;
break;
}
case 168:
var $891 = HEAP32[$568 >> 2];
var $892 = HEAP32[$449 >> 2];
var $893 = _FindNearestBitrate($888, $891, $892);
HEAP32[$887 >> 2] = $893;
var $894 = HEAP32[$568 >> 2];
var $895 = HEAP32[$449 >> 2];
var $896 = _BitrateIndex($893, $894, $895);
HEAP32[$870 >> 2] = $896;
var $897 = ($896 | 0) < 0;
if ($897) {
var $_0 = -1;
label = 202;
break;
} else {
label = 169;
break;
}
case 169:
var $899 = HEAP32[$869 >> 2];
var $900 = HEAP32[$568 >> 2];
var $901 = 5348684 + ($900 << 6) + ($899 << 2) | 0;
var $902 = HEAP32[$901 >> 2];
HEAP32[$875 >> 2] = $902;
var $903 = HEAP32[$870 >> 2];
var $904 = HEAP32[$568 >> 2];
var $905 = 5348684 + ($904 << 6) + ($903 << 2) | 0;
var $906 = HEAP32[$905 >> 2];
HEAP32[$887 >> 2] = $906;
var $907 = HEAP32[$870 >> 2];
var $908 = HEAP32[$568 >> 2];
var $909 = 5348684 + ($908 << 6) + ($907 << 2) | 0;
var $910 = HEAP32[$909 >> 2];
var $911 = $gfp + 168 | 0;
var $912 = HEAP32[$911 >> 2];
var $913 = ($910 | 0) < ($912 | 0);
var $_593 = $913 ? $910 : $912;
HEAP32[$911 >> 2] = $_593;
var $914 = HEAP32[$869 >> 2];
var $915 = HEAP32[$568 >> 2];
var $916 = 5348684 + ($915 << 6) + ($914 << 2) | 0;
var $917 = HEAP32[$916 >> 2];
var $918 = ($917 | 0) > ($_593 | 0);
var $919 = $918 ? $917 : $_593;
HEAP32[$911 >> 2] = $919;
label = 170;
break;
case 170:
var $921 = $gfp + 152 | 0;
var $922 = HEAP32[$921 >> 2];
var $923 = $2 + 100 | 0;
HEAP32[$923 >> 2] = $922;
var $924 = HEAP32[$390 >> 2];
var $925 = $2 + 156 | 0;
HEAP32[$925 >> 2] = $924;
var $926 = HEAP32[$91 >> 2];
var $927 = $2 + 104 | 0;
HEAP32[$927 >> 2] = $926;
var $928 = $gfp + 80 | 0;
var $929 = HEAP32[$928 >> 2];
var $930 = $2 + 85092 | 0;
HEAP32[$930 >> 2] = $929;
var $931 = $gfp + 84 | 0;
var $932 = HEAP32[$931 >> 2];
var $933 = $2 + 28 | 0;
HEAP32[$933 >> 2] = $932;
var $934 = $gfp + 88 | 0;
var $935 = HEAP32[$934 >> 2];
var $936 = $2 + 32 | 0;
HEAP32[$936 >> 2] = $935;
var $937 = $gfp + 92 | 0;
var $938 = HEAP32[$937 >> 2];
var $939 = $2 + 36 | 0;
HEAP32[$939 >> 2] = $938;
var $940 = $gfp + 96 | 0;
var $941 = HEAP32[$940 >> 2];
var $942 = $2 + 120 | 0;
HEAP32[$942 >> 2] = $941;
var $943 = $gfp + 168 | 0;
var $944 = HEAP32[$943 >> 2];
var $945 = $2 + 108 | 0;
HEAP32[$945 >> 2] = $944;
var $946 = $gfp + 100 | 0;
var $947 = HEAPF32[$946 >> 2];
var $948 = $2 + 244 | 0;
HEAPF32[$948 >> 2] = $947;
_lame_init_qval($gfp);
var $949 = $gfp + 232 | 0;
var $950 = HEAP32[$949 >> 2];
var $951 = ($950 | 0) < 0;
var $952 = HEAP32[$41 >> 2];
var $953 = $952 | 0;
var $_610 = $951 ? 3 : $950;
HEAP32[$953 >> 2] = $_610;
var $954 = $gfp + 236 | 0;
var $955 = HEAPF32[$954 >> 2];
var $956 = $955;
var $957 = $956 / -10;
var $958 = Math.pow(10, $957);
var $959 = $958;
var $960 = HEAP32[$41 >> 2];
var $961 = $960 + 4 | 0;
HEAPF32[$961 >> 2] = $959;
var $962 = $gfp + 240 | 0;
var $963 = HEAP32[$962 >> 2];
if (($963 | 0) == -1) {
label = 171;
break;
} else if (($963 | 0) == 0) {
label = 172;
break;
} else {
label = 174;
break;
}
case 171:
HEAP32[$962 >> 2] = 0;
label = 172;
break;
case 172:
var $965 = HEAP32[$493 >> 2];
var $switch = $965 >>> 0 < 2;
if ($switch) {
label = 173;
break;
} else {
label = 174;
break;
}
case 173:
HEAP32[$962 >> 2] = 1;
label = 174;
break;
case 174:
var $968 = HEAP32[$962 >> 2];
var $969 = $2 + 184 | 0;
HEAP32[$969 >> 2] = $968;
var $970 = _lame_get_quant_comp($gfp);
var $971 = ($970 | 0) < 0;
if ($971) {
label = 175;
break;
} else {
label = 176;
break;
}
case 175:
var $973 = _lame_set_quant_comp($gfp, 1);
label = 176;
break;
case 176:
var $975 = _lame_get_quant_comp_short($gfp);
var $976 = ($975 | 0) < 0;
if ($976) {
label = 177;
break;
} else {
label = 178;
break;
}
case 177:
var $978 = _lame_set_quant_comp_short($gfp, 0);
label = 178;
break;
case 178:
var $980 = _lame_get_msfix($gfp);
var $981 = $980 < 0;
if ($981) {
label = 179;
break;
} else {
label = 180;
break;
}
case 179:
_lame_set_msfix($gfp, 0);
label = 180;
break;
case 180:
var $984 = _lame_get_exp_nspsytune($gfp);
var $985 = $984 | 1;
var $986 = _lame_set_exp_nspsytune($gfp, $985);
var $987 = HEAP32[$759 >> 2];
var $988 = ($987 | 0) < 0;
if ($988) {
label = 181;
break;
} else {
label = 182;
break;
}
case 181:
HEAP32[$759 >> 2] = 4;
label = 182;
break;
case 182:
var $991 = $gfp + 224 | 0;
var $992 = HEAPF32[$991 >> 2];
var $993 = $992 < 0;
if ($993) {
label = 183;
break;
} else {
label = 184;
break;
}
case 183:
HEAPF32[$991 >> 2] = 4;
label = 184;
break;
case 184:
var $996 = $gfp + 248 | 0;
var $997 = HEAPF32[$996 >> 2];
var $998 = $997 < 0;
if ($998) {
label = 185;
break;
} else {
label = 186;
break;
}
case 185:
HEAPF32[$996 >> 2] = 0;
label = 186;
break;
case 186:
var $1001 = $gfp + 244 | 0;
var $1002 = HEAP32[$1001 >> 2];
var $1003 = ($1002 | 0) < 0;
if ($1003) {
label = 187;
break;
} else {
label = 188;
break;
}
case 187:
HEAP32[$1001 >> 2] = 1;
label = 188;
break;
case 188:
var $1006 = HEAPF32[$996 >> 2];
var $1007 = $2 + 188 | 0;
HEAPF32[$1007 >> 2] = $1006;
var $1008 = $gfp + 252 | 0;
var $1009 = HEAPF32[$1008 >> 2];
var $1010 = $2 + 192 | 0;
HEAPF32[$1010 >> 2] = $1009;
var $1011 = $gfp + 228 | 0;
var $1012 = HEAPF32[$1011 >> 2];
var $1013 = -$1012;
var $1014 = $2 + 196 | 0;
HEAPF32[$1014 >> 2] = $1013;
var $1015 = $1013 * .10000000149011612;
var $1016 = Math.pow(10, $1015);
var $1017 = $2 + 200 | 0;
HEAPF32[$1017 >> 2] = $1016;
var $1018 = HEAPF32[$991 >> 2];
var $1019 = $2 + 204 | 0;
HEAPF32[$1019 >> 2] = $1018;
var $1020 = HEAP32[$759 >> 2];
var $1021 = $2 + 208 | 0;
HEAP32[$1021 >> 2] = $1020;
var $1022 = $gfp + 208 | 0;
var $1023 = HEAP32[$1022 >> 2];
var $1024 = $2 + 212 | 0;
HEAP32[$1024 >> 2] = $1023;
var $1025 = $gfp + 212 | 0;
var $1026 = HEAP32[$1025 >> 2];
var $1027 = $2 + 216 | 0;
HEAP32[$1027 >> 2] = $1026;
var $1028 = $gfp + 216 | 0;
var $1029 = HEAP32[$1028 >> 2];
var $1030 = $2 + 220 | 0;
HEAP32[$1030 >> 2] = $1029;
var $1031 = $gfp + 132 | 0;
var $1032 = HEAP32[$1031 >> 2];
var $1033 = $2 + 84 | 0;
HEAP32[$1033 >> 2] = $1032;
var $1034 = $gfp + 136 | 0;
var $1035 = HEAP32[$1034 >> 2];
var $1036 = $2 + 88 | 0;
HEAP32[$1036 >> 2] = $1035;
var $1037 = HEAP32[$1001 >> 2];
var $1038 = $2 + 92 | 0;
HEAP32[$1038 >> 2] = $1037;
var $1039 = $gfp + 148 | 0;
var $1040 = HEAP32[$1039 >> 2];
var $1041 = $1040 & 2;
var $1042 = $2 + 96 | 0;
HEAP32[$1042 >> 2] = $1041;
var $1043 = HEAP32[$1039 >> 2];
var $1044 = $1043 >>> 2;
var $1045 = $1044 & 63;
var $1046 = $1045 | 0;
var $1047 = $2 + 232 | 0;
var $1048 = $1046 < 32;
if ($1048) {
var $storemerge586 = $1046;
label = 190;
break;
} else {
label = 189;
break;
}
case 189:
var $1050 = $1046 - 64;
var $storemerge586 = $1050;
label = 190;
break;
case 190:
var $storemerge586;
var $1052 = $storemerge586 * .25;
HEAPF32[$1047 >> 2] = $1052;
var $1053 = HEAP32[$1039 >> 2];
var $1054 = $1053 >>> 8;
var $1055 = $1054 & 63;
var $1056 = $1055 | 0;
var $1057 = $2 + 228 | 0;
var $1058 = $1056 < 32;
if ($1058) {
var $storemerge585 = $1056;
label = 192;
break;
} else {
label = 191;
break;
}
case 191:
var $1060 = $1056 - 64;
var $storemerge585 = $1060;
label = 192;
break;
case 192:
var $storemerge585;
var $1062 = $storemerge585 * .25;
HEAPF32[$1057 >> 2] = $1062;
var $1063 = HEAP32[$1039 >> 2];
var $1064 = $1063 >>> 14;
var $1065 = $1064 & 63;
var $1066 = $1065 | 0;
var $1067 = $2 + 236 | 0;
var $1068 = $1066 < 32;
if ($1068) {
var $storemerge584 = $1066;
label = 194;
break;
} else {
label = 193;
break;
}
case 193:
var $1070 = $1066 - 64;
var $storemerge584 = $1070;
label = 194;
break;
case 194:
var $storemerge584;
var $1072 = $storemerge584 * .25;
HEAPF32[$1067 >> 2] = $1072;
var $1073 = HEAP32[$1039 >> 2];
var $1074 = $1073 >>> 20;
var $1075 = $1074 & 63;
var $1076 = $1075 | 0;
var $1077 = $2 + 240 | 0;
var $1078 = $1076 < 32;
if ($1078) {
var $storemerge583 = $1076;
label = 196;
break;
} else {
label = 195;
break;
}
case 195:
var $1080 = $1076 - 64;
var $storemerge583 = $1080;
label = 196;
break;
case 196:
var $storemerge583;
var $1082 = $storemerge583 * .25;
var $1083 = HEAPF32[$1067 >> 2];
var $1084 = $1082 + $1083;
HEAPF32[$1077 >> 2] = $1084;
var $1085 = $gfp + 20 | 0;
var $1086 = HEAPF32[$1085 >> 2];
var $1087 = 0;
var $1088 = $gfp + 24 | 0;
var $1089 = HEAPF32[$1088 >> 2];
var $1090 = $1086 * $1089;
var $1091 = $1087 * $1089;
var $1092 = $gfp + 28 | 0;
var $1093 = HEAPF32[$1092 >> 2];
var $1094 = $1087 * $1093;
var $1095 = $1086 * $1093;
var $1096 = HEAP32[$73 >> 2];
var $1097 = ($1096 | 0) == 2;
if ($1097) {
label = 197;
break;
} else {
var $m10_sroa_0_0 = $1090;
var $m10_sroa_1_0 = $1091;
var $m10_sroa_2_0 = $1094;
var $m10_sroa_3_0 = $1095;
label = 199;
break;
}
case 197:
var $1099 = HEAP32[$82 >> 2];
var $1100 = ($1099 | 0) == 1;
if ($1100) {
label = 198;
break;
} else {
var $m10_sroa_0_0 = $1090;
var $m10_sroa_1_0 = $1091;
var $m10_sroa_2_0 = $1094;
var $m10_sroa_3_0 = $1095;
label = 199;
break;
}
case 198:
var $1102 = $1090 + $1094;
var $1103 = $1102 * .5;
var $1104 = $1091 + $1095;
var $1105 = $1104 * .5;
var $m10_sroa_0_0 = $1103;
var $m10_sroa_1_0 = $1105;
var $m10_sroa_2_0 = 0;
var $m10_sroa_3_0 = 0;
label = 199;
break;
case 199:
var $m10_sroa_3_0;
var $m10_sroa_2_0;
var $m10_sroa_1_0;
var $m10_sroa_0_0;
var $1107 = $2 + 264 | 0;
HEAPF32[$1107 >> 2] = $m10_sroa_0_0;
var $1108 = $2 + 268 | 0;
HEAPF32[$1108 >> 2] = $m10_sroa_1_0;
var $1109 = $2 + 272 | 0;
HEAPF32[$1109 >> 2] = $m10_sroa_2_0;
var $1110 = $2 + 276 | 0;
HEAPF32[$1110 >> 2] = $m10_sroa_3_0;
var $1111 = $2 + 39828 | 0;
HEAP32[$1111 >> 2] = 0;
var $1112 = $2 + 39832 | 0;
HEAP32[$1112 >> 2] = 0;
var $1113 = HEAP32[$927 >> 2];
var $1114 = ($1113 | 0) == 0;
if ($1114) {
label = 200;
break;
} else {
label = 201;
break;
}
case 200:
var $1116 = HEAP32[$568 >> 2];
var $1117 = $1116 * 72e3 & -1;
var $1118 = $1117 + 72e3 | 0;
var $1119 = HEAP32[$942 >> 2];
var $1120 = $1118 * $1119 & -1;
var $1121 = HEAP32[$449 >> 2];
var $1122 = ($1120 | 0) % ($1121 | 0);
HEAP32[$1111 >> 2] = $1122;
HEAP32[$1112 >> 2] = $1122;
label = 201;
break;
case 201:
var $1124 = _lame_init_bitstream($gfp);
_iteration_init($2);
var $1125 = _psymodel_init($gfp);
var $1126 = $gfp + 124 | 0;
var $1127 = HEAP32[$1126 >> 2];
var $1128 = _get_max_frame_buffer_size_by_constraint($3, $1127);
var $1129 = $2 + 148 | 0;
HEAP32[$1129 >> 2] = $1128;
var $_0 = 0;
label = 202;
break;
case 202:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_lame_init_params["X"] = 1;
function _linear_int($a, $b, $m) {
return ($b - $a) * $m + $a;
}
function _optimum_samplefreq($lowpassfreq, $input_samplefreq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($input_samplefreq | 0) > 47999;
if ($1) {
var $suggested_samplefreq_0 = 48e3;
label = 11;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = ($input_samplefreq | 0) > 44099;
if ($3) {
var $suggested_samplefreq_0 = 44100;
label = 11;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = ($input_samplefreq | 0) > 31999;
if ($5) {
var $suggested_samplefreq_0 = 32e3;
label = 11;
break;
} else {
label = 5;
break;
}
case 5:
var $7 = ($input_samplefreq | 0) > 23999;
if ($7) {
var $suggested_samplefreq_0 = 24e3;
label = 11;
break;
} else {
label = 6;
break;
}
case 6:
var $9 = ($input_samplefreq | 0) > 22049;
if ($9) {
var $suggested_samplefreq_0 = 22050;
label = 11;
break;
} else {
label = 7;
break;
}
case 7:
var $11 = ($input_samplefreq | 0) > 15999;
if ($11) {
var $suggested_samplefreq_0 = 16e3;
label = 11;
break;
} else {
label = 8;
break;
}
case 8:
var $13 = ($input_samplefreq | 0) > 11999;
if ($13) {
var $suggested_samplefreq_0 = 12e3;
label = 11;
break;
} else {
label = 9;
break;
}
case 9:
var $15 = ($input_samplefreq | 0) > 11024;
if ($15) {
var $suggested_samplefreq_0 = 11025;
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
var $17 = ($input_samplefreq | 0) > 7999;
var $_ = $17 ? 8e3 : 44100;
var $suggested_samplefreq_0 = $_;
label = 11;
break;
case 11:
var $suggested_samplefreq_0;
var $19 = ($lowpassfreq | 0) == -1;
if ($19) {
var $_0 = $suggested_samplefreq_0;
label = 21;
break;
} else {
label = 12;
break;
}
case 12:
var $21 = ($lowpassfreq | 0) < 15961;
var $_suggested_samplefreq_0 = $21 ? 44100 : $suggested_samplefreq_0;
var $22 = ($lowpassfreq | 0) < 15251;
var $suggested_samplefreq_2 = $22 ? 32e3 : $_suggested_samplefreq_0;
var $23 = ($lowpassfreq | 0) < 11221;
var $_suggested_samplefreq_2 = $23 ? 24e3 : $suggested_samplefreq_2;
var $24 = ($lowpassfreq | 0) < 9971;
var $suggested_samplefreq_4 = $24 ? 22050 : $_suggested_samplefreq_2;
var $25 = ($lowpassfreq | 0) < 7231;
var $_suggested_samplefreq_4 = $25 ? 16e3 : $suggested_samplefreq_4;
var $26 = ($lowpassfreq | 0) < 5421;
var $suggested_samplefreq_6 = $26 ? 12e3 : $_suggested_samplefreq_4;
var $27 = ($lowpassfreq | 0) < 4511;
var $_suggested_samplefreq_6 = $27 ? 11025 : $suggested_samplefreq_6;
var $28 = ($lowpassfreq | 0) < 3971;
var $suggested_samplefreq_8 = $28 ? 8e3 : $_suggested_samplefreq_6;
var $29 = ($suggested_samplefreq_8 | 0) > ($input_samplefreq | 0);
if ($29) {
label = 13;
break;
} else {
var $_0 = $suggested_samplefreq_8;
label = 21;
break;
}
case 13:
var $31 = ($input_samplefreq | 0) > 44100;
if ($31) {
var $_0 = 48e3;
label = 21;
break;
} else {
label = 14;
break;
}
case 14:
var $33 = ($input_samplefreq | 0) > 32e3;
if ($33) {
var $_0 = 44100;
label = 21;
break;
} else {
label = 15;
break;
}
case 15:
var $35 = ($input_samplefreq | 0) > 24e3;
if ($35) {
var $_0 = 32e3;
label = 21;
break;
} else {
label = 16;
break;
}
case 16:
var $37 = ($input_samplefreq | 0) > 22050;
if ($37) {
var $_0 = 24e3;
label = 21;
break;
} else {
label = 17;
break;
}
case 17:
var $39 = ($input_samplefreq | 0) > 16e3;
if ($39) {
var $_0 = 22050;
label = 21;
break;
} else {
label = 18;
break;
}
case 18:
var $41 = ($input_samplefreq | 0) > 12e3;
if ($41) {
var $_0 = 16e3;
label = 21;
break;
} else {
label = 19;
break;
}
case 19:
var $43 = ($input_samplefreq | 0) > 11025;
if ($43) {
var $_0 = 12e3;
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
var $45 = ($input_samplefreq | 0) > 8e3;
var $_30 = $45 ? 11025 : 8e3;
var $_0 = $_30;
label = 21;
break;
case 21:
var $_0;
return $_0;
}
}
_optimum_samplefreq["X"] = 1;
function _optimum_bandwidth($lowerlimit, $bitrate) {
var $5 = HEAP32[5291696 + (_nearestBitrateFullIndex($bitrate & 65535) << 3) >> 2] | 0;
HEAPF64[tempDoublePtr >> 3] = $5, HEAP32[$lowerlimit >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$lowerlimit + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
return;
}
function _lame_init_params_ppflt($gfc) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 248 | 0;
var $2 = HEAPF32[$1 >> 2];
var $3 = $2 > 0;
if ($3) {
label = 3;
break;
} else {
label = 11;
break;
}
case 3:
var $4 = $gfc + 252 | 0;
var $5 = HEAPF32[$4 >> 2];
var $6 = HEAPF32[$1 >> 2];
var $band_073 = 0;
var $minband_074 = 999;
var $lowpass_band_075 = 32;
label = 4;
break;
case 4:
var $lowpass_band_075;
var $minband_074;
var $band_073;
var $8 = $band_073 | 0;
var $9 = $8 / 31;
var $10 = $9;
var $11 = $10 < $5;
if ($11) {
var $lowpass_band_1 = $lowpass_band_075;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $13 = ($lowpass_band_075 | 0) < ($band_073 | 0);
var $14 = $13 ? $lowpass_band_075 : $band_073;
var $lowpass_band_1 = $14;
label = 6;
break;
case 6:
var $lowpass_band_1;
var $16 = $6 < $10;
if ($16) {
label = 7;
break;
} else {
var $minband_1 = $minband_074;
label = 9;
break;
}
case 7:
var $18 = HEAPF32[$4 >> 2];
var $19 = $10 < $18;
if ($19) {
label = 8;
break;
} else {
var $minband_1 = $minband_074;
label = 9;
break;
}
case 8:
var $21 = ($minband_074 | 0) < ($band_073 | 0);
var $22 = $21 ? $minband_074 : $band_073;
var $minband_1 = $22;
label = 9;
break;
case 9:
var $minband_1;
var $24 = $band_073 + 1 | 0;
var $exitcond77 = ($24 | 0) == 32;
if ($exitcond77) {
label = 10;
break;
} else {
var $band_073 = $24;
var $minband_074 = $minband_1;
var $lowpass_band_075 = $lowpass_band_1;
label = 4;
break;
}
case 10:
var $26 = ($minband_1 | 0) == 999;
var $lowpass_band_0_minband_0 = $26 ? $lowpass_band_1 : $minband_1;
var $storemerge_in_in_in = $lowpass_band_0_minband_0 | 0;
var $storemerge_in_in = $storemerge_in_in_in - .75;
var $storemerge_in = $storemerge_in_in / 31;
var $storemerge = $storemerge_in;
HEAPF32[$1 >> 2] = $storemerge;
var $27 = $lowpass_band_1 | 0;
var $28 = $27 / 31;
var $29 = $28;
var $30 = $gfc + 252 | 0;
HEAPF32[$30 >> 2] = $29;
label = 11;
break;
case 11:
var $32 = $gfc + 260 | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $33 > 0;
var $35 = $33;
var $36 = $35 < .021774193548387097;
var $or_cond = $34 & $36;
if ($or_cond) {
label = 12;
break;
} else {
var $40 = $33;
label = 13;
break;
}
case 12:
var $38 = $gfc + 256 | 0;
HEAPF32[$38 >> 2] = 0;
HEAPF32[$32 >> 2] = 0;
_lame_msgf($gfc, 5382660, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $_pr = HEAPF32[$32 >> 2];
var $40 = $_pr;
label = 13;
break;
case 13:
var $40;
var $41 = $40 > 0;
if ($41) {
label = 14;
break;
} else {
label = 24;
break;
}
case 14:
var $42 = $gfc + 256 | 0;
var $43 = HEAPF32[$42 >> 2];
var $band_169 = 0;
var $maxband_070 = -1;
var $highpass_band_071 = -1;
label = 15;
break;
case 15:
var $highpass_band_071;
var $maxband_070;
var $band_169;
var $45 = $band_169 | 0;
var $46 = $45 / 31;
var $47 = $46;
var $48 = $47 > $43;
if ($48) {
var $highpass_band_1 = $highpass_band_071;
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $50 = ($highpass_band_071 | 0) > ($band_169 | 0);
var $51 = $50 ? $highpass_band_071 : $band_169;
var $highpass_band_1 = $51;
label = 17;
break;
case 17:
var $highpass_band_1;
var $53 = $43 < $47;
if ($53) {
label = 18;
break;
} else {
var $maxband_1 = $maxband_070;
label = 20;
break;
}
case 18:
var $55 = HEAPF32[$32 >> 2];
var $56 = $47 < $55;
if ($56) {
label = 19;
break;
} else {
var $maxband_1 = $maxband_070;
label = 20;
break;
}
case 19:
var $58 = ($maxband_070 | 0) > ($band_169 | 0);
var $59 = $58 ? $maxband_070 : $band_169;
var $maxband_1 = $59;
label = 20;
break;
case 20:
var $maxband_1;
var $61 = $band_169 + 1 | 0;
var $exitcond76 = ($61 | 0) == 32;
if ($exitcond76) {
label = 21;
break;
} else {
var $band_169 = $61;
var $maxband_070 = $maxband_1;
var $highpass_band_071 = $highpass_band_1;
label = 15;
break;
}
case 21:
var $63 = $highpass_band_1 | 0;
var $64 = $63 / 31;
var $65 = $64;
var $66 = $gfc + 256 | 0;
HEAPF32[$66 >> 2] = $65;
var $67 = ($maxband_1 | 0) == -1;
if ($67) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $69 = $63 + .75;
var $70 = $69 / 31;
var $71 = $70;
HEAPF32[$32 >> 2] = $71;
label = 24;
break;
case 23:
var $73 = $maxband_1 | 0;
var $74 = $73 + .75;
var $75 = $74 / 31;
var $76 = $75;
HEAPF32[$32 >> 2] = $76;
label = 24;
break;
case 24:
var $77 = $gfc + 256 | 0;
var $78 = $gfc + 252 | 0;
var $band_267 = 0;
label = 25;
break;
case 25:
var $band_267;
var $80 = $band_267 | 0;
var $81 = $80 / 31;
var $82 = HEAPF32[$32 >> 2];
var $83 = HEAPF32[$77 >> 2];
var $84 = $82 > $83;
if ($84) {
label = 26;
break;
} else {
var $fc1_0 = 1;
label = 27;
break;
}
case 26:
var $86 = $82 - $81;
var $87 = $86;
var $88 = $82 - $83;
var $89 = $88;
var $90 = $89 + 1e-20;
var $91 = $87 / $90;
var $92 = $91;
var $93 = _filter_coef($92);
var $fc1_0 = $93;
label = 27;
break;
case 27:
var $fc1_0;
var $95 = HEAPF32[$78 >> 2];
var $96 = HEAPF32[$1 >> 2];
var $97 = $95 > $96;
if ($97) {
label = 28;
break;
} else {
var $fc2_0 = 1;
label = 29;
break;
}
case 28:
var $99 = $81 - $96;
var $100 = $99;
var $101 = $95 - $96;
var $102 = $101;
var $103 = $102 + 1e-20;
var $104 = $100 / $103;
var $105 = $104;
var $106 = _filter_coef($105);
var $fc2_0 = $106;
label = 29;
break;
case 29:
var $fc2_0;
var $108 = $fc1_0 * $fc2_0;
var $109 = $gfc + 37036 + ($band_267 << 2) | 0;
HEAPF32[$109 >> 2] = $108;
var $110 = $band_267 + 1 | 0;
var $exitcond = ($110 | 0) == 32;
if ($exitcond) {
label = 30;
break;
} else {
var $band_267 = $110;
label = 25;
break;
}
case 30:
STACKTOP = __stackBase__;
return;
}
}
_lame_init_params_ppflt["X"] = 1;
function _lame_init_qval($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfp + 44 | 0;
var $4 = HEAP32[$3 >> 2];
if (($4 | 0) == 8) {
label = 4;
break;
} else if (($4 | 0) == 7) {
label = 5;
break;
} else if (($4 | 0) == 6) {
label = 7;
break;
} else if (($4 | 0) == 5) {
label = 12;
break;
} else if (($4 | 0) == 4) {
label = 17;
break;
} else if (($4 | 0) == 3) {
label = 22;
break;
} else if (($4 | 0) == 2) {
label = 27;
break;
} else if (($4 | 0) == 1) {
label = 34;
break;
} else if (($4 | 0) == 0) {
label = 41;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $2 + 28 | 0;
HEAP32[$6 >> 2] = 0;
var $7 = $2 + 36 | 0;
var $8 = $7;
HEAP32[$8 >> 2] = 0;
HEAP32[$8 + 4 >> 2] = 0;
HEAP32[$8 + 8 >> 2] = 0;
HEAP32[$8 + 12 >> 2] = 0;
label = 48;
break;
case 4:
HEAP32[$3 >> 2] = 7;
label = 5;
break;
case 5:
var $11 = $2 + 28 | 0;
HEAP32[$11 >> 2] = 0;
var $12 = $2 + 36 | 0;
var $13 = $2 + 48 | 0;
var $14 = $gfp + 156 | 0;
var $15 = $12;
HEAP32[$15 >> 2] = 0;
HEAP32[$15 + 4 >> 2] = 0;
HEAP32[$15 + 8 >> 2] = 0;
HEAP32[$15 + 12 >> 2] = 0;
var $16 = HEAP32[$14 >> 2];
if (($16 | 0) == 1 | ($16 | 0) == 4) {
label = 6;
break;
} else {
label = 48;
break;
}
case 6:
HEAP32[$13 >> 2] = -1;
label = 48;
break;
case 7:
var $19 = $2 + 28 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = ($20 | 0) == 0;
if ($21) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
HEAP32[$19 >> 2] = 1;
label = 9;
break;
case 9:
var $24 = $2 + 40 | 0;
HEAP32[$24 >> 2] = 0;
var $25 = $2 + 44 | 0;
HEAP32[$25 >> 2] = 0;
var $26 = $2 + 32 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = ($27 | 0) == -1;
if ($28) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
HEAP32[$26 >> 2] = 1;
label = 11;
break;
case 11:
var $31 = $2 + 36 | 0;
HEAP32[$31 >> 2] = 0;
var $32 = $2 + 48 | 0;
HEAP32[$32 >> 2] = 0;
label = 48;
break;
case 12:
var $34 = $2 + 28 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = ($35 | 0) == 0;
if ($36) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
HEAP32[$34 >> 2] = 1;
label = 14;
break;
case 14:
var $39 = $2 + 40 | 0;
HEAP32[$39 >> 2] = 0;
var $40 = $2 + 44 | 0;
HEAP32[$40 >> 2] = 0;
var $41 = $2 + 32 | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = ($42 | 0) == -1;
if ($43) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
HEAP32[$41 >> 2] = 1;
label = 16;
break;
case 16:
var $46 = $2 + 36 | 0;
HEAP32[$46 >> 2] = 0;
var $47 = $2 + 48 | 0;
HEAP32[$47 >> 2] = 0;
label = 48;
break;
case 17:
var $49 = $2 + 28 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = ($50 | 0) == 0;
if ($51) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
HEAP32[$49 >> 2] = 1;
label = 19;
break;
case 19:
var $54 = $2 + 40 | 0;
HEAP32[$54 >> 2] = 0;
var $55 = $2 + 44 | 0;
HEAP32[$55 >> 2] = 0;
var $56 = $2 + 32 | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = ($57 | 0) == -1;
if ($58) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
HEAP32[$56 >> 2] = 1;
label = 21;
break;
case 21:
var $61 = $2 + 36 | 0;
HEAP32[$61 >> 2] = 1;
var $62 = $2 + 48 | 0;
HEAP32[$62 >> 2] = 0;
label = 48;
break;
case 22:
var $64 = $2 + 28 | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = ($65 | 0) == 0;
if ($66) {
label = 23;
break;
} else {
label = 24;
break;
}
case 23:
HEAP32[$64 >> 2] = 1;
label = 24;
break;
case 24:
var $69 = $2 + 40 | 0;
HEAP32[$69 >> 2] = 1;
var $70 = $2 + 44 | 0;
HEAP32[$70 >> 2] = 1;
var $71 = $2 + 32 | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = ($72 | 0) == -1;
if ($73) {
label = 25;
break;
} else {
label = 26;
break;
}
case 25:
HEAP32[$71 >> 2] = 1;
label = 26;
break;
case 26:
var $76 = $2 + 36 | 0;
HEAP32[$76 >> 2] = 1;
var $77 = $2 + 48 | 0;
HEAP32[$77 >> 2] = 0;
label = 48;
break;
case 27:
var $79 = $2 + 28 | 0;
var $80 = HEAP32[$79 >> 2];
var $81 = ($80 | 0) == 0;
if ($81) {
label = 28;
break;
} else {
label = 29;
break;
}
case 28:
HEAP32[$79 >> 2] = 1;
label = 29;
break;
case 29:
var $84 = $2 + 85092 | 0;
var $85 = HEAP32[$84 >> 2];
var $86 = ($85 | 0) == 0;
if ($86) {
label = 30;
break;
} else {
label = 31;
break;
}
case 30:
HEAP32[$84 >> 2] = 2;
label = 31;
break;
case 31:
var $89 = $2 + 40 | 0;
HEAP32[$89 >> 2] = 1;
var $90 = $2 + 44 | 0;
HEAP32[$90 >> 2] = 1;
var $91 = $2 + 32 | 0;
var $92 = HEAP32[$91 >> 2];
var $93 = ($92 | 0) == -1;
if ($93) {
label = 32;
break;
} else {
label = 33;
break;
}
case 32:
HEAP32[$91 >> 2] = 1;
label = 33;
break;
case 33:
var $96 = $2 + 36 | 0;
HEAP32[$96 >> 2] = 1;
var $97 = $2 + 48 | 0;
HEAP32[$97 >> 2] = 0;
label = 48;
break;
case 34:
var $99 = $2 + 28 | 0;
var $100 = HEAP32[$99 >> 2];
var $101 = ($100 | 0) == 0;
if ($101) {
label = 35;
break;
} else {
label = 36;
break;
}
case 35:
HEAP32[$99 >> 2] = 1;
label = 36;
break;
case 36:
var $104 = $2 + 85092 | 0;
var $105 = HEAP32[$104 >> 2];
var $106 = ($105 | 0) == 0;
if ($106) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
HEAP32[$104 >> 2] = 2;
label = 38;
break;
case 38:
var $109 = $2 + 40 | 0;
HEAP32[$109 >> 2] = 2;
var $110 = $2 + 44 | 0;
HEAP32[$110 >> 2] = 1;
var $111 = $2 + 32 | 0;
var $112 = HEAP32[$111 >> 2];
var $113 = ($112 | 0) == -1;
if ($113) {
label = 39;
break;
} else {
label = 40;
break;
}
case 39:
HEAP32[$111 >> 2] = 1;
label = 40;
break;
case 40:
var $116 = $2 + 36 | 0;
HEAP32[$116 >> 2] = 1;
var $117 = $2 + 48 | 0;
HEAP32[$117 >> 2] = 0;
label = 48;
break;
case 41:
var $119 = $2 + 28 | 0;
var $120 = HEAP32[$119 >> 2];
var $121 = ($120 | 0) == 0;
if ($121) {
label = 42;
break;
} else {
label = 43;
break;
}
case 42:
HEAP32[$119 >> 2] = 1;
label = 43;
break;
case 43:
var $124 = $2 + 85092 | 0;
var $125 = HEAP32[$124 >> 2];
var $126 = ($125 | 0) == 0;
if ($126) {
label = 44;
break;
} else {
label = 45;
break;
}
case 44:
HEAP32[$124 >> 2] = 2;
label = 45;
break;
case 45:
var $129 = $2 + 40 | 0;
HEAP32[$129 >> 2] = 2;
var $130 = $2 + 44 | 0;
HEAP32[$130 >> 2] = 1;
var $131 = $2 + 32 | 0;
var $132 = HEAP32[$131 >> 2];
var $133 = ($132 | 0) == -1;
if ($133) {
label = 46;
break;
} else {
label = 47;
break;
}
case 46:
HEAP32[$131 >> 2] = 1;
label = 47;
break;
case 47:
var $136 = $2 + 36 | 0;
HEAP32[$136 >> 2] = 1;
var $137 = $2 + 48 | 0;
HEAP32[$137 >> 2] = 1;
label = 48;
break;
case 48:
return;
}
}
_lame_init_qval["X"] = 1;
function _lame_init_bitstream($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -3;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) == 0;
if ($6) {
var $_0 = -3;
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $5 + 84036 | 0;
var $9 = $5 + 84744 | 0;
HEAP32[$9 >> 2] = 0;
var $10 = $gfp + 68 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) == 0;
if ($12) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = _id3tag_write_v2($gfp);
label = 6;
break;
case 6:
var $16 = $5 + 85680 | 0;
HEAPF32[$16 >> 2] = 0;
var $17 = $5 + 156 | 0;
var $18 = $8;
for (var $$dest = $18 >> 2, $$stop = $$dest + 176; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $19 = HEAP32[$17 >> 2];
var $20 = ($19 | 0) == 0;
if ($20) {
var $_0 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $22 = _InitVbrTag($gfp);
var $_0 = 0;
label = 8;
break;
case 8:
var $_0;
return $_0;
}
}
function _lame_print_config($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 256 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $text = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 16 | 0;
var $4 = $2 + 64 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $7 = $2 + 60 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $8 | 0;
_lame_msgf($2, 5386292, (tempInt = STACKTOP, STACKTOP = STACKTOP + 12 | 0, HEAP32[tempInt >> 2] = 5384648, HEAP32[tempInt + 4 >> 2] = 5383868, HEAP32[tempInt + 8 >> 2] = 5384668, tempInt));
var $10 = $2 + 85752 | 0;
var $11 = $10;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 & 15;
var $14 = ($13 | 0) == 0;
if ($14) {
label = 12;
break;
} else {
label = 3;
break;
}
case 3:
var $16 = $text | 0;
_memset($16, 0, 256);
var $17 = HEAP32[$11 >> 2];
var $18 = $17 & 1;
var $19 = ($18 | 0) == 0;
if ($19) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
_concatSep($16, 5384372);
label = 5;
break;
case 5:
var $22 = HEAP32[$11 >> 2];
var $23 = $22 & 2;
var $24 = ($23 | 0) == 0;
if ($24) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
_concatSep($16, 5383560);
label = 7;
break;
case 7:
var $27 = HEAP32[$11 >> 2];
var $28 = $27 & 4;
var $29 = ($28 | 0) == 0;
if ($29) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
_concatSep($16, 5382740);
label = 9;
break;
case 9:
var $32 = HEAP32[$11 >> 2];
var $33 = $32 & 8;
var $34 = ($33 | 0) == 0;
if ($34) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
_concatSep($16, 5387212);
label = 11;
break;
case 11:
_lame_msgf($2, 5387076, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $16, tempInt));
label = 12;
break;
case 12:
var $38 = $2 + 68 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = ($39 | 0) == 2;
if ($40) {
label = 13;
break;
} else {
label = 15;
break;
}
case 13:
var $42 = $2 + 72 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = ($43 | 0) == 1;
if ($44) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
_lame_msgf($2, 5386892, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 15;
break;
case 15:
var $47 = _isResamplingNecessary($3);
var $48 = ($47 | 0) == 0;
if ($48) {
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $50 = $9 * .001;
var $51 = $6 * .001;
_lame_msgf($2, 5386732, (tempInt = STACKTOP, STACKTOP = STACKTOP + 16 | 0, HEAPF64[tempDoublePtr >> 3] = $50, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $51, HEAP32[tempInt + 8 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 12 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
label = 17;
break;
case 17:
var $53 = $2 + 260 | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $54 > 0;
if ($55) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
var $57 = $54;
var $58 = $2 + 256 | 0;
var $59 = HEAPF32[$58 >> 2];
var $60 = $59;
var $61 = $60 * .5;
var $62 = $6 * $61;
var $63 = $57 * .5;
var $64 = $6 * $63;
_lame_msgf($2, 5386392, (tempInt = STACKTOP, STACKTOP = STACKTOP + 16 | 0, HEAPF64[tempDoublePtr >> 3] = $62, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $64, HEAP32[tempInt + 8 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 12 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
label = 19;
break;
case 19:
var $66 = $2 + 248 | 0;
var $67 = HEAPF32[$66 >> 2];
var $68 = $67 > 0;
if ($68) {
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
var $70 = $2 + 252 | 0;
var $71 = HEAPF32[$70 >> 2];
var $72 = $71 > 0;
if ($72) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
var $74 = HEAPF32[$66 >> 2];
var $75 = $74;
var $76 = $75 * .5;
var $77 = $6 * $76;
var $78 = $2 + 252 | 0;
var $79 = HEAPF32[$78 >> 2];
var $80 = $79;
var $81 = $80 * .5;
var $82 = $6 * $81;
_lame_msgf($2, 5386212, (tempInt = STACKTOP, STACKTOP = STACKTOP + 16 | 0, HEAPF64[tempDoublePtr >> 3] = $77, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $82, HEAP32[tempInt + 8 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 12 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
label = 23;
break;
case 22:
_lame_msgf($2, 5386168, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 23;
break;
case 23:
var $85 = $2 + 152 | 0;
var $86 = HEAP32[$85 >> 2];
var $87 = ($86 | 0) == 0;
if ($87) {
label = 26;
break;
} else {
label = 24;
break;
}
case 24:
_lame_msgf($2, 5386096, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $89 = $2 + 120 | 0;
var $90 = HEAP32[$89 >> 2];
var $91 = ($90 | 0) > 320;
if ($91) {
label = 25;
break;
} else {
label = 26;
break;
}
case 25:
_lame_msgf($2, 5385988, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 26;
break;
case 26:
STACKTOP = __stackBase__;
return;
}
}
_lame_print_config["X"] = 1;
function _concatSep($dest, $str) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP8[$dest];
var $2 = $1 << 24 >> 24 == 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $strlen = _strlen($dest);
var $endptr = $dest + $strlen | 0;
HEAP8[$endptr] = HEAP8[5384892];
HEAP8[$endptr + 1] = HEAP8[5384893];
HEAP8[$endptr + 2] = HEAP8[5384894];
label = 4;
break;
case 4:
var $5 = _strcat($dest, $str);
return;
}
}
function _calcNeeded($cfg) {
return (HEAP32[$cfg + 60 >> 2] * 576 & -1) + 752 | 0;
}
function _lame_print_internals($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
_lame_msgf($2, 5385672, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $3 = $gfp + 20 | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $4;
_lame_msgf($2, 5385648, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $5, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $6 = $gfp + 24 | 0;
var $7 = HEAPF32[$6 >> 2];
var $8 = $7;
_lame_msgf($2, 5385612, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $8, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $9 = $gfp + 28 | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $10;
_lame_msgf($2, 5385580, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $11, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $12 = $2 + 36 | 0;
var $13 = HEAP32[$12 >> 2];
if (($13 | 0) == 1) {
label = 3;
break;
} else if (($13 | 0) == 2) {
label = 4;
break;
} else {
var $pc_0 = 5385528;
label = 5;
break;
}
case 3:
var $pc_0 = 5385504;
label = 5;
break;
case 4:
var $pc_0 = 5385412;
label = 5;
break;
case 5:
var $pc_0;
_lame_msgf($2, 5385380, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $pc_0, tempInt));
var $17 = $gfp + 140 | 0;
var $18 = HEAP32[$17 >> 2];
_lame_msgf($2, 5385352, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $18, tempInt));
_lame_msgf($2, 5385276, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_msgf($2, 5385240, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $19 = $2 + 16 | 0;
var $20 = HEAP32[$19 >> 2];
if (($20 | 0) == 1) {
label = 6;
break;
} else if (($20 | 0) == 2) {
label = 7;
break;
} else if (($20 | 0) == 0) {
var $pc_1 = 5385232;
label = 9;
break;
} else {
label = 8;
break;
}
case 6:
var $pc_1 = 5385216;
label = 9;
break;
case 7:
var $pc_1 = 5385204;
label = 9;
break;
case 8:
var $pc_1 = 5385168;
label = 9;
break;
case 9:
var $pc_1;
_lame_msgf($2, 5385136, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $pc_1, tempInt));
var $25 = $2 + 180 | 0;
var $26 = HEAP32[$25 >> 2];
if (($26 | 0) == 0) {
label = 10;
break;
} else if (($26 | 0) == 2) {
label = 11;
break;
} else if (($26 | 0) == 3) {
label = 12;
break;
} else if (($26 | 0) == 4) {
label = 13;
break;
} else if (($26 | 0) == 1) {
var $pc_2 = 5385112;
label = 15;
break;
} else {
label = 14;
break;
}
case 10:
var $pc_2 = 5385092;
label = 15;
break;
case 11:
var $pc_2 = 5385028;
label = 15;
break;
case 12:
var $pc_2 = 5384932;
label = 15;
break;
case 13:
var $pc_2 = 5384908;
label = 15;
break;
case 14:
var $pc_2 = 5384868;
label = 15;
break;
case 15:
var $pc_2;
var $33 = $2 + 72 | 0;
var $34 = HEAP32[$33 >> 2];
_lame_msgf($2, 5384836, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAP32[tempInt >> 2] = $34, HEAP32[tempInt + 4 >> 2] = $pc_2, tempInt));
var $35 = $2 + 104 | 0;
var $36 = HEAP32[$35 >> 2];
var $cond = ($36 | 0) == 0;
var $_ = $cond ? 5384728 : 5384656;
_lame_msgf($2, 5384624, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $_, tempInt));
var $37 = HEAP32[$35 >> 2];
var $38 = ($37 | 0) == 4;
if ($38) {
var $pc_490 = 5384604;
label = 21;
break;
} else {
label = 16;
break;
}
case 16:
var $40 = $2 + 152 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = ($41 | 0) == 0;
var $_88 = $42 ? 5385696 : 5384548;
var $_pr = HEAP32[$35 >> 2];
if (($_pr | 0) == 0) {
label = 17;
break;
} else if (($_pr | 0) == 3) {
label = 18;
break;
} else if (($_pr | 0) == 2) {
label = 19;
break;
} else if (($_pr | 0) == 1) {
label = 20;
break;
} else if (($_pr | 0) == 4) {
var $pc_490 = $_88;
label = 21;
break;
} else {
label = 22;
break;
}
case 17:
_lame_msgf($2, 5384512, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $_88, tempInt));
label = 23;
break;
case 18:
_lame_msgf($2, 5384440, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $_88, tempInt));
label = 23;
break;
case 19:
_lame_msgf($2, 5384388, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $_88, tempInt));
label = 23;
break;
case 20:
_lame_msgf($2, 5384332, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $_88, tempInt));
label = 23;
break;
case 21:
var $pc_490;
_lame_msgf($2, 5384288, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $pc_490, tempInt));
label = 23;
break;
case 22:
_lame_msgf($2, 5384248, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 23;
break;
case 23:
var $49 = $2 + 156 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = ($50 | 0) == 0;
if ($51) {
label = 25;
break;
} else {
label = 24;
break;
}
case 24:
_lame_msgf($2, 5384216, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 25;
break;
case 25:
_lame_msgf($2, 5385276, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_msgf($2, 5384184, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $54 = $2 + 184 | 0;
var $55 = HEAP32[$54 >> 2];
if (($55 | 0) == 0) {
label = 26;
break;
} else if (($55 | 0) == 1) {
label = 27;
break;
} else if (($55 | 0) == 2) {
label = 28;
break;
} else if (($55 | 0) == 3) {
label = 29;
break;
} else {
var $pc_5 = 5385168;
label = 30;
break;
}
case 26:
var $pc_5 = 5384156;
label = 30;
break;
case 27:
var $pc_5 = 5384120;
label = 30;
break;
case 28:
var $pc_5 = 5384100;
label = 30;
break;
case 29:
var $pc_5 = 5384048;
label = 30;
break;
case 30:
var $pc_5;
_lame_msgf($2, 5384008, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $pc_5, tempInt));
var $61 = $2 + 32 | 0;
var $62 = HEAP32[$61 >> 2];
_lame_msgf($2, 5383956, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $62, tempInt));
var $63 = $2 + 84908 | 0;
var $64 = HEAPF32[$63 >> 2];
var $65 = $64;
_lame_msgf($2, 5383920, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $65, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $66 = $2 + 84912 | 0;
var $67 = HEAPF32[$66 >> 2];
var $68 = $67;
_lame_msgf($2, 5383876, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $68, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $69 = $2 + 84 | 0;
var $70 = HEAP32[$69 >> 2];
_lame_msgf($2, 5383824, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $70, tempInt));
var $71 = $2 + 88 | 0;
var $72 = HEAP32[$71 >> 2];
_lame_msgf($2, 5383780, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $72, tempInt));
var $73 = $2 + 28 | 0;
var $74 = HEAP32[$73 >> 2];
_lame_msgf($2, 5383744, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $74, tempInt));
var $75 = $2 + 40 | 0;
var $76 = HEAP32[$75 >> 2];
_lame_msgf($2, 5383712, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $76, tempInt));
var $77 = $2 + 44 | 0;
var $78 = HEAP32[$77 >> 2];
_lame_msgf($2, 5383684, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $78, tempInt));
var $79 = $2 + 216 | 0;
var $80 = HEAP32[$79 >> 2];
var $81 = ($80 | 0) == 0;
var $_89 = $81 ? 5383616 : 5383572;
var $82 = $2 + 212 | 0;
var $83 = HEAP32[$82 >> 2];
var $84 = ($83 | 0) == 0;
var $pc_7 = $84 ? $_89 : 5383524;
var $85 = $2 + 220 | 0;
var $86 = HEAP32[$85 >> 2];
var $87 = ($86 | 0) == 0;
var $pc_7_ = $87 ? $pc_7 : 5383500;
_lame_msgf($2, 5383480, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $pc_7_, tempInt));
var $88 = $2 + 208 | 0;
var $89 = HEAP32[$88 >> 2];
_lame_msgf($2, 5383452, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $89, tempInt));
var $90 = $2 + 204 | 0;
var $91 = HEAPF32[$90 >> 2];
var $92 = $91;
_lame_msgf($2, 5383424, (tempInt = STACKTOP, STACKTOP = STACKTOP + 12 | 0, HEAPF64[tempDoublePtr >> 3] = $92, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAP32[tempInt + 8 >> 2] = 5383392, tempInt));
var $93 = $2 + 196 | 0;
var $94 = HEAPF32[$93 >> 2];
var $95 = $94;
_lame_msgf($2, 5383348, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $95, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $96 = $2 + 85792 | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = $97 | 0;
var $99 = HEAP32[$98 >> 2];
_lame_msgf($2, 5383316, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $99, tempInt));
var $100 = HEAP32[$96 >> 2];
var $101 = $100 + 4 | 0;
var $102 = HEAPF32[$101 >> 2];
var $103 = $102;
_lame_msgf($2, 5383264, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $103, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
_lame_msgf($2, 5383212, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $104 = $2 + 84764 | 0;
var $105 = HEAPF32[$104 >> 2];
var $106 = $105;
var $107 = _log10($106);
var $108 = $107 * 10;
var $109 = $2 + 84792 | 0;
var $110 = HEAPF32[$109 >> 2];
var $111 = $110;
var $112 = _log10($111);
var $113 = $112 * 10;
var $114 = $2 + 84820 | 0;
var $115 = HEAPF32[$114 >> 2];
var $116 = $115;
var $117 = _log10($116);
var $118 = $117 * 10;
var $119 = $2 + 84848 | 0;
var $120 = HEAPF32[$119 >> 2];
var $121 = $120;
var $122 = _log10($121);
var $123 = $122 * 10;
_lame_msgf($2, 5383128, (tempInt = STACKTOP, STACKTOP = STACKTOP + 32 | 0, HEAPF64[tempDoublePtr >> 3] = $108, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $113, HEAP32[tempInt + 8 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 12 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $118, HEAP32[tempInt + 16 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 20 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], HEAPF64[tempDoublePtr >> 3] = $123, HEAP32[tempInt + 24 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 28 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
var $124 = $2 + 92 | 0;
var $125 = HEAP32[$124 >> 2];
var $126 = ($125 | 0) != 0;
var $127 = $126 ? 5383116 : 5383100;
_lame_msgf($2, 5383052, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $127, tempInt));
var $128 = $2 + 188 | 0;
var $129 = HEAPF32[$128 >> 2];
var $130 = $129;
_lame_msgf($2, 5383008, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAPF64[tempDoublePtr >> 3] = $130, HEAP32[tempInt >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[tempInt + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2], tempInt));
_lame_msgf($2, 5385276, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_lame_msgf($2, 5382996, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
STACKTOP = __stackBase__;
return;
}
}
_lame_print_internals["X"] = 1;
function _lame_encode_buffer($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 0, 1, 1);
}
function _lame_encode_buffer_template($gfp, $buffer_l, $buffer_r, $nsamples, $mp3buf, $mp3buf_size, $pcm_type, $aa, $norm) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -3;
label = 12;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = -3;
label = 12;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = ($nsamples | 0) == 0;
if ($9) {
var $_0 = 0;
label = 12;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = _update_inbuffer_size($5, $nsamples);
var $12 = ($11 | 0) == 0;
if ($12) {
label = 6;
break;
} else {
var $_0 = -2;
label = 12;
break;
}
case 6:
var $14 = $5 + 68 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = ($15 | 0) > 1;
var $17 = ($buffer_l | 0) == 0;
if ($16) {
label = 7;
break;
} else {
label = 9;
break;
}
case 7:
var $19 = ($buffer_r | 0) == 0;
var $or_cond = $17 | $19;
if ($or_cond) {
var $_0 = 0;
label = 12;
break;
} else {
label = 8;
break;
}
case 8:
_lame_copy_inbuffer($5, $buffer_l, $buffer_r, $nsamples, $pcm_type, $aa, $norm);
label = 11;
break;
case 9:
if ($17) {
var $_0 = 0;
label = 12;
break;
} else {
label = 10;
break;
}
case 10:
_lame_copy_inbuffer($5, $buffer_l, $buffer_l, $nsamples, $pcm_type, $aa, $norm);
label = 11;
break;
case 11:
var $24 = _lame_encode_buffer_sample_t($5, $nsamples, $mp3buf, $mp3buf_size);
var $_0 = $24;
label = 12;
break;
case 12:
var $_0;
return $_0;
}
}
function _lame_encode_buffer_float($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 3, 1, 1);
}
function _lame_encode_buffer_ieee_float($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 3, 1, 32767);
}
function _lame_encode_buffer_interleaved_ieee_float($gfp, $pcm, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm, $pcm + 4 | 0, $nsamples, $mp3buf, $mp3buf_size, 3, 2, 32767);
}
function _lame_encode_buffer_ieee_double($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 4, 1, 32767);
}
function _lame_encode_buffer_interleaved_ieee_double($gfp, $pcm, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm, $pcm + 8 | 0, $nsamples, $mp3buf, $mp3buf_size, 4, 2, 32767);
}
function _lame_encode_buffer_int($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 1, 1, 152587890625e-16);
}
function _lame_encode_buffer_long2($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 2, 1, 152587890625e-16);
}
function _lame_encode_buffer_long($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm_l, $pcm_r, $nsamples, $mp3buf, $mp3buf_size, 2, 1, 1);
}
function _lame_encode_buffer_interleaved($gfp, $pcm, $nsamples, $mp3buf, $mp3buf_size) {
return _lame_encode_buffer_template($gfp, $pcm, $pcm + 2 | 0, $nsamples, $mp3buf, $mp3buf_size, 0, 2, 1);
}
function _lame_encode_flush_nogap($gfp, $mp3buffer, $mp3buffer_size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $rc_0 = -3;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $rc_0 = -3;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
_flush_bitstream($5);
var $9 = _copy_buffer($5, $mp3buffer, $mp3buffer_size, 1);
_save_gain_values($5);
var $rc_0 = $9;
label = 5;
break;
case 5:
var $rc_0;
return $rc_0;
}
}
function _save_gain_values($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85676 | 0;
var $2 = $gfc + 128 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 0;
if ($4) {
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $gfc + 85672 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = _GetTitleGain($7);
var $9 = $8;
var $fabsf = Math.abs($8);
var $10 = $fabsf > 24601;
var $11 = $8 + 24601;
var $fabsf13 = Math.abs($11);
var $12 = $fabsf13;
if ($10) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $14 = $fabsf;
var $15 = $14 * 9.999999974752427e-7;
var $16 = $12 > $15;
if ($16) {
label = 6;
break;
} else {
label = 7;
break;
}
case 5:
var $18 = $12 > .024600999937888446;
if ($18) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $20 = $9 * 10;
var $21 = $20 + .5;
var $22 = Math.floor($21);
var $23 = $22 & -1;
var $24 = $gfc + 85684 | 0;
HEAP32[$24 >> 2] = $23;
label = 8;
break;
case 7:
var $26 = $gfc + 85684 | 0;
HEAP32[$26 >> 2] = 0;
label = 8;
break;
case 8:
var $28 = $gfc + 132 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = ($29 | 0) == 0;
if ($30) {
label = 12;
break;
} else {
label = 9;
break;
}
case 9:
var $32 = $gfc + 85680 | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $33;
var $35 = $34 / 32767;
var $36 = _log10($35);
var $37 = $36 * 20;
var $38 = $37 * 10;
var $39 = Math.ceil($38);
var $40 = $39 & -1;
var $41 = $gfc + 85688 | 0;
HEAP32[$41 >> 2] = $40;
var $42 = ($40 | 0) > 0;
if ($42) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $44 = HEAPF32[$32 >> 2];
var $45 = 32767 / $44;
var $46 = $45 * 100;
var $floorf = Math.floor($46);
var $47 = $floorf / 100;
var $48 = $1 | 0;
HEAPF32[$48 >> 2] = $47;
label = 12;
break;
case 11:
var $50 = $1 | 0;
HEAPF32[$50 >> 2] = -1;
label = 12;
break;
case 12:
return;
}
}
_save_gain_values["X"] = 1;
function _lame_encode_flush($gfp, $mp3buffer, $mp3buffer_size) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4608 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $buffer = __stackBase__;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -3;
label = 15;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = -3;
label = 15;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 16 | 0;
var $10 = $5 + 84028 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) < 1;
if ($12) {
var $_0 = 0;
label = 15;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = $5 + 76 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 * 576 & -1;
var $17 = _calcNeeded($9);
var $18 = $11 - 1152 | 0;
var $19 = $buffer;
_memset($19, 0, 4608);
var $20 = _isResamplingNecessary($9);
var $21 = ($20 | 0) == 0;
if ($21) {
var $resample_ratio_0 = 1;
var $samples_to_encode_0 = $18;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $23 = $5 + 60 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $24 | 0;
var $26 = $5 + 64 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $27 | 0;
var $29 = $25 / $28;
var $30 = 16 / $29;
var $31 = $18 | 0;
var $32 = $31 + $30;
var $33 = $32 & -1;
var $resample_ratio_0 = $29;
var $samples_to_encode_0 = $33;
label = 7;
break;
case 7:
var $samples_to_encode_0;
var $resample_ratio_0;
var $35 = ($samples_to_encode_0 | 0) % ($16 | 0);
var $36 = $16 - $35 | 0;
var $37 = ($36 | 0) < 576;
var $38 = $37 ? $16 : 0;
var $end_padding_0 = $38 + $36 | 0;
var $39 = $5 + 84760 | 0;
HEAP32[$39 >> 2] = $end_padding_0;
var $40 = $end_padding_0 + $samples_to_encode_0 | 0;
var $41 = ($40 | 0) / ($16 | 0) & -1;
var $42 = ($41 | 0) > 0;
if ($42) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
HEAP32[$10 >> 2] = 0;
var $_063_lcssa75 = $mp3buffer;
var $mp3count_0_lcssa76 = 0;
label = 12;
break;
case 9:
var $43 = $5 + 84744 | 0;
var $44 = $5 + 84032 | 0;
var $45 = ($mp3buffer_size | 0) == 0;
var $46 = $buffer | 0;
var $47 = $buffer + 2304 | 0;
var $frames_left_068 = $41;
var $mp3count_069 = 0;
var $_06370 = $mp3buffer;
label = 10;
break;
case 10:
var $_06370;
var $mp3count_069;
var $frames_left_068;
var $49 = HEAP32[$43 >> 2];
var $50 = HEAP32[$44 >> 2];
var $51 = $17 - $50 | 0;
var $52 = $51 | 0;
var $53 = $resample_ratio_0 * $52;
var $54 = $53 & -1;
var $55 = ($54 | 0) > 1152;
var $_ = $55 ? 1152 : $54;
var $56 = ($_ | 0) < 1;
var $bunch_1 = $56 ? 1 : $_;
var $57 = $mp3buffer_size - $mp3count_069 | 0;
var $_64 = $45 ? 0 : $57;
var $58 = _lame_encode_buffer($gfp, $46, $47, $bunch_1, $_06370, $_64);
var $59 = $_06370 + $58 | 0;
var $60 = $58 + $mp3count_069 | 0;
var $61 = HEAP32[$43 >> 2];
var $62 = ($49 | 0) != ($61 | 0);
var $63 = $62 & 1;
var $64 = $frames_left_068 - $63 | 0;
var $65 = ($64 | 0) > 0;
var $66 = ($58 | 0) > -1;
var $or_cond = $65 & $66;
if ($or_cond) {
var $frames_left_068 = $64;
var $mp3count_069 = $60;
var $_06370 = $59;
label = 10;
break;
} else {
label = 11;
break;
}
case 11:
HEAP32[$10 >> 2] = 0;
var $67 = ($58 | 0) < 0;
if ($67) {
var $_0 = $58;
label = 15;
break;
} else {
var $_063_lcssa75 = $59;
var $mp3count_0_lcssa76 = $60;
label = 12;
break;
}
case 12:
var $mp3count_0_lcssa76;
var $_063_lcssa75;
var $69 = $mp3buffer_size - $mp3count_0_lcssa76 | 0;
var $70 = ($mp3buffer_size | 0) == 0;
var $_65 = $70 ? 0 : $69;
_flush_bitstream($5);
var $71 = _copy_buffer($5, $_063_lcssa75, $_65, 1);
_save_gain_values($5);
var $72 = ($71 | 0) < 0;
if ($72) {
var $_0 = $71;
label = 15;
break;
} else {
label = 13;
break;
}
case 13:
var $74 = $71 + $mp3count_0_lcssa76 | 0;
var $75 = $gfp + 68 | 0;
var $76 = HEAP32[$75 >> 2];
var $77 = ($76 | 0) == 0;
if ($77) {
var $_0 = $74;
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $79 = $mp3buffer_size - $74 | 0;
var $_66 = $70 ? 0 : $79;
var $80 = $_063_lcssa75 + $71 | 0;
var $81 = _id3tag_write_v1($gfp);
var $82 = _copy_buffer($5, $80, $_66, 0);
var $83 = ($82 | 0) < 0;
var $84 = $83 ? 0 : $74;
var $_67 = $84 + $82 | 0;
STACKTOP = __stackBase__;
return $_67;
case 15:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_lame_encode_flush["X"] = 1;
function _lame_close($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfp | 0) == 0;
if ($1) {
var $ret_1 = 0;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == -487877;
if ($5) {
label = 4;
break;
} else {
var $ret_1 = 0;
label = 8;
break;
}
case 4:
var $7 = $gfp + 288 | 0;
var $8 = HEAP32[$7 >> 2];
HEAP32[$3 >> 2] = 0;
var $9 = ($8 | 0) == 0;
if ($9) {
var $ret_013 = -3;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $10 = $8 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) == -487877;
var $_ = $12 ? 0 : -3;
var $13 = $8 | 0;
HEAP32[$13 >> 2] = 0;
_freegfc($8);
HEAP32[$7 >> 2] = 0;
var $ret_013 = $_;
label = 6;
break;
case 6:
var $ret_013;
var $14 = $gfp + 284 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = ($15 | 0) == 0;
if ($16) {
var $ret_1 = $ret_013;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
HEAP32[$14 >> 2] = 0;
var $18 = $gfp;
_free($18);
var $ret_1 = $ret_013;
label = 8;
break;
case 8:
var $ret_1;
return $ret_1;
}
}
function _lame_encode_finish($gfp, $mp3buffer, $mp3buffer_size) {
var $1 = _lame_encode_flush($gfp, $mp3buffer, $mp3buffer_size);
_lame_close($gfp);
return $1;
}
function _lame_mp3_tags_fid($gfp, $fpStream) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 10;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 156 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
var $12 = ($fpStream | 0) == 0;
var $or_cond = $11 | $12;
if ($or_cond) {
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = _fseek($fpStream, 0, 0);
var $15 = ($14 | 0) == 0;
if ($15) {
label = 6;
break;
} else {
label = 10;
break;
}
case 6:
var $17 = _PutVbrTag($gfp, $fpStream);
if (($17 | 0) == -1) {
label = 7;
break;
} else if (($17 | 0) == -2) {
label = 8;
break;
} else if (($17 | 0) == -3) {
label = 9;
break;
} else {
label = 10;
break;
}
case 7:
_lame_errorf($5, 5382952, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 10;
break;
case 8:
_lame_errorf($5, 5382884, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 10;
break;
case 9:
_lame_errorf($5, 5382792, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
label = 10;
break;
case 10:
STACKTOP = __stackBase__;
return;
}
}
function _lame_init() {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
_init_log_table();
var $1 = _calloc(1, 304);
var $2 = $1;
var $3 = ($1 | 0) == 0;
if ($3) {
var $_0 = 0;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = _lame_init_old($2);
var $6 = ($5 | 0) == 0;
if ($6) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
_free($1);
var $_0 = 0;
label = 6;
break;
case 5:
var $9 = $1 + 284 | 0;
var $10 = $9;
HEAP32[$10 >> 2] = 1;
var $_0 = $2;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _lame_init_old($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp;
for (var $$dest = $1 >> 2, $$stop = $$dest + 76; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $2 = $gfp | 0;
HEAP32[$2 >> 2] = -487877;
var $3 = _calloc(1, 85836);
var $4 = $3;
var $5 = $gfp + 288 | 0;
HEAP32[$5 >> 2] = $4;
var $6 = ($3 | 0) == 0;
if ($6) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $8 = $gfp + 124 | 0;
HEAP32[$8 >> 2] = 2;
var $9 = $gfp + 48 | 0;
HEAP32[$9 >> 2] = 4;
var $10 = $gfp + 108 | 0;
HEAP32[$10 >> 2] = 1;
var $11 = $gfp + 12 | 0;
HEAP32[$11 >> 2] = 44100;
var $12 = $gfp + 8 | 0;
HEAP32[$12 >> 2] = 2;
var $13 = $gfp + 4 | 0;
HEAP32[$13 >> 2] = -1;
var $14 = $gfp + 36 | 0;
HEAP32[$14 >> 2] = 1;
var $15 = $gfp + 44 | 0;
HEAP32[$15 >> 2] = -1;
var $16 = $gfp + 240 | 0;
HEAP32[$16 >> 2] = -1;
var $17 = $gfp + 88 | 0;
HEAP32[$17 >> 2] = -1;
var $18 = $gfp + 184 | 0;
HEAP32[$18 >> 2] = 0;
var $19 = $gfp + 188 | 0;
HEAP32[$19 >> 2] = 0;
var $20 = $gfp + 192 | 0;
HEAP32[$20 >> 2] = -1;
var $21 = $gfp + 196 | 0;
HEAP32[$21 >> 2] = -1;
var $22 = $gfp + 156 | 0;
HEAP32[$22 >> 2] = 0;
var $23 = $gfp + 164 | 0;
HEAP32[$23 >> 2] = 4;
var $24 = $gfp + 224 | 0;
HEAPF32[$24 >> 2] = -1;
var $25 = $gfp + 168 | 0;
HEAP32[$25 >> 2] = 128;
var $26 = $gfp + 172 | 0;
HEAP32[$26 >> 2] = 0;
var $27 = $gfp + 176 | 0;
HEAP32[$27 >> 2] = 0;
var $28 = $gfp + 180 | 0;
HEAP32[$28 >> 2] = 0;
var $29 = $3 + 112 | 0;
var $30 = $29;
HEAP32[$30 >> 2] = 1;
var $31 = $3 + 116 | 0;
var $32 = $31;
HEAP32[$32 >> 2] = 13;
var $33 = $gfp + 132 | 0;
HEAP32[$33 >> 2] = -1;
var $34 = $gfp + 136 | 0;
HEAP32[$34 >> 2] = -1;
var $35 = $gfp + 252 | 0;
HEAPF32[$35 >> 2] = -1;
var $36 = $3 + 84916 | 0;
var $37 = $36;
HEAP32[$37 >> 2] = 180;
var $38 = $3 + 84920 | 0;
var $39 = $38;
HEAP32[$39 >> 2] = 180;
var $40 = $3 + 84924 | 0;
var $41 = $40;
HEAP32[$41 >> 2] = 4;
var $42 = $3 + 84928 | 0;
var $43 = $42;
HEAP32[$43 >> 2] = 4;
var $44 = $3 + 84904 | 0;
var $45 = $44;
HEAPF32[$45 >> 2] = 1;
var $46 = $gfp + 264 | 0;
HEAPF32[$46 >> 2] = -1;
var $47 = $gfp + 268 | 0;
HEAPF32[$47 >> 2] = -1;
var $48 = $gfp + 20 | 0;
HEAPF32[$48 >> 2] = 1;
var $49 = $gfp + 24 | 0;
HEAPF32[$49 >> 2] = 1;
var $50 = $gfp + 28 | 0;
HEAPF32[$50 >> 2] = 1;
var $51 = $gfp + 232 | 0;
HEAP32[$51 >> 2] = -1;
var $52 = $gfp + 220 | 0;
HEAP32[$52 >> 2] = -1;
var $53 = $gfp + 236 | 0;
HEAPF32[$53 >> 2] = 0;
var $54 = $gfp + 244 | 0;
HEAP32[$54 >> 2] = -1;
var $55 = $gfp + 248 | 0;
HEAPF32[$55 >> 2] = -1;
var $56 = $3 + 84028 | 0;
var $57 = $56;
HEAP32[$57 >> 2] = 1728;
var $58 = $3 + 84760 | 0;
var $59 = $58;
HEAP32[$59 >> 2] = 0;
var $60 = $3 + 84032 | 0;
var $61 = $60;
HEAP32[$61 >> 2] = 528;
var $62 = $gfp + 60 | 0;
HEAP32[$62 >> 2] = 0;
var $63 = $gfp + 64 | 0;
HEAP32[$63 >> 2] = 0;
var $64 = $3 + 136 | 0;
var $65 = $64;
HEAP32[$65 >> 2] = 0;
var $66 = $3 + 128 | 0;
var $67 = $66;
HEAP32[$67 >> 2] = 0;
var $68 = $3 + 132 | 0;
var $69 = $68;
HEAP32[$69 >> 2] = 0;
var $70 = $3 + 85676 | 0;
var $71 = $3 + 85684 | 0;
var $72 = $71;
HEAP32[$72 >> 2] = 0;
var $73 = $3 + 85688 | 0;
var $74 = $73;
HEAP32[$74 >> 2] = 0;
var $75 = $70;
HEAPF32[$75 >> 2] = -1;
var $76 = $gfp + 292 | 0;
HEAP32[$76 >> 2] = 1;
var $77 = $gfp + 296 | 0;
HEAP32[$77 >> 2] = 1;
var $78 = $gfp + 300 | 0;
HEAP32[$78 >> 2] = 1;
var $79 = $gfp + 152 | 0;
HEAP32[$79 >> 2] = 0;
var $80 = $gfp + 68 | 0;
HEAP32[$80 >> 2] = 1;
var $81 = $gfp + 276 | 0;
HEAP32[$81 >> 2] = 52;
var $82 = $gfp + 280 | 0;
HEAP32[$82 >> 2] = 52;
var $83 = $gfp + 272 | 0;
HEAP32[$83 >> 2] = 52;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
_lame_init_old["X"] = 1;
function _lame_copy_inbuffer($gfc, $l, $r, $nsamples, $pcm_type, $jump, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52148 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 52152 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $gfc + 264 | 0;
var $6 = HEAPF32[$5 >> 2];
var $7 = $6 * $s;
var $8 = $gfc + 268 | 0;
var $9 = HEAPF32[$8 >> 2];
var $10 = $9 * $s;
var $11 = $gfc + 272 | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $12 * $s;
var $14 = $gfc + 276 | 0;
var $15 = HEAPF32[$14 >> 2];
var $16 = $15 * $s;
if (($pcm_type | 0) == 0) {
label = 3;
break;
} else if (($pcm_type | 0) == 1) {
label = 6;
break;
} else if (($pcm_type | 0) == 2) {
label = 9;
break;
} else if (($pcm_type | 0) == 3) {
label = 12;
break;
} else if (($pcm_type | 0) == 4) {
label = 15;
break;
} else {
label = 18;
break;
}
case 3:
var $18 = ($nsamples | 0) > 0;
if ($18) {
label = 4;
break;
} else {
label = 18;
break;
}
case 4:
var $19 = $r;
var $20 = $l;
var $i_095 = 0;
var $br_096 = $19;
var $bl_097 = $20;
label = 5;
break;
case 5:
var $bl_097;
var $br_096;
var $i_095;
var $22 = HEAP16[$bl_097 >> 1];
var $23 = $22 << 16 >> 16;
var $24 = HEAP16[$br_096 >> 1];
var $25 = $24 << 16 >> 16;
var $26 = $7 * $23;
var $27 = $10 * $25;
var $28 = $26 + $27;
var $29 = $13 * $23;
var $30 = $16 * $25;
var $31 = $29 + $30;
var $32 = $2 + ($i_095 << 2) | 0;
HEAPF32[$32 >> 2] = $28;
var $33 = $4 + ($i_095 << 2) | 0;
HEAPF32[$33 >> 2] = $31;
var $34 = $bl_097 + ($jump << 1) | 0;
var $35 = $br_096 + ($jump << 1) | 0;
var $36 = $i_095 + 1 | 0;
var $exitcond = ($36 | 0) == ($nsamples | 0);
if ($exitcond) {
label = 18;
break;
} else {
var $i_095 = $36;
var $br_096 = $35;
var $bl_097 = $34;
label = 5;
break;
}
case 6:
var $38 = ($nsamples | 0) > 0;
if ($38) {
label = 7;
break;
} else {
label = 18;
break;
}
case 7:
var $39 = $r;
var $40 = $l;
var $i3_099 = 0;
var $br2_0100 = $39;
var $bl1_0101 = $40;
label = 8;
break;
case 8:
var $bl1_0101;
var $br2_0100;
var $i3_099;
var $42 = HEAP32[$bl1_0101 >> 2];
var $43 = $42 | 0;
var $44 = HEAP32[$br2_0100 >> 2];
var $45 = $44 | 0;
var $46 = $7 * $43;
var $47 = $10 * $45;
var $48 = $46 + $47;
var $49 = $13 * $43;
var $50 = $16 * $45;
var $51 = $49 + $50;
var $52 = $2 + ($i3_099 << 2) | 0;
HEAPF32[$52 >> 2] = $48;
var $53 = $4 + ($i3_099 << 2) | 0;
HEAPF32[$53 >> 2] = $51;
var $54 = $bl1_0101 + ($jump << 2) | 0;
var $55 = $br2_0100 + ($jump << 2) | 0;
var $56 = $i3_099 + 1 | 0;
var $exitcond118 = ($56 | 0) == ($nsamples | 0);
if ($exitcond118) {
label = 18;
break;
} else {
var $i3_099 = $56;
var $br2_0100 = $55;
var $bl1_0101 = $54;
label = 8;
break;
}
case 9:
var $58 = ($nsamples | 0) > 0;
if ($58) {
label = 10;
break;
} else {
label = 18;
break;
}
case 10:
var $59 = $r;
var $60 = $l;
var $i10_0104 = 0;
var $br9_0105 = $59;
var $bl8_0106 = $60;
label = 11;
break;
case 11:
var $bl8_0106;
var $br9_0105;
var $i10_0104;
var $62 = HEAP32[$bl8_0106 >> 2];
var $63 = $62 | 0;
var $64 = HEAP32[$br9_0105 >> 2];
var $65 = $64 | 0;
var $66 = $7 * $63;
var $67 = $10 * $65;
var $68 = $66 + $67;
var $69 = $13 * $63;
var $70 = $16 * $65;
var $71 = $69 + $70;
var $72 = $2 + ($i10_0104 << 2) | 0;
HEAPF32[$72 >> 2] = $68;
var $73 = $4 + ($i10_0104 << 2) | 0;
HEAPF32[$73 >> 2] = $71;
var $74 = $bl8_0106 + ($jump << 2) | 0;
var $75 = $br9_0105 + ($jump << 2) | 0;
var $76 = $i10_0104 + 1 | 0;
var $exitcond119 = ($76 | 0) == ($nsamples | 0);
if ($exitcond119) {
label = 18;
break;
} else {
var $i10_0104 = $76;
var $br9_0105 = $75;
var $bl8_0106 = $74;
label = 11;
break;
}
case 12:
var $78 = ($nsamples | 0) > 0;
if ($78) {
label = 13;
break;
} else {
label = 18;
break;
}
case 13:
var $79 = $r;
var $80 = $l;
var $bl15_0109 = $80;
var $br16_0110 = $79;
var $i17_0111 = 0;
label = 14;
break;
case 14:
var $i17_0111;
var $br16_0110;
var $bl15_0109;
var $82 = HEAPF32[$bl15_0109 >> 2];
var $83 = HEAPF32[$br16_0110 >> 2];
var $84 = $7 * $82;
var $85 = $10 * $83;
var $86 = $84 + $85;
var $87 = $13 * $82;
var $88 = $16 * $83;
var $89 = $87 + $88;
var $90 = $2 + ($i17_0111 << 2) | 0;
HEAPF32[$90 >> 2] = $86;
var $91 = $4 + ($i17_0111 << 2) | 0;
HEAPF32[$91 >> 2] = $89;
var $92 = $bl15_0109 + ($jump << 2) | 0;
var $93 = $br16_0110 + ($jump << 2) | 0;
var $94 = $i17_0111 + 1 | 0;
var $exitcond120 = ($94 | 0) == ($nsamples | 0);
if ($exitcond120) {
label = 18;
break;
} else {
var $bl15_0109 = $92;
var $br16_0110 = $93;
var $i17_0111 = $94;
label = 14;
break;
}
case 15:
var $96 = ($nsamples | 0) > 0;
if ($96) {
label = 16;
break;
} else {
label = 18;
break;
}
case 16:
var $97 = $r;
var $98 = $l;
var $bl22_0114 = $98;
var $br23_0115 = $97;
var $i24_0116 = 0;
label = 17;
break;
case 17:
var $i24_0116;
var $br23_0115;
var $bl22_0114;
var $100 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$bl22_0114 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$bl22_0114 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $101 = $100;
var $102 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$br23_0115 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$br23_0115 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $103 = $102;
var $104 = $7 * $101;
var $105 = $10 * $103;
var $106 = $104 + $105;
var $107 = $13 * $101;
var $108 = $16 * $103;
var $109 = $107 + $108;
var $110 = $2 + ($i24_0116 << 2) | 0;
HEAPF32[$110 >> 2] = $106;
var $111 = $4 + ($i24_0116 << 2) | 0;
HEAPF32[$111 >> 2] = $109;
var $112 = $bl22_0114 + ($jump << 3) | 0;
var $113 = $br23_0115 + ($jump << 3) | 0;
var $114 = $i24_0116 + 1 | 0;
var $exitcond121 = ($114 | 0) == ($nsamples | 0);
if ($exitcond121) {
label = 18;
break;
} else {
var $bl22_0114 = $112;
var $br23_0115 = $113;
var $i24_0116 = $114;
label = 17;
break;
}
case 18:
return;
}
}
_lame_copy_inbuffer["X"] = 1;
function _lame_bitrate_kbps($gfp, $bitrate_kbps) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $bitrate_kbps17 = $bitrate_kbps;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 152 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
if ($11) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
for (var $$dest = $bitrate_kbps17 >> 2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = -1;
}
var $13 = $5 + 120 | 0;
var $14 = HEAP32[$13 >> 2];
HEAP32[$bitrate_kbps >> 2] = $14;
label = 7;
break;
case 6:
var $15 = $5 + 16 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = 5348688 + ($16 << 6) | 0;
var $18 = HEAP32[$17 >> 2];
HEAP32[$bitrate_kbps >> 2] = $18;
var $19 = HEAP32[$15 >> 2];
var $20 = 5348692 + ($19 << 6) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $bitrate_kbps + 4 | 0;
HEAP32[$22 >> 2] = $21;
var $23 = HEAP32[$15 >> 2];
var $24 = 5348696 + ($23 << 6) | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = $bitrate_kbps + 8 | 0;
HEAP32[$26 >> 2] = $25;
var $27 = HEAP32[$15 >> 2];
var $28 = 5348700 + ($27 << 6) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $bitrate_kbps + 12 | 0;
HEAP32[$30 >> 2] = $29;
var $31 = HEAP32[$15 >> 2];
var $32 = 5348704 + ($31 << 6) | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = $bitrate_kbps + 16 | 0;
HEAP32[$34 >> 2] = $33;
var $35 = HEAP32[$15 >> 2];
var $36 = 5348708 + ($35 << 6) | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = $bitrate_kbps + 20 | 0;
HEAP32[$38 >> 2] = $37;
var $39 = HEAP32[$15 >> 2];
var $40 = 5348712 + ($39 << 6) | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $bitrate_kbps + 24 | 0;
HEAP32[$42 >> 2] = $41;
var $43 = HEAP32[$15 >> 2];
var $44 = 5348716 + ($43 << 6) | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = $bitrate_kbps + 28 | 0;
HEAP32[$46 >> 2] = $45;
var $47 = HEAP32[$15 >> 2];
var $48 = 5348720 + ($47 << 6) | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = $bitrate_kbps + 32 | 0;
HEAP32[$50 >> 2] = $49;
var $51 = HEAP32[$15 >> 2];
var $52 = 5348724 + ($51 << 6) | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = $bitrate_kbps + 36 | 0;
HEAP32[$54 >> 2] = $53;
var $55 = HEAP32[$15 >> 2];
var $56 = 5348728 + ($55 << 6) | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = $bitrate_kbps + 40 | 0;
HEAP32[$58 >> 2] = $57;
var $59 = HEAP32[$15 >> 2];
var $60 = 5348732 + ($59 << 6) | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = $bitrate_kbps + 44 | 0;
HEAP32[$62 >> 2] = $61;
var $63 = HEAP32[$15 >> 2];
var $64 = 5348736 + ($63 << 6) | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = $bitrate_kbps + 48 | 0;
HEAP32[$66 >> 2] = $65;
var $67 = HEAP32[$15 >> 2];
var $68 = 5348740 + ($67 << 6) | 0;
var $69 = HEAP32[$68 >> 2];
var $70 = $bitrate_kbps + 52 | 0;
HEAP32[$70 >> 2] = $69;
label = 7;
break;
case 7:
return;
}
}
_lame_bitrate_kbps["X"] = 1;
function _lame_bitrate_hist($gfp, $bitrate_count) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $bitrate_count17 = $bitrate_count;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 152 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
if ($11) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
for (var $$dest = $bitrate_count17 >> 2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $13 = $5 + 84052 | 0;
var $14 = HEAP32[$13 >> 2];
HEAP32[$bitrate_count >> 2] = $14;
label = 7;
break;
case 6:
var $15 = $5 + 84072 | 0;
var $16 = HEAP32[$15 >> 2];
HEAP32[$bitrate_count >> 2] = $16;
var $17 = $5 + 84092 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $bitrate_count + 4 | 0;
HEAP32[$19 >> 2] = $18;
var $20 = $5 + 84112 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $bitrate_count + 8 | 0;
HEAP32[$22 >> 2] = $21;
var $23 = $5 + 84132 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $bitrate_count + 12 | 0;
HEAP32[$25 >> 2] = $24;
var $26 = $5 + 84152 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $bitrate_count + 16 | 0;
HEAP32[$28 >> 2] = $27;
var $29 = $5 + 84172 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $bitrate_count + 20 | 0;
HEAP32[$31 >> 2] = $30;
var $32 = $5 + 84192 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = $bitrate_count + 24 | 0;
HEAP32[$34 >> 2] = $33;
var $35 = $5 + 84212 | 0;
var $36 = HEAP32[$35 >> 2];
var $37 = $bitrate_count + 28 | 0;
HEAP32[$37 >> 2] = $36;
var $38 = $5 + 84232 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = $bitrate_count + 32 | 0;
HEAP32[$40 >> 2] = $39;
var $41 = $5 + 84252 | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = $bitrate_count + 36 | 0;
HEAP32[$43 >> 2] = $42;
var $44 = $5 + 84272 | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = $bitrate_count + 40 | 0;
HEAP32[$46 >> 2] = $45;
var $47 = $5 + 84292 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = $bitrate_count + 44 | 0;
HEAP32[$49 >> 2] = $48;
var $50 = $5 + 84312 | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = $bitrate_count + 48 | 0;
HEAP32[$52 >> 2] = $51;
var $53 = $5 + 84332 | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = $bitrate_count + 52 | 0;
HEAP32[$55 >> 2] = $54;
label = 7;
break;
case 7:
return;
}
}
_lame_bitrate_hist["X"] = 1;
function _lame_stereo_mode_hist($gfp, $stmode_count) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $5 + 84336 | 0;
var $9 = HEAP32[$8 >> 2];
HEAP32[$stmode_count >> 2] = $9;
var $10 = $5 + 84340 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $stmode_count + 4 | 0;
HEAP32[$12 >> 2] = $11;
var $13 = $5 + 84344 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $stmode_count + 8 | 0;
HEAP32[$15 >> 2] = $14;
var $16 = $5 + 84348 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $stmode_count + 12 | 0;
HEAP32[$18 >> 2] = $17;
label = 5;
break;
case 5:
return;
}
}
function _lame_bitrate_stereo_mode_hist($gfp, $bitrate_stmode_count) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $bitrate_stmode_count41 = $bitrate_stmode_count;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 152 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
if ($11) {
var $j_127 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
for (var $$dest = $bitrate_stmode_count41 >> 2, $$stop = $$dest + 56; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $12 = $5 + 84036 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = $bitrate_stmode_count | 0;
HEAP32[$14 >> 2] = $13;
var $15 = $5 + 84040 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $bitrate_stmode_count + 4 | 0;
HEAP32[$17 >> 2] = $16;
var $18 = $5 + 84044 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $bitrate_stmode_count + 8 | 0;
HEAP32[$20 >> 2] = $19;
var $21 = $5 + 84048 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $bitrate_stmode_count + 12 | 0;
HEAP32[$23 >> 2] = $22;
label = 7;
break;
case 6:
var $j_127;
var $24 = $j_127 + 1 | 0;
var $25 = $5 + 84036 + $24 * 20 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $bitrate_stmode_count + ($j_127 << 4) | 0;
HEAP32[$27 >> 2] = $26;
var $28 = $5 + 84036 + $24 * 20 + 4 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $bitrate_stmode_count + ($j_127 << 4) + 4 | 0;
HEAP32[$30 >> 2] = $29;
var $31 = $5 + 84036 + $24 * 20 + 8 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $bitrate_stmode_count + ($j_127 << 4) + 8 | 0;
HEAP32[$33 >> 2] = $32;
var $34 = $5 + 84036 + $24 * 20 + 12 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = $bitrate_stmode_count + ($j_127 << 4) + 12 | 0;
HEAP32[$36 >> 2] = $35;
var $exitcond = ($24 | 0) == 14;
if ($exitcond) {
label = 7;
break;
} else {
var $j_127 = $24;
label = 6;
break;
}
case 7:
return;
}
}
_lame_bitrate_stereo_mode_hist["X"] = 1;
function _lame_block_type_hist($gfp, $btype_count) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $5 + 84716 | 0;
var $9 = HEAP32[$8 >> 2];
HEAP32[$btype_count >> 2] = $9;
var $10 = $5 + 84720 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $btype_count + 4 | 0;
HEAP32[$12 >> 2] = $11;
var $13 = $5 + 84724 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $btype_count + 8 | 0;
HEAP32[$15 >> 2] = $14;
var $16 = $5 + 84728 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $btype_count + 12 | 0;
HEAP32[$18 >> 2] = $17;
var $19 = $5 + 84732 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $btype_count + 16 | 0;
HEAP32[$21 >> 2] = $20;
var $22 = $5 + 84736 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = $btype_count + 20 | 0;
HEAP32[$24 >> 2] = $23;
label = 5;
break;
case 5:
return;
}
}
function _lame_bitrate_block_type_hist($gfp, $bitrate_btype_count) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $bitrate_btype_count41 = $bitrate_btype_count;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
label = 7;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 152 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
if ($11) {
var $j_127 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
for (var $$dest = $bitrate_btype_count41 >> 2, $$stop = $$dest + 84; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $12 = $5 + 84356 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = $bitrate_btype_count | 0;
HEAP32[$14 >> 2] = $13;
var $15 = $5 + 84360 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $bitrate_btype_count + 4 | 0;
HEAP32[$17 >> 2] = $16;
var $18 = $5 + 84364 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $bitrate_btype_count + 8 | 0;
HEAP32[$20 >> 2] = $19;
var $21 = $5 + 84368 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $bitrate_btype_count + 12 | 0;
HEAP32[$23 >> 2] = $22;
var $24 = $5 + 84372 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = $bitrate_btype_count + 16 | 0;
HEAP32[$26 >> 2] = $25;
var $27 = $5 + 84376 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = $bitrate_btype_count + 20 | 0;
HEAP32[$29 >> 2] = $28;
label = 7;
break;
case 6:
var $j_127;
var $30 = $j_127 + 1 | 0;
var $31 = $5 + 84356 + $30 * 24 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $bitrate_btype_count + $j_127 * 24 | 0;
HEAP32[$33 >> 2] = $32;
var $34 = $5 + 84356 + $30 * 24 + 4 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = $bitrate_btype_count + $j_127 * 24 + 4 | 0;
HEAP32[$36 >> 2] = $35;
var $37 = $5 + 84356 + $30 * 24 + 8 | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = $bitrate_btype_count + $j_127 * 24 + 8 | 0;
HEAP32[$39 >> 2] = $38;
var $40 = $5 + 84356 + $30 * 24 + 12 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $bitrate_btype_count + $j_127 * 24 + 12 | 0;
HEAP32[$42 >> 2] = $41;
var $43 = $5 + 84356 + $30 * 24 + 16 | 0;
var $44 = HEAP32[$43 >> 2];
var $45 = $bitrate_btype_count + $j_127 * 24 + 16 | 0;
HEAP32[$45 >> 2] = $44;
var $46 = $5 + 84356 + $30 * 24 + 20 | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = $bitrate_btype_count + $j_127 * 24 + 20 | 0;
HEAP32[$48 >> 2] = $47;
var $exitcond = ($30 | 0) == 14;
if ($exitcond) {
label = 7;
break;
} else {
var $j_127 = $30;
label = 6;
break;
}
case 7:
return;
}
}
_lame_bitrate_block_type_hist["X"] = 1;
function _update_inbuffer_size($gfc, $nsamples) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52148 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfc + 52144 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) < ($nsamples | 0);
if ($7) {
label = 4;
break;
} else {
label = 9;
break;
}
case 4:
var $_pr = HEAP32[$1 >> 2];
var $9 = ($_pr | 0) == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $_pr;
_free($11);
label = 6;
break;
case 6:
var $12 = $gfc + 52152 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($13 | 0) == 0;
if ($14) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $16 = $13;
_free($16);
label = 8;
break;
case 8:
var $18 = _calloc($nsamples, 4);
var $19 = $18;
HEAP32[$1 >> 2] = $19;
var $20 = _calloc($nsamples, 4);
var $21 = $20;
HEAP32[$12 >> 2] = $21;
var $22 = $gfc + 52144 | 0;
HEAP32[$22 >> 2] = $nsamples;
label = 9;
break;
case 9:
var $24 = HEAP32[$1 >> 2];
var $25 = ($24 | 0) == 0;
if ($25) {
label = 13;
break;
} else {
label = 10;
break;
}
case 10:
var $27 = $gfc + 52152 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
label = 11;
break;
} else {
var $_0 = 0;
label = 16;
break;
}
case 11:
var $_pr24 = HEAP32[$1 >> 2];
var $31 = ($_pr24 | 0) == 0;
if ($31) {
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $33 = $_pr24;
_free($33);
label = 13;
break;
case 13:
var $34 = $gfc + 52152 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = ($35 | 0) == 0;
if ($36) {
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $38 = $35;
_free($38);
label = 15;
break;
case 15:
HEAP32[$1 >> 2] = 0;
HEAP32[$34 >> 2] = 0;
var $40 = $gfc + 52144 | 0;
HEAP32[$40 >> 2] = 0;
_lame_errorf($gfc, 5382744, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $_0 = -2;
label = 16;
break;
case 16:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_update_inbuffer_size["X"] = 1;
function _lame_encode_buffer_sample_t($gfc, $nsamples, $mp3buf, $mp3buf_size) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 24 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $mfbuf = __stackBase__;
var $in_buffer_ptr = __stackBase__ + 8;
var $n_in = __stackBase__ + 16;
var $n_out = __stackBase__ + 20;
var $1 = $gfc + 16 | 0;
var $2 = $gfc + 76 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 * 576 & -1;
var $5 = $gfc | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == -487877;
if ($7) {
label = 3;
break;
} else {
var $_0 = -3;
label = 22;
break;
}
case 3:
var $9 = ($nsamples | 0) == 0;
if ($9) {
var $_0 = 0;
label = 22;
break;
} else {
label = 4;
break;
}
case 4:
var $11 = _copy_buffer($gfc, $mp3buf, $mp3buf_size, 0);
var $12 = ($11 | 0) < 0;
if ($12) {
var $_0 = $11;
label = 22;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = $mp3buf + $11 | 0;
var $15 = $gfc + 52148 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $gfc + 52152 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = _calcNeeded($1);
var $20 = $gfc + 52156 | 0;
var $21 = $mfbuf | 0;
HEAP32[$21 >> 2] = $20;
var $22 = $gfc + 68092 | 0;
var $23 = $mfbuf + 4 | 0;
HEAP32[$23 >> 2] = $22;
var $24 = $in_buffer_ptr | 0;
var $25 = $in_buffer_ptr + 4 | 0;
var $26 = $gfc + 128 | 0;
var $27 = $gfc + 72 | 0;
var $28 = $gfc + 84032 | 0;
var $29 = $gfc + 84028 | 0;
var $30 = $gfc + 136 | 0;
var $31 = $gfc + 85672 | 0;
var $32 = $gfc + 84032 | 0;
var $33 = $gfc + 72 | 0;
var $34 = ($mp3buf_size | 0) == 0;
var $in_buffer_sroa_0_0_ph = $16;
var $in_buffer_sroa_1_0_ph = $18;
var $_055_ph = $nsamples;
var $_056_ph = $14;
var $mp3size_0_ph = $11;
label = 6;
break;
case 6:
var $mp3size_0_ph;
var $_056_ph;
var $_055_ph;
var $in_buffer_sroa_1_0_ph;
var $in_buffer_sroa_0_0_ph;
var $in_buffer_sroa_0_0 = $in_buffer_sroa_0_0_ph;
var $in_buffer_sroa_1_0 = $in_buffer_sroa_1_0_ph;
var $_055 = $_055_ph;
label = 7;
break;
case 7:
var $_055;
var $in_buffer_sroa_1_0;
var $in_buffer_sroa_0_0;
var $36 = ($_055 | 0) > 0;
if ($36) {
label = 8;
break;
} else {
var $_0 = $mp3size_0_ph;
label = 22;
break;
}
case 8:
HEAP32[$n_in >> 2] = 0;
HEAP32[$n_out >> 2] = 0;
HEAP32[$24 >> 2] = $in_buffer_sroa_0_0;
HEAP32[$25 >> 2] = $in_buffer_sroa_1_0;
_fill_buffer($gfc, $21, $24, $_055, $n_in, $n_out);
var $38 = HEAP32[$26 >> 2];
var $39 = ($38 | 0) == 0;
if ($39) {
label = 11;
break;
} else {
label = 9;
break;
}
case 9:
var $41 = HEAP32[$30 >> 2];
var $42 = ($41 | 0) == 0;
if ($42) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $44 = HEAP32[$31 >> 2];
var $45 = HEAP32[$32 >> 2];
var $46 = HEAP32[$21 >> 2];
var $47 = $46 + ($45 << 2) | 0;
var $48 = HEAP32[$23 >> 2];
var $49 = $48 + ($45 << 2) | 0;
var $50 = HEAP32[$n_out >> 2];
var $51 = HEAP32[$33 >> 2];
var $52 = _AnalyzeSamples($44, $47, $49, $50, $51);
var $53 = ($52 | 0) == 0;
if ($53) {
var $_0 = -6;
label = 22;
break;
} else {
label = 11;
break;
}
case 11:
var $55 = HEAP32[$n_in >> 2];
var $56 = $_055 - $55 | 0;
var $57 = $in_buffer_sroa_0_0 + ($55 << 2) | 0;
var $58 = HEAP32[$27 >> 2];
var $59 = ($58 | 0) == 2;
if ($59) {
label = 12;
break;
} else {
var $in_buffer_sroa_1_1 = $in_buffer_sroa_1_0;
label = 13;
break;
}
case 12:
var $61 = $in_buffer_sroa_1_0 + ($55 << 2) | 0;
var $in_buffer_sroa_1_1 = $61;
label = 13;
break;
case 13:
var $in_buffer_sroa_1_1;
var $63 = HEAP32[$n_out >> 2];
var $64 = HEAP32[$28 >> 2];
var $65 = $64 + $63 | 0;
HEAP32[$28 >> 2] = $65;
var $66 = HEAP32[$29 >> 2];
var $67 = ($66 | 0) < 1;
if ($67) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
HEAP32[$29 >> 2] = 1728;
label = 15;
break;
case 15:
var $70 = HEAP32[$n_out >> 2];
var $71 = HEAP32[$29 >> 2];
var $72 = $71 + $70 | 0;
HEAP32[$29 >> 2] = $72;
var $73 = HEAP32[$28 >> 2];
var $74 = ($73 | 0) < ($19 | 0);
if ($74) {
var $in_buffer_sroa_0_0 = $57;
var $in_buffer_sroa_1_0 = $in_buffer_sroa_1_1;
var $_055 = $56;
label = 7;
break;
} else {
label = 16;
break;
}
case 16:
var $76 = $mp3buf_size - $mp3size_0_ph | 0;
var $_ = $34 ? 0 : $76;
var $77 = HEAP32[$21 >> 2];
var $78 = HEAP32[$23 >> 2];
var $79 = _lame_encode_mp3_frame($gfc, $77, $78, $_056_ph, $_);
var $80 = ($79 | 0) < 0;
if ($80) {
var $_0 = $79;
label = 22;
break;
} else {
label = 17;
break;
}
case 17:
var $82 = $_056_ph + $79 | 0;
var $83 = $79 + $mp3size_0_ph | 0;
var $84 = HEAP32[$28 >> 2];
var $85 = $84 - $4 | 0;
HEAP32[$28 >> 2] = $85;
var $86 = HEAP32[$29 >> 2];
var $87 = $86 - $4 | 0;
HEAP32[$29 >> 2] = $87;
var $88 = HEAP32[$27 >> 2];
var $89 = ($88 | 0) > 0;
if ($89) {
var $ch_058 = 0;
label = 18;
break;
} else {
var $in_buffer_sroa_0_0_ph = $57;
var $in_buffer_sroa_1_0_ph = $in_buffer_sroa_1_1;
var $_055_ph = $56;
var $_056_ph = $82;
var $mp3size_0_ph = $83;
label = 6;
break;
}
case 18:
var $ch_058;
var $90 = HEAP32[$28 >> 2];
var $91 = ($90 | 0) > 0;
if ($91) {
label = 19;
break;
} else {
label = 21;
break;
}
case 19:
var $92 = $mfbuf + ($ch_058 << 2) | 0;
var $93 = HEAP32[$92 >> 2];
var $i_057 = 0;
label = 20;
break;
case 20:
var $i_057;
var $95 = $i_057 + $4 | 0;
var $96 = $93 + ($95 << 2) | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $93 + ($i_057 << 2) | 0;
HEAPF32[$98 >> 2] = $97;
var $99 = $i_057 + 1 | 0;
var $100 = HEAP32[$28 >> 2];
var $101 = ($99 | 0) < ($100 | 0);
if ($101) {
var $i_057 = $99;
label = 20;
break;
} else {
label = 21;
break;
}
case 21:
var $102 = $ch_058 + 1 | 0;
var $103 = HEAP32[$27 >> 2];
var $104 = ($102 | 0) < ($103 | 0);
if ($104) {
var $ch_058 = $102;
label = 18;
break;
} else {
var $in_buffer_sroa_0_0_ph = $57;
var $in_buffer_sroa_1_0_ph = $in_buffer_sroa_1_1;
var $_055_ph = $56;
var $_056_ph = $82;
var $mp3size_0_ph = $83;
label = 6;
break;
}
case 22:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_lame_encode_buffer_sample_t["X"] = 1;
function _filter_coef($x) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $x;
var $2 = $x > 1;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $x > 0;
if ($4) {
label = 4;
break;
} else {
var $_0 = 1;
label = 5;
break;
}
case 4:
var $6 = $1 * 1.5707963267948966;
var $7 = Math.cos($6);
var $8 = $7;
var $_0 = $8;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_decode_exit() {
_ExitMP3(5292272);
return 0;
}
function _lame_decode_init() {
_InitMP3(5292272);
return 0;
}
function _lame_decode1_headersB($buffer, $len, $pcm_l, $pcm_r, $mp3data, $enc_delay, $enc_padding) {
return _decode1_headersB_clipchoice(5292272, $buffer, $len, $pcm_l, $pcm_r, $mp3data, $enc_delay, $enc_padding, 5317972, 8192, 2, 46);
}
function _hip_set_pinfo($hip, $pinfo) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $hip + 21984 | 0;
HEAP32[$3 >> 2] = $pinfo;
label = 4;
break;
case 4:
return;
}
}
function _hip_set_errorf($hip, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $hip + 21996 | 0;
HEAP32[$3 >> 2] = $func;
label = 4;
break;
case 4:
return;
}
}
function _hip_set_debugf($hip, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $hip + 21992 | 0;
HEAP32[$3 >> 2] = $func;
label = 4;
break;
case 4:
return;
}
}
function _hip_set_msgf($hip, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $hip + 21988 | 0;
HEAP32[$3 >> 2] = $func;
label = 4;
break;
case 4:
return;
}
}
function _decode1_headersB_clipchoice($pmp, $buffer, $len, $pcm_l_raw, $pcm_r_raw, $mp3data, $enc_delay, $enc_padding, $p, $psize, $decoded_sample_size, $decodeMP3_ptr) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $processed_bytes = __stackBase__;
var $1 = $mp3data | 0;
HEAP32[$1 >> 2] = 0;
var $2 = FUNCTION_TABLE[$decodeMP3_ptr]($pmp, $buffer, $len, $p, $psize, $processed_bytes);
var $3 = $pmp + 24 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 3;
break;
} else {
label = 5;
break;
}
case 3:
var $7 = $pmp + 60 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) > 0;
if ($9) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $11 = $pmp + 48 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) > 0;
if ($13) {
label = 5;
break;
} else {
label = 12;
break;
}
case 5:
HEAP32[$1 >> 2] = 1;
var $15 = $pmp + 68 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $mp3data + 4 | 0;
HEAP32[$17 >> 2] = $16;
var $18 = $pmp + 100 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = _freqs + ($19 << 2) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $mp3data + 8 | 0;
HEAP32[$22 >> 2] = $21;
var $23 = $pmp + 112 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $mp3data + 16 | 0;
HEAP32[$25 >> 2] = $24;
var $26 = $pmp + 116 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $mp3data + 20 | 0;
HEAP32[$28 >> 2] = $27;
var $29 = $pmp + 88 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $pmp + 76 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = 5347532 + ($32 << 4) + ($30 << 2) | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = $mp3data + 24 | 0;
HEAP32[$35 >> 2] = $34;
var $36 = $pmp + 60 | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = ($37 | 0) > 0;
if ($38) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $40 = $37 << 3;
var $41 = $40 + 32 | 0;
var $42 = HEAP32[$22 >> 2];
var $43 = $42 * $41 & -1;
var $44 = $43 | 0;
var $45 = $34 | 0;
var $46 = $45 * 1e3;
var $47 = $44 / $46;
var $48 = $47 + .5;
var $49 = $48 & -1;
var $50 = $mp3data + 12 | 0;
HEAP32[$50 >> 2] = $49;
label = 10;
break;
case 7:
var $52 = $pmp + 48 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = ($53 | 0) > 0;
if ($54) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $56 = $53 << 3;
var $57 = $56 + 32 | 0;
var $58 = HEAP32[$22 >> 2];
var $59 = $58 * $57 & -1;
var $60 = $59 | 0;
var $61 = $34 | 0;
var $62 = $61 * 1e3;
var $63 = $60 / $62;
var $64 = $63 + .5;
var $65 = $64 & -1;
var $66 = $mp3data + 12 | 0;
HEAP32[$66 >> 2] = $65;
label = 10;
break;
case 9:
var $68 = $pmp + 96 | 0;
var $69 = HEAP32[$68 >> 2];
var $70 = HEAP32[$29 >> 2];
var $71 = $70 - 1 | 0;
var $72 = HEAP32[$31 >> 2];
var $73 = _tabsel_123 + $72 * 192 + ($71 << 6) + ($69 << 2) | 0;
var $74 = HEAP32[$73 >> 2];
var $75 = $mp3data + 12 | 0;
HEAP32[$75 >> 2] = $74;
label = 10;
break;
case 10:
var $77 = $pmp + 12 | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = ($78 | 0) > 0;
if ($79) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $81 = $mp3data + 32 | 0;
HEAP32[$81 >> 2] = $78;
var $82 = HEAP32[$35 >> 2];
var $83 = HEAP32[$77 >> 2];
var $84 = $83 * $82 & -1;
var $85 = $mp3data + 28 | 0;
HEAP32[$85 >> 2] = $84;
var $86 = $pmp + 16 | 0;
var $87 = HEAP32[$86 >> 2];
HEAP32[$enc_delay >> 2] = $87;
var $88 = $pmp + 20 | 0;
var $89 = HEAP32[$88 >> 2];
HEAP32[$enc_padding >> 2] = $89;
label = 12;
break;
case 12:
if (($2 | 0) == 0) {
label = 13;
break;
} else if (($2 | 0) == -1) {
label = 28;
break;
} else if (($2 | 0) == 1) {
var $processed_samples_0 = 0;
label = 30;
break;
} else {
label = 29;
break;
}
case 13:
var $92 = $pmp + 68 | 0;
var $93 = HEAP32[$92 >> 2];
if (($93 | 0) == 1) {
label = 14;
break;
} else if (($93 | 0) == 2) {
label = 21;
break;
} else {
var $processed_samples_0 = -1;
label = 30;
break;
}
case 14:
var $95 = HEAP32[$processed_bytes >> 2];
var $96 = ($95 | 0) / ($decoded_sample_size | 0) & -1;
var $97 = ($decoded_sample_size | 0) == 2;
var $98 = ($96 | 0) > 0;
if ($97) {
label = 15;
break;
} else {
label = 18;
break;
}
case 15:
if ($98) {
label = 16;
break;
} else {
var $processed_samples_0 = $96;
label = 30;
break;
}
case 16:
var $100 = $p;
var $101 = $pcm_l_raw;
var $i_070 = 0;
var $pcm_l_071 = $101;
var $p_samples_072 = $100;
label = 17;
break;
case 17:
var $p_samples_072;
var $pcm_l_071;
var $i_070;
var $103 = $p_samples_072 + 2 | 0;
var $104 = HEAP16[$p_samples_072 >> 1];
var $105 = $pcm_l_071 + 2 | 0;
HEAP16[$pcm_l_071 >> 1] = $104;
var $106 = $i_070 + 1 | 0;
var $exitcond = ($106 | 0) == ($96 | 0);
if ($exitcond) {
var $processed_samples_0 = $96;
label = 30;
break;
} else {
var $i_070 = $106;
var $pcm_l_071 = $105;
var $p_samples_072 = $103;
label = 17;
break;
}
case 18:
if ($98) {
label = 19;
break;
} else {
var $processed_samples_0 = $96;
label = 30;
break;
}
case 19:
var $108 = $p;
var $109 = $pcm_l_raw;
var $i_174 = 0;
var $pcm_l1_075 = $109;
var $p_samples2_076 = $108;
label = 20;
break;
case 20:
var $p_samples2_076;
var $pcm_l1_075;
var $i_174;
var $111 = $p_samples2_076 + 4 | 0;
var $112 = HEAPF32[$p_samples2_076 >> 2];
var $113 = $pcm_l1_075 + 4 | 0;
HEAPF32[$pcm_l1_075 >> 2] = $112;
var $114 = $i_174 + 1 | 0;
var $exitcond90 = ($114 | 0) == ($96 | 0);
if ($exitcond90) {
var $processed_samples_0 = $96;
label = 30;
break;
} else {
var $i_174 = $114;
var $pcm_l1_075 = $113;
var $p_samples2_076 = $111;
label = 20;
break;
}
case 21:
var $116 = HEAP32[$processed_bytes >> 2];
var $117 = ($116 | 0) / ($decoded_sample_size | 0) & -1;
var $118 = $117 >> 1;
var $119 = ($decoded_sample_size | 0) == 2;
var $120 = ($118 | 0) > 0;
if ($119) {
label = 22;
break;
} else {
label = 25;
break;
}
case 22:
if ($120) {
label = 23;
break;
} else {
var $processed_samples_0 = $118;
label = 30;
break;
}
case 23:
var $122 = $p;
var $123 = $pcm_r_raw;
var $124 = $pcm_l_raw;
var $i_279 = 0;
var $pcm_l3_080 = $124;
var $pcm_r_081 = $123;
var $p_samples4_082 = $122;
label = 24;
break;
case 24:
var $p_samples4_082;
var $pcm_r_081;
var $pcm_l3_080;
var $i_279;
var $126 = $p_samples4_082 + 2 | 0;
var $127 = HEAP16[$p_samples4_082 >> 1];
var $128 = $pcm_l3_080 + 2 | 0;
HEAP16[$pcm_l3_080 >> 1] = $127;
var $129 = $p_samples4_082 + 4 | 0;
var $130 = HEAP16[$126 >> 1];
var $131 = $pcm_r_081 + 2 | 0;
HEAP16[$pcm_r_081 >> 1] = $130;
var $132 = $i_279 + 1 | 0;
var $exitcond91 = ($132 | 0) == ($118 | 0);
if ($exitcond91) {
var $processed_samples_0 = $118;
label = 30;
break;
} else {
var $i_279 = $132;
var $pcm_l3_080 = $128;
var $pcm_r_081 = $131;
var $p_samples4_082 = $129;
label = 24;
break;
}
case 25:
if ($120) {
label = 26;
break;
} else {
var $processed_samples_0 = $118;
label = 30;
break;
}
case 26:
var $134 = $p;
var $135 = $pcm_r_raw;
var $136 = $pcm_l_raw;
var $i_385 = 0;
var $pcm_l5_086 = $136;
var $pcm_r6_087 = $135;
var $p_samples7_088 = $134;
label = 27;
break;
case 27:
var $p_samples7_088;
var $pcm_r6_087;
var $pcm_l5_086;
var $i_385;
var $138 = $p_samples7_088 + 4 | 0;
var $139 = HEAPF32[$p_samples7_088 >> 2];
var $140 = $pcm_l5_086 + 4 | 0;
HEAPF32[$pcm_l5_086 >> 2] = $139;
var $141 = $p_samples7_088 + 8 | 0;
var $142 = HEAPF32[$138 >> 2];
var $143 = $pcm_r6_087 + 4 | 0;
HEAPF32[$pcm_r6_087 >> 2] = $142;
var $144 = $i_385 + 1 | 0;
var $exitcond92 = ($144 | 0) == ($118 | 0);
if ($exitcond92) {
var $processed_samples_0 = $118;
label = 30;
break;
} else {
var $i_385 = $144;
var $pcm_l5_086 = $140;
var $pcm_r6_087 = $143;
var $p_samples7_088 = $141;
label = 27;
break;
}
case 28:
var $processed_samples_0 = -1;
label = 30;
break;
case 29:
var $processed_samples_0 = -1;
label = 30;
break;
case 30:
var $processed_samples_0;
STACKTOP = __stackBase__;
return $processed_samples_0;
}
}
_decode1_headersB_clipchoice["X"] = 1;
function _lame_decode1_headers($buffer, $len, $pcm_l, $pcm_r, $mp3data) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
var $1 = _lame_decode1_headersB($buffer, $len, $pcm_l, $pcm_r, $mp3data, __stackBase__, __stackBase__ + 4);
STACKTOP = __stackBase__;
return $1;
}
function _lame_decode1($buffer, $len, $pcm_l, $pcm_r) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 40 | 0;
var $1 = _lame_decode1_headers($buffer, $len, $pcm_l, $pcm_r, __stackBase__);
STACKTOP = __stackBase__;
return $1;
}
function _lame_decode_headers($buffer, $len, $pcm_l, $pcm_r, $mp3data) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $totsize_0 = 0;
var $_010 = $len;
label = 3;
break;
case 3:
var $_010;
var $totsize_0;
var $2 = $pcm_l + ($totsize_0 << 1) | 0;
var $3 = $pcm_r + ($totsize_0 << 1) | 0;
var $4 = _lame_decode1_headers($buffer, $_010, $2, $3, $mp3data);
if (($4 | 0) == -1) {
label = 5;
break;
} else if (($4 | 0) == 0) {
var $_0 = $totsize_0;
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = $4 + $totsize_0 | 0;
var $totsize_0 = $6;
var $_010 = 0;
label = 3;
break;
case 5:
var $_0 = -1;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _lame_decode($buffer, $len, $pcm_l, $pcm_r) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 40 | 0;
var $1 = _lame_decode_headers($buffer, $len, $pcm_l, $pcm_r, __stackBase__);
STACKTOP = __stackBase__;
return $1;
}
function _hip_decode_init() {
var $2 = _calloc(1, 22e3);
_InitMP3($2);
return $2;
}
function _hip_decode_exit($hip) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
_ExitMP3($hip);
var $3 = $hip;
_free($3);
label = 4;
break;
case 4:
return 0;
}
}
function _hip_decode1_unclipped($hip, $buffer, $len, $pcm_l, $pcm_r) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 48 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $mp3data = __stackBase__;
var $enc_delay = __stackBase__ + 40;
var $enc_padding = __stackBase__ + 44;
var $1 = ($hip | 0) == 0;
if ($1) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $pcm_l;
var $4 = $pcm_r;
var $5 = _decode1_headersB_clipchoice($hip, $buffer, $len, $3, $4, $mp3data, $enc_delay, $enc_padding, 5327800, 9216, 4, 42);
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _hip_decode1_headers($hip, $buffer, $len, $pcm_l, $pcm_r, $mp3data) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
var $1 = _hip_decode1_headersB($hip, $buffer, $len, $pcm_l, $pcm_r, $mp3data, __stackBase__, __stackBase__ + 4);
STACKTOP = __stackBase__;
return $1;
}
function _hip_decode1_headersB($hip, $buffer, $len, $pcm_l, $pcm_r, $mp3data, $enc_delay, $enc_padding) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($hip | 0) == 0;
if ($1) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $pcm_l;
var $4 = $pcm_r;
var $5 = _decode1_headersB_clipchoice($hip, $buffer, $len, $3, $4, $mp3data, $enc_delay, $enc_padding, 5337016, 8192, 2, 46);
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _hip_decode1($hip, $buffer, $len, $pcm_l, $pcm_r) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 40 | 0;
var $1 = _hip_decode1_headers($hip, $buffer, $len, $pcm_l, $pcm_r, __stackBase__);
STACKTOP = __stackBase__;
return $1;
}
function _hip_decode_headers($hip, $buffer, $len, $pcm_l, $pcm_r, $mp3data) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $totsize_0 = 0;
var $_011 = $len;
label = 3;
break;
case 3:
var $_011;
var $totsize_0;
var $2 = $pcm_l + ($totsize_0 << 1) | 0;
var $3 = $pcm_r + ($totsize_0 << 1) | 0;
var $4 = _hip_decode1_headers($hip, $buffer, $_011, $2, $3, $mp3data);
if (($4 | 0) == -1) {
label = 5;
break;
} else if (($4 | 0) == 0) {
var $_0 = $totsize_0;
label = 6;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = $4 + $totsize_0 | 0;
var $totsize_0 = $6;
var $_011 = 0;
label = 3;
break;
case 5:
var $_0 = -1;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _hip_decode($hip, $buffer, $len, $pcm_l, $pcm_r) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 40 | 0;
var $1 = _hip_decode_headers($hip, $buffer, $len, $pcm_l, $pcm_r, __stackBase__);
STACKTOP = __stackBase__;
return $1;
}
function _mdct_sub48($gfc, $w0, $w1) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 72 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $work = __stackBase__;
var $1 = $gfc + 72 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
label = 26;
break;
}
case 3:
var $4 = $gfc + 76 | 0;
var $5 = $work | 0;
var $w0_pn172 = $w0;
var $ch_0173 = 0;
label = 4;
break;
case 4:
var $ch_0173;
var $w0_pn172;
var $7 = HEAP32[$4 >> 2];
var $8 = ($7 | 0) > 0;
if ($8) {
label = 5;
break;
} else {
label = 25;
break;
}
case 5:
var $wk_0 = $w0_pn172 + 1144 | 0;
var $wk_1170 = $wk_0;
var $gr_0171 = 0;
label = 6;
break;
case 6:
var $gr_0171;
var $wk_1170;
var $10 = 1 - $gr_0171 | 0;
var $11 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 | 0;
var $samp_0155 = $11;
var $wk_2156 = $wk_1170;
var $k_0157 = 0;
label = 7;
break;
case 7:
var $k_0157;
var $wk_2156;
var $samp_0155;
_window_subband($wk_2156, $samp_0155);
var $13 = $wk_2156 + 128 | 0;
var $14 = $samp_0155 + 128 | 0;
_window_subband($13, $14);
var $15 = $samp_0155 + 256 | 0;
var $16 = $samp_0155 + 132 | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = $17 * -1;
HEAPF32[$16 >> 2] = $18;
var $19 = $samp_0155 + 140 | 0;
var $20 = HEAPF32[$19 >> 2];
var $21 = $20 * -1;
HEAPF32[$19 >> 2] = $21;
var $22 = $samp_0155 + 148 | 0;
var $23 = HEAPF32[$22 >> 2];
var $24 = $23 * -1;
HEAPF32[$22 >> 2] = $24;
var $25 = $samp_0155 + 156 | 0;
var $26 = HEAPF32[$25 >> 2];
var $27 = $26 * -1;
HEAPF32[$25 >> 2] = $27;
var $28 = $samp_0155 + 164 | 0;
var $29 = HEAPF32[$28 >> 2];
var $30 = $29 * -1;
HEAPF32[$28 >> 2] = $30;
var $31 = $samp_0155 + 172 | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = $32 * -1;
HEAPF32[$31 >> 2] = $33;
var $34 = $samp_0155 + 180 | 0;
var $35 = HEAPF32[$34 >> 2];
var $36 = $35 * -1;
HEAPF32[$34 >> 2] = $36;
var $37 = $samp_0155 + 188 | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = $38 * -1;
HEAPF32[$37 >> 2] = $39;
var $40 = $samp_0155 + 196 | 0;
var $41 = HEAPF32[$40 >> 2];
var $42 = $41 * -1;
HEAPF32[$40 >> 2] = $42;
var $43 = $samp_0155 + 204 | 0;
var $44 = HEAPF32[$43 >> 2];
var $45 = $44 * -1;
HEAPF32[$43 >> 2] = $45;
var $46 = $samp_0155 + 212 | 0;
var $47 = HEAPF32[$46 >> 2];
var $48 = $47 * -1;
HEAPF32[$46 >> 2] = $48;
var $49 = $samp_0155 + 220 | 0;
var $50 = HEAPF32[$49 >> 2];
var $51 = $50 * -1;
HEAPF32[$49 >> 2] = $51;
var $52 = $samp_0155 + 228 | 0;
var $53 = HEAPF32[$52 >> 2];
var $54 = $53 * -1;
HEAPF32[$52 >> 2] = $54;
var $55 = $samp_0155 + 236 | 0;
var $56 = HEAPF32[$55 >> 2];
var $57 = $56 * -1;
HEAPF32[$55 >> 2] = $57;
var $58 = $samp_0155 + 244 | 0;
var $59 = HEAPF32[$58 >> 2];
var $60 = $59 * -1;
HEAPF32[$58 >> 2] = $60;
var $61 = $samp_0155 + 252 | 0;
var $62 = HEAPF32[$61 >> 2];
var $63 = $62 * -1;
HEAPF32[$61 >> 2] = $63;
var $64 = $wk_2156 + 256 | 0;
var $65 = $k_0157 + 1 | 0;
var $exitcond = ($65 | 0) == 9;
if ($exitcond) {
label = 8;
break;
} else {
var $samp_0155 = $15;
var $wk_2156 = $64;
var $k_0157 = $65;
label = 7;
break;
}
case 8:
var $66 = $gfc + 304 + $gr_0171 * 10504 + $ch_0173 * 5252 | 0;
var $67 = $gfc + 304 + $gr_0171 * 10504 + $ch_0173 * 5252 + 4788 | 0;
var $68 = $gfc + 304 + $gr_0171 * 10504 + $ch_0173 * 5252 + 4792 | 0;
var $mdct_enc_0167 = $66;
var $band_1169 = 0;
label = 9;
break;
case 9:
var $band_1169;
var $mdct_enc_0167;
var $70 = HEAP32[$67 >> 2];
var $71 = 5291564 + ($band_1169 << 2) | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = HEAP32[$68 >> 2];
var $74 = ($73 | 0) != 0;
var $75 = ($band_1169 | 0) < 2;
var $or_cond = $74 & $75;
var $type_0 = $or_cond ? 0 : $70;
var $76 = $gfc + 37036 + ($band_1169 << 2) | 0;
var $77 = HEAPF32[$76 >> 2];
var $78 = $77;
var $79 = $78 < 1e-12;
if ($79) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $81 = $mdct_enc_0167;
for (var $$dest = $81 >> 2, $$stop = $$dest + 18; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
label = 19;
break;
case 11:
var $83 = $77 < 1;
if ($83) {
var $k_1159 = 0;
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $k_1159;
var $84 = HEAPF32[$76 >> 2];
var $85 = $k_1159 << 5;
var $_sum151 = $85 + $72 | 0;
var $86 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum151 << 2) | 0;
var $87 = HEAPF32[$86 >> 2];
var $88 = $84 * $87;
HEAPF32[$86 >> 2] = $88;
var $89 = $k_1159 + 1 | 0;
var $exitcond179 = ($89 | 0) == 18;
if ($exitcond179) {
label = 13;
break;
} else {
var $k_1159 = $89;
label = 12;
break;
}
case 13:
var $90 = ($type_0 | 0) == 2;
if ($90) {
label = 14;
break;
} else {
var $k_3161 = -9;
label = 17;
break;
}
case 14:
var $91 = $72 + 288 | 0;
var $92 = $72 + 480 | 0;
var $k_2163 = -3;
label = 15;
break;
case 15:
var $k_2163;
var $94 = $k_2163 + 3 | 0;
var $95 = 5247776 + ($94 << 2) | 0;
var $96 = HEAPF32[$95 >> 2];
var $97 = $k_2163 << 5;
var $_sum143 = $91 + $97 | 0;
var $98 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum143 << 2) | 0;
var $99 = HEAPF32[$98 >> 2];
var $100 = $96 * $99;
var $101 = 8 - $k_2163 | 0;
var $102 = $101 << 5;
var $_sum144 = $102 + $72 | 0;
var $103 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum144 << 2) | 0;
var $104 = HEAPF32[$103 >> 2];
var $105 = $100 - $104;
var $106 = $k_2163 * 3 & -1;
var $107 = $106 + 9 | 0;
var $108 = $mdct_enc_0167 + ($107 << 2) | 0;
HEAPF32[$108 >> 2] = $105;
var $109 = 14 - $k_2163 | 0;
var $110 = $109 << 5;
var $_sum145 = $110 + $72 | 0;
var $111 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum145 << 2) | 0;
var $112 = HEAPF32[$111 >> 2];
var $113 = $96 * $112;
var $_sum146 = $92 + $97 | 0;
var $114 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum146 << 2) | 0;
var $115 = HEAPF32[$114 >> 2];
var $116 = $113 + $115;
var $117 = $106 + 18 | 0;
var $118 = $mdct_enc_0167 + ($117 << 2) | 0;
HEAPF32[$118 >> 2] = $116;
var $119 = HEAPF32[$114 >> 2];
var $120 = $96 * $119;
var $121 = HEAPF32[$111 >> 2];
var $122 = $120 - $121;
var $123 = $106 + 10 | 0;
var $124 = $mdct_enc_0167 + ($123 << 2) | 0;
HEAPF32[$124 >> 2] = $122;
var $125 = 2 - $k_2163 | 0;
var $126 = $125 << 5;
var $_sum147 = $126 + $72 | 0;
var $127 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum147 << 2) | 0;
var $128 = HEAPF32[$127 >> 2];
var $129 = $96 * $128;
var $130 = $94 << 5;
var $_sum148 = $130 + $72 | 0;
var $131 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum148 << 2) | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = $129 + $132;
var $134 = $106 + 19 | 0;
var $135 = $mdct_enc_0167 + ($134 << 2) | 0;
HEAPF32[$135 >> 2] = $133;
var $136 = HEAPF32[$131 >> 2];
var $137 = $96 * $136;
var $138 = HEAPF32[$127 >> 2];
var $139 = $137 - $138;
var $140 = $106 + 11 | 0;
var $141 = $mdct_enc_0167 + ($140 << 2) | 0;
HEAPF32[$141 >> 2] = $139;
var $142 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum144 << 2) | 0;
var $143 = HEAPF32[$142 >> 2];
var $144 = $96 * $143;
var $145 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum143 << 2) | 0;
var $146 = HEAPF32[$145 >> 2];
var $147 = $144 + $146;
var $148 = $106 + 20 | 0;
var $149 = $mdct_enc_0167 + ($148 << 2) | 0;
HEAPF32[$149 >> 2] = $147;
var $150 = $k_2163 + 1 | 0;
var $exitcond181 = ($150 | 0) == 0;
if ($exitcond181) {
label = 16;
break;
} else {
var $k_2163 = $150;
label = 15;
break;
}
case 16:
_mdct_short($mdct_enc_0167);
label = 19;
break;
case 17:
var $k_3161;
var $152 = $k_3161 + 27 | 0;
var $153 = 5247488 + $type_0 * 144 + ($152 << 2) | 0;
var $154 = HEAPF32[$153 >> 2];
var $155 = $k_3161 + 9 | 0;
var $156 = $155 << 5;
var $_sum138 = $156 + $72 | 0;
var $157 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum138 << 2) | 0;
var $158 = HEAPF32[$157 >> 2];
var $159 = $154 * $158;
var $160 = $k_3161 + 36 | 0;
var $161 = 5247488 + $type_0 * 144 + ($160 << 2) | 0;
var $162 = HEAPF32[$161 >> 2];
var $163 = 8 - $k_3161 | 0;
var $164 = $163 << 5;
var $_sum139 = $164 + $72 | 0;
var $165 = $gfc + 27820 + $ch_0173 * 4608 + $10 * 2304 + ($_sum139 << 2) | 0;
var $166 = HEAPF32[$165 >> 2];
var $167 = $162 * $166;
var $168 = $159 + $167;
var $169 = 5247488 + $type_0 * 144 + ($155 << 2) | 0;
var $170 = HEAPF32[$169 >> 2];
var $171 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum138 << 2) | 0;
var $172 = HEAPF32[$171 >> 2];
var $173 = $170 * $172;
var $174 = $k_3161 + 18 | 0;
var $175 = 5247488 + $type_0 * 144 + ($174 << 2) | 0;
var $176 = HEAPF32[$175 >> 2];
var $177 = $gfc + 27820 + $ch_0173 * 4608 + $gr_0171 * 2304 + ($_sum139 << 2) | 0;
var $178 = HEAPF32[$177 >> 2];
var $179 = $176 * $178;
var $180 = $173 - $179;
var $_sum142 = $k_3161 + 12 | 0;
var $181 = 5247776 + ($_sum142 << 2) | 0;
var $182 = HEAPF32[$181 >> 2];
var $183 = $182 * $180;
var $184 = $168 - $183;
var $185 = $work + ($155 << 2) | 0;
HEAPF32[$185 >> 2] = $184;
var $186 = HEAPF32[$181 >> 2];
var $187 = $168 * $186;
var $188 = $180 + $187;
var $189 = $work + ($174 << 2) | 0;
HEAPF32[$189 >> 2] = $188;
var $190 = $k_3161 + 1 | 0;
var $exitcond180 = ($190 | 0) == 0;
if ($exitcond180) {
label = 18;
break;
} else {
var $k_3161 = $190;
label = 17;
break;
}
case 18:
_mdct_long($mdct_enc_0167, $5);
label = 19;
break;
case 19:
var $193 = ($type_0 | 0) == 2;
var $194 = ($band_1169 | 0) == 0;
var $or_cond153 = $193 | $194;
if ($or_cond153) {
label = 21;
break;
} else {
var $k_4166 = 7;
label = 20;
break;
}
case 20:
var $k_4166;
var $195 = $mdct_enc_0167 + ($k_4166 << 2) | 0;
var $196 = HEAPF32[$195 >> 2];
var $_sum = $k_4166 + 20 | 0;
var $197 = 5247776 + ($_sum << 2) | 0;
var $198 = HEAPF32[$197 >> 2];
var $199 = $196 * $198;
var $200 = $k_4166 ^ -1;
var $201 = $mdct_enc_0167 + ($200 << 2) | 0;
var $202 = HEAPF32[$201 >> 2];
var $_sum137 = $k_4166 + 28 | 0;
var $203 = 5247776 + ($_sum137 << 2) | 0;
var $204 = HEAPF32[$203 >> 2];
var $205 = $202 * $204;
var $206 = $199 + $205;
var $207 = $196 * $204;
var $208 = $198 * $202;
var $209 = $207 - $208;
HEAPF32[$201 >> 2] = $206;
HEAPF32[$195 >> 2] = $209;
var $210 = $k_4166 - 1 | 0;
var $211 = ($k_4166 | 0) > 0;
if ($211) {
var $k_4166 = $210;
label = 20;
break;
} else {
label = 21;
break;
}
case 21:
var $212 = $band_1169 + 1 | 0;
var $213 = $mdct_enc_0167 + 72 | 0;
var $exitcond182 = ($212 | 0) == 32;
if ($exitcond182) {
label = 22;
break;
} else {
var $mdct_enc_0167 = $213;
var $band_1169 = $212;
label = 9;
break;
}
case 22:
var $scevgep = $wk_1170 + 2304 | 0;
var $215 = $gr_0171 + 1 | 0;
var $216 = HEAP32[$4 >> 2];
var $217 = ($215 | 0) < ($216 | 0);
if ($217) {
var $wk_1170 = $scevgep;
var $gr_0171 = $215;
label = 6;
break;
} else {
label = 23;
break;
}
case 23:
var $218 = ($216 | 0) == 1;
if ($218) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $220 = $gfc + 27820 + $ch_0173 * 4608 | 0;
var $221 = $220;
var $222 = $gfc + 27820 + $ch_0173 * 4608 + 2304 | 0;
var $223 = $222;
for (var $$src = $223 >> 2, $$dest = $221 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 25;
break;
case 25:
var $224 = $ch_0173 + 1 | 0;
var $225 = HEAP32[$1 >> 2];
var $226 = ($224 | 0) < ($225 | 0);
if ($226) {
var $w0_pn172 = $w1;
var $ch_0173 = $224;
label = 4;
break;
} else {
label = 26;
break;
}
case 26:
STACKTOP = __stackBase__;
return;
}
}
_mdct_sub48["X"] = 1;
function _window_subband($x1, $a) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $x1 - 248 | 0;
var $x2_0713 = $1;
var $wp_0714 = 5346432;
var $i_0715 = -15;
var $_0716 = $x1;
label = 3;
break;
case 3:
var $_0716;
var $i_0715;
var $wp_0714;
var $x2_0713;
var $3 = $wp_0714 - 40 | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $x2_0713 - 896 | 0;
var $6 = HEAPF32[$5 >> 2];
var $7 = $4 * $6;
var $8 = $_0716 + 896 | 0;
var $9 = HEAPF32[$8 >> 2];
var $10 = $4 * $9;
var $11 = $wp_0714 - 36 | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $x2_0713 - 640 | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = $12 * $14;
var $16 = $7 + $15;
var $17 = $_0716 + 640 | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = $12 * $18;
var $20 = $10 + $19;
var $21 = $wp_0714 - 32 | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $x2_0713 - 384 | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = $22 * $24;
var $26 = $16 + $25;
var $27 = $_0716 + 384 | 0;
var $28 = HEAPF32[$27 >> 2];
var $29 = $22 * $28;
var $30 = $20 + $29;
var $31 = $wp_0714 - 28 | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = $x2_0713 - 128 | 0;
var $34 = HEAPF32[$33 >> 2];
var $35 = $32 * $34;
var $36 = $26 + $35;
var $37 = $_0716 + 128 | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = $32 * $38;
var $40 = $30 + $39;
var $41 = $wp_0714 - 24 | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $x2_0713 + 128 | 0;
var $44 = HEAPF32[$43 >> 2];
var $45 = $42 * $44;
var $46 = $36 + $45;
var $47 = $_0716 - 128 | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $42 * $48;
var $50 = $40 + $49;
var $51 = $wp_0714 - 20 | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $x2_0713 + 384 | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $52 * $54;
var $56 = $46 + $55;
var $57 = $_0716 - 384 | 0;
var $58 = HEAPF32[$57 >> 2];
var $59 = $52 * $58;
var $60 = $50 + $59;
var $61 = $wp_0714 - 16 | 0;
var $62 = HEAPF32[$61 >> 2];
var $63 = $x2_0713 + 640 | 0;
var $64 = HEAPF32[$63 >> 2];
var $65 = $62 * $64;
var $66 = $56 + $65;
var $67 = $_0716 - 640 | 0;
var $68 = HEAPF32[$67 >> 2];
var $69 = $62 * $68;
var $70 = $60 + $69;
var $71 = $wp_0714 - 12 | 0;
var $72 = HEAPF32[$71 >> 2];
var $73 = $x2_0713 + 896 | 0;
var $74 = HEAPF32[$73 >> 2];
var $75 = $72 * $74;
var $76 = $66 + $75;
var $77 = $_0716 - 896 | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = $72 * $78;
var $80 = $70 + $79;
var $81 = $wp_0714 - 8 | 0;
var $82 = HEAPF32[$81 >> 2];
var $83 = $_0716 - 1024 | 0;
var $84 = HEAPF32[$83 >> 2];
var $85 = $82 * $84;
var $86 = $76 + $85;
var $87 = $x2_0713 + 1024 | 0;
var $88 = HEAPF32[$87 >> 2];
var $89 = $82 * $88;
var $90 = $80 - $89;
var $91 = $wp_0714 - 4 | 0;
var $92 = HEAPF32[$91 >> 2];
var $93 = $_0716 - 768 | 0;
var $94 = HEAPF32[$93 >> 2];
var $95 = $92 * $94;
var $96 = $86 + $95;
var $97 = $x2_0713 + 768 | 0;
var $98 = HEAPF32[$97 >> 2];
var $99 = $92 * $98;
var $100 = $90 - $99;
var $101 = HEAPF32[$wp_0714 >> 2];
var $102 = $_0716 - 512 | 0;
var $103 = HEAPF32[$102 >> 2];
var $104 = $101 * $103;
var $105 = $96 + $104;
var $106 = $x2_0713 + 512 | 0;
var $107 = HEAPF32[$106 >> 2];
var $108 = $101 * $107;
var $109 = $100 - $108;
var $110 = $wp_0714 + 4 | 0;
var $111 = HEAPF32[$110 >> 2];
var $112 = $_0716 - 256 | 0;
var $113 = HEAPF32[$112 >> 2];
var $114 = $111 * $113;
var $115 = $105 + $114;
var $116 = $x2_0713 + 256 | 0;
var $117 = HEAPF32[$116 >> 2];
var $118 = $111 * $117;
var $119 = $109 - $118;
var $120 = $wp_0714 + 8 | 0;
var $121 = HEAPF32[$120 >> 2];
var $122 = HEAPF32[$_0716 >> 2];
var $123 = $121 * $122;
var $124 = $115 + $123;
var $125 = HEAPF32[$x2_0713 >> 2];
var $126 = $121 * $125;
var $127 = $119 - $126;
var $128 = $wp_0714 + 12 | 0;
var $129 = HEAPF32[$128 >> 2];
var $130 = $_0716 + 256 | 0;
var $131 = HEAPF32[$130 >> 2];
var $132 = $129 * $131;
var $133 = $124 + $132;
var $134 = $x2_0713 - 256 | 0;
var $135 = HEAPF32[$134 >> 2];
var $136 = $129 * $135;
var $137 = $127 - $136;
var $138 = $wp_0714 + 16 | 0;
var $139 = HEAPF32[$138 >> 2];
var $140 = $_0716 + 512 | 0;
var $141 = HEAPF32[$140 >> 2];
var $142 = $139 * $141;
var $143 = $133 + $142;
var $144 = $x2_0713 - 512 | 0;
var $145 = HEAPF32[$144 >> 2];
var $146 = $139 * $145;
var $147 = $137 - $146;
var $148 = $wp_0714 + 20 | 0;
var $149 = HEAPF32[$148 >> 2];
var $150 = $_0716 + 768 | 0;
var $151 = HEAPF32[$150 >> 2];
var $152 = $149 * $151;
var $153 = $143 + $152;
var $154 = $x2_0713 - 768 | 0;
var $155 = HEAPF32[$154 >> 2];
var $156 = $149 * $155;
var $157 = $147 - $156;
var $158 = $wp_0714 + 24 | 0;
var $159 = HEAPF32[$158 >> 2];
var $160 = $153 * $159;
var $161 = $157 - $160;
var $162 = $157 + $160;
var $163 = $i_0715 << 1;
var $164 = $163 + 30 | 0;
var $165 = $a + ($164 << 2) | 0;
HEAPF32[$165 >> 2] = $162;
var $166 = $wp_0714 + 28 | 0;
var $167 = HEAPF32[$166 >> 2];
var $168 = $167 * $161;
var $169 = $163 + 31 | 0;
var $170 = $a + ($169 << 2) | 0;
HEAPF32[$170 >> 2] = $168;
var $171 = $wp_0714 + 72 | 0;
var $172 = $_0716 - 4 | 0;
var $173 = $x2_0713 + 4 | 0;
var $174 = $i_0715 + 1 | 0;
var $exitcond = ($174 | 0) == 0;
if ($exitcond) {
label = 4;
break;
} else {
var $x2_0713 = $173;
var $wp_0714 = $171;
var $i_0715 = $174;
var $_0716 = $172;
label = 3;
break;
}
case 4:
var $176 = $x1 - 124 | 0;
var $177 = HEAPF32[$176 >> 2];
var $178 = $177 * 10612.802734375;
var $179 = $x1 - 188 | 0;
var $180 = HEAPF32[$179 >> 2];
var $181 = $180 * 12804.7978515625;
var $182 = $x1 - 252 | 0;
var $183 = HEAPF32[$182 >> 2];
var $184 = $x1 + 4 | 0;
var $185 = HEAPF32[$184 >> 2];
var $186 = $183 - $185;
var $187 = $186 * 5302.158203125;
var $188 = $178 + $187;
var $189 = $x1 - 444 | 0;
var $190 = HEAPF32[$189 >> 2];
var $191 = $190 * 1945.5516357421875;
var $192 = $181 + $191;
var $193 = $x1 - 380 | 0;
var $194 = HEAPF32[$193 >> 2];
var $195 = $x1 + 132 | 0;
var $196 = HEAPF32[$195 >> 2];
var $197 = $194 + $196;
var $198 = $197 * 929.7763061523438;
var $199 = $188 + $198;
var $200 = $x1 - 700 | 0;
var $201 = HEAPF32[$200 >> 2];
var $202 = $201 * 313.42449951171875;
var $203 = $192 + $202;
var $204 = $x1 - 508 | 0;
var $205 = HEAPF32[$204 >> 2];
var $206 = $x1 + 260 | 0;
var $207 = HEAPF32[$206 >> 2];
var $208 = $205 - $207;
var $209 = $208 * 728.8010864257812;
var $210 = $199 + $209;
var $211 = $x1 - 956 | 0;
var $212 = HEAPF32[$211 >> 2];
var $213 = $212 * 20.801593780517578;
var $214 = $203 + $213;
var $215 = $x1 - 636 | 0;
var $216 = HEAPF32[$215 >> 2];
var $217 = $x1 + 388 | 0;
var $218 = HEAPF32[$217 >> 2];
var $219 = $216 + $218;
var $220 = $219 * 288.09765625;
var $221 = $210 + $220;
var $222 = $x1 + 68 | 0;
var $223 = HEAPF32[$222 >> 2];
var $224 = $223 * 1995.1556396484375;
var $225 = $214 - $224;
var $226 = $x1 - 764 | 0;
var $227 = HEAPF32[$226 >> 2];
var $228 = $x1 + 516 | 0;
var $229 = HEAPF32[$228 >> 2];
var $230 = $227 - $229;
var $231 = $230 * 64.91738891601562;
var $232 = $221 + $231;
var $233 = $x1 + 324 | 0;
var $234 = HEAPF32[$233 >> 2];
var $235 = $234 * 9.000839233398438;
var $236 = $225 - $235;
var $237 = $x1 - 892 | 0;
var $238 = HEAPF32[$237 >> 2];
var $239 = $x1 + 644 | 0;
var $240 = HEAPF32[$239 >> 2];
var $241 = $238 + $240;
var $242 = $241 * 30.125003814697266;
var $243 = $232 + $242;
var $244 = $x1 + 580 | 0;
var $245 = HEAPF32[$244 >> 2];
var $246 = $245 * -29.202180862426758;
var $247 = $236 - $246;
var $248 = $x1 - 1020 | 0;
var $249 = HEAPF32[$248 >> 2];
var $250 = $x1 + 772 | 0;
var $251 = HEAPF32[$250 >> 2];
var $252 = $249 - $251;
var $253 = $252 * 4.101456642150879;
var $254 = $243 + $253;
var $255 = $x1 + 836 | 0;
var $256 = HEAPF32[$255 >> 2];
var $257 = $247 - $256;
var $258 = $257 - $254;
var $259 = $257 + $254;
var $260 = $a + 56 | 0;
var $261 = HEAPF32[$260 >> 2];
var $262 = $a + 60 | 0;
var $263 = HEAPF32[$262 >> 2];
var $264 = $263 - $261;
var $265 = $261 + $259;
var $266 = $a + 124 | 0;
HEAPF32[$266 >> 2] = $265;
var $267 = $258 + $264;
var $268 = $a + 120 | 0;
HEAPF32[$268 >> 2] = $267;
var $269 = $258 - $264;
HEAPF32[$262 >> 2] = $269;
var $270 = $259 - $261;
HEAPF32[$260 >> 2] = $270;
var $271 = $a + 112 | 0;
var $272 = HEAPF32[$271 >> 2];
var $273 = HEAPF32[$a >> 2];
var $274 = $272 - $273;
var $275 = $272 + $273;
HEAPF32[$a >> 2] = $275;
var $276 = $274 * 1.9615705013275146;
HEAPF32[$271 >> 2] = $276;
var $277 = $a + 116 | 0;
var $278 = HEAPF32[$277 >> 2];
var $279 = $a + 4 | 0;
var $280 = HEAPF32[$279 >> 2];
var $281 = $278 - $280;
var $282 = $278 + $280;
HEAPF32[$279 >> 2] = $282;
var $283 = $281 * 1.9615705013275146;
HEAPF32[$277 >> 2] = $283;
var $284 = $a + 104 | 0;
var $285 = HEAPF32[$284 >> 2];
var $286 = $a + 8 | 0;
var $287 = HEAPF32[$286 >> 2];
var $288 = $285 - $287;
var $289 = $285 + $287;
HEAPF32[$286 >> 2] = $289;
var $290 = $288 * 1.8477590084075928;
HEAPF32[$284 >> 2] = $290;
var $291 = $a + 108 | 0;
var $292 = HEAPF32[$291 >> 2];
var $293 = $a + 12 | 0;
var $294 = HEAPF32[$293 >> 2];
var $295 = $292 - $294;
var $296 = $292 + $294;
HEAPF32[$293 >> 2] = $296;
var $297 = $295 * 1.8477590084075928;
HEAPF32[$291 >> 2] = $297;
var $298 = $a + 96 | 0;
var $299 = HEAPF32[$298 >> 2];
var $300 = $a + 16 | 0;
var $301 = HEAPF32[$300 >> 2];
var $302 = $299 - $301;
var $303 = $299 + $301;
HEAPF32[$300 >> 2] = $303;
var $304 = $302 * 1.662939190864563;
HEAPF32[$298 >> 2] = $304;
var $305 = $a + 100 | 0;
var $306 = HEAPF32[$305 >> 2];
var $307 = $a + 20 | 0;
var $308 = HEAPF32[$307 >> 2];
var $309 = $306 - $308;
var $310 = $306 + $308;
HEAPF32[$307 >> 2] = $310;
var $311 = $309 * 1.662939190864563;
HEAPF32[$305 >> 2] = $311;
var $312 = $a + 88 | 0;
var $313 = HEAPF32[$312 >> 2];
var $314 = $a + 24 | 0;
var $315 = HEAPF32[$314 >> 2];
var $316 = $313 - $315;
var $317 = $313 + $315;
HEAPF32[$314 >> 2] = $317;
var $318 = $316;
var $319 = $318 * 1.4142135623730951;
var $320 = $319;
HEAPF32[$312 >> 2] = $320;
var $321 = $a + 92 | 0;
var $322 = HEAPF32[$321 >> 2];
var $323 = $a + 28 | 0;
var $324 = HEAPF32[$323 >> 2];
var $325 = $322 - $324;
var $326 = $322 + $324;
HEAPF32[$323 >> 2] = $326;
var $327 = $325;
var $328 = $327 * 1.4142135623730951;
var $329 = $326;
var $330 = $328 - $329;
var $331 = $330;
HEAPF32[$321 >> 2] = $331;
var $332 = HEAPF32[$314 >> 2];
var $333 = HEAPF32[$323 >> 2];
var $334 = $333 - $332;
HEAPF32[$323 >> 2] = $334;
var $335 = HEAPF32[$312 >> 2];
var $336 = $335 - $334;
HEAPF32[$312 >> 2] = $336;
var $337 = HEAPF32[$321 >> 2];
var $338 = $337 - $336;
HEAPF32[$321 >> 2] = $338;
var $339 = HEAPF32[$314 >> 2];
var $340 = HEAPF32[$266 >> 2];
var $341 = $340 - $339;
HEAPF32[$314 >> 2] = $341;
var $342 = HEAPF32[$266 >> 2];
var $343 = $339 + $342;
HEAPF32[$266 >> 2] = $343;
var $344 = HEAPF32[$323 >> 2];
var $345 = HEAPF32[$268 >> 2];
var $346 = $345 - $344;
HEAPF32[$323 >> 2] = $346;
var $347 = HEAPF32[$268 >> 2];
var $348 = $344 + $347;
HEAPF32[$268 >> 2] = $348;
var $349 = HEAPF32[$312 >> 2];
var $350 = HEAPF32[$262 >> 2];
var $351 = $350 - $349;
HEAPF32[$312 >> 2] = $351;
var $352 = HEAPF32[$262 >> 2];
var $353 = $349 + $352;
HEAPF32[$262 >> 2] = $353;
var $354 = HEAPF32[$321 >> 2];
var $355 = HEAPF32[$260 >> 2];
var $356 = $355 - $354;
HEAPF32[$321 >> 2] = $356;
var $357 = HEAPF32[$260 >> 2];
var $358 = $354 + $357;
HEAPF32[$260 >> 2] = $358;
var $359 = $a + 80 | 0;
var $360 = HEAPF32[$359 >> 2];
var $361 = $a + 32 | 0;
var $362 = HEAPF32[$361 >> 2];
var $363 = $360 - $362;
var $364 = $360 + $362;
HEAPF32[$361 >> 2] = $364;
var $365 = $363 * 1.111140489578247;
HEAPF32[$359 >> 2] = $365;
var $366 = $a + 84 | 0;
var $367 = HEAPF32[$366 >> 2];
var $368 = $a + 36 | 0;
var $369 = HEAPF32[$368 >> 2];
var $370 = $367 - $369;
var $371 = $367 + $369;
HEAPF32[$368 >> 2] = $371;
var $372 = $370 * 1.111140489578247;
HEAPF32[$366 >> 2] = $372;
var $373 = $a + 72 | 0;
var $374 = HEAPF32[$373 >> 2];
var $375 = $a + 40 | 0;
var $376 = HEAPF32[$375 >> 2];
var $377 = $374 - $376;
var $378 = $374 + $376;
HEAPF32[$375 >> 2] = $378;
var $379 = $377 * .7653668522834778;
HEAPF32[$373 >> 2] = $379;
var $380 = $a + 76 | 0;
var $381 = HEAPF32[$380 >> 2];
var $382 = $a + 44 | 0;
var $383 = HEAPF32[$382 >> 2];
var $384 = $381 - $383;
var $385 = $381 + $383;
HEAPF32[$382 >> 2] = $385;
var $386 = $384 * .7653668522834778;
HEAPF32[$380 >> 2] = $386;
var $387 = $a + 64 | 0;
var $388 = HEAPF32[$387 >> 2];
var $389 = $a + 48 | 0;
var $390 = HEAPF32[$389 >> 2];
var $391 = $388 - $390;
var $392 = $388 + $390;
HEAPF32[$389 >> 2] = $392;
var $393 = $391 * .39018064737319946;
HEAPF32[$387 >> 2] = $393;
var $394 = $a + 68 | 0;
var $395 = HEAPF32[$394 >> 2];
var $396 = $a + 52 | 0;
var $397 = HEAPF32[$396 >> 2];
var $398 = $395 - $397;
var $399 = $395 + $397;
HEAPF32[$396 >> 2] = $399;
var $400 = $398 * .39018064737319946;
HEAPF32[$394 >> 2] = $400;
var $401 = HEAPF32[$359 >> 2];
var $402 = HEAPF32[$298 >> 2];
var $403 = $402 - $401;
var $404 = $401 + $402;
HEAPF32[$359 >> 2] = $404;
var $405 = $403 * .7653668522834778;
HEAPF32[$298 >> 2] = $405;
var $406 = HEAPF32[$366 >> 2];
var $407 = HEAPF32[$305 >> 2];
var $408 = $407 - $406;
var $409 = $406 + $407;
HEAPF32[$366 >> 2] = $409;
var $410 = $408 * .7653668522834778;
HEAPF32[$305 >> 2] = $410;
var $411 = HEAPF32[$300 >> 2];
var $412 = HEAPF32[$361 >> 2];
var $413 = $411 - $412;
var $414 = $411 + $412;
HEAPF32[$300 >> 2] = $414;
var $415 = $413 * .7653668522834778;
HEAPF32[$361 >> 2] = $415;
var $416 = HEAPF32[$307 >> 2];
var $417 = HEAPF32[$368 >> 2];
var $418 = $416 - $417;
var $419 = $416 + $417;
HEAPF32[$307 >> 2] = $419;
var $420 = $418 * .7653668522834778;
HEAPF32[$368 >> 2] = $420;
var $421 = HEAPF32[$a >> 2];
var $422 = HEAPF32[$389 >> 2];
var $423 = $421 - $422;
var $424 = $421 + $422;
HEAPF32[$a >> 2] = $424;
var $425 = $423 * 1.8477590084075928;
HEAPF32[$389 >> 2] = $425;
var $426 = HEAPF32[$279 >> 2];
var $427 = HEAPF32[$396 >> 2];
var $428 = $426 - $427;
var $429 = $426 + $427;
HEAPF32[$279 >> 2] = $429;
var $430 = $428 * 1.8477590084075928;
HEAPF32[$396 >> 2] = $430;
var $431 = HEAPF32[$387 >> 2];
var $432 = HEAPF32[$271 >> 2];
var $433 = $431 - $432;
var $434 = $431 + $432;
HEAPF32[$387 >> 2] = $434;
var $435 = $433 * 1.8477590084075928;
HEAPF32[$271 >> 2] = $435;
var $436 = HEAPF32[$394 >> 2];
var $437 = HEAPF32[$277 >> 2];
var $438 = $437 - $436;
var $439 = $436 + $437;
HEAPF32[$394 >> 2] = $439;
var $440 = $438 * 1.8477590084075928;
HEAPF32[$277 >> 2] = $440;
var $441 = HEAPF32[$286 >> 2];
var $442 = HEAPF32[$375 >> 2];
var $443 = $441 - $442;
var $444 = $443;
var $445 = $444 * 1.4142135623730951;
var $446 = $445;
var $447 = $441 + $442;
HEAPF32[$286 >> 2] = $447;
HEAPF32[$375 >> 2] = $446;
var $448 = HEAPF32[$293 >> 2];
var $449 = HEAPF32[$382 >> 2];
var $450 = $448 - $449;
var $451 = $450;
var $452 = $451 * 1.4142135623730951;
var $453 = $452;
var $454 = $448 + $449;
HEAPF32[$293 >> 2] = $454;
HEAPF32[$382 >> 2] = $453;
var $455 = HEAPF32[$373 >> 2];
var $456 = HEAPF32[$284 >> 2];
var $457 = $456 - $455;
var $458 = $457;
var $459 = $458 * 1.4142135623730951;
var $460 = $459;
var $461 = $455 + $456;
HEAPF32[$373 >> 2] = $461;
var $462 = $460 - $461;
HEAPF32[$284 >> 2] = $462;
var $463 = HEAPF32[$380 >> 2];
var $464 = HEAPF32[$291 >> 2];
var $465 = $464 - $463;
var $466 = $465;
var $467 = $466 * 1.4142135623730951;
var $468 = $467;
var $469 = $463 + $464;
HEAPF32[$380 >> 2] = $469;
var $470 = $468 - $469;
HEAPF32[$291 >> 2] = $470;
var $471 = HEAPF32[$286 >> 2];
var $472 = HEAPF32[$293 >> 2];
var $473 = HEAPF32[$380 >> 2];
var $474 = $473 - $472;
HEAPF32[$380 >> 2] = $474;
var $475 = HEAPF32[$293 >> 2];
var $476 = $475 - $471;
HEAPF32[$293 >> 2] = $476;
var $477 = HEAPF32[$266 >> 2];
var $478 = $477 - $471;
HEAPF32[$286 >> 2] = $478;
var $479 = HEAPF32[$266 >> 2];
var $480 = $471 + $479;
HEAPF32[$266 >> 2] = $480;
var $481 = HEAPF32[$293 >> 2];
var $482 = HEAPF32[$380 >> 2];
var $483 = HEAPF32[$382 >> 2];
var $484 = $483 - $482;
HEAPF32[$382 >> 2] = $484;
var $485 = HEAPF32[$373 >> 2];
var $486 = $485 - $481;
HEAPF32[$373 >> 2] = $486;
var $487 = HEAPF32[$268 >> 2];
var $488 = $487 - $481;
HEAPF32[$293 >> 2] = $488;
var $489 = HEAPF32[$268 >> 2];
var $490 = $481 + $489;
HEAPF32[$268 >> 2] = $490;
var $491 = HEAPF32[$373 >> 2];
var $492 = HEAPF32[$382 >> 2];
var $493 = HEAPF32[$291 >> 2];
var $494 = $493 - $492;
HEAPF32[$291 >> 2] = $494;
var $495 = HEAPF32[$380 >> 2];
var $496 = $495 - $491;
HEAPF32[$380 >> 2] = $496;
var $497 = HEAPF32[$262 >> 2];
var $498 = $497 - $491;
HEAPF32[$373 >> 2] = $498;
var $499 = HEAPF32[$262 >> 2];
var $500 = $491 + $499;
HEAPF32[$262 >> 2] = $500;
var $501 = HEAPF32[$380 >> 2];
var $502 = HEAPF32[$375 >> 2];
var $503 = $502 - $501;
HEAPF32[$375 >> 2] = $503;
var $504 = HEAPF32[$260 >> 2];
var $505 = $504 - $501;
HEAPF32[$380 >> 2] = $505;
var $506 = HEAPF32[$260 >> 2];
var $507 = $501 + $506;
HEAPF32[$260 >> 2] = $507;
var $508 = HEAPF32[$375 >> 2];
var $509 = HEAPF32[$382 >> 2];
var $510 = $509 - $508;
HEAPF32[$382 >> 2] = $510;
var $511 = HEAPF32[$321 >> 2];
var $512 = $511 - $508;
HEAPF32[$375 >> 2] = $512;
var $513 = HEAPF32[$321 >> 2];
var $514 = $508 + $513;
HEAPF32[$321 >> 2] = $514;
var $515 = HEAPF32[$382 >> 2];
var $516 = HEAPF32[$284 >> 2];
var $517 = $516 - $515;
HEAPF32[$284 >> 2] = $517;
var $518 = HEAPF32[$312 >> 2];
var $519 = $518 - $515;
HEAPF32[$382 >> 2] = $519;
var $520 = HEAPF32[$312 >> 2];
var $521 = $515 + $520;
HEAPF32[$312 >> 2] = $521;
var $522 = HEAPF32[$284 >> 2];
var $523 = HEAPF32[$291 >> 2];
var $524 = $523 - $522;
HEAPF32[$291 >> 2] = $524;
var $525 = HEAPF32[$323 >> 2];
var $526 = $525 - $522;
HEAPF32[$284 >> 2] = $526;
var $527 = HEAPF32[$323 >> 2];
var $528 = $522 + $527;
HEAPF32[$323 >> 2] = $528;
var $529 = HEAPF32[$291 >> 2];
var $530 = HEAPF32[$314 >> 2];
var $531 = $530 - $529;
HEAPF32[$291 >> 2] = $531;
var $532 = HEAPF32[$314 >> 2];
var $533 = $529 + $532;
HEAPF32[$314 >> 2] = $533;
var $534 = HEAPF32[$a >> 2];
var $535 = HEAPF32[$300 >> 2];
var $536 = $534 - $535;
var $537 = $536;
var $538 = $537 * 1.4142135623730951;
var $539 = $538;
var $540 = $534 + $535;
HEAPF32[$a >> 2] = $540;
HEAPF32[$300 >> 2] = $539;
var $541 = HEAPF32[$279 >> 2];
var $542 = HEAPF32[$307 >> 2];
var $543 = $541 - $542;
var $544 = $543;
var $545 = $544 * 1.4142135623730951;
var $546 = $545;
var $547 = $541 + $542;
HEAPF32[$279 >> 2] = $547;
HEAPF32[$307 >> 2] = $546;
var $548 = HEAPF32[$387 >> 2];
var $549 = HEAPF32[$359 >> 2];
var $550 = $548 - $549;
var $551 = $550;
var $552 = $551 * 1.4142135623730951;
var $553 = $552;
var $554 = $548 + $549;
HEAPF32[$387 >> 2] = $554;
HEAPF32[$359 >> 2] = $553;
var $555 = HEAPF32[$394 >> 2];
var $556 = HEAPF32[$366 >> 2];
var $557 = $555 - $556;
var $558 = $557;
var $559 = $558 * 1.4142135623730951;
var $560 = $559;
var $561 = $555 + $556;
HEAPF32[$394 >> 2] = $561;
HEAPF32[$366 >> 2] = $560;
var $562 = HEAPF32[$361 >> 2];
var $563 = HEAPF32[$389 >> 2];
var $564 = $562 - $563;
var $565 = $564;
var $566 = $565 * -1.4142135623730951;
var $567 = $566;
var $568 = $562 + $563;
HEAPF32[$361 >> 2] = $568;
var $569 = $567 - $568;
HEAPF32[$389 >> 2] = $569;
var $570 = HEAPF32[$368 >> 2];
var $571 = HEAPF32[$396 >> 2];
var $572 = $570 - $571;
var $573 = $572;
var $574 = $573 * -1.4142135623730951;
var $575 = $574;
var $576 = $570 + $571;
HEAPF32[$368 >> 2] = $576;
var $577 = $575 - $576;
HEAPF32[$396 >> 2] = $577;
var $578 = HEAPF32[$305 >> 2];
var $579 = HEAPF32[$277 >> 2];
var $580 = $578 - $579;
var $581 = $580;
var $582 = $581 * -1.4142135623730951;
var $583 = $582;
var $584 = $578 + $579;
HEAPF32[$305 >> 2] = $584;
var $585 = $583 - $584;
HEAPF32[$277 >> 2] = $585;
var $586 = HEAPF32[$298 >> 2];
var $587 = HEAPF32[$271 >> 2];
var $588 = $586 + $587;
var $589 = $588;
var $590 = $589 * -1.4142135623730951;
var $591 = $590;
var $592 = $586 - $587;
HEAPF32[$298 >> 2] = $592;
var $593 = $591 - $592;
HEAPF32[$271 >> 2] = $593;
var $594 = HEAPF32[$298 >> 2];
var $595 = HEAPF32[$387 >> 2];
var $596 = $594 - $595;
HEAPF32[$298 >> 2] = $596;
var $597 = HEAPF32[$359 >> 2];
var $598 = $597 - $596;
HEAPF32[$359 >> 2] = $598;
var $599 = HEAPF32[$271 >> 2];
var $600 = $599 - $598;
HEAPF32[$271 >> 2] = $600;
var $601 = HEAPF32[$305 >> 2];
var $602 = HEAPF32[$394 >> 2];
var $603 = $601 - $602;
HEAPF32[$305 >> 2] = $603;
var $604 = HEAPF32[$366 >> 2];
var $605 = $604 - $603;
HEAPF32[$366 >> 2] = $605;
var $606 = HEAPF32[$277 >> 2];
var $607 = $606 - $605;
HEAPF32[$277 >> 2] = $607;
var $608 = HEAPF32[$394 >> 2];
var $609 = HEAPF32[$279 >> 2];
var $610 = $608 - $609;
HEAPF32[$394 >> 2] = $610;
var $611 = HEAPF32[$368 >> 2];
var $612 = $611 - $610;
HEAPF32[$368 >> 2] = $612;
var $613 = HEAPF32[$305 >> 2];
var $614 = $613 - $612;
HEAPF32[$305 >> 2] = $614;
var $615 = HEAPF32[$307 >> 2];
var $616 = $615 - $614;
HEAPF32[$307 >> 2] = $616;
var $617 = HEAPF32[$366 >> 2];
var $618 = $617 - $616;
HEAPF32[$366 >> 2] = $618;
var $619 = HEAPF32[$396 >> 2];
var $620 = $619 - $618;
HEAPF32[$396 >> 2] = $620;
var $621 = HEAPF32[$277 >> 2];
var $622 = $621 - $620;
HEAPF32[$277 >> 2] = $622;
var $623 = HEAPF32[$279 >> 2];
var $624 = HEAPF32[$a >> 2];
var $625 = $623 - $624;
HEAPF32[$279 >> 2] = $625;
var $626 = HEAPF32[$387 >> 2];
var $627 = $626 - $625;
HEAPF32[$387 >> 2] = $627;
var $628 = HEAPF32[$394 >> 2];
var $629 = $628 - $627;
HEAPF32[$394 >> 2] = $629;
var $630 = HEAPF32[$361 >> 2];
var $631 = $630 - $629;
HEAPF32[$361 >> 2] = $631;
var $632 = HEAPF32[$368 >> 2];
var $633 = $632 - $631;
HEAPF32[$368 >> 2] = $633;
var $634 = HEAPF32[$298 >> 2];
var $635 = $634 - $633;
HEAPF32[$298 >> 2] = $635;
var $636 = HEAPF32[$305 >> 2];
var $637 = $636 - $635;
HEAPF32[$305 >> 2] = $637;
var $638 = HEAPF32[$300 >> 2];
var $639 = $638 - $637;
HEAPF32[$300 >> 2] = $639;
var $640 = HEAPF32[$307 >> 2];
var $641 = $640 - $639;
HEAPF32[$307 >> 2] = $641;
var $642 = HEAPF32[$359 >> 2];
var $643 = $642 - $641;
HEAPF32[$359 >> 2] = $643;
var $644 = HEAPF32[$366 >> 2];
var $645 = $644 - $643;
HEAPF32[$366 >> 2] = $645;
var $646 = HEAPF32[$389 >> 2];
var $647 = $646 - $645;
HEAPF32[$389 >> 2] = $647;
var $648 = HEAPF32[$396 >> 2];
var $649 = $648 - $647;
HEAPF32[$396 >> 2] = $649;
var $650 = HEAPF32[$271 >> 2];
var $651 = $650 - $649;
HEAPF32[$271 >> 2] = $651;
var $652 = HEAPF32[$277 >> 2];
var $653 = $652 - $651;
HEAPF32[$277 >> 2] = $653;
var $654 = HEAPF32[$a >> 2];
var $655 = HEAPF32[$266 >> 2];
var $656 = $654 + $655;
HEAPF32[$a >> 2] = $656;
var $657 = HEAPF32[$266 >> 2];
var $658 = $657 - $654;
HEAPF32[$266 >> 2] = $658;
var $659 = HEAPF32[$279 >> 2];
var $660 = HEAPF32[$268 >> 2];
var $661 = $659 + $660;
HEAPF32[$279 >> 2] = $661;
var $662 = HEAPF32[$268 >> 2];
var $663 = $662 - $659;
HEAPF32[$268 >> 2] = $663;
var $664 = HEAPF32[$387 >> 2];
var $665 = HEAPF32[$262 >> 2];
var $666 = $664 + $665;
HEAPF32[$387 >> 2] = $666;
var $667 = HEAPF32[$262 >> 2];
var $668 = $667 - $664;
HEAPF32[$262 >> 2] = $668;
var $669 = HEAPF32[$394 >> 2];
var $670 = HEAPF32[$260 >> 2];
var $671 = $669 + $670;
HEAPF32[$394 >> 2] = $671;
var $672 = HEAPF32[$260 >> 2];
var $673 = $672 - $669;
HEAPF32[$260 >> 2] = $673;
var $674 = HEAPF32[$361 >> 2];
var $675 = HEAPF32[$321 >> 2];
var $676 = $674 + $675;
HEAPF32[$361 >> 2] = $676;
var $677 = HEAPF32[$321 >> 2];
var $678 = $677 - $674;
HEAPF32[$321 >> 2] = $678;
var $679 = HEAPF32[$368 >> 2];
var $680 = HEAPF32[$312 >> 2];
var $681 = $679 + $680;
HEAPF32[$368 >> 2] = $681;
var $682 = HEAPF32[$312 >> 2];
var $683 = $682 - $679;
HEAPF32[$312 >> 2] = $683;
var $684 = HEAPF32[$298 >> 2];
var $685 = HEAPF32[$323 >> 2];
var $686 = $684 + $685;
HEAPF32[$298 >> 2] = $686;
var $687 = HEAPF32[$323 >> 2];
var $688 = $687 - $684;
HEAPF32[$323 >> 2] = $688;
var $689 = HEAPF32[$305 >> 2];
var $690 = HEAPF32[$314 >> 2];
var $691 = $689 + $690;
HEAPF32[$305 >> 2] = $691;
var $692 = HEAPF32[$314 >> 2];
var $693 = $692 - $689;
HEAPF32[$314 >> 2] = $693;
var $694 = HEAPF32[$300 >> 2];
var $695 = HEAPF32[$291 >> 2];
var $696 = $694 + $695;
HEAPF32[$300 >> 2] = $696;
var $697 = HEAPF32[$291 >> 2];
var $698 = $697 - $694;
HEAPF32[$291 >> 2] = $698;
var $699 = HEAPF32[$307 >> 2];
var $700 = HEAPF32[$284 >> 2];
var $701 = $699 + $700;
HEAPF32[$307 >> 2] = $701;
var $702 = HEAPF32[$284 >> 2];
var $703 = $702 - $699;
HEAPF32[$284 >> 2] = $703;
var $704 = HEAPF32[$359 >> 2];
var $705 = HEAPF32[$382 >> 2];
var $706 = $704 + $705;
HEAPF32[$359 >> 2] = $706;
var $707 = HEAPF32[$382 >> 2];
var $708 = $707 - $704;
HEAPF32[$382 >> 2] = $708;
var $709 = HEAPF32[$366 >> 2];
var $710 = HEAPF32[$375 >> 2];
var $711 = $709 + $710;
HEAPF32[$366 >> 2] = $711;
var $712 = HEAPF32[$375 >> 2];
var $713 = $712 - $709;
HEAPF32[$375 >> 2] = $713;
var $714 = HEAPF32[$389 >> 2];
var $715 = HEAPF32[$380 >> 2];
var $716 = $714 + $715;
HEAPF32[$389 >> 2] = $716;
var $717 = HEAPF32[$380 >> 2];
var $718 = $717 - $714;
HEAPF32[$380 >> 2] = $718;
var $719 = HEAPF32[$396 >> 2];
var $720 = HEAPF32[$373 >> 2];
var $721 = $719 + $720;
HEAPF32[$396 >> 2] = $721;
var $722 = HEAPF32[$373 >> 2];
var $723 = $722 - $719;
HEAPF32[$373 >> 2] = $723;
var $724 = HEAPF32[$271 >> 2];
var $725 = HEAPF32[$293 >> 2];
var $726 = $724 + $725;
HEAPF32[$271 >> 2] = $726;
var $727 = HEAPF32[$293 >> 2];
var $728 = $727 - $724;
HEAPF32[$293 >> 2] = $728;
var $729 = HEAPF32[$277 >> 2];
var $730 = HEAPF32[$286 >> 2];
var $731 = $729 + $730;
HEAPF32[$277 >> 2] = $731;
var $732 = HEAPF32[$286 >> 2];
var $733 = $732 - $729;
HEAPF32[$286 >> 2] = $733;
return;
}
}
_window_subband["X"] = 1;
function _get_vbr_preset($v) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if (($v | 0) == 4 | ($v | 0) == 1) {
var $_0 = 5248892;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $_0 = 5248144;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _min_int($a) {
return ($a | 0) < 320 ? $a : 320;
}
function _max_int($a) {
return ($a | 0) > 8 ? $a : 8;
}
function _mdct_short($inout) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $l_040 = 0;
var $_041 = $inout;
label = 3;
break;
case 3:
var $_041;
var $l_040;
var $2 = $_041 + 24 | 0;
var $3 = HEAPF32[$2 >> 2];
var $4 = $3 * .13165250420570374;
var $5 = $_041 + 60 | 0;
var $6 = HEAPF32[$5 >> 2];
var $7 = $4 - $6;
var $8 = HEAPF32[$_041 >> 2];
var $9 = $8 * .7673270106315613;
var $10 = $_041 + 36 | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $9 - $11;
var $13 = $7 + $12;
var $14 = $7 - $12;
var $15 = $6 * .13165250420570374;
var $16 = $3 + $15;
var $17 = $11 * .7673270106315613;
var $18 = $8 + $17;
var $19 = $16 + $18;
var $20 = $18 - $16;
var $21 = $_041 + 12 | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $22 * .4142135679721832;
var $24 = $_041 + 48 | 0;
var $25 = HEAPF32[$24 >> 2];
var $26 = $23 - $25;
var $27 = $26;
var $28 = $27 * 2.069978111953089e-11;
var $29 = $28;
var $30 = $25 * .4142135679721832;
var $31 = $22 + $30;
var $32 = $31;
var $33 = $32 * 2.069978111953089e-11;
var $34 = $33;
var $35 = $13;
var $36 = $35 * 1.90752519173728e-11;
var $37 = $29;
var $38 = $36 + $37;
var $39 = $38;
HEAPF32[$_041 >> 2] = $39;
var $40 = -$19;
var $41 = $40;
var $42 = $41 * 1.90752519173728e-11;
var $43 = $34;
var $44 = $42 + $43;
var $45 = $44;
HEAPF32[$5 >> 2] = $45;
var $46 = $14;
var $47 = $46 * .8660254037844387;
var $48 = $47 * 1.907525191737281e-11;
var $49 = $48;
var $50 = $19;
var $51 = $50 * .5;
var $52 = $51 * 1.907525191737281e-11;
var $53 = $52 + $43;
var $54 = $53;
var $55 = $49 - $54;
HEAPF32[$21 >> 2] = $55;
var $56 = $49 + $54;
HEAPF32[$2 >> 2] = $56;
var $57 = $35 * .5;
var $58 = $57 * 1.907525191737281e-11;
var $59 = $58 - $37;
var $60 = $59;
var $61 = $20;
var $62 = $61 * .8660254037844387;
var $63 = $62 * 1.907525191737281e-11;
var $64 = $63;
var $65 = $64 + $60;
HEAPF32[$10 >> 2] = $65;
var $66 = $60 - $64;
HEAPF32[$24 >> 2] = $66;
var $67 = $_041 + 4 | 0;
var $68 = $l_040 + 1 | 0;
var $exitcond = ($68 | 0) == 3;
if ($exitcond) {
label = 4;
break;
} else {
var $l_040 = $68;
var $_041 = $67;
label = 3;
break;
}
case 4:
return;
}
}
_mdct_short["X"] = 1;
function _mdct_long($out, $in) {
var $1 = $in + 68 | 0;
var $3 = $in + 36 | 0;
var $5 = HEAPF32[$1 >> 2] - HEAPF32[$3 >> 2];
var $6 = $in + 60 | 0;
var $8 = $in + 44 | 0;
var $10 = HEAPF32[$6 >> 2] - HEAPF32[$8 >> 2];
var $11 = $in + 56 | 0;
var $13 = $in + 48 | 0;
var $15 = HEAPF32[$11 >> 2] - HEAPF32[$13 >> 2];
var $17 = $in + 32 | 0;
var $19 = HEAPF32[$in >> 2] + HEAPF32[$17 >> 2];
var $20 = $in + 4 | 0;
var $22 = $in + 28 | 0;
var $24 = HEAPF32[$20 >> 2] + HEAPF32[$22 >> 2];
var $25 = $in + 8 | 0;
var $27 = $in + 24 | 0;
var $29 = HEAPF32[$25 >> 2] + HEAPF32[$27 >> 2];
var $30 = $in + 12 | 0;
var $32 = $in + 20 | 0;
var $34 = HEAPF32[$30 >> 2] + HEAPF32[$32 >> 2];
var $36 = $19 + $29 - $34;
var $37 = $in + 16 | 0;
HEAPF32[$out + 68 >> 2] = $36 - ($24 - HEAPF32[$37 >> 2]);
var $45 = $36 * .5 + ($24 - HEAPF32[$37 >> 2]);
var $48 = ($5 - $10 - $15) * .8660253882408142;
HEAPF32[$out + 20 >> 2] = $48 + $45;
HEAPF32[$out + 24 >> 2] = $48 - $45;
var $53 = $in + 64 | 0;
var $55 = $in + 40 | 0;
var $58 = (HEAPF32[$53 >> 2] - HEAPF32[$55 >> 2]) * .8660253882408142;
var $61 = $24 * .5 + HEAPF32[$37 >> 2];
var $67 = $15 * .3420201539993286 + ($10 * .6427876353263855 + ($5 * .9848077297210693 + $58));
var $73 = $34 * .9396926164627075 + ($19 * .1736481785774231 + $61 - $29 * -.7660444378852844);
HEAPF32[$out + 4 >> 2] = $67 + $73;
HEAPF32[$out + 8 >> 2] = $67 - $73;
var $83 = $15 * .9848077297210693 + ($5 * .6427876353263855 - $58 - $10 * .3420201539993286);
var $89 = $34 * -.1736481785774231 + ($19 * .7660444378852844 + $61 - $29 * .9396926164627075);
HEAPF32[$out + 36 >> 2] = $83 + $89;
HEAPF32[$out + 40 >> 2] = $83 - $89;
var $99 = $10 * .9848077297210693 + ($5 * .3420201539993286 - $58) - $15 * .6427876353263855;
var $105 = $29 * -.1736481785774231 + ($19 * .9396926164627075 - $61) - $34 * -.7660444378852844;
HEAPF32[$out + 52 >> 2] = $99 + $105;
HEAPF32[$out + 56 >> 2] = $99 - $105;
var $112 = HEAPF32[$17 >> 2] - HEAPF32[$in >> 2];
var $115 = HEAPF32[$27 >> 2] - HEAPF32[$25 >> 2];
var $118 = HEAPF32[$32 >> 2] - HEAPF32[$30 >> 2];
var $121 = HEAPF32[$1 >> 2] + HEAPF32[$3 >> 2];
var $124 = HEAPF32[$53 >> 2] + HEAPF32[$55 >> 2];
var $127 = HEAPF32[$6 >> 2] + HEAPF32[$8 >> 2];
var $130 = HEAPF32[$11 >> 2] + HEAPF32[$13 >> 2];
var $132 = $121 + $127 + $130;
var $133 = $in + 52 | 0;
HEAPF32[$out >> 2] = $132 + ($124 + HEAPF32[$133 >> 2]);
var $140 = $132 * .5 - ($124 + HEAPF32[$133 >> 2]);
var $143 = ($112 - $115 + $118) * .8660253882408142;
HEAPF32[$out + 44 >> 2] = $143 + $140;
HEAPF32[$out + 48 >> 2] = $140 - $143;
var $151 = (HEAPF32[$22 >> 2] - HEAPF32[$20 >> 2]) * .8660253882408142;
var $154 = HEAPF32[$133 >> 2] - $124 * .5;
var $160 = $130 * -.7660444378852844 + ($127 * -.1736481785774231 + ($121 * .9396926164627075 - $154));
var $166 = $118 * .6427876353263855 + ($115 * .9848077297210693 + ($112 * .3420201539993286 + $151));
HEAPF32[$out + 12 >> 2] = $160 + $166;
HEAPF32[$out + 16 >> 2] = $160 - $166;
var $176 = $121 * .7660444378852844 + $154 - $127 * .9396926164627075 - $130 * -.1736481785774231;
var $182 = $112 * .6427876353263855 + $151 - $115 * .3420201539993286 - $118 * .9848077297210693;
HEAPF32[$out + 28 >> 2] = $176 + $182;
HEAPF32[$out + 32 >> 2] = $176 - $182;
var $192 = $121 * .1736481785774231 + $154 - $127 * -.7660444378852844 - $130 * .9396926164627075;
var $198 = $115 * .6427876353263855 + ($112 * .9848077297210693 - $151) - $118 * .3420201539993286;
HEAPF32[$out + 60 >> 2] = $192 + $198;
HEAPF32[$out + 64 >> 2] = $192 - $198;
return;
}
_mdct_long["X"] = 1;
function _apply_preset($gfp, $preset, $enforce) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if (($preset | 0) == 1e3) {
label = 3;
break;
} else if (($preset | 0) == 1006 | ($preset | 0) == 1007) {
label = 4;
break;
} else if (($preset | 0) == 1001 | ($preset | 0) == 1004) {
label = 5;
break;
} else if (($preset | 0) == 1002 | ($preset | 0) == 1005) {
label = 6;
break;
} else if (($preset | 0) == 1003) {
label = 7;
break;
} else {
label = 8;
break;
}
case 3:
var $1 = _lame_set_VBR($gfp, 4);
var $2 = $gfp + 152 | 0;
HEAP32[$2 >> 2] = 470;
label = 15;
break;
case 4:
var $3 = _lame_set_VBR($gfp, 4);
var $4 = $gfp + 152 | 0;
HEAP32[$4 >> 2] = 460;
label = 14;
break;
case 5:
var $5 = _lame_set_VBR($gfp, 4);
var $6 = $gfp + 152 | 0;
HEAP32[$6 >> 2] = 480;
label = 16;
break;
case 6:
var $7 = _lame_set_VBR($gfp, 4);
var $8 = $gfp + 152 | 0;
HEAP32[$8 >> 2] = 500;
label = 18;
break;
case 7:
var $10 = $gfp + 152 | 0;
HEAP32[$10 >> 2] = 320;
var $11 = _apply_abr_preset($gfp, 320, $enforce);
var $12 = _lame_set_VBR($gfp, 0);
var $_0 = 320;
label = 22;
break;
case 8:
var $14 = $gfp + 152 | 0;
HEAP32[$14 >> 2] = $preset;
if (($preset | 0) == 410) {
label = 9;
break;
} else if (($preset | 0) == 420) {
label = 10;
break;
} else if (($preset | 0) == 430) {
label = 11;
break;
} else if (($preset | 0) == 440) {
label = 12;
break;
} else if (($preset | 0) == 450) {
label = 13;
break;
} else if (($preset | 0) == 460) {
label = 14;
break;
} else if (($preset | 0) == 470) {
label = 15;
break;
} else if (($preset | 0) == 480) {
label = 16;
break;
} else if (($preset | 0) == 490) {
label = 17;
break;
} else if (($preset | 0) == 500) {
label = 18;
break;
} else {
label = 19;
break;
}
case 9:
_apply_vbr_preset($gfp, 9, $enforce);
var $_0 = 410;
label = 22;
break;
case 10:
_apply_vbr_preset($gfp, 8, $enforce);
var $_0 = 420;
label = 22;
break;
case 11:
_apply_vbr_preset($gfp, 7, $enforce);
var $_0 = 430;
label = 22;
break;
case 12:
_apply_vbr_preset($gfp, 6, $enforce);
var $_0 = 440;
label = 22;
break;
case 13:
_apply_vbr_preset($gfp, 5, $enforce);
var $_0 = 450;
label = 22;
break;
case 14:
_apply_vbr_preset($gfp, 4, $enforce);
var $_0 = 460;
label = 22;
break;
case 15:
_apply_vbr_preset($gfp, 3, $enforce);
var $_0 = 470;
label = 22;
break;
case 16:
_apply_vbr_preset($gfp, 2, $enforce);
var $_0 = 480;
label = 22;
break;
case 17:
_apply_vbr_preset($gfp, 1, $enforce);
var $_0 = 490;
label = 22;
break;
case 18:
_apply_vbr_preset($gfp, 0, $enforce);
var $_0 = 500;
label = 22;
break;
case 19:
var $_053_off = $preset - 8 | 0;
var $26 = $_053_off >>> 0 < 313;
if ($26) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
var $28 = _apply_abr_preset($gfp, $preset, $enforce);
var $_0 = $28;
label = 22;
break;
case 21:
HEAP32[$14 >> 2] = 0;
var $_0 = $preset;
label = 22;
break;
case 22:
var $_0;
return $_0;
}
}
_apply_preset["X"] = 1;
function _apply_abr_preset($gfp, $preset, $enforce) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $preset & 65535;
var $2 = _nearestBitrateFullIndex($1);
var $3 = _lame_set_VBR($gfp, 3);
var $4 = _lame_set_VBR_mean_bitrate_kbps($gfp, $preset);
var $5 = _lame_get_VBR_mean_bitrate_kbps($gfp);
var $6 = _min_int($5);
var $7 = _lame_set_VBR_mean_bitrate_kbps($gfp, $6);
var $8 = _lame_get_VBR_mean_bitrate_kbps($gfp);
var $9 = _max_int($8);
var $10 = _lame_set_VBR_mean_bitrate_kbps($gfp, $9);
var $11 = _lame_get_VBR_mean_bitrate_kbps($gfp);
var $12 = _lame_set_brate($gfp, $11);
var $13 = $2 - 12 | 0;
var $14 = $13 >>> 0 < 5;
if ($14) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $16 = _lame_get_exp_nspsytune($gfp);
var $17 = $16 | 2;
var $18 = _lame_set_exp_nspsytune($gfp, $17);
label = 4;
break;
case 4:
var $20 = $2 >>> 0 < 13;
if ($20) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $22 = _lame_set_sfscale($gfp, 1);
label = 6;
break;
case 6:
var $24 = ($enforce | 0) != 0;
if ($24) {
label = 15;
break;
} else {
label = 7;
break;
}
case 7:
var $26 = _lame_get_quant_comp($gfp);
var $27 = ($26 | 0) == -1;
if ($27) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $29 = 5348880 + $2 * 52 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = _lame_set_quant_comp($gfp, $30);
label = 9;
break;
case 9:
var $33 = _lame_get_quant_comp_short($gfp);
var $34 = ($33 | 0) == -1;
if ($34) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $36 = 5348884 + $2 * 52 | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = _lame_set_quant_comp_short($gfp, $37);
label = 11;
break;
case 11:
var $40 = _lame_get_msfix($gfp);
var $41 = $40 + 1;
var $42 = $41 == 0;
if ($42) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $44 = 5348892 + $2 * 52 | 0;
var $45 = HEAPF32[$44 >> 2];
var $46 = $45;
_lame_set_msfix($gfp, $46);
label = 13;
break;
case 13:
var $48 = _lame_get_short_threshold_lrm($gfp);
var $49 = $48 + 1;
var $50 = $49 == 0;
if ($50) {
label = 14;
break;
} else {
label = 16;
break;
}
case 14:
var $52 = 5348896 + $2 * 52 | 0;
var $53 = HEAPF32[$52 >> 2];
var $54 = _lame_set_short_threshold_lrm($gfp, $53);
label = 16;
break;
case 15:
var $56 = 5348880 + $2 * 52 | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = _lame_set_quant_comp($gfp, $57);
var $59 = 5348884 + $2 * 52 | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = _lame_set_quant_comp_short($gfp, $60);
var $62 = 5348892 + $2 * 52 | 0;
var $63 = HEAPF32[$62 >> 2];
var $64 = $63;
_lame_set_msfix($gfp, $64);
var $65 = 5348896 + $2 * 52 | 0;
var $66 = HEAPF32[$65 >> 2];
var $67 = _lame_set_short_threshold_lrm($gfp, $66);
var $68 = 5348900 + $2 * 52 | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = _lame_set_short_threshold_s($gfp, $69);
label = 18;
break;
case 16:
var $72 = _lame_get_short_threshold_s($gfp);
var $73 = $72 + 1;
var $74 = $73 == 0;
if ($74) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
var $76 = 5348900 + $2 * 52 | 0;
var $77 = HEAPF32[$76 >> 2];
var $78 = _lame_set_short_threshold_s($gfp, $77);
label = 18;
break;
case 18:
var $80 = _lame_get_scale($gfp);
var $81 = 5348904 + $2 * 52 | 0;
var $82 = HEAPF32[$81 >> 2];
var $83 = $80 * $82;
var $84 = _lame_set_scale($gfp, $83);
if ($24) {
label = 27;
break;
} else {
label = 19;
break;
}
case 19:
var $86 = _lame_get_maskingadjust($gfp);
var $87 = $86 == 0;
if ($87) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
var $89 = 5348908 + $2 * 52 | 0;
var $90 = HEAPF32[$89 >> 2];
var $91 = _lame_set_maskingadjust($gfp, $90);
label = 21;
break;
case 21:
var $93 = _lame_get_maskingadjust_short($gfp);
var $94 = $93 == 0;
if ($94) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $96 = 5348908 + $2 * 52 | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $97;
var $99 = $98 * 1.1;
var $100 = $99;
var $101 = _lame_set_maskingadjust_short($gfp, $100);
label = 23;
break;
case 23:
var $103 = _lame_get_ATHlower($gfp);
var $104 = $103 == 0;
if ($104) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $106 = 5348912 + $2 * 52 | 0;
var $107 = HEAPF32[$106 >> 2];
var $108 = _lame_set_ATHlower($gfp, $107);
label = 25;
break;
case 25:
var $110 = _lame_get_ATHcurve($gfp);
var $111 = $110 + 1;
var $112 = $111 == 0;
if ($112) {
label = 26;
break;
} else {
label = 28;
break;
}
case 26:
var $114 = 5348916 + $2 * 52 | 0;
var $115 = HEAPF32[$114 >> 2];
var $116 = _lame_set_ATHcurve($gfp, $115);
label = 28;
break;
case 27:
var $118 = 5348908 + $2 * 52 | 0;
var $119 = HEAPF32[$118 >> 2];
var $120 = _lame_set_maskingadjust($gfp, $119);
var $121 = 5348908 + $2 * 52 | 0;
var $122 = HEAPF32[$121 >> 2];
var $123 = $122;
var $124 = $123 * 1.1;
var $125 = $124;
var $126 = _lame_set_maskingadjust_short($gfp, $125);
var $127 = 5348912 + $2 * 52 | 0;
var $128 = HEAPF32[$127 >> 2];
var $129 = _lame_set_ATHlower($gfp, $128);
var $130 = 5348916 + $2 * 52 | 0;
var $131 = HEAPF32[$130 >> 2];
var $132 = _lame_set_ATHcurve($gfp, $131);
var $133 = 5348920 + $2 * 52 | 0;
var $134 = HEAPF32[$133 >> 2];
var $135 = _lame_set_interChRatio($gfp, $134);
label = 30;
break;
case 28:
var $137 = _lame_get_interChRatio($gfp);
var $138 = $137 + 1;
var $139 = $138 == 0;
if ($139) {
label = 29;
break;
} else {
label = 30;
break;
}
case 29:
var $141 = 5348920 + $2 * 52 | 0;
var $142 = HEAPF32[$141 >> 2];
var $143 = _lame_set_interChRatio($gfp, $142);
label = 30;
break;
case 30:
var $145 = 5348876 + $2 * 52 | 0;
var $146 = HEAP32[$145 >> 2];
var $147 = $146 | 0;
var $148 = $147 / 320;
var $149 = $148 * 5;
var $150 = $149;
var $151 = $gfp + 288 | 0;
var $152 = HEAP32[$151 >> 2];
var $153 = $152 + 280 | 0;
HEAPF32[$153 >> 2] = $150;
return $preset;
}
}
_apply_abr_preset["X"] = 1;
function _apply_vbr_preset($gfp, $a, $enforce) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _lame_get_VBR($gfp);
var $2 = _get_vbr_preset($1);
var $3 = $gfp + 160 | 0;
var $4 = HEAPF32[$3 >> 2];
var $p_sroa_0_0__idx = $2 + $a * 68 | 0;
var $p_sroa_0_0_copyload = HEAP32[$p_sroa_0_0__idx >> 2];
var $p_sroa_1_4__idx112 = $2 + $a * 68 + 4 | 0;
var $p_sroa_1_4_copyload = HEAP32[$p_sroa_1_4__idx112 >> 2];
var $p_sroa_2_8__idx115 = $2 + $a * 68 + 8 | 0;
var $p_sroa_2_8_copyload = HEAP32[$p_sroa_2_8__idx115 >> 2];
var $p_sroa_3_12__idx118 = $2 + $a * 68 + 12 | 0;
var $p_sroa_3_12_copyload = HEAP32[$p_sroa_3_12__idx118 >> 2];
var $p_sroa_4_16__idx122 = $2 + $a * 68 + 16 | 0;
var $p_sroa_4_16_copyload = HEAPF32[$p_sroa_4_16__idx122 >> 2];
var $p_sroa_5_20__idx126 = $2 + $a * 68 + 20 | 0;
var $p_sroa_5_20_copyload = HEAPF32[$p_sroa_5_20__idx126 >> 2];
var $p_sroa_6_24__idx130 = $2 + $a * 68 + 24 | 0;
var $p_sroa_6_24_copyload = HEAPF32[$p_sroa_6_24__idx130 >> 2];
var $p_sroa_7_28__idx134 = $2 + $a * 68 + 28 | 0;
var $p_sroa_7_28_copyload = HEAPF32[$p_sroa_7_28__idx134 >> 2];
var $p_sroa_8_32__idx138 = $2 + $a * 68 + 32 | 0;
var $p_sroa_8_32_copyload = HEAPF32[$p_sroa_8_32__idx138 >> 2];
var $p_sroa_9_36__idx142 = $2 + $a * 68 + 36 | 0;
var $p_sroa_9_36_copyload = HEAPF32[$p_sroa_9_36__idx142 >> 2];
var $p_sroa_10_40__idx146 = $2 + $a * 68 + 40 | 0;
var $p_sroa_10_40_copyload = HEAPF32[$p_sroa_10_40__idx146 >> 2];
var $p_sroa_11_44__idx151 = $2 + $a * 68 + 44 | 0;
var $p_sroa_11_44_copyload = HEAPF32[$p_sroa_11_44__idx151 >> 2];
var $p_sroa_12_48__idx153 = $2 + $a * 68 + 48 | 0;
var $p_sroa_12_48_copyload = HEAP32[$p_sroa_12_48__idx153 >> 2];
var $p_sroa_13_52__idx157 = $2 + $a * 68 + 52 | 0;
var $p_sroa_13_52_copyload = HEAP32[$p_sroa_13_52__idx157 >> 2];
var $p_sroa_14_56__idx161 = $2 + $a * 68 + 56 | 0;
var $p_sroa_14_56_copyload = HEAPF32[$p_sroa_14_56__idx161 >> 2];
var $p_sroa_15_60__idx164 = $2 + $a * 68 + 60 | 0;
var $p_sroa_15_60_copyload = HEAPF32[$p_sroa_15_60__idx164 >> 2];
var $p_sroa_16_64__idx167 = $2 + $a * 68 + 64 | 0;
var $p_sroa_16_64_copyload = HEAPF32[$p_sroa_16_64__idx167 >> 2];
var $5 = $a + 1 | 0;
var $q_sroa_1_16__idx32 = $2 + $5 * 68 + 16 | 0;
var $q_sroa_1_16_copyload = HEAPF32[$q_sroa_1_16__idx32 >> 2];
var $q_sroa_2_20__idx33 = $2 + $5 * 68 + 20 | 0;
var $q_sroa_2_20_copyload = HEAPF32[$q_sroa_2_20__idx33 >> 2];
var $q_sroa_3_24__idx34 = $2 + $5 * 68 + 24 | 0;
var $q_sroa_3_24_copyload = HEAPF32[$q_sroa_3_24__idx34 >> 2];
var $q_sroa_4_28__idx35 = $2 + $5 * 68 + 28 | 0;
var $q_sroa_4_28_copyload = HEAPF32[$q_sroa_4_28__idx35 >> 2];
var $q_sroa_5_32__idx36 = $2 + $5 * 68 + 32 | 0;
var $q_sroa_5_32_copyload = HEAPF32[$q_sroa_5_32__idx36 >> 2];
var $q_sroa_6_36__idx37 = $2 + $5 * 68 + 36 | 0;
var $q_sroa_6_36_copyload = HEAPF32[$q_sroa_6_36__idx37 >> 2];
var $q_sroa_7_40__idx38 = $2 + $5 * 68 + 40 | 0;
var $q_sroa_7_40_copyload = HEAPF32[$q_sroa_7_40__idx38 >> 2];
var $q_sroa_8_44__idx39 = $2 + $5 * 68 + 44 | 0;
var $q_sroa_8_44_copyload = HEAPF32[$q_sroa_8_44__idx39 >> 2];
var $q_sroa_10_52__idx41 = $2 + $5 * 68 + 52 | 0;
var $q_sroa_10_52_copyload = HEAP32[$q_sroa_10_52__idx41 >> 2];
var $q_sroa_11_56__idx42 = $2 + $5 * 68 + 56 | 0;
var $q_sroa_11_56_copyload = HEAPF32[$q_sroa_11_56__idx42 >> 2];
var $q_sroa_12_60__idx43 = $2 + $5 * 68 + 60 | 0;
var $q_sroa_12_60_copyload = HEAPF32[$q_sroa_12_60__idx43 >> 2];
var $q_sroa_13_64__idx44 = $2 + $5 * 68 + 64 | 0;
var $q_sroa_13_64_copyload = HEAPF32[$q_sroa_13_64__idx44 >> 2];
var $6 = $q_sroa_1_16_copyload - $p_sroa_4_16_copyload;
var $7 = $4 * $6;
var $8 = $p_sroa_4_16_copyload + $7;
var $9 = $q_sroa_2_20_copyload - $p_sroa_5_20_copyload;
var $10 = $4 * $9;
var $11 = $p_sroa_5_20_copyload + $10;
var $12 = $q_sroa_3_24_copyload - $p_sroa_6_24_copyload;
var $13 = $4 * $12;
var $14 = $p_sroa_6_24_copyload + $13;
var $15 = $q_sroa_4_28_copyload - $p_sroa_7_28_copyload;
var $16 = $4 * $15;
var $17 = $p_sroa_7_28_copyload + $16;
var $18 = $q_sroa_5_32_copyload - $p_sroa_8_32_copyload;
var $19 = $4 * $18;
var $20 = $p_sroa_8_32_copyload + $19;
var $21 = $q_sroa_6_36_copyload - $p_sroa_9_36_copyload;
var $22 = $4 * $21;
var $23 = $p_sroa_9_36_copyload + $22;
var $24 = $q_sroa_7_40_copyload - $p_sroa_10_40_copyload;
var $25 = $4 * $24;
var $26 = $p_sroa_10_40_copyload + $25;
var $27 = $q_sroa_8_44_copyload - $p_sroa_11_44_copyload;
var $28 = $4 * $27;
var $29 = $p_sroa_11_44_copyload + $28;
var $30 = $p_sroa_13_52_copyload | 0;
var $31 = $q_sroa_10_52_copyload - $p_sroa_13_52_copyload | 0;
var $32 = $31 | 0;
var $33 = $4 * $32;
var $34 = $30 + $33;
var $35 = $34 & -1;
var $36 = $q_sroa_11_56_copyload - $p_sroa_14_56_copyload;
var $37 = $4 * $36;
var $38 = $p_sroa_14_56_copyload + $37;
var $39 = $q_sroa_12_60_copyload - $p_sroa_15_60_copyload;
var $40 = $4 * $39;
var $41 = $p_sroa_15_60_copyload + $40;
var $42 = $q_sroa_13_64_copyload - $p_sroa_16_64_copyload;
var $43 = $4 * $42;
var $44 = $p_sroa_16_64_copyload + $43;
var $45 = _lame_set_VBR_q($gfp, $p_sroa_0_0_copyload);
var $46 = ($enforce | 0) != 0;
if ($46) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $48 = _lame_get_quant_comp($gfp);
var $49 = ($48 | 0) == -1;
if ($49) {
label = 4;
break;
} else {
label = 6;
break;
}
case 4:
var $51 = _lame_set_quant_comp($gfp, $p_sroa_1_4_copyload);
label = 6;
break;
case 5:
var $53 = _lame_set_quant_comp($gfp, $p_sroa_1_4_copyload);
var $54 = _lame_set_quant_comp_short($gfp, $p_sroa_2_8_copyload);
label = 8;
break;
case 6:
var $56 = _lame_get_quant_comp_short($gfp);
var $57 = ($56 | 0) == -1;
if ($57) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $59 = _lame_set_quant_comp_short($gfp, $p_sroa_2_8_copyload);
label = 8;
break;
case 8:
var $61 = ($p_sroa_3_12_copyload | 0) == 0;
if ($61) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $63 = _lame_set_experimentalY($gfp, $p_sroa_3_12_copyload);
label = 10;
break;
case 10:
if ($46) {
label = 17;
break;
} else {
label = 11;
break;
}
case 11:
var $66 = _lame_get_short_threshold_lrm($gfp);
var $67 = $66 + 1;
var $68 = $67 == 0;
if ($68) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $70 = _lame_set_short_threshold_lrm($gfp, $8);
label = 13;
break;
case 13:
var $72 = _lame_get_short_threshold_s($gfp);
var $73 = $72 + 1;
var $74 = $73 == 0;
if ($74) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $76 = _lame_set_short_threshold_s($gfp, $11);
label = 15;
break;
case 15:
var $78 = _lame_get_maskingadjust($gfp);
var $79 = $78 == 0;
if ($79) {
label = 16;
break;
} else {
label = 18;
break;
}
case 16:
var $81 = _lame_set_maskingadjust($gfp, $14);
label = 18;
break;
case 17:
var $83 = _lame_set_short_threshold_lrm($gfp, $8);
var $84 = _lame_set_short_threshold_s($gfp, $11);
var $85 = _lame_set_maskingadjust($gfp, $14);
var $86 = _lame_set_maskingadjust_short($gfp, $17);
label = 20;
break;
case 18:
var $88 = _lame_get_maskingadjust_short($gfp);
var $89 = $88 == 0;
if ($89) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
var $91 = _lame_set_maskingadjust_short($gfp, $17);
label = 20;
break;
case 20:
var $93 = _lame_get_VBR($gfp);
if (($93 | 0) == 1 | ($93 | 0) == 4) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
var $95 = _lame_set_ATHtype($gfp, 5);
label = 22;
break;
case 22:
if ($46) {
label = 27;
break;
} else {
label = 23;
break;
}
case 23:
var $98 = _lame_get_ATHlower($gfp);
var $99 = $98 == 0;
if ($99) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $101 = _lame_set_ATHlower($gfp, $20);
label = 25;
break;
case 25:
var $103 = _lame_get_ATHcurve($gfp);
var $104 = $103 + 1;
var $105 = $104 == 0;
if ($105) {
label = 26;
break;
} else {
label = 28;
break;
}
case 26:
var $107 = _lame_set_ATHcurve($gfp, $23);
label = 28;
break;
case 27:
var $109 = _lame_set_ATHlower($gfp, $20);
var $110 = _lame_set_ATHcurve($gfp, $23);
var $111 = _lame_set_athaa_sensitivity($gfp, $26);
label = 30;
break;
case 28:
var $113 = _lame_get_athaa_sensitivity($gfp);
var $114 = $113 == 0;
if ($114) {
label = 29;
break;
} else {
label = 30;
break;
}
case 29:
var $116 = _lame_set_athaa_sensitivity($gfp, $26);
label = 30;
break;
case 30:
var $118 = $29 > 0;
if ($118) {
label = 31;
break;
} else {
label = 35;
break;
}
case 31:
if ($46) {
label = 32;
break;
} else {
label = 33;
break;
}
case 32:
var $121 = _lame_set_interChRatio($gfp, $29);
label = 35;
break;
case 33:
var $123 = _lame_get_interChRatio($gfp);
var $124 = $123 + 1;
var $125 = $124 == 0;
if ($125) {
label = 34;
break;
} else {
label = 35;
break;
}
case 34:
var $127 = _lame_set_interChRatio($gfp, $29);
label = 35;
break;
case 35:
var $129 = ($p_sroa_12_48_copyload | 0) > 0;
if ($129) {
label = 36;
break;
} else {
label = 37;
break;
}
case 36:
var $131 = _lame_get_exp_nspsytune($gfp);
var $132 = $131 | 2;
var $133 = _lame_set_exp_nspsytune($gfp, $132);
label = 37;
break;
case 37:
var $135 = ($35 | 0) > 0;
if ($135) {
label = 38;
break;
} else {
label = 40;
break;
}
case 38:
var $137 = _lame_get_exp_nspsytune($gfp);
var $138 = $137 & 66060288;
var $139 = ($138 | 0) == 0;
if ($139) {
label = 39;
break;
} else {
label = 40;
break;
}
case 39:
var $141 = $35 << 20;
var $142 = $137 | $141;
var $143 = _lame_set_exp_nspsytune($gfp, $142);
label = 40;
break;
case 40:
if ($46) {
label = 43;
break;
} else {
label = 41;
break;
}
case 41:
var $146 = _lame_get_msfix($gfp);
var $147 = $146 + 1;
var $148 = $147 == 0;
if ($148) {
label = 42;
break;
} else {
label = 44;
break;
}
case 42:
var $150 = $38;
_lame_set_msfix($gfp, $150);
label = 44;
break;
case 43:
var $152 = $38;
_lame_set_msfix($gfp, $152);
label = 45;
break;
case 44:
var $154 = $gfp + 164 | 0;
HEAP32[$154 >> 2] = $a;
HEAPF32[$3 >> 2] = $4;
label = 45;
break;
case 45:
var $156 = $gfp + 288 | 0;
var $157 = HEAP32[$156 >> 2];
var $158 = $157 + 280 | 0;
HEAPF32[$158 >> 2] = $41;
var $159 = HEAP32[$156 >> 2];
var $160 = $159 + 224 | 0;
HEAPF32[$160 >> 2] = $44;
return;
}
}
_apply_vbr_preset["X"] = 1;
function _L3psycho_anal_vbr($gfc, $buffer, $gr_out, $masking_ratio, $masking_MS_ratio, $percep_entropy, $percep_MS_entropy, $energy, $blocktype_d) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 21092 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $last_thm = __stackBase__;
var $fftenergy = __stackBase__ + 976;
var $fftenergy_s = __stackBase__ + 3028;
var $wsamp_L = __stackBase__ + 4576;
var $wsamp_S = __stackBase__ + 12768;
var $eb = __stackBase__ + 18912;
var $thr = __stackBase__ + 19936;
var $sub_short_factor = __stackBase__ + 20960;
var $ns_attacks = __stackBase__ + 21008;
var $uselongblock = __stackBase__ + 21072;
var $new_thmm = __stackBase__ + 21080;
var $new_thmm209 = $new_thmm;
var $1 = $gfc + 16 | 0;
var $2 = $gfc + 21564 | 0;
var $3 = $gfc + 85796 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $gfc + 140 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
if ($7) {
var $12 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $9 = $gfc + 85800 | 0;
var $10 = HEAP32[$9 >> 2];
var $12 = $10;
label = 4;
break;
case 4:
var $12;
var $13 = $gfc + 192 | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = $14 > 0;
if ($15) {
label = 5;
break;
} else {
var $25 = 1;
label = 6;
break;
}
case 5:
var $17 = $gfc + 200 | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = $gfc + 85792 | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $20 + 8 | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $18 * $22;
var $25 = $23;
label = 6;
break;
case 6:
var $25;
var $26 = $eb | 0;
var $27 = $fftenergy_s | 0;
var $28 = $ns_attacks;
for (var $$dest = $28 >> 2, $$stop = $$dest + 16; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $29 = $gfc + 180 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = ($30 | 0) == 1;
if ($31) {
var $36 = 4;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $33 = $gfc + 72 | 0;
var $34 = HEAP32[$33 >> 2];
var $36 = $34;
label = 8;
break;
case 8:
var $36;
var $37 = $last_thm;
var $38 = $gfc + 25660 | 0;
var $39 = $38;
for (var $$src = $39 >> 2, $$dest = $37 >> 2, $$stop = $$src + 244; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $40 = $sub_short_factor | 0;
var $41 = $ns_attacks | 0;
var $42 = $uselongblock | 0;
_vbrpsy_attack_detection($gfc, $buffer, $gr_out, $masking_ratio, $masking_MS_ratio, $energy, $40, $41, $42);
_vbrpsy_compute_block_type($1, $42);
var $43 = ($36 | 0) > 0;
if ($43) {
label = 9;
break;
} else {
label = 11;
break;
}
case 9:
var $44 = $fftenergy | 0;
var $chn_0201 = 0;
label = 10;
break;
case 10:
var $chn_0201;
var $46 = $chn_0201 & 1;
var $47 = $wsamp_L + ($46 << 12) | 0;
_vbrpsy_compute_fft_l($gfc, $buffer, $chn_0201, $gr_out, $44, $47);
_vbrpsy_compute_loudness_approximation_l($gfc, $gr_out, $chn_0201, $44);
var $48 = $eb + ($chn_0201 << 8) | 0;
var $49 = $thr + ($chn_0201 << 8) | 0;
_vbrpsy_compute_masking_l($gfc, $44, $48, $49, $chn_0201);
var $50 = $chn_0201 + 1 | 0;
var $exitcond216 = ($50 | 0) == ($36 | 0);
if ($exitcond216) {
label = 11;
break;
} else {
var $chn_0201 = $50;
label = 10;
break;
}
case 11:
var $51 = HEAP32[$29 >> 2];
var $52 = ($51 | 0) == 1;
if ($52) {
label = 12;
break;
} else {
label = 14;
break;
}
case 12:
var $54 = HEAP32[$42 >> 2];
var $55 = $uselongblock + 4 | 0;
var $56 = HEAP32[$55 >> 2];
var $57 = $56 + $54 | 0;
var $58 = ($57 | 0) == 2;
if ($58) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
var $60 = $thr | 0;
var $61 = $4 + 768 | 0;
var $62 = $gfc + 85792 | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = $63 + 212 | 0;
var $65 = HEAPF32[$13 >> 2];
var $66 = $4 + 2148 | 0;
var $67 = HEAP32[$66 >> 2];
_vbrpsy_compute_MS_thresholds($26, $60, $61, $64, $25, $65, $67);
label = 14;
break;
case 14:
var $68 = ($36 | 0) > 0;
if ($68) {
var $chn_1198 = 0;
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $chn_1198;
var $69 = $eb + ($chn_1198 << 8) | 0;
var $70 = $thr + ($chn_1198 << 8) | 0;
_convert_partition2scalefac_l($gfc, $69, $70, $chn_1198);
_convert_partition2scalefac_l_to_s($gfc, $69, $70, $chn_1198);
var $71 = $chn_1198 + 1 | 0;
var $exitcond215 = ($71 | 0) == ($36 | 0);
if ($exitcond215) {
label = 16;
break;
} else {
var $chn_1198 = $71;
label = 15;
break;
}
case 16:
var $72 = HEAP32[$3 >> 2];
var $73 = $72 + 6500 | 0;
var $74 = HEAP32[$73 >> 2];
var $75 = ($36 | 0) > 0;
var $76 = HEAP32[$42 >> 2];
var $77 = $uselongblock + 4 | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = -$78 | 0;
var $80 = $thr | 0;
var $81 = $4 + 2928 | 0;
var $82 = $gfc + 85792 | 0;
var $83 = $4 + 4308 | 0;
var $84 = ($36 | 0) > 0;
var $85 = ($74 | 0) == 0;
var $86 = ($74 | 0) == 0;
var $sblock_0196 = 0;
label = 17;
break;
case 17:
var $sblock_0196;
if ($75) {
var $chn_2189 = 0;
label = 20;
break;
} else {
label = 24;
break;
}
case 18:
var $87 = ($36 | 0) > 0;
if ($87) {
label = 19;
break;
} else {
label = 54;
break;
}
case 19:
var $88 = $new_thmm | 0;
var $chn_4187 = 0;
label = 31;
break;
case 20:
var $chn_2189;
var $89 = $chn_2189 & 1;
var $90 = $uselongblock + ($89 << 2) | 0;
var $91 = HEAP32[$90 >> 2];
var $92 = ($91 | 0) != 0;
var $or_cond = $92 & $86;
if ($or_cond) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
_vbrpsy_skip_masking_s($gfc, $chn_2189, $sblock_0196);
label = 23;
break;
case 22:
var $95 = $wsamp_S + $89 * 3072 | 0;
_vbrpsy_compute_fft_s($gfc, $buffer, $chn_2189, $sblock_0196, $27, $95);
var $96 = $eb + ($chn_2189 << 8) | 0;
var $97 = $thr + ($chn_2189 << 8) | 0;
_vbrpsy_compute_masking_s($gfc, $27, $96, $97, $chn_2189, $sblock_0196);
label = 23;
break;
case 23:
var $99 = $chn_2189 + 1 | 0;
var $exitcond212 = ($99 | 0) == ($36 | 0);
if ($exitcond212) {
label = 24;
break;
} else {
var $chn_2189 = $99;
label = 20;
break;
}
case 24:
var $100 = HEAP32[$29 >> 2];
var $_not = ($100 | 0) != 1;
var $_not217 = ($76 | 0) != ($79 | 0);
var $brmerge = $_not | $_not217;
if ($brmerge) {
label = 26;
break;
} else {
label = 25;
break;
}
case 25:
var $102 = HEAP32[$82 >> 2];
var $103 = $102 + 468 | 0;
var $104 = HEAPF32[$13 >> 2];
var $105 = HEAP32[$83 >> 2];
_vbrpsy_compute_MS_thresholds($26, $80, $81, $103, $25, $104, $105);
label = 26;
break;
case 26:
if ($84) {
var $chn_3193 = 0;
label = 27;
break;
} else {
label = 30;
break;
}
case 27:
var $chn_3193;
var $106 = $chn_3193 & 1;
var $107 = $uselongblock + ($106 << 2) | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = ($108 | 0) != 0;
var $or_cond172 = $109 & $85;
if ($or_cond172) {
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $111 = $eb + ($chn_3193 << 8) | 0;
var $112 = $thr + ($chn_3193 << 8) | 0;
_convert_partition2scalefac_s($gfc, $111, $112, $chn_3193, $sblock_0196);
label = 29;
break;
case 29:
var $114 = $chn_3193 + 1 | 0;
var $exitcond213 = ($114 | 0) == ($36 | 0);
if ($exitcond213) {
label = 30;
break;
} else {
var $chn_3193 = $114;
label = 27;
break;
}
case 30:
var $115 = $sblock_0196 + 1 | 0;
var $exitcond214 = ($115 | 0) == 3;
if ($exitcond214) {
label = 18;
break;
} else {
var $sblock_0196 = $115;
label = 17;
break;
}
case 31:
var $chn_4187;
var $116 = $gfc + 27780 + ($chn_4187 << 2) | 0;
var $sb_0185 = 0;
label = 33;
break;
case 32:
var $117 = ($36 | 0) > 0;
if ($117) {
var $chn_5175 = 0;
label = 53;
break;
} else {
label = 54;
break;
}
case 33:
var $sb_0185;
var $scevgep = $gfc + 25660 + $chn_4187 * 244 + 88 + $sb_0185 * 12 | 0;
var $scevgep208 = $scevgep;
var $118 = $last_thm + $chn_4187 * 244 + 88 + $sb_0185 * 12 + 4 | 0;
var $119 = $last_thm + $chn_4187 * 244 + 88 + $sb_0185 * 12 + 8 | 0;
var $120 = $last_thm + $chn_4187 * 244 + 88 + $sb_0185 * 12 + 8 | 0;
var $sblock_1179 = 0;
label = 34;
break;
case 34:
var $sblock_1179;
var $122 = $gfc + 25660 + $chn_4187 * 244 + 88 + $sb_0185 * 12 + ($sblock_1179 << 2) | 0;
var $123 = HEAPF32[$122 >> 2];
var $124 = $123;
var $125 = $124 * .8;
var $126 = $125;
var $127 = ($sblock_1179 | 0) > 0;
if ($127) {
label = 35;
break;
} else {
var $prev_thm_0_in = $120;
label = 36;
break;
}
case 35:
var $129 = $sblock_1179 - 1 | 0;
var $130 = $new_thmm + ($129 << 2) | 0;
var $prev_thm_0_in = $130;
label = 36;
break;
case 36:
var $prev_thm_0_in;
var $prev_thm_0 = HEAPF32[$prev_thm_0_in >> 2];
var $132 = $ns_attacks + ($chn_4187 << 4) + ($sblock_1179 << 2) | 0;
var $133 = HEAP32[$132 >> 2];
var $134 = ($133 | 0) > 1;
if ($134) {
label = 38;
break;
} else {
label = 37;
break;
}
case 37:
var $136 = $sblock_1179 + 1 | 0;
var $137 = $ns_attacks + ($chn_4187 << 4) + ($136 << 2) | 0;
var $138 = HEAP32[$137 >> 2];
var $139 = ($138 | 0) == 1;
if ($139) {
label = 38;
break;
} else {
var $t1_0 = $126;
label = 39;
break;
}
case 38:
var $141 = _NS_INTERP($prev_thm_0, $126, .36000001430511475);
var $t1_0 = $141;
label = 39;
break;
case 39:
var $t1_0;
var $143 = $t1_0 < $126;
var $144 = $143 ? $t1_0 : $126;
var $145 = HEAP32[$132 >> 2];
var $146 = ($145 | 0) == 1;
if ($146) {
label = 40;
break;
} else {
label = 41;
break;
}
case 40:
var $148 = _NS_INTERP($prev_thm_0, $144, .18000000715255737);
var $t2_0 = $148;
label = 50;
break;
case 41:
var $150 = ($sblock_1179 | 0) == 0;
if ($150) {
label = 42;
break;
} else {
label = 43;
break;
}
case 42:
var $152 = HEAP32[$116 >> 2];
var $153 = ($152 | 0) == 3;
if ($153) {
label = 46;
break;
} else {
label = 43;
break;
}
case 43:
if ($127) {
label = 44;
break;
} else {
var $t2_0 = $126;
label = 50;
break;
}
case 44:
var $156 = $sblock_1179 - 1 | 0;
var $157 = $ns_attacks + ($chn_4187 << 4) + ($156 << 2) | 0;
var $158 = HEAP32[$157 >> 2];
var $159 = ($158 | 0) == 3;
if ($159) {
label = 45;
break;
} else {
var $t2_0 = $126;
label = 50;
break;
}
case 45:
if (($sblock_1179 | 0) == 0) {
label = 46;
break;
} else if (($sblock_1179 | 0) == 1) {
label = 47;
break;
} else if (($sblock_1179 | 0) == 2) {
label = 48;
break;
} else {
var $prev_thm_1 = $prev_thm_0;
label = 49;
break;
}
case 46:
var $161 = HEAPF32[$118 >> 2];
var $prev_thm_1 = $161;
label = 49;
break;
case 47:
var $163 = HEAPF32[$119 >> 2];
var $prev_thm_1 = $163;
label = 49;
break;
case 48:
var $165 = HEAPF32[$88 >> 2];
var $prev_thm_1 = $165;
label = 49;
break;
case 49:
var $prev_thm_1;
var $167 = _NS_INTERP($prev_thm_1, $144, .18000000715255737);
var $t2_0 = $167;
label = 50;
break;
case 50:
var $t2_0;
var $169 = $t2_0 < $144;
var $170 = $169 ? $t2_0 : $144;
var $171 = $sub_short_factor + $chn_4187 * 12 + ($sblock_1179 << 2) | 0;
var $172 = HEAPF32[$171 >> 2];
var $173 = $172 * $170;
var $174 = $new_thmm + ($sblock_1179 << 2) | 0;
HEAPF32[$174 >> 2] = $173;
var $175 = $sblock_1179 + 1 | 0;
var $exitcond206 = ($175 | 0) == 3;
if ($exitcond206) {
label = 51;
break;
} else {
var $sblock_1179 = $175;
label = 34;
break;
}
case 51:
HEAP32[$scevgep208 >> 2] = HEAP32[$new_thmm209 >> 2];
HEAP32[$scevgep208 + 4 >> 2] = HEAP32[$new_thmm209 + 4 >> 2];
HEAP32[$scevgep208 + 8 >> 2] = HEAP32[$new_thmm209 + 8 >> 2];
var $177 = $sb_0185 + 1 | 0;
var $exitcond210 = ($177 | 0) == 13;
if ($exitcond210) {
label = 52;
break;
} else {
var $sb_0185 = $177;
label = 33;
break;
}
case 52:
var $179 = $chn_4187 + 1 | 0;
var $exitcond211 = ($179 | 0) == ($36 | 0);
if ($exitcond211) {
label = 32;
break;
} else {
var $chn_4187 = $179;
label = 31;
break;
}
case 53:
var $chn_5175;
var $180 = $ns_attacks + ($chn_5175 << 4) + 8 | 0;
var $181 = HEAP32[$180 >> 2];
var $182 = $gfc + 27780 + ($chn_5175 << 2) | 0;
HEAP32[$182 >> 2] = $181;
var $183 = $chn_5175 + 1 | 0;
var $exitcond205 = ($183 | 0) == ($36 | 0);
if ($exitcond205) {
label = 54;
break;
} else {
var $chn_5175 = $183;
label = 53;
break;
}
case 54:
var $184 = $gfc + 72 | 0;
var $185 = HEAP32[$184 >> 2];
_vbrpsy_apply_block_type($2, $185, $42, $blocktype_d);
var $186 = ($36 | 0) > 0;
if ($186) {
label = 55;
break;
} else {
label = 68;
break;
}
case 55:
var $187 = $percep_MS_entropy - 8 | 0;
var $188 = $blocktype_d + 4 | 0;
var $189 = $gfc + 84904 | 0;
var $190 = ($12 | 0) == 0;
var $chn_6173 = 0;
label = 56;
break;
case 56:
var $chn_6173;
var $192 = ($chn_6173 | 0) > 1;
if ($192) {
label = 57;
break;
} else {
label = 61;
break;
}
case 57:
var $194 = HEAP32[$blocktype_d >> 2];
var $195 = ($194 | 0) == 2;
if ($195) {
label = 59;
break;
} else {
label = 58;
break;
}
case 58:
var $197 = HEAP32[$188 >> 2];
var $198 = ($197 | 0) == 2;
if ($198) {
label = 59;
break;
} else {
var $type_0 = 0;
label = 60;
break;
}
case 59:
var $type_0 = 2;
label = 60;
break;
case 60:
var $type_0;
var $201 = $chn_6173 - 2 | 0;
var $202 = $masking_MS_ratio + $gr_out * 976 + $201 * 488 | 0;
var $mr_0 = $202;
var $type_1 = $type_0;
var $ppe_0 = $187;
label = 62;
break;
case 61:
var $204 = $blocktype_d + ($chn_6173 << 2) | 0;
var $205 = HEAP32[$204 >> 2];
var $206 = $masking_ratio + $gr_out * 976 + $chn_6173 * 488 | 0;
var $mr_0 = $206;
var $type_1 = $205;
var $ppe_0 = $percep_entropy;
label = 62;
break;
case 62:
var $ppe_0;
var $type_1;
var $mr_0;
var $208 = ($type_1 | 0) == 2;
var $209 = HEAPF32[$189 >> 2];
if ($208) {
label = 63;
break;
} else {
label = 64;
break;
}
case 63:
var $211 = _pecalc_s($mr_0, $209);
var $212 = $ppe_0 + ($chn_6173 << 2) | 0;
HEAPF32[$212 >> 2] = $211;
label = 65;
break;
case 64:
var $214 = _pecalc_l($mr_0, $209);
var $215 = $ppe_0 + ($chn_6173 << 2) | 0;
HEAPF32[$215 >> 2] = $214;
label = 65;
break;
case 65:
if ($190) {
label = 67;
break;
} else {
label = 66;
break;
}
case 66:
var $218 = $ppe_0 + ($chn_6173 << 2) | 0;
var $219 = HEAPF32[$218 >> 2];
var $220 = $219;
var $221 = $12 + 189236 + ($gr_out << 5) + ($chn_6173 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $220, HEAP32[$221 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$221 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 67;
break;
case 67:
var $223 = $chn_6173 + 1 | 0;
var $exitcond = ($223 | 0) == ($36 | 0);
if ($exitcond) {
label = 68;
break;
} else {
var $chn_6173 = $223;
label = 56;
break;
}
case 68:
STACKTOP = __stackBase__;
return 0;
}
}
_L3psycho_anal_vbr["X"] = 1;
function _vbrpsy_compute_block_type($cfg, $uselongblock) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cfg + 168 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 1;
if ($3) {
label = 3;
break;
} else {
label = 6;
break;
}
case 3:
var $5 = HEAP32[$uselongblock >> 2];
var $6 = ($5 | 0) == 0;
if ($6) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $uselongblock + 4 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($9 | 0) == 0;
if ($10) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $12 = $uselongblock + 4 | 0;
HEAP32[$12 >> 2] = 0;
HEAP32[$uselongblock >> 2] = 0;
label = 6;
break;
case 6:
var $13 = $cfg + 56 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = ($14 | 0) > 0;
if ($15) {
var $chn_013 = 0;
label = 7;
break;
} else {
label = 12;
break;
}
case 7:
var $chn_013;
var $16 = HEAP32[$1 >> 2];
var $17 = ($16 | 0) == 2;
if ($17) {
label = 8;
break;
} else {
var $21 = $16;
label = 9;
break;
}
case 8:
var $19 = $uselongblock + ($chn_013 << 2) | 0;
HEAP32[$19 >> 2] = 1;
var $_pr = HEAP32[$1 >> 2];
var $21 = $_pr;
label = 9;
break;
case 9:
var $21;
var $22 = ($21 | 0) == 3;
if ($22) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $24 = $uselongblock + ($chn_013 << 2) | 0;
HEAP32[$24 >> 2] = 0;
label = 11;
break;
case 11:
var $26 = $chn_013 + 1 | 0;
var $27 = HEAP32[$13 >> 2];
var $28 = ($26 | 0) < ($27 | 0);
if ($28) {
var $chn_013 = $26;
label = 7;
break;
} else {
label = 12;
break;
}
case 12:
return;
}
}
function _vbrpsy_attack_detection($gfc, $buffer, $gr_out, $masking_ratio, $masking_MS_ratio, $energy, $sub_short_factor, $ns_attacks, $uselongblock) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4720 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $ns_hpfsmpl = __stackBase__;
var $attack_intensity = __stackBase__ + 4608;
var $en_subshort = __stackBase__ + 4656;
var $en_short = __stackBase__ + 4704;
var $1 = $gfc + 140 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
var $8 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfc + 85800 | 0;
var $6 = HEAP32[$5 >> 2];
var $8 = $6;
label = 4;
break;
case 4:
var $8;
var $9 = $gfc + 72 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $gfc + 180 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 1;
var $14 = $13 ? 4 : $10;
var $15 = $ns_hpfsmpl;
for (var $$dest = $15 >> 2, $$stop = $$dest + 1152; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $16 = ($10 | 0) > 0;
if ($16) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $17 = ($14 | 0) > 2;
var $chn_0231 = 0;
label = 8;
break;
case 6:
var $18 = ($14 | 0) > 0;
if ($18) {
label = 7;
break;
} else {
label = 55;
break;
}
case 7:
var $19 = $en_short;
var $20 = $en_short | 0;
var $21 = ($8 | 0) == 0;
var $22 = $gfc + 85796 | 0;
var $23 = $uselongblock + 4 | 0;
var $24 = $attack_intensity | 0;
var $chn_1223 = 0;
label = 13;
break;
case 8:
var $chn_0231;
var $26 = $buffer + ($chn_0231 << 2) | 0;
var $27 = HEAP32[$26 >> 2];
var $i_0230 = 0;
label = 9;
break;
case 9:
var $i_0230;
var $_sum = $i_0230 + 407 | 0;
var $29 = $27 + ($_sum << 2) | 0;
var $30 = HEAPF32[$29 >> 2];
var $_sum198 = $i_0230 + 397 | 0;
var $31 = $27 + ($_sum198 << 2) | 0;
var $32 = HEAPF32[$31 >> 2];
var $_sum199 = $i_0230 + 418 | 0;
var $33 = $27 + ($_sum199 << 2) | 0;
var $34 = HEAPF32[$33 >> 2];
var $35 = $32 + $34;
var $36 = $35 * -1.7303260184043527e-17;
var $37 = $30 + $36;
var $_sum200 = $i_0230 + 398 | 0;
var $38 = $27 + ($_sum200 << 2) | 0;
var $39 = HEAPF32[$38 >> 2];
var $_sum201 = $i_0230 + 417 | 0;
var $40 = $27 + ($_sum201 << 2) | 0;
var $41 = HEAPF32[$40 >> 2];
var $42 = $39 + $41;
var $43 = $42 * -.017031719908118248;
var $44 = $43;
var $_sum198_1 = $i_0230 + 399 | 0;
var $45 = $27 + ($_sum198_1 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $_sum199_1 = $i_0230 + 416 | 0;
var $47 = $27 + ($_sum199_1 << 2) | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $46 + $48;
var $50 = $49 * -1.3495279640235235e-17;
var $51 = $37 + $50;
var $_sum200_1 = $i_0230 + 400 | 0;
var $52 = $27 + ($_sum200_1 << 2) | 0;
var $53 = HEAPF32[$52 >> 2];
var $_sum201_1 = $i_0230 + 415 | 0;
var $54 = $27 + ($_sum201_1 << 2) | 0;
var $55 = HEAPF32[$54 >> 2];
var $56 = $53 + $55;
var $57 = $56 * .04180720075964928;
var $58 = $44 + $57;
var $_sum198_2 = $i_0230 + 401 | 0;
var $59 = $27 + ($_sum198_2 << 2) | 0;
var $60 = HEAPF32[$59 >> 2];
var $_sum199_2 = $i_0230 + 414 | 0;
var $61 = $27 + ($_sum199_2 << 2) | 0;
var $62 = HEAPF32[$61 >> 2];
var $63 = $60 + $62;
var $64 = $63 * -6.732779685849225e-17;
var $65 = $51 + $64;
var $_sum200_2 = $i_0230 + 402 | 0;
var $66 = $27 + ($_sum200_2 << 2) | 0;
var $67 = HEAPF32[$66 >> 2];
var $_sum201_2 = $i_0230 + 413 | 0;
var $68 = $27 + ($_sum201_2 << 2) | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = $67 + $69;
var $71 = $70 * -.08763240277767181;
var $72 = $58 + $71;
var $_sum198_3 = $i_0230 + 403 | 0;
var $73 = $27 + ($_sum198_3 << 2) | 0;
var $74 = HEAPF32[$73 >> 2];
var $_sum199_3 = $i_0230 + 412 | 0;
var $75 = $27 + ($_sum199_3 << 2) | 0;
var $76 = HEAPF32[$75 >> 2];
var $77 = $74 + $76;
var $78 = $77 * -3.0835000291318875e-17;
var $79 = $65 + $78;
var $_sum200_3 = $i_0230 + 404 | 0;
var $80 = $27 + ($_sum200_3 << 2) | 0;
var $81 = HEAPF32[$80 >> 2];
var $_sum201_3 = $i_0230 + 411 | 0;
var $82 = $27 + ($_sum201_3 << 2) | 0;
var $83 = HEAPF32[$82 >> 2];
var $84 = $81 + $83;
var $85 = $84 * .1863476037979126;
var $86 = $72 + $85;
var $_sum198_4 = $i_0230 + 405 | 0;
var $87 = $27 + ($_sum198_4 << 2) | 0;
var $88 = HEAPF32[$87 >> 2];
var $_sum199_4 = $i_0230 + 410 | 0;
var $89 = $27 + ($_sum199_4 << 2) | 0;
var $90 = HEAPF32[$89 >> 2];
var $91 = $88 + $90;
var $92 = $91 * -1.1044240253100168e-16;
var $93 = $79 + $92;
var $_sum200_4 = $i_0230 + 406 | 0;
var $94 = $27 + ($_sum200_4 << 2) | 0;
var $95 = HEAPF32[$94 >> 2];
var $_sum201_4 = $i_0230 + 409 | 0;
var $96 = $27 + ($_sum201_4 << 2) | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $95 + $97;
var $99 = $98 * -.6276379823684692;
var $100 = $86 + $99;
var $101 = $100 + $93;
var $102 = $ns_hpfsmpl + $chn_0231 * 2304 + ($i_0230 << 2) | 0;
HEAPF32[$102 >> 2] = $101;
var $103 = $i_0230 + 1 | 0;
var $exitcond245 = ($103 | 0) == 576;
if ($exitcond245) {
label = 10;
break;
} else {
var $i_0230 = $103;
label = 9;
break;
}
case 10:
var $105 = $masking_ratio + $gr_out * 976 + $chn_0231 * 488 + 244 | 0;
var $106 = $gfc + 26636 + $chn_0231 * 244 | 0;
var $107 = $105;
var $108 = $106;
for (var $$src = $108 >> 2, $$dest = $107 >> 2, $$stop = $$src + 61; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $109 = $masking_ratio + $gr_out * 976 + $chn_0231 * 488 | 0;
var $110 = $gfc + 25660 + $chn_0231 * 244 | 0;
var $111 = $109;
var $112 = $110;
for (var $$src = $112 >> 2, $$dest = $111 >> 2, $$stop = $$src + 61; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
if ($17) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $114 = $masking_MS_ratio + $gr_out * 976 + $chn_0231 * 488 + 244 | 0;
var $115 = $chn_0231 + 2 | 0;
var $116 = $gfc + 26636 + $115 * 244 | 0;
var $117 = $114;
var $118 = $116;
for (var $$src = $118 >> 2, $$dest = $117 >> 2, $$stop = $$src + 61; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $119 = $masking_MS_ratio + $gr_out * 976 + $chn_0231 * 488 | 0;
var $120 = $gfc + 25660 + $115 * 244 | 0;
var $121 = $119;
var $122 = $120;
for (var $$src = $122 >> 2, $$dest = $121 >> 2, $$stop = $$src + 61; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 12;
break;
case 12:
var $124 = $chn_0231 + 1 | 0;
var $exitcond246 = ($124 | 0) == ($10 | 0);
if ($exitcond246) {
label = 6;
break;
} else {
var $chn_0231 = $124;
label = 8;
break;
}
case 13:
var $chn_1223;
HEAP32[$19 >> 2] = 0;
HEAP32[$19 + 4 >> 2] = 0;
HEAP32[$19 + 8 >> 2] = 0;
HEAP32[$19 + 12 >> 2] = 0;
var $126 = $chn_1223 & 1;
var $127 = $ns_hpfsmpl + $126 * 2304 | 0;
var $128 = ($chn_1223 | 0) == 2;
if ($128) {
var $i_1206 = 0;
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $i_1206;
var $129 = $ns_hpfsmpl + ($i_1206 << 2) | 0;
var $130 = HEAPF32[$129 >> 2];
var $131 = $ns_hpfsmpl + 2304 + ($i_1206 << 2) | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = $130 + $132;
HEAPF32[$129 >> 2] = $133;
var $134 = $130 - $132;
HEAPF32[$131 >> 2] = $134;
var $135 = $i_1206 + 1 | 0;
var $exitcond = ($135 | 0) == 576;
if ($exitcond) {
label = 15;
break;
} else {
var $i_1206 = $135;
label = 14;
break;
}
case 15:
var $_promoted = HEAPF32[$20 >> 2];
var $136 = $gfc + 27636 + $chn_1223 * 36 + 24 | 0;
var $137 = HEAPF32[$136 >> 2];
var $138 = $en_subshort | 0;
HEAPF32[$138 >> 2] = $137;
var $139 = $gfc + 27636 + $chn_1223 * 36 + 16 | 0;
var $140 = HEAPF32[$139 >> 2];
var $141 = $137 / $140;
var $142 = $attack_intensity | 0;
HEAPF32[$142 >> 2] = $141;
var $143 = HEAPF32[$138 >> 2];
var $144 = $143 + $_promoted;
var $145 = $gfc + 27636 + $chn_1223 * 36 + 28 | 0;
var $146 = HEAPF32[$145 >> 2];
var $147 = $en_subshort + 4 | 0;
HEAPF32[$147 >> 2] = $146;
var $148 = $gfc + 27636 + $chn_1223 * 36 + 20 | 0;
var $149 = HEAPF32[$148 >> 2];
var $150 = $146 / $149;
var $151 = $attack_intensity + 4 | 0;
HEAPF32[$151 >> 2] = $150;
var $152 = HEAPF32[$147 >> 2];
var $153 = $152 + $144;
var $154 = $gfc + 27636 + $chn_1223 * 36 + 32 | 0;
var $155 = HEAPF32[$154 >> 2];
var $156 = $en_subshort + 8 | 0;
HEAPF32[$156 >> 2] = $155;
var $157 = $gfc + 27636 + $chn_1223 * 36 + 24 | 0;
var $158 = HEAPF32[$157 >> 2];
var $159 = $155 / $158;
var $160 = $attack_intensity + 8 | 0;
HEAPF32[$160 >> 2] = $159;
var $161 = HEAPF32[$156 >> 2];
var $162 = $161 + $153;
HEAPF32[$20 >> 2] = $162;
var $pf_0214 = $127;
var $i_3215 = 0;
label = 16;
break;
case 16:
var $i_3215;
var $pf_0214;
var $163 = $pf_0214 + 256 | 0;
var $pf_1210 = $pf_0214;
var $p_0211 = 1;
label = 17;
break;
case 17:
var $p_0211;
var $pf_1210;
var $165 = HEAPF32[$pf_1210 >> 2];
var $fabsf = Math.abs($165);
var $166 = $p_0211 < $fabsf;
var $p_1 = $166 ? $fabsf : $p_0211;
var $167 = $pf_1210 + 4 | 0;
var $168 = $167 >>> 0 < $163 >>> 0;
if ($168) {
var $pf_1210 = $167;
var $p_0211 = $p_1;
label = 17;
break;
} else {
label = 18;
break;
}
case 18:
var $169 = $i_3215 + 3 | 0;
var $170 = $en_subshort + ($169 << 2) | 0;
HEAPF32[$170 >> 2] = $p_1;
var $171 = $gfc + 27636 + $chn_1223 * 36 + ($i_3215 << 2) | 0;
HEAPF32[$171 >> 2] = $p_1;
var $172 = ($i_3215 | 0) / 3 & -1;
var $173 = $172 + 1 | 0;
var $174 = $en_short + ($173 << 2) | 0;
var $175 = HEAPF32[$174 >> 2];
var $176 = $p_1 + $175;
HEAPF32[$174 >> 2] = $176;
var $177 = $i_3215 + 1 | 0;
var $178 = $en_subshort + ($177 << 2) | 0;
var $179 = HEAPF32[$178 >> 2];
var $180 = $p_1 > $179;
if ($180) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
var $182 = $p_1 / $179;
var $p_2 = $182;
label = 22;
break;
case 20:
var $184 = $p_1 * 10;
var $185 = $179 > $184;
if ($185) {
label = 21;
break;
} else {
var $p_2 = 0;
label = 22;
break;
}
case 21:
var $187 = $179 / $184;
var $p_2 = $187;
label = 22;
break;
case 22:
var $p_2;
var $189 = $attack_intensity + ($169 << 2) | 0;
HEAPF32[$189 >> 2] = $p_2;
var $exitcond236 = ($177 | 0) == 9;
if ($exitcond236) {
label = 23;
break;
} else {
var $pf_0214 = $167;
var $i_3215 = $177;
label = 16;
break;
}
case 23:
var $190 = $en_subshort + 12 | 0;
var $191 = HEAPF32[$190 >> 2];
var $192 = $en_subshort + 16 | 0;
var $193 = HEAPF32[$192 >> 2];
var $194 = $191 + $193;
var $195 = $en_subshort + 20 | 0;
var $196 = HEAPF32[$195 >> 2];
var $197 = $194 + $196;
var $198 = $196 * 6;
var $199 = $198 < $197;
if ($199) {
label = 24;
break;
} else {
var $factor_0 = 1;
label = 26;
break;
}
case 24:
var $201 = $193 * 6;
var $202 = $201 < $197;
if ($202) {
label = 25;
break;
} else {
var $factor_0 = .5;
label = 26;
break;
}
case 25:
var $factor_0 = .25;
label = 26;
break;
case 26:
var $factor_0;
var $205 = $sub_short_factor + $chn_1223 * 12 | 0;
HEAPF32[$205 >> 2] = $factor_0;
var $206 = $en_subshort + 24 | 0;
var $207 = HEAPF32[$206 >> 2];
var $208 = $en_subshort + 28 | 0;
var $209 = HEAPF32[$208 >> 2];
var $210 = $207 + $209;
var $211 = $en_subshort + 32 | 0;
var $212 = HEAPF32[$211 >> 2];
var $213 = $210 + $212;
var $214 = $212 * 6;
var $215 = $214 < $213;
if ($215) {
label = 56;
break;
} else {
var $factor_0_1 = 1;
label = 58;
break;
}
case 27:
var $217 = HEAPF32[$24 >> 2];
var $218 = $attack_intensity + 4 | 0;
var $219 = HEAPF32[$218 >> 2];
var $220 = $217 < $219;
var $x_1 = $220 ? $219 : $217;
var $221 = $attack_intensity + 8 | 0;
var $222 = HEAPF32[$221 >> 2];
var $223 = $x_1 < $222;
var $x_1_1 = $223 ? $222 : $x_1;
var $224 = $attack_intensity + 12 | 0;
var $225 = HEAPF32[$224 >> 2];
var $226 = $x_1_1 < $225;
var $x_1_2 = $226 ? $225 : $x_1_1;
var $227 = $attack_intensity + 16 | 0;
var $228 = HEAPF32[$227 >> 2];
var $229 = $x_1_2 < $228;
var $x_1_3 = $229 ? $228 : $x_1_2;
var $230 = $attack_intensity + 20 | 0;
var $231 = HEAPF32[$230 >> 2];
var $232 = $x_1_3 < $231;
var $x_1_4 = $232 ? $231 : $x_1_3;
var $233 = $attack_intensity + 24 | 0;
var $234 = HEAPF32[$233 >> 2];
var $235 = $x_1_4 < $234;
var $x_1_5 = $235 ? $234 : $x_1_4;
var $236 = $attack_intensity + 28 | 0;
var $237 = HEAPF32[$236 >> 2];
var $238 = $x_1_5 < $237;
var $x_1_6 = $238 ? $237 : $x_1_5;
var $239 = $attack_intensity + 32 | 0;
var $240 = HEAPF32[$239 >> 2];
var $241 = $x_1_6 < $240;
var $x_1_7 = $241 ? $240 : $x_1_6;
var $242 = $attack_intensity + 36 | 0;
var $243 = HEAPF32[$242 >> 2];
var $244 = $x_1_7 < $243;
var $x_1_8 = $244 ? $243 : $x_1_7;
var $245 = $attack_intensity + 40 | 0;
var $246 = HEAPF32[$245 >> 2];
var $247 = $x_1_8 < $246;
var $x_1_9 = $247 ? $246 : $x_1_8;
var $248 = $attack_intensity + 44 | 0;
var $249 = HEAPF32[$248 >> 2];
var $250 = $x_1_9 < $249;
var $x_1_10 = $250 ? $249 : $x_1_9;
var $251 = $8 + 197108 + ($chn_1223 << 3) | 0;
var $252 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$251 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$251 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $253 = $8 + 197140 + ($gr_out << 5) + ($chn_1223 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $252, HEAP32[$253 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$253 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $254 = $x_1_10;
HEAPF64[tempDoublePtr >> 3] = $254, HEAP32[$251 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$251 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 28;
break;
case 28:
var $256 = HEAP32[$22 >> 2];
var $257 = $256 + 6480 + ($chn_1223 << 2) | 0;
var $258 = HEAPF32[$257 >> 2];
var $i_6220 = 0;
label = 29;
break;
case 29:
var $i_6220;
var $260 = ($i_6220 | 0) / 3 & -1;
var $261 = $ns_attacks + ($chn_1223 << 4) + ($260 << 2) | 0;
var $262 = HEAP32[$261 >> 2];
var $263 = ($262 | 0) == 0;
if ($263) {
label = 30;
break;
} else {
label = 32;
break;
}
case 30:
var $265 = $attack_intensity + ($i_6220 << 2) | 0;
var $266 = HEAPF32[$265 >> 2];
var $267 = $266 > $258;
if ($267) {
label = 31;
break;
} else {
label = 32;
break;
}
case 31:
var $269 = ($i_6220 | 0) % 3;
var $270 = $269 + 1 | 0;
HEAP32[$261 >> 2] = $270;
label = 32;
break;
case 32:
var $272 = $i_6220 + 1 | 0;
var $exitcond239 = ($272 | 0) == 12;
if ($exitcond239) {
label = 33;
break;
} else {
var $i_6220 = $272;
label = 29;
break;
}
case 33:
var $274 = $ns_attacks + ($chn_1223 << 4) | 0;
var $275 = $en_short | 0;
var $276 = HEAPF32[$275 >> 2];
var $277 = $en_short + 4 | 0;
var $278 = HEAPF32[$277 >> 2];
var $279 = $276 > $278;
var $280 = $279 ? $276 : $278;
var $281 = $280 < 4e4;
var $282 = $278 * 1.7000000476837158;
var $283 = $276 < $282;
var $or_cond = $281 & $283;
var $284 = $276 * 1.7000000476837158;
var $285 = $278 < $284;
var $or_cond204 = $or_cond & $285;
if ($or_cond204) {
label = 34;
break;
} else {
label = 37;
break;
}
case 34:
var $287 = HEAP32[$274 >> 2];
var $288 = $ns_attacks + ($chn_1223 << 4) + 4 | 0;
var $289 = HEAP32[$288 >> 2];
var $290 = ($287 | 0) > ($289 | 0);
if ($290) {
label = 36;
break;
} else {
label = 35;
break;
}
case 35:
HEAP32[$274 >> 2] = 0;
label = 36;
break;
case 36:
var $293 = $ns_attacks + ($chn_1223 << 4) + 4 | 0;
HEAP32[$293 >> 2] = 0;
label = 37;
break;
case 37:
var $295 = $en_short + 4 | 0;
var $296 = HEAPF32[$295 >> 2];
var $297 = $en_short + 8 | 0;
var $298 = HEAPF32[$297 >> 2];
var $299 = $296 > $298;
var $300 = $299 ? $296 : $298;
var $301 = $300 < 4e4;
var $302 = $298 * 1.7000000476837158;
var $303 = $296 < $302;
var $or_cond_1 = $301 & $303;
var $304 = $296 * 1.7000000476837158;
var $305 = $298 < $304;
var $or_cond204_1 = $or_cond_1 & $305;
if ($or_cond204_1) {
label = 62;
break;
} else {
label = 63;
break;
}
case 38:
HEAP32[$397 >> 2] = 0;
var $_pr = HEAP32[$399 >> 2];
var $308 = $_pr;
label = 39;
break;
case 39:
var $308;
var $309 = ($308 | 0) == 3;
if ($309) {
label = 41;
break;
} else {
label = 40;
break;
}
case 40:
var $311 = HEAP32[$397 >> 2];
var $312 = $ns_attacks + ($chn_1223 << 4) + 4 | 0;
var $313 = HEAP32[$312 >> 2];
var $314 = $313 + $311 | 0;
var $315 = $ns_attacks + ($chn_1223 << 4) + 8 | 0;
var $316 = HEAP32[$315 >> 2];
var $317 = $314 + $316 | 0;
var $318 = $ns_attacks + ($chn_1223 << 4) + 12 | 0;
var $319 = HEAP32[$318 >> 2];
var $320 = -$319 | 0;
var $321 = ($317 | 0) == ($320 | 0);
if ($321) {
var $ns_uselongblock_0 = 1;
label = 50;
break;
} else {
label = 41;
break;
}
case 41:
var $323 = $ns_attacks + ($chn_1223 << 4) + 4 | 0;
var $324 = HEAP32[$323 >> 2];
var $325 = ($324 | 0) == 0;
if ($325) {
label = 44;
break;
} else {
label = 42;
break;
}
case 42:
var $327 = HEAP32[$397 >> 2];
var $328 = ($327 | 0) == 0;
if ($328) {
label = 44;
break;
} else {
label = 43;
break;
}
case 43:
HEAP32[$323 >> 2] = 0;
label = 44;
break;
case 44:
var $331 = $ns_attacks + ($chn_1223 << 4) + 8 | 0;
var $332 = HEAP32[$331 >> 2];
var $333 = ($332 | 0) == 0;
if ($333) {
label = 47;
break;
} else {
label = 45;
break;
}
case 45:
var $335 = HEAP32[$323 >> 2];
var $336 = ($335 | 0) == 0;
if ($336) {
label = 47;
break;
} else {
label = 46;
break;
}
case 46:
HEAP32[$331 >> 2] = 0;
label = 47;
break;
case 47:
var $339 = $ns_attacks + ($chn_1223 << 4) + 12 | 0;
var $340 = HEAP32[$339 >> 2];
var $341 = ($340 | 0) == 0;
if ($341) {
var $ns_uselongblock_0 = 0;
label = 50;
break;
} else {
label = 48;
break;
}
case 48:
var $343 = HEAP32[$331 >> 2];
var $344 = ($343 | 0) == 0;
if ($344) {
var $ns_uselongblock_0 = 0;
label = 50;
break;
} else {
label = 49;
break;
}
case 49:
HEAP32[$339 >> 2] = 0;
var $ns_uselongblock_0 = 0;
label = 50;
break;
case 50:
var $ns_uselongblock_0;
var $347 = ($chn_1223 | 0) < 2;
if ($347) {
label = 51;
break;
} else {
label = 52;
break;
}
case 51:
var $349 = $uselongblock + ($chn_1223 << 2) | 0;
HEAP32[$349 >> 2] = $ns_uselongblock_0;
label = 54;
break;
case 52:
var $351 = ($ns_uselongblock_0 | 0) == 0;
if ($351) {
label = 53;
break;
} else {
label = 54;
break;
}
case 53:
HEAP32[$23 >> 2] = 0;
HEAP32[$uselongblock >> 2] = 0;
label = 54;
break;
case 54:
var $354 = $gfc + 27620 + ($chn_1223 << 2) | 0;
var $355 = HEAPF32[$354 >> 2];
var $356 = $energy + ($chn_1223 << 2) | 0;
HEAPF32[$356 >> 2] = $355;
var $357 = $chn_1223 + 1 | 0;
var $exitcond241 = ($357 | 0) == ($14 | 0);
if ($exitcond241) {
label = 55;
break;
} else {
var $chn_1223 = $357;
label = 13;
break;
}
case 55:
STACKTOP = __stackBase__;
return;
case 56:
var $359 = $209 * 6;
var $360 = $359 < $213;
if ($360) {
label = 57;
break;
} else {
var $factor_0_1 = .5;
label = 58;
break;
}
case 57:
var $factor_0_1 = .25;
label = 58;
break;
case 58:
var $factor_0_1;
var $363 = $sub_short_factor + $chn_1223 * 12 + 4 | 0;
HEAPF32[$363 >> 2] = $factor_0_1;
var $364 = $en_subshort + 36 | 0;
var $365 = HEAPF32[$364 >> 2];
var $366 = $en_subshort + 40 | 0;
var $367 = HEAPF32[$366 >> 2];
var $368 = $365 + $367;
var $369 = $en_subshort + 44 | 0;
var $370 = HEAPF32[$369 >> 2];
var $371 = $368 + $370;
var $372 = $370 * 6;
var $373 = $372 < $371;
if ($373) {
label = 59;
break;
} else {
var $factor_0_2 = 1;
label = 61;
break;
}
case 59:
var $375 = $367 * 6;
var $376 = $375 < $371;
if ($376) {
label = 60;
break;
} else {
var $factor_0_2 = .5;
label = 61;
break;
}
case 60:
var $factor_0_2 = .25;
label = 61;
break;
case 61:
var $factor_0_2;
var $379 = $sub_short_factor + $chn_1223 * 12 + 8 | 0;
HEAPF32[$379 >> 2] = $factor_0_2;
if ($21) {
label = 28;
break;
} else {
label = 27;
break;
}
case 62:
var $381 = $ns_attacks + ($chn_1223 << 4) + 8 | 0;
HEAP32[$381 >> 2] = 0;
label = 63;
break;
case 63:
var $383 = $en_short + 8 | 0;
var $384 = HEAPF32[$383 >> 2];
var $385 = $en_short + 12 | 0;
var $386 = HEAPF32[$385 >> 2];
var $387 = $384 > $386;
var $388 = $387 ? $384 : $386;
var $389 = $388 < 4e4;
var $390 = $386 * 1.7000000476837158;
var $391 = $384 < $390;
var $or_cond_2 = $389 & $391;
var $392 = $384 * 1.7000000476837158;
var $393 = $386 < $392;
var $or_cond204_2 = $or_cond_2 & $393;
if ($or_cond204_2) {
label = 64;
break;
} else {
label = 65;
break;
}
case 64:
var $395 = $ns_attacks + ($chn_1223 << 4) + 12 | 0;
HEAP32[$395 >> 2] = 0;
label = 65;
break;
case 65:
var $397 = $ns_attacks + ($chn_1223 << 4) | 0;
var $398 = HEAP32[$397 >> 2];
var $399 = $gfc + 27780 + ($chn_1223 << 2) | 0;
var $400 = HEAP32[$399 >> 2];
var $401 = ($398 | 0) > ($400 | 0);
if ($401) {
var $308 = $400;
label = 39;
break;
} else {
label = 38;
break;
}
}
}
_vbrpsy_attack_detection["X"] = 1;
function _vbrpsy_compute_fft_l($gfc, $buffer, $chn, $gr_out, $fftenergy, $wsamp_l) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 140 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
var $8 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfc + 85800 | 0;
var $6 = HEAP32[$5 >> 2];
var $8 = $6;
label = 4;
break;
case 4:
var $8;
var $9 = ($chn | 0) < 2;
if ($9) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $11 = $wsamp_l | 0;
_fft_long($gfc, $11, $chn, $buffer);
label = 8;
break;
case 6:
var $13 = ($chn | 0) == 2;
if ($13) {
var $j_061 = 1023;
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $j_061;
var $14 = $wsamp_l + ($j_061 << 2) | 0;
var $15 = HEAPF32[$14 >> 2];
var $16 = $wsamp_l + 4096 + ($j_061 << 2) | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = $15 + $17;
var $19 = $18 * .7071067690849304;
HEAPF32[$14 >> 2] = $19;
var $20 = $15 - $17;
var $21 = $20 * .7071067690849304;
HEAPF32[$16 >> 2] = $21;
var $22 = $j_061 - 1 | 0;
var $23 = ($j_061 | 0) > 0;
if ($23) {
var $j_061 = $22;
label = 7;
break;
} else {
label = 8;
break;
}
case 8:
var $24 = $wsamp_l | 0;
var $25 = HEAPF32[$24 >> 2];
var $26 = $25 * $25;
HEAPF32[$fftenergy >> 2] = $26;
var $j_158 = 511;
label = 9;
break;
case 9:
var $j_158;
var $28 = 512 - $j_158 | 0;
var $29 = $wsamp_l + ($28 << 2) | 0;
var $30 = HEAPF32[$29 >> 2];
var $31 = $j_158 + 512 | 0;
var $32 = $wsamp_l + ($31 << 2) | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $30 * $30;
var $35 = $33 * $33;
var $36 = $34 + $35;
var $37 = $36 * .5;
var $38 = $fftenergy + ($28 << 2) | 0;
HEAPF32[$38 >> 2] = $37;
var $39 = $j_158 - 1 | 0;
var $40 = ($j_158 | 0) > 0;
if ($40) {
var $j_158 = $39;
label = 9;
break;
} else {
var $j_256 = 11;
var $totalenergy_057 = 0;
label = 10;
break;
}
case 10:
var $totalenergy_057;
var $j_256;
var $41 = $fftenergy + ($j_256 << 2) | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $totalenergy_057 + $42;
var $44 = $j_256 + 1 | 0;
var $exitcond62 = ($44 | 0) == 513;
if ($exitcond62) {
label = 11;
break;
} else {
var $j_256 = $44;
var $totalenergy_057 = $43;
label = 10;
break;
}
case 11:
var $46 = $gfc + 27620 + ($chn << 2) | 0;
HEAPF32[$46 >> 2] = $43;
var $47 = ($8 | 0) == 0;
if ($47) {
label = 13;
break;
} else {
var $j_354 = 0;
label = 12;
break;
}
case 12:
var $j_354;
var $48 = $8 + 90932 + ($chn << 13) + ($j_354 << 3) | 0;
var $49 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$48 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$48 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $50 = $8 + 123700 + ($gr_out << 15) + ($chn << 13) + ($j_354 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $49, HEAP32[$50 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$50 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $51 = $fftenergy + ($j_354 << 2) | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $52;
HEAPF64[tempDoublePtr >> 3] = $53, HEAP32[$48 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$48 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $54 = $j_354 + 1 | 0;
var $exitcond = ($54 | 0) == 513;
if ($exitcond) {
label = 13;
break;
} else {
var $j_354 = $54;
label = 12;
break;
}
case 13:
return;
}
}
_vbrpsy_compute_fft_l["X"] = 1;
function _vbrpsy_compute_loudness_approximation_l($gfc, $gr_out, $chn, $fftenergy) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($chn | 0) < 2;
if ($1) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $3 = $gfc + 27612 + ($chn << 2) | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $gfc + 27804 + ($gr_out << 3) + ($chn << 2) | 0;
HEAPF32[$5 >> 2] = $4;
var $6 = $gfc + 85792 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 + 724 | 0;
var $9 = _psycho_loudness_approx($fftenergy, $8);
HEAPF32[$3 >> 2] = $9;
label = 4;
break;
case 4:
return;
}
}
function _vbrpsy_compute_MS_thresholds($eb, $thr, $cb_mld, $ath_cb, $athlower, $msfix, $n) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $msfix * 2;
var $2 = ($n | 0) > 0;
if ($2) {
label = 3;
break;
} else {
label = 12;
break;
}
case 3:
var $3 = $msfix > 0;
var $b_082 = 0;
label = 4;
break;
case 4:
var $b_082;
var $5 = $eb + 512 + ($b_082 << 2) | 0;
var $6 = HEAPF32[$5 >> 2];
var $7 = $eb + 768 + ($b_082 << 2) | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = $thr + ($b_082 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $thr + 256 + ($b_082 << 2) | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $thr + 512 + ($b_082 << 2) | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = $thr + 768 + ($b_082 << 2) | 0;
var $16 = HEAPF32[$15 >> 2];
var $17 = $12 * 1.5800000429153442;
var $18 = $10 > $17;
var $19 = $10 * 1.5800000429153442;
var $20 = $12 > $19;
var $or_cond = $18 | $20;
if ($or_cond) {
var $rside_0 = $16;
var $rmid_0 = $14;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $22 = $cb_mld + ($b_082 << 2) | 0;
var $23 = HEAPF32[$22 >> 2];
var $24 = $8 * $23;
var $25 = $6 * $23;
var $26 = $16 < $24;
var $27 = $26 ? $16 : $24;
var $28 = $14 < $25;
var $29 = $28 ? $14 : $25;
var $30 = $14 > $27;
var $31 = $30 ? $14 : $27;
var $32 = $16 > $29;
var $33 = $32 ? $16 : $29;
var $rside_0 = $33;
var $rmid_0 = $31;
label = 6;
break;
case 6:
var $rmid_0;
var $rside_0;
if ($3) {
label = 7;
break;
} else {
var $rside_1 = $rside_0;
var $rmid_1 = $rmid_0;
label = 11;
break;
}
case 7:
var $36 = $ath_cb + ($b_082 << 2) | 0;
var $37 = HEAPF32[$36 >> 2];
var $38 = $37 * $athlower;
var $39 = $10 > $38;
var $40 = $39 ? $10 : $38;
var $41 = $12 > $38;
var $42 = $41 ? $12 : $38;
var $43 = $rmid_0 > $38;
var $44 = $43 ? $rmid_0 : $38;
var $45 = $rside_0 > $38;
var $46 = $45 ? $rside_0 : $38;
var $47 = $44 + $46;
var $48 = $47 > 0;
if ($48) {
label = 8;
break;
} else {
var $thmM_0 = $44;
var $thmS_0 = $46;
label = 10;
break;
}
case 8:
var $50 = $40 < $42;
var $51 = $50 ? $40 : $42;
var $52 = $1 * $51;
var $53 = $52 < $47;
if ($53) {
label = 9;
break;
} else {
var $thmM_0 = $44;
var $thmS_0 = $46;
label = 10;
break;
}
case 9:
var $55 = $52 / $47;
var $56 = $44 * $55;
var $57 = $46 * $55;
var $thmM_0 = $56;
var $thmS_0 = $57;
label = 10;
break;
case 10:
var $thmS_0;
var $thmM_0;
var $59 = $thmM_0 < $rmid_0;
var $60 = $59 ? $thmM_0 : $rmid_0;
var $61 = $thmS_0 < $rside_0;
var $62 = $61 ? $thmS_0 : $rside_0;
var $rside_1 = $62;
var $rmid_1 = $60;
label = 11;
break;
case 11:
var $rmid_1;
var $rside_1;
var $64 = $rmid_1 > $6;
var $rmid_2 = $64 ? $6 : $rmid_1;
var $65 = $rside_1 > $8;
var $rside_2 = $65 ? $8 : $rside_1;
HEAPF32[$13 >> 2] = $rmid_2;
HEAPF32[$15 >> 2] = $rside_2;
var $66 = $b_082 + 1 | 0;
var $exitcond = ($66 | 0) == ($n | 0);
if ($exitcond) {
label = 12;
break;
} else {
var $b_082 = $66;
label = 4;
break;
}
case 12:
return;
}
}
_vbrpsy_compute_MS_thresholds["X"] = 1;
function _vbrpsy_skip_masking_s($gfc, $chn, $sblock) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($sblock | 0) == 0;
if ($1) {
label = 3;
break;
} else {
label = 5;
break;
}
case 3:
var $3 = $gfc + 85796 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $4 + 4308 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) > 0;
if ($7) {
var $b_09 = 0;
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $b_09;
var $8 = $gfc + 23612 + ($chn << 8) + ($b_09 << 2) | 0;
var $9 = HEAPF32[$8 >> 2];
var $10 = $gfc + 24636 + ($chn << 8) + ($b_09 << 2) | 0;
HEAPF32[$10 >> 2] = $9;
var $11 = $b_09 + 1 | 0;
var $exitcond = ($11 | 0) == ($6 | 0);
if ($exitcond) {
label = 5;
break;
} else {
var $b_09 = $11;
label = 4;
break;
}
case 5:
return;
}
}
function _vbrpsy_apply_block_type($psv, $nch, $uselongblock, $blocktype_d) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($nch | 0) > 0;
if ($1) {
var $chn_020 = 0;
label = 3;
break;
} else {
label = 10;
break;
}
case 3:
var $chn_020;
var $2 = $uselongblock + ($chn_020 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 0;
var $5 = $psv + 6232 + ($chn_020 << 2) | 0;
var $6 = HEAP32[$5 >> 2];
if ($4) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = ($6 | 0) == 2;
var $_ = $8 ? 3 : 0;
var $blocktype_0 = $_;
label = 9;
break;
case 5:
var $10 = ($6 | 0) == 0;
if ($10) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
HEAP32[$5 >> 2] = 1;
var $blocktype_0 = 2;
label = 9;
break;
case 7:
var $_pr = HEAP32[$5 >> 2];
var $12 = ($_pr | 0) == 3;
if ($12) {
label = 8;
break;
} else {
var $blocktype_0 = 2;
label = 9;
break;
}
case 8:
HEAP32[$5 >> 2] = 2;
var $blocktype_0 = 2;
label = 9;
break;
case 9:
var $blocktype_0;
var $15 = HEAP32[$5 >> 2];
var $16 = $blocktype_d + ($chn_020 << 2) | 0;
HEAP32[$16 >> 2] = $15;
HEAP32[$5 >> 2] = $blocktype_0;
var $17 = $chn_020 + 1 | 0;
var $exitcond = ($17 | 0) == ($nch | 0);
if ($exitcond) {
label = 10;
break;
} else {
var $chn_020 = $17;
label = 3;
break;
}
case 10:
return;
}
}
function _vbrpsy_compute_masking_l($gfc, $fftenergy, $eb_l, $thr, $chn) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 580 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $max = __stackBase__;
var $avg = __stackBase__ + 256;
var $mask_idx_l = __stackBase__ + 512;
var $1 = $gfc + 85796 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 | 0;
var $4 = $max | 0;
var $5 = $avg | 0;
_calc_energy($3, $fftenergy, $eb_l, $4, $5);
var $6 = $mask_idx_l | 0;
_calc_mask_index_l($gfc, $4, $5, $6);
var $7 = $2 + 2148 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) > 0;
if ($9) {
label = 3;
break;
} else {
var $b_1113 = 0;
label = 24;
break;
}
case 3:
var $10 = $gfc + 84904 | 0;
var $11 = $2 + 2156 | 0;
var $12 = $chn & 1;
var $13 = $gfc + 27796 + ($12 << 2) | 0;
var $b_0127 = 0;
var $k_0128 = 0;
label = 5;
break;
case 4:
var $14 = ($134 | 0) < 64;
if ($14) {
var $b_1113 = $134;
label = 24;
break;
} else {
label = 25;
break;
}
case 5:
var $k_0128;
var $b_0127;
var $16 = $2 + ($b_0127 << 2) | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = HEAPF32[$10 >> 2];
var $19 = $17 * $18;
var $20 = $2 + 1204 + ($b_0127 << 3) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $2 + 1204 + ($b_0127 << 3) + 4 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = $mask_idx_l + $b_0127 | 0;
var $25 = HEAP8[$24];
var $26 = $25 & 255;
var $27 = _mask_add_delta($26);
var $28 = $mask_idx_l + $21 | 0;
var $29 = HEAP8[$28];
var $30 = $29 & 255;
var $31 = HEAP32[$11 >> 2];
var $32 = $31 + ($k_0128 << 2) | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $eb_l + ($21 << 2) | 0;
var $35 = HEAPF32[$34 >> 2];
var $36 = $33 * $35;
var $37 = 5249776 + ($30 << 2) | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = $36 * $38;
var $k_1114 = $k_0128 + 1 | 0;
var $kk_0115 = $21 + 1 | 0;
var $40 = ($kk_0115 | 0) > ($23 | 0);
if ($40) {
var $ecb_0_lcssa = $39;
var $dd_0_lcssa = $30;
var $dd_n_0_lcssa = 2;
var $k_1_lcssa = $k_1114;
label = 8;
break;
} else {
var $ecb_0116 = $39;
var $dd_0117 = $30;
var $dd_n_0118 = 1;
var $k_1119 = $k_1114;
var $kk_0120 = $kk_0115;
label = 6;
break;
}
case 6:
var $kk_0120;
var $k_1119;
var $dd_n_0118;
var $dd_0117;
var $ecb_0116;
var $41 = $mask_idx_l + $kk_0120 | 0;
var $42 = HEAP8[$41];
var $43 = $42 & 255;
var $44 = $43 + $dd_0117 | 0;
var $45 = $dd_n_0118 + 1 | 0;
var $46 = HEAP32[$11 >> 2];
var $47 = $46 + ($k_1119 << 2) | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $eb_l + ($kk_0120 << 2) | 0;
var $50 = HEAPF32[$49 >> 2];
var $51 = $48 * $50;
var $52 = 5249776 + ($43 << 2) | 0;
var $53 = HEAPF32[$52 >> 2];
var $54 = $51 * $53;
var $55 = $kk_0120 - $b_0127 | 0;
var $56 = _vbrpsy_mask_add($ecb_0116, $54, $55, $27);
var $k_1 = $k_1119 + 1 | 0;
var $kk_0 = $kk_0120 + 1 | 0;
var $57 = ($kk_0 | 0) > ($23 | 0);
if ($57) {
label = 7;
break;
} else {
var $ecb_0116 = $56;
var $dd_0117 = $44;
var $dd_n_0118 = $45;
var $k_1119 = $k_1;
var $kk_0120 = $kk_0;
label = 6;
break;
}
case 7:
var $phitmp = $45 << 1;
var $ecb_0_lcssa = $56;
var $dd_0_lcssa = $44;
var $dd_n_0_lcssa = $phitmp;
var $k_1_lcssa = $k_1;
label = 8;
break;
case 8:
var $k_1_lcssa;
var $dd_n_0_lcssa;
var $dd_0_lcssa;
var $ecb_0_lcssa;
var $59 = $dd_0_lcssa << 1;
var $60 = $59 | 1;
var $61 = ($60 | 0) / ($dd_n_0_lcssa | 0) & -1;
var $62 = 5249776 + ($61 << 2) | 0;
var $63 = HEAPF32[$62 >> 2];
var $64 = $63 * .5;
var $65 = $ecb_0_lcssa * $64;
var $66 = HEAP32[$13 >> 2];
var $67 = ($66 | 0) == 2;
if ($67) {
label = 9;
break;
} else {
label = 12;
break;
}
case 9:
var $69 = $gfc + 21564 + ($chn << 8) + ($b_0127 << 2) | 0;
var $70 = HEAPF32[$69 >> 2];
var $71 = $70 * 2;
var $72 = $71 > 0;
if ($72) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $74 = $65 < $71;
var $75 = $74 ? $65 : $71;
var $76 = $thr + ($b_0127 << 2) | 0;
HEAPF32[$76 >> 2] = $75;
label = 15;
break;
case 11:
var $78 = $65;
var $79 = $eb_l + ($b_0127 << 2) | 0;
var $80 = HEAPF32[$79 >> 2];
var $81 = $80;
var $82 = $81 * .3;
var $83 = $78 < $82;
var $_ = $83 ? $78 : $82;
var $84 = $_;
var $85 = $thr + ($b_0127 << 2) | 0;
HEAPF32[$85 >> 2] = $84;
label = 15;
break;
case 12:
var $87 = $gfc + 22588 + ($chn << 8) + ($b_0127 << 2) | 0;
var $88 = HEAPF32[$87 >> 2];
var $89 = $88 * 16;
var $90 = $gfc + 21564 + ($chn << 8) + ($b_0127 << 2) | 0;
var $91 = HEAPF32[$90 >> 2];
var $92 = $91 * 2;
var $93 = $89 > 0;
var $ecb_limit_2_0 = $93 ? $89 : $65;
var $94 = $92 > 0;
var $ecb_limit_1_0 = $94 ? $92 : $65;
var $95 = ($66 | 0) == 0;
if ($95) {
label = 13;
break;
} else {
var $ecb_limit1_0 = $ecb_limit_1_0;
label = 14;
break;
}
case 13:
var $97 = $ecb_limit_1_0 < $ecb_limit_2_0;
var $98 = $97 ? $ecb_limit_1_0 : $ecb_limit_2_0;
var $ecb_limit1_0 = $98;
label = 14;
break;
case 14:
var $ecb_limit1_0;
var $100 = $65 < $ecb_limit1_0;
var $101 = $100 ? $65 : $ecb_limit1_0;
var $102 = $thr + ($b_0127 << 2) | 0;
HEAPF32[$102 >> 2] = $101;
label = 15;
break;
case 15:
var $104 = $gfc + 21564 + ($chn << 8) + ($b_0127 << 2) | 0;
var $105 = HEAPF32[$104 >> 2];
var $106 = $gfc + 22588 + ($chn << 8) + ($b_0127 << 2) | 0;
HEAPF32[$106 >> 2] = $105;
HEAPF32[$104 >> 2] = $65;
var $107 = $max + ($b_0127 << 2) | 0;
var $108 = HEAPF32[$107 >> 2];
var $109 = $2 + 256 + ($b_0127 << 2) | 0;
var $110 = HEAPF32[$109 >> 2];
var $111 = $108 * $110;
var $112 = $64 * $111;
var $113 = $thr + ($b_0127 << 2) | 0;
var $114 = HEAPF32[$113 >> 2];
var $115 = $114 > $112;
if ($115) {
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
HEAPF32[$113 >> 2] = $112;
label = 17;
break;
case 17:
var $118 = $19 > 1;
if ($118) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
var $120 = HEAPF32[$113 >> 2];
var $121 = $19 * $120;
HEAPF32[$113 >> 2] = $121;
label = 19;
break;
case 19:
var $123 = HEAPF32[$113 >> 2];
var $124 = $eb_l + ($b_0127 << 2) | 0;
var $125 = HEAPF32[$124 >> 2];
var $126 = $123 > $125;
if ($126) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
HEAPF32[$113 >> 2] = $125;
label = 21;
break;
case 21:
var $129 = $19 < 1;
if ($129) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $131 = HEAPF32[$113 >> 2];
var $132 = $19 * $131;
HEAPF32[$113 >> 2] = $132;
label = 23;
break;
case 23:
var $134 = $b_0127 + 1 | 0;
var $135 = HEAP32[$7 >> 2];
var $136 = ($134 | 0) < ($135 | 0);
if ($136) {
var $b_0127 = $134;
var $k_0128 = $k_1_lcssa;
label = 5;
break;
} else {
label = 4;
break;
}
case 24:
var $b_1113;
var $137 = $eb_l + ($b_1113 << 2) | 0;
HEAPF32[$137 >> 2] = 0;
var $138 = $thr + ($b_1113 << 2) | 0;
HEAPF32[$138 >> 2] = 0;
var $139 = $b_1113 + 1 | 0;
var $exitcond = ($139 | 0) == 64;
if ($exitcond) {
label = 25;
break;
} else {
var $b_1113 = $139;
label = 24;
break;
}
case 25:
STACKTOP = __stackBase__;
return;
}
}
_vbrpsy_compute_masking_l["X"] = 1;
function _convert_partition2scalefac_l($gfc, $eb, $thr, $chn) {
_convert_partition2scalefac(HEAP32[$gfc + 85796 >> 2] | 0, $eb, $thr, $gfc + 26636 + $chn * 244 | 0, $gfc + 25660 + $chn * 244 | 0);
return;
}
function _convert_partition2scalefac_l_to_s($gfc, $eb, $thr, $chn) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 104 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $enn = __stackBase__;
var $thm = __stackBase__ + 52;
var $1 = $gfc + 85796 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 4320 | 0;
var $4 = $enn | 0;
var $5 = $thm | 0;
_convert_partition2scalefac($3, $eb, $thr, $4, $5);
var $sb_016 = 0;
label = 3;
break;
case 3:
var $sb_016;
var $7 = $enn + ($sb_016 << 2) | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = $thm + ($sb_016 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $10 * .015625;
var $12 = $gfc + 26636 + $chn * 244 + 88 + $sb_016 * 12 | 0;
HEAPF32[$12 >> 2] = $8;
var $13 = $gfc + 25660 + $chn * 244 + 88 + $sb_016 * 12 | 0;
HEAPF32[$13 >> 2] = $11;
var $14 = $gfc + 26636 + $chn * 244 + 88 + $sb_016 * 12 + 4 | 0;
HEAPF32[$14 >> 2] = $8;
var $15 = $gfc + 25660 + $chn * 244 + 88 + $sb_016 * 12 + 4 | 0;
HEAPF32[$15 >> 2] = $11;
var $16 = $gfc + 26636 + $chn * 244 + 88 + $sb_016 * 12 + 8 | 0;
HEAPF32[$16 >> 2] = $8;
var $17 = $gfc + 25660 + $chn * 244 + 88 + $sb_016 * 12 + 8 | 0;
HEAPF32[$17 >> 2] = $11;
var $18 = $sb_016 + 1 | 0;
var $exitcond = ($18 | 0) == 13;
if ($exitcond) {
label = 4;
break;
} else {
var $sb_016 = $18;
label = 3;
break;
}
case 4:
STACKTOP = __stackBase__;
return;
}
}
function _vbrpsy_compute_fft_s($gfc, $buffer, $chn, $sblock, $fftenergy_s, $wsamp_s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($sblock | 0) == 0;
var $2 = ($chn | 0) < 2;
var $or_cond = $1 & $2;
if ($or_cond) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $4 = $wsamp_s | 0;
_fft_short($gfc, $4, $chn, $buffer);
label = 4;
break;
case 4:
var $6 = ($chn | 0) == 2;
if ($6) {
var $j_044 = 255;
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $j_044;
var $7 = $wsamp_s + ($sblock << 10) + ($j_044 << 2) | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = $wsamp_s + 3072 + ($sblock << 10) + ($j_044 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $8 + $10;
var $12 = $11 * .7071067690849304;
HEAPF32[$7 >> 2] = $12;
var $13 = $8 - $10;
var $14 = $13 * .7071067690849304;
HEAPF32[$9 >> 2] = $14;
var $15 = $j_044 - 1 | 0;
var $16 = ($j_044 | 0) > 0;
if ($16) {
var $j_044 = $15;
label = 5;
break;
} else {
label = 6;
break;
}
case 6:
var $17 = $wsamp_s + ($sblock << 10) | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = $fftenergy_s + $sblock * 516 | 0;
var $20 = $18 * $18;
HEAPF32[$19 >> 2] = $20;
var $j_143 = 127;
label = 7;
break;
case 7:
var $j_143;
var $22 = 128 - $j_143 | 0;
var $23 = $wsamp_s + ($sblock << 10) + ($22 << 2) | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = $j_143 + 128 | 0;
var $26 = $wsamp_s + ($sblock << 10) + ($25 << 2) | 0;
var $27 = HEAPF32[$26 >> 2];
var $28 = $24 * $24;
var $29 = $27 * $27;
var $30 = $28 + $29;
var $31 = $30 * .5;
var $32 = $fftenergy_s + $sblock * 516 + ($22 << 2) | 0;
HEAPF32[$32 >> 2] = $31;
var $33 = $j_143 - 1 | 0;
var $34 = ($j_143 | 0) > 0;
if ($34) {
var $j_143 = $33;
label = 7;
break;
} else {
label = 8;
break;
}
case 8:
return;
}
}
function _vbrpsy_compute_masking_s($gfc, $fftenergy_s, $eb, $thr, $chn, $sblock) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 576 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $max = __stackBase__;
var $avg = __stackBase__ + 256;
var $mask_idx_s = __stackBase__ + 512;
var $1 = $gfc + 85796 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $max;
for (var $$dest = $3 >> 2, $$stop = $$dest + 64; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $4 = $avg;
for (var $$dest = $4 >> 2, $$stop = $$dest + 64; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $5 = $2 + 4308 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) > 0;
if ($7) {
var $b_0128 = 0;
var $j_0129 = 0;
label = 3;
break;
} else {
label = 7;
break;
}
case 3:
var $j_0129;
var $b_0128;
var $8 = $2 + 3876 + ($b_0128 << 2) | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($9 | 0) > 0;
if ($10) {
var $m_0118 = 0;
var $ebb_0119 = 0;
var $j_1120 = $j_0129;
var $i_0121 = 0;
label = 4;
break;
} else {
var $m_0_lcssa = 0;
var $ebb_0_lcssa = 0;
var $j_1_lcssa = $j_0129;
label = 6;
break;
}
case 4:
var $i_0121;
var $j_1120;
var $ebb_0119;
var $m_0118;
var $11 = $fftenergy_s + $sblock * 516 + ($j_1120 << 2) | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $ebb_0119 + $12;
var $14 = $m_0118 < $12;
var $m_1 = $14 ? $12 : $m_0118;
var $15 = $i_0121 + 1 | 0;
var $16 = $j_1120 + 1 | 0;
var $exitcond142 = ($15 | 0) == ($9 | 0);
if ($exitcond142) {
label = 5;
break;
} else {
var $m_0118 = $m_1;
var $ebb_0119 = $13;
var $j_1120 = $16;
var $i_0121 = $15;
label = 4;
break;
}
case 5:
var $17 = $j_0129 + $9 | 0;
var $m_0_lcssa = $m_1;
var $ebb_0_lcssa = $13;
var $j_1_lcssa = $17;
label = 6;
break;
case 6:
var $j_1_lcssa;
var $ebb_0_lcssa;
var $m_0_lcssa;
var $19 = $eb + ($b_0128 << 2) | 0;
HEAPF32[$19 >> 2] = $ebb_0_lcssa;
var $20 = $max + ($b_0128 << 2) | 0;
HEAPF32[$20 >> 2] = $m_0_lcssa;
var $21 = $2 + 2672 + ($b_0128 << 2) | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $ebb_0_lcssa * $22;
var $24 = $avg + ($b_0128 << 2) | 0;
HEAPF32[$24 >> 2] = $23;
var $25 = $b_0128 + 1 | 0;
var $26 = HEAP32[$5 >> 2];
var $27 = ($25 | 0) < ($26 | 0);
if ($27) {
var $b_0128 = $25;
var $j_0129 = $j_1_lcssa;
label = 3;
break;
} else {
label = 7;
break;
}
case 7:
var $28 = $max | 0;
var $29 = $avg | 0;
var $30 = $mask_idx_s | 0;
_vbrpsy_calc_mask_index_s($gfc, $28, $29, $30);
var $31 = HEAP32[$5 >> 2];
var $32 = ($31 | 0) > 0;
if ($32) {
label = 8;
break;
} else {
var $b_299 = 0;
label = 22;
break;
}
case 8:
var $33 = $gfc + 84904 | 0;
var $34 = $2 + 4316 | 0;
var $b_1113 = 0;
var $j_2114 = 0;
label = 10;
break;
case 9:
var $35 = ($117 | 0) < 64;
if ($35) {
var $b_299 = $117;
label = 22;
break;
} else {
label = 23;
break;
}
case 10:
var $j_2114;
var $b_1113;
var $37 = $2 + 3364 + ($b_1113 << 3) | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = $2 + 3364 + ($b_1113 << 3) + 4 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $mask_idx_s + $b_1113 | 0;
var $42 = HEAP8[$41];
var $43 = $42 & 255;
var $44 = _mask_add_delta($43);
var $45 = $2 + 2160 + ($b_1113 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $47 = HEAPF32[$33 >> 2];
var $48 = $46 * $47;
var $49 = $mask_idx_s + $38 | 0;
var $50 = HEAP8[$49];
var $51 = $50 & 255;
var $52 = HEAP32[$34 >> 2];
var $53 = $52 + ($j_2114 << 2) | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $eb + ($38 << 2) | 0;
var $56 = HEAPF32[$55 >> 2];
var $57 = $54 * $56;
var $58 = 5249776 + ($51 << 2) | 0;
var $59 = HEAPF32[$58 >> 2];
var $60 = $57 * $59;
var $j_3100 = $j_2114 + 1 | 0;
var $kk_0101 = $38 + 1 | 0;
var $61 = ($kk_0101 | 0) > ($40 | 0);
if ($61) {
var $dd_0_lcssa = $51;
var $dd_n_0_lcssa = 2;
var $ecb_0_lcssa = $60;
var $j_3_lcssa = $j_3100;
label = 13;
break;
} else {
var $dd_0102 = $51;
var $dd_n_0103 = 1;
var $ecb_0104 = $60;
var $j_3105 = $j_3100;
var $kk_0106 = $kk_0101;
label = 11;
break;
}
case 11:
var $kk_0106;
var $j_3105;
var $ecb_0104;
var $dd_n_0103;
var $dd_0102;
var $62 = $mask_idx_s + $kk_0106 | 0;
var $63 = HEAP8[$62];
var $64 = $63 & 255;
var $65 = $64 + $dd_0102 | 0;
var $66 = $dd_n_0103 + 1 | 0;
var $67 = HEAP32[$34 >> 2];
var $68 = $67 + ($j_3105 << 2) | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = $eb + ($kk_0106 << 2) | 0;
var $71 = HEAPF32[$70 >> 2];
var $72 = $69 * $71;
var $73 = 5249776 + ($64 << 2) | 0;
var $74 = HEAPF32[$73 >> 2];
var $75 = $72 * $74;
var $76 = $kk_0106 - $b_1113 | 0;
var $77 = _vbrpsy_mask_add($ecb_0104, $75, $76, $44);
var $j_3 = $j_3105 + 1 | 0;
var $kk_0 = $kk_0106 + 1 | 0;
var $78 = ($kk_0 | 0) > ($40 | 0);
if ($78) {
label = 12;
break;
} else {
var $dd_0102 = $65;
var $dd_n_0103 = $66;
var $ecb_0104 = $77;
var $j_3105 = $j_3;
var $kk_0106 = $kk_0;
label = 11;
break;
}
case 12:
var $phitmp = $66 << 1;
var $dd_0_lcssa = $65;
var $dd_n_0_lcssa = $phitmp;
var $ecb_0_lcssa = $77;
var $j_3_lcssa = $j_3;
label = 13;
break;
case 13:
var $j_3_lcssa;
var $ecb_0_lcssa;
var $dd_n_0_lcssa;
var $dd_0_lcssa;
var $80 = $dd_0_lcssa << 1;
var $81 = $80 | 1;
var $82 = ($81 | 0) / ($dd_n_0_lcssa | 0) & -1;
var $83 = 5249776 + ($82 << 2) | 0;
var $84 = HEAPF32[$83 >> 2];
var $85 = $84 * .5;
var $86 = $ecb_0_lcssa * $85;
var $87 = $thr + ($b_1113 << 2) | 0;
HEAPF32[$87 >> 2] = $86;
var $88 = $gfc + 23612 + ($chn << 8) + ($b_1113 << 2) | 0;
var $89 = HEAPF32[$88 >> 2];
var $90 = $gfc + 24636 + ($chn << 8) + ($b_1113 << 2) | 0;
HEAPF32[$90 >> 2] = $89;
HEAPF32[$88 >> 2] = $86;
var $91 = $max + ($b_1113 << 2) | 0;
var $92 = HEAPF32[$91 >> 2];
var $93 = $2 + 2416 + ($b_1113 << 2) | 0;
var $94 = HEAPF32[$93 >> 2];
var $95 = $92 * $94;
var $96 = $85 * $95;
var $97 = HEAPF32[$87 >> 2];
var $98 = $97 > $96;
if ($98) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
HEAPF32[$87 >> 2] = $96;
label = 15;
break;
case 15:
var $101 = $48 > 1;
if ($101) {
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
var $103 = HEAPF32[$87 >> 2];
var $104 = $48 * $103;
HEAPF32[$87 >> 2] = $104;
label = 17;
break;
case 17:
var $106 = HEAPF32[$87 >> 2];
var $107 = $eb + ($b_1113 << 2) | 0;
var $108 = HEAPF32[$107 >> 2];
var $109 = $106 > $108;
if ($109) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
HEAPF32[$87 >> 2] = $108;
label = 19;
break;
case 19:
var $112 = $48 < 1;
if ($112) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
var $114 = HEAPF32[$87 >> 2];
var $115 = $48 * $114;
HEAPF32[$87 >> 2] = $115;
label = 21;
break;
case 21:
var $117 = $b_1113 + 1 | 0;
var $118 = HEAP32[$5 >> 2];
var $119 = ($117 | 0) < ($118 | 0);
if ($119) {
var $b_1113 = $117;
var $j_2114 = $j_3_lcssa;
label = 10;
break;
} else {
label = 9;
break;
}
case 22:
var $b_299;
var $120 = $eb + ($b_299 << 2) | 0;
HEAPF32[$120 >> 2] = 0;
var $121 = $thr + ($b_299 << 2) | 0;
HEAPF32[$121 >> 2] = 0;
var $122 = $b_299 + 1 | 0;
var $exitcond = ($122 | 0) == 64;
if ($exitcond) {
label = 23;
break;
} else {
var $b_299 = $122;
label = 22;
break;
}
case 23:
STACKTOP = __stackBase__;
return;
}
}
_vbrpsy_compute_masking_s["X"] = 1;
function _convert_partition2scalefac_s($gfc, $eb, $thr, $chn, $sblock) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 104 | 0;
var $enn = __stackBase__;
var $thm = __stackBase__ + 52;
_convert_partition2scalefac(HEAP32[$gfc + 85796 >> 2] + 2160 | 0, $eb, $thr, $enn | 0, $thm | 0);
HEAPF32[$gfc + 26636 + $chn * 244 + 88 + ($sblock << 2) >> 2] = HEAPF32[$enn >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 88 + ($sblock << 2) >> 2] = HEAPF32[$thm >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 100 + ($sblock << 2) >> 2] = HEAPF32[$enn + 4 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 100 + ($sblock << 2) >> 2] = HEAPF32[$thm + 4 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 112 + ($sblock << 2) >> 2] = HEAPF32[$enn + 8 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 112 + ($sblock << 2) >> 2] = HEAPF32[$thm + 8 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 124 + ($sblock << 2) >> 2] = HEAPF32[$enn + 12 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 124 + ($sblock << 2) >> 2] = HEAPF32[$thm + 12 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 136 + ($sblock << 2) >> 2] = HEAPF32[$enn + 16 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 136 + ($sblock << 2) >> 2] = HEAPF32[$thm + 16 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 148 + ($sblock << 2) >> 2] = HEAPF32[$enn + 20 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 148 + ($sblock << 2) >> 2] = HEAPF32[$thm + 20 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 160 + ($sblock << 2) >> 2] = HEAPF32[$enn + 24 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 160 + ($sblock << 2) >> 2] = HEAPF32[$thm + 24 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 172 + ($sblock << 2) >> 2] = HEAPF32[$enn + 28 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 172 + ($sblock << 2) >> 2] = HEAPF32[$thm + 28 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 184 + ($sblock << 2) >> 2] = HEAPF32[$enn + 32 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 184 + ($sblock << 2) >> 2] = HEAPF32[$thm + 32 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 196 + ($sblock << 2) >> 2] = HEAPF32[$enn + 36 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 196 + ($sblock << 2) >> 2] = HEAPF32[$thm + 36 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 208 + ($sblock << 2) >> 2] = HEAPF32[$enn + 40 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 208 + ($sblock << 2) >> 2] = HEAPF32[$thm + 40 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 220 + ($sblock << 2) >> 2] = HEAPF32[$enn + 44 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 220 + ($sblock << 2) >> 2] = HEAPF32[$thm + 44 >> 2];
HEAPF32[$gfc + 26636 + $chn * 244 + 232 + ($sblock << 2) >> 2] = HEAPF32[$enn + 48 >> 2];
HEAPF32[$gfc + 25660 + $chn * 244 + 232 + ($sblock << 2) >> 2] = HEAPF32[$thm + 48 >> 2];
STACKTOP = __stackBase__;
return;
}
_convert_partition2scalefac_s["X"] = 1;
function _NS_INTERP($x, $y, $r) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $r < 1;
if ($1) {
label = 3;
break;
} else {
var $_0 = $x;
label = 6;
break;
}
case 3:
var $3 = $r > 0;
if ($3) {
label = 4;
break;
} else {
var $_0 = $y;
label = 6;
break;
}
case 4:
var $5 = $y > 0;
if ($5) {
label = 5;
break;
} else {
var $_0 = 0;
label = 6;
break;
}
case 5:
var $7 = $x / $y;
var $8 = Math.pow($7, $r);
var $9 = $8 * $y;
var $_0 = $9;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _pecalc_s($mr, $masking_lower) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $sb_019 = 0;
var $pe_s_020 = 309.07000732421875;
label = 3;
break;
case 3:
var $pe_s_020;
var $sb_019;
var $2 = 5291432 + ($sb_019 << 2) | 0;
var $3 = $mr + 88 + $sb_019 * 12 | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $4 > 0;
if ($5) {
label = 4;
break;
} else {
var $pe_s_2 = $pe_s_020;
label = 8;
break;
}
case 4:
var $7 = $4 * $masking_lower;
var $8 = $mr + 332 + $sb_019 * 12 | 0;
var $9 = HEAPF32[$8 >> 2];
var $10 = $9 > $7;
if ($10) {
label = 5;
break;
} else {
var $pe_s_2 = $pe_s_020;
label = 8;
break;
}
case 5:
var $12 = $7 * 1e10;
var $13 = $9 > $12;
var $14 = HEAPF32[$2 >> 2];
var $15 = $14;
if ($13) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $17 = $15 * 23.02585092994046;
var $18 = $pe_s_020;
var $19 = $18 + $17;
var $20 = $19;
var $pe_s_2 = $20;
label = 8;
break;
case 7:
var $22 = $9 / $7;
var $23 = _fast_log2($22);
var $24 = $23;
var $25 = $24 * .30102999566398114;
var $26 = $15 * $25;
var $27 = $pe_s_020;
var $28 = $27 + $26;
var $29 = $28;
var $pe_s_2 = $29;
label = 8;
break;
case 8:
var $pe_s_2;
var $31 = $mr + 88 + $sb_019 * 12 + 4 | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = $32 > 0;
if ($33) {
label = 10;
break;
} else {
var $pe_s_2_1 = $pe_s_2;
label = 14;
break;
}
case 9:
return $pe_s_2_2;
case 10:
var $36 = $32 * $masking_lower;
var $37 = $mr + 332 + $sb_019 * 12 + 4 | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = $38 > $36;
if ($39) {
label = 11;
break;
} else {
var $pe_s_2_1 = $pe_s_2;
label = 14;
break;
}
case 11:
var $41 = $36 * 1e10;
var $42 = $38 > $41;
var $43 = HEAPF32[$2 >> 2];
var $44 = $43;
if ($42) {
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $46 = $38 / $36;
var $47 = _fast_log2($46);
var $48 = $47;
var $49 = $48 * .30102999566398114;
var $50 = $44 * $49;
var $51 = $pe_s_2;
var $52 = $51 + $50;
var $53 = $52;
var $pe_s_2_1 = $53;
label = 14;
break;
case 13:
var $55 = $44 * 23.02585092994046;
var $56 = $pe_s_2;
var $57 = $56 + $55;
var $58 = $57;
var $pe_s_2_1 = $58;
label = 14;
break;
case 14:
var $pe_s_2_1;
var $60 = $mr + 88 + $sb_019 * 12 + 8 | 0;
var $61 = HEAPF32[$60 >> 2];
var $62 = $61 > 0;
if ($62) {
label = 15;
break;
} else {
var $pe_s_2_2 = $pe_s_2_1;
label = 19;
break;
}
case 15:
var $64 = $61 * $masking_lower;
var $65 = $mr + 332 + $sb_019 * 12 + 8 | 0;
var $66 = HEAPF32[$65 >> 2];
var $67 = $66 > $64;
if ($67) {
label = 16;
break;
} else {
var $pe_s_2_2 = $pe_s_2_1;
label = 19;
break;
}
case 16:
var $69 = $64 * 1e10;
var $70 = $66 > $69;
var $71 = HEAPF32[$2 >> 2];
var $72 = $71;
if ($70) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $74 = $66 / $64;
var $75 = _fast_log2($74);
var $76 = $75;
var $77 = $76 * .30102999566398114;
var $78 = $72 * $77;
var $79 = $pe_s_2_1;
var $80 = $79 + $78;
var $81 = $80;
var $pe_s_2_2 = $81;
label = 19;
break;
case 18:
var $83 = $72 * 23.02585092994046;
var $84 = $pe_s_2_1;
var $85 = $84 + $83;
var $86 = $85;
var $pe_s_2_2 = $86;
label = 19;
break;
case 19:
var $pe_s_2_2;
var $88 = $sb_019 + 1 | 0;
var $exitcond = ($88 | 0) == 12;
if ($exitcond) {
label = 9;
break;
} else {
var $sb_019 = $88;
var $pe_s_020 = $pe_s_2_2;
label = 3;
break;
}
}
}
_pecalc_s["X"] = 1;
function _pecalc_l($mr, $masking_lower) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $sb_014 = 0;
var $pe_l_015 = 281.0574951171875;
label = 3;
break;
case 3:
var $pe_l_015;
var $sb_014;
var $2 = $mr + ($sb_014 << 2) | 0;
var $3 = HEAPF32[$2 >> 2];
var $4 = $3 > 0;
if ($4) {
label = 4;
break;
} else {
var $pe_l_1 = $pe_l_015;
label = 8;
break;
}
case 4:
var $6 = $3 * $masking_lower;
var $7 = $mr + 244 + ($sb_014 << 2) | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = $8 > $6;
if ($9) {
label = 5;
break;
} else {
var $pe_l_1 = $pe_l_015;
label = 8;
break;
}
case 5:
var $11 = $6 * 1e10;
var $12 = $8 > $11;
var $13 = 5291480 + ($sb_014 << 2) | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = $14;
if ($12) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $17 = $15 * 23.02585092994046;
var $18 = $pe_l_015;
var $19 = $18 + $17;
var $20 = $19;
var $pe_l_1 = $20;
label = 8;
break;
case 7:
var $22 = $8 / $6;
var $23 = _fast_log2($22);
var $24 = $23;
var $25 = $24 * .30102999566398114;
var $26 = $15 * $25;
var $27 = $pe_l_015;
var $28 = $27 + $26;
var $29 = $28;
var $pe_l_1 = $29;
label = 8;
break;
case 8:
var $pe_l_1;
var $31 = $sb_014 + 1 | 0;
var $exitcond = ($31 | 0) == 21;
if ($exitcond) {
label = 9;
break;
} else {
var $sb_014 = $31;
var $pe_l_015 = $pe_l_1;
label = 3;
break;
}
case 9:
return $pe_l_1;
}
}
function _psymodel_init($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 768 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bval = __stackBase__;
var $bval_width = __stackBase__ + 256;
var $norm = __stackBase__ + 512;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 16 | 0;
var $4 = $2 + 64 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $7 = $2 + 280 | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = -$8;
var $10 = $2 + 85796 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) == 0;
if ($12) {
label = 3;
break;
} else {
var $_0 = 0;
label = 62;
break;
}
case 3:
var $14 = $norm;
for (var $$dest = $14 >> 2, $$stop = $$dest + 64; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $15 = _calloc(1, 6504);
var $16 = $15;
HEAP32[$10 >> 2] = $16;
var $17 = $gfp + 144 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $15 + 6500 | 0;
var $20 = $19;
HEAP32[$20 >> 2] = $18;
var $21 = $2 + 27800 | 0;
HEAP32[$21 >> 2] = 0;
var $22 = $2 + 27796 | 0;
HEAP32[$22 >> 2] = 0;
var $i_0343 = 0;
label = 4;
break;
case 4:
var $i_0343;
var $j_0335 = 0;
label = 5;
break;
case 5:
var $j_0335;
var $24 = $2 + 21564 + ($i_0343 << 8) + ($j_0335 << 2) | 0;
HEAPF32[$24 >> 2] = 0x56bc7600000000000;
var $25 = $2 + 22588 + ($i_0343 << 8) + ($j_0335 << 2) | 0;
HEAPF32[$25 >> 2] = 0x56bc7600000000000;
var $26 = $2 + 24636 + ($i_0343 << 8) + ($j_0335 << 2) | 0;
HEAPF32[$26 >> 2] = 1;
var $27 = $2 + 23612 + ($i_0343 << 8) + ($j_0335 << 2) | 0;
HEAPF32[$27 >> 2] = 1;
var $28 = $j_0335 + 1 | 0;
var $exitcond356 = ($28 | 0) == 64;
if ($exitcond356) {
var $sb_0337 = 0;
label = 6;
break;
} else {
var $j_0335 = $28;
label = 5;
break;
}
case 6:
var $sb_0337;
var $29 = $2 + 26636 + $i_0343 * 244 + ($sb_0337 << 2) | 0;
HEAPF32[$29 >> 2] = 0x56bc7600000000000;
var $30 = $2 + 25660 + $i_0343 * 244 + ($sb_0337 << 2) | 0;
HEAPF32[$30 >> 2] = 0x56bc7600000000000;
var $31 = $sb_0337 + 1 | 0;
var $exitcond357 = ($31 | 0) == 22;
if ($exitcond357) {
label = 7;
break;
} else {
var $sb_0337 = $31;
label = 6;
break;
}
case 7:
var $32 = $2 + 27780 + ($i_0343 << 2) | 0;
var $j_1341 = 0;
label = 8;
break;
case 8:
var $j_1341;
var $33 = $2 + 26636 + $i_0343 * 244 + 88 + ($j_1341 << 2) | 0;
HEAPF32[$33 >> 2] = 0x56bc7600000000000;
var $34 = $2 + 25660 + $i_0343 * 244 + 88 + ($j_1341 << 2) | 0;
HEAPF32[$34 >> 2] = 0x56bc7600000000000;
var $35 = $2 + 26636 + $i_0343 * 244 + 100 + ($j_1341 << 2) | 0;
HEAPF32[$35 >> 2] = 0x56bc7600000000000;
var $36 = $2 + 25660 + $i_0343 * 244 + 100 + ($j_1341 << 2) | 0;
HEAPF32[$36 >> 2] = 0x56bc7600000000000;
var $37 = $2 + 26636 + $i_0343 * 244 + 112 + ($j_1341 << 2) | 0;
HEAPF32[$37 >> 2] = 0x56bc7600000000000;
var $38 = $2 + 25660 + $i_0343 * 244 + 112 + ($j_1341 << 2) | 0;
HEAPF32[$38 >> 2] = 0x56bc7600000000000;
var $39 = $2 + 26636 + $i_0343 * 244 + 124 + ($j_1341 << 2) | 0;
HEAPF32[$39 >> 2] = 0x56bc7600000000000;
var $40 = $2 + 25660 + $i_0343 * 244 + 124 + ($j_1341 << 2) | 0;
HEAPF32[$40 >> 2] = 0x56bc7600000000000;
var $41 = $2 + 26636 + $i_0343 * 244 + 136 + ($j_1341 << 2) | 0;
HEAPF32[$41 >> 2] = 0x56bc7600000000000;
var $42 = $2 + 25660 + $i_0343 * 244 + 136 + ($j_1341 << 2) | 0;
HEAPF32[$42 >> 2] = 0x56bc7600000000000;
var $43 = $2 + 26636 + $i_0343 * 244 + 148 + ($j_1341 << 2) | 0;
HEAPF32[$43 >> 2] = 0x56bc7600000000000;
var $44 = $2 + 25660 + $i_0343 * 244 + 148 + ($j_1341 << 2) | 0;
HEAPF32[$44 >> 2] = 0x56bc7600000000000;
var $45 = $2 + 26636 + $i_0343 * 244 + 160 + ($j_1341 << 2) | 0;
HEAPF32[$45 >> 2] = 0x56bc7600000000000;
var $46 = $2 + 25660 + $i_0343 * 244 + 160 + ($j_1341 << 2) | 0;
HEAPF32[$46 >> 2] = 0x56bc7600000000000;
var $47 = $2 + 26636 + $i_0343 * 244 + 172 + ($j_1341 << 2) | 0;
HEAPF32[$47 >> 2] = 0x56bc7600000000000;
var $48 = $2 + 25660 + $i_0343 * 244 + 172 + ($j_1341 << 2) | 0;
HEAPF32[$48 >> 2] = 0x56bc7600000000000;
var $49 = $2 + 26636 + $i_0343 * 244 + 184 + ($j_1341 << 2) | 0;
HEAPF32[$49 >> 2] = 0x56bc7600000000000;
var $50 = $2 + 25660 + $i_0343 * 244 + 184 + ($j_1341 << 2) | 0;
HEAPF32[$50 >> 2] = 0x56bc7600000000000;
var $51 = $2 + 26636 + $i_0343 * 244 + 196 + ($j_1341 << 2) | 0;
HEAPF32[$51 >> 2] = 0x56bc7600000000000;
var $52 = $2 + 25660 + $i_0343 * 244 + 196 + ($j_1341 << 2) | 0;
HEAPF32[$52 >> 2] = 0x56bc7600000000000;
var $53 = $2 + 26636 + $i_0343 * 244 + 208 + ($j_1341 << 2) | 0;
HEAPF32[$53 >> 2] = 0x56bc7600000000000;
var $54 = $2 + 25660 + $i_0343 * 244 + 208 + ($j_1341 << 2) | 0;
HEAPF32[$54 >> 2] = 0x56bc7600000000000;
var $55 = $2 + 26636 + $i_0343 * 244 + 220 + ($j_1341 << 2) | 0;
HEAPF32[$55 >> 2] = 0x56bc7600000000000;
var $56 = $2 + 25660 + $i_0343 * 244 + 220 + ($j_1341 << 2) | 0;
HEAPF32[$56 >> 2] = 0x56bc7600000000000;
var $57 = $2 + 26636 + $i_0343 * 244 + 232 + ($j_1341 << 2) | 0;
HEAPF32[$57 >> 2] = 0x56bc7600000000000;
var $58 = $2 + 25660 + $i_0343 * 244 + 232 + ($j_1341 << 2) | 0;
HEAPF32[$58 >> 2] = 0x56bc7600000000000;
HEAP32[$32 >> 2] = 0;
var $59 = $j_1341 + 1 | 0;
var $exitcond359 = ($59 | 0) == 3;
if ($exitcond359) {
label = 9;
break;
} else {
var $j_1341 = $59;
label = 8;
break;
}
case 9:
var $60 = $2 + 27636 + $i_0343 * 36 | 0;
HEAPF32[$60 >> 2] = 10;
var $61 = $2 + 27636 + $i_0343 * 36 + 4 | 0;
HEAPF32[$61 >> 2] = 10;
var $62 = $2 + 27636 + $i_0343 * 36 + 8 | 0;
HEAPF32[$62 >> 2] = 10;
var $63 = $2 + 27636 + $i_0343 * 36 + 12 | 0;
HEAPF32[$63 >> 2] = 10;
var $64 = $2 + 27636 + $i_0343 * 36 + 16 | 0;
HEAPF32[$64 >> 2] = 10;
var $65 = $2 + 27636 + $i_0343 * 36 + 20 | 0;
HEAPF32[$65 >> 2] = 10;
var $66 = $2 + 27636 + $i_0343 * 36 + 24 | 0;
HEAPF32[$66 >> 2] = 10;
var $67 = $2 + 27636 + $i_0343 * 36 + 28 | 0;
HEAPF32[$67 >> 2] = 10;
var $68 = $2 + 27636 + $i_0343 * 36 + 32 | 0;
HEAPF32[$68 >> 2] = 10;
var $69 = $i_0343 + 1 | 0;
var $exitcond361 = ($69 | 0) == 4;
if ($exitcond361) {
label = 10;
break;
} else {
var $i_0343 = $69;
label = 4;
break;
}
case 10:
var $71 = $2 + 27616 | 0;
HEAPF32[$71 >> 2] = 0;
var $72 = $2 + 27612 | 0;
HEAPF32[$72 >> 2] = 0;
var $73 = $15;
var $74 = $2 + 21360 | 0;
_init_numline($73, $6, 1024, 576, 22, $74);
var $75 = $bval | 0;
var $76 = $bval_width | 0;
_compute_bark_values($73, $6, 1024, $75, $76);
var $77 = $15 + 2148 | 0;
var $78 = $77;
var $79 = HEAP32[$78 >> 2];
var $80 = ($79 | 0) > 0;
if ($80) {
label = 11;
break;
} else {
var $_lcssa327 = $79;
label = 15;
break;
}
case 11:
var $81 = HEAP32[$78 >> 2];
var $i_1328 = 0;
label = 12;
break;
case 12:
var $i_1328;
var $83 = $bval + ($i_1328 << 2) | 0;
var $84 = HEAPF32[$83 >> 2];
var $85 = $84 < 13;
if ($85) {
var $snr_0 = 0;
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $88 = 0;
var $89 = $88 / 11;
var $91 = 0;
var $92 = $91 / 11;
var $93 = $89 + $92;
var $94 = $93;
var $snr_0 = $94;
label = 14;
break;
case 14:
var $snr_0;
var $96 = $snr_0 / 10;
var $97 = Math.pow(10, $96);
var $98 = $97;
var $99 = $norm + ($i_1328 << 2) | 0;
HEAPF32[$99 >> 2] = $98;
var $100 = $i_1328 + 1 | 0;
var $101 = ($100 | 0) < ($81 | 0);
if ($101) {
var $i_1328 = $100;
label = 12;
break;
} else {
var $_lcssa327 = $81;
label = 15;
break;
}
case 15:
var $_lcssa327;
var $102 = $15 + 2156 | 0;
var $103 = $102;
var $104 = $15 + 1204 | 0;
var $105 = $104;
var $106 = $104;
var $107 = $norm | 0;
var $108 = _init_s3_values($103, $106, $_lcssa327, $75, $76, $107);
var $109 = ($108 | 0) == 0;
if ($109) {
label = 16;
break;
} else {
var $_0 = $108;
label = 62;
break;
}
case 16:
var $110 = HEAP32[$78 >> 2];
var $111 = ($110 | 0) > 0;
if ($111) {
label = 17;
break;
} else {
label = 23;
break;
}
case 17:
var $112 = $15 + 1716 | 0;
var $113 = $112;
var $114 = $2 + 85792 | 0;
var $115 = $9;
var $116 = $15 + 256 | 0;
var $117 = $116;
var $j_3323 = 0;
var $i_2324 = 0;
label = 18;
break;
case 18:
var $i_2324;
var $j_3323;
var $118 = $113 + ($i_2324 << 2) | 0;
var $119 = HEAP32[$118 >> 2];
var $120 = ($119 | 0) > 0;
if ($120) {
label = 19;
break;
} else {
var $x_0_lcssa = 9.999999933815813e+36;
var $j_4_lcssa = $j_3323;
label = 22;
break;
}
case 19:
var $121 = HEAP32[$118 >> 2];
var $122 = ($121 | 0) > 1;
var $smax355 = $122 ? $121 : 1;
var $k_0314 = 0;
var $x_0315 = 1e+37;
var $j_4316 = $j_3323;
var $124 = $119;
label = 20;
break;
case 20:
var $124;
var $j_4316;
var $x_0315;
var $k_0314;
var $125 = $j_4316 | 0;
var $126 = $6 * $125;
var $127 = $126 / 1024e3;
var $128 = $127 * 1e3;
var $129 = _ATHformula($3, $128);
var $130 = $129 - 20;
var $131 = $130;
var $132 = $131 * .1;
var $133 = Math.pow(10, $132);
var $134 = $133;
var $135 = $124 | 0;
var $136 = $135 * $134;
var $137 = $136;
var $138 = $x_0315 > $137;
var $x_1 = $138 ? $137 : $x_0315;
var $139 = $k_0314 + 1 | 0;
var $140 = $j_4316 + 1 | 0;
var $141 = ($139 | 0) < ($121 | 0);
if ($141) {
var $k_0314 = $139;
var $x_0315 = $x_1;
var $j_4316 = $140;
var $124 = $121;
label = 20;
break;
} else {
label = 21;
break;
}
case 21:
var $142 = $j_3323 + $smax355 | 0;
var $phitmp345 = $x_1;
var $x_0_lcssa = $phitmp345;
var $j_4_lcssa = $142;
label = 22;
break;
case 22:
var $j_4_lcssa;
var $x_0_lcssa;
var $144 = HEAP32[$114 >> 2];
var $145 = $144 + 212 + ($i_2324 << 2) | 0;
HEAPF32[$145 >> 2] = $x_0_lcssa;
var $146 = $bval + ($i_2324 << 2) | 0;
var $147 = HEAPF32[$146 >> 2];
var $148 = $147 / 10;
var $149 = $148;
var $150 = $149 - 1;
var $151 = $150 * 20;
var $152 = $151 > 6;
var $x_2 = $152 ? 30 : $151;
var $153 = $x_2 < $115;
var $x_3 = $153 ? $115 : $x_2;
var $154 = HEAP32[$4 >> 2];
var $155 = ($154 | 0) < 44e3;
var $_x_3 = $155 ? 30 : $x_3;
var $156 = $_x_3 - 8;
var $157 = $156 / 10;
var $158 = Math.pow(10, $157);
var $159 = HEAP32[$118 >> 2];
var $160 = $159 | 0;
var $161 = $158 * $160;
var $162 = $161;
var $163 = $117 + ($i_2324 << 2) | 0;
HEAPF32[$163 >> 2] = $162;
var $164 = $i_2324 + 1 | 0;
var $165 = HEAP32[$78 >> 2];
var $166 = ($164 | 0) < ($165 | 0);
if ($166) {
var $j_3323 = $j_4_lcssa;
var $i_2324 = $164;
label = 18;
break;
} else {
label = 23;
break;
}
case 23:
var $167 = $15 + 2160 | 0;
var $168 = $167;
var $169 = $2 + 21452 | 0;
_init_numline($168, $6, 256, 192, 13, $169);
_compute_bark_values($168, $6, 256, $75, $76);
var $170 = $15 + 4308 | 0;
var $171 = $170;
var $172 = HEAP32[$171 >> 2];
var $173 = ($172 | 0) > 0;
if ($173) {
label = 24;
break;
} else {
var $_lcssa304 = $172;
label = 36;
break;
}
case 24:
var $174 = $15 + 3876 | 0;
var $175 = $174;
var $176 = $2 + 85792 | 0;
var $177 = $9;
var $178 = $15 + 2416 | 0;
var $179 = $178;
var $j_5305 = 0;
var $i_3306 = 0;
label = 25;
break;
case 25:
var $i_3306;
var $j_5305;
var $181 = $bval + ($i_3306 << 2) | 0;
var $182 = HEAPF32[$181 >> 2];
var $183 = $182 < 13;
if ($183) {
var $snr2_0 = -8.25;
label = 27;
break;
} else {
label = 26;
break;
}
case 26:
var $185 = $182 - 13;
var $186 = $185 * -4.5;
var $187 = $186 / 11;
var $188 = 24 - $182;
var $189 = $188 * -8.25;
var $190 = $189 / 11;
var $191 = $187 + $190;
var $192 = $191;
var $snr2_0 = $192;
label = 27;
break;
case 27:
var $snr2_0;
var $194 = $snr2_0 / 10;
var $195 = Math.pow(10, $194);
var $196 = $195;
var $197 = $norm + ($i_3306 << 2) | 0;
HEAPF32[$197 >> 2] = $196;
var $198 = $175 + ($i_3306 << 2) | 0;
var $199 = HEAP32[$198 >> 2];
var $200 = ($199 | 0) > 0;
if ($200) {
label = 28;
break;
} else {
var $x1_0_lcssa = 9.999999933815813e+36;
var $j_6_lcssa = $j_5305;
label = 31;
break;
}
case 28:
var $201 = HEAP32[$198 >> 2];
var $202 = ($201 | 0) > 1;
var $smax = $202 ? $201 : 1;
var $k_1294 = 0;
var $x1_0295 = 1e+37;
var $j_6296 = $j_5305;
var $204 = $199;
label = 29;
break;
case 29:
var $204;
var $j_6296;
var $x1_0295;
var $k_1294;
var $205 = $j_6296 | 0;
var $206 = $6 * $205;
var $207 = $206 / 256e3;
var $208 = $207 * 1e3;
var $209 = _ATHformula($3, $208);
var $210 = $209 - 20;
var $211 = $210;
var $212 = $211 * .1;
var $213 = Math.pow(10, $212);
var $214 = $213;
var $215 = $204 | 0;
var $216 = $215 * $214;
var $217 = $216;
var $218 = $x1_0295 > $217;
var $x1_1 = $218 ? $217 : $x1_0295;
var $219 = $k_1294 + 1 | 0;
var $220 = $j_6296 + 1 | 0;
var $221 = ($219 | 0) < ($201 | 0);
if ($221) {
var $k_1294 = $219;
var $x1_0295 = $x1_1;
var $j_6296 = $220;
var $204 = $201;
label = 29;
break;
} else {
label = 30;
break;
}
case 30:
var $222 = $j_5305 + $smax | 0;
var $phitmp344 = $x1_1;
var $x1_0_lcssa = $phitmp344;
var $j_6_lcssa = $222;
label = 31;
break;
case 31:
var $j_6_lcssa;
var $x1_0_lcssa;
var $224 = HEAP32[$176 >> 2];
var $225 = $224 + 468 + ($i_3306 << 2) | 0;
HEAPF32[$225 >> 2] = $x1_0_lcssa;
var $226 = HEAPF32[$181 >> 2];
var $227 = $226 / 12;
var $228 = $227;
var $229 = $228 - 1;
var $230 = $229 * 7;
var $231 = $226 > 12;
if ($231) {
label = 32;
break;
} else {
var $x1_2 = $230;
label = 33;
break;
}
case 32:
var $233 = $230 + 1;
var $234 = Math.log($233);
var $235 = $234 * 3.1;
var $236 = $235 + 1;
var $237 = $230 * $236;
var $x1_2 = $237;
label = 33;
break;
case 33:
var $x1_2;
var $239 = HEAPF32[$181 >> 2];
var $240 = $239 < 12;
if ($240) {
label = 34;
break;
} else {
var $x1_3 = $x1_2;
label = 35;
break;
}
case 34:
var $242 = 1 - $x1_2;
var $243 = Math.log($242);
var $244 = $243 * 2.3;
var $245 = $244 + 1;
var $246 = $x1_2 * $245;
var $x1_3 = $246;
label = 35;
break;
case 35:
var $x1_3;
var $248 = $x1_3 > 6;
var $x1_4 = $248 ? 30 : $x1_3;
var $249 = $x1_4 < $177;
var $x1_5 = $249 ? $177 : $x1_4;
var $250 = HEAP32[$4 >> 2];
var $251 = ($250 | 0) < 44e3;
var $_x1_5 = $251 ? 30 : $x1_5;
var $252 = $_x1_5 - 8;
var $253 = $252 / 10;
var $254 = Math.pow(10, $253);
var $255 = HEAP32[$198 >> 2];
var $256 = $255 | 0;
var $257 = $254 * $256;
var $258 = $257;
var $259 = $179 + ($i_3306 << 2) | 0;
HEAPF32[$259 >> 2] = $258;
var $260 = $i_3306 + 1 | 0;
var $261 = HEAP32[$171 >> 2];
var $262 = ($260 | 0) < ($261 | 0);
if ($262) {
var $j_5305 = $j_6_lcssa;
var $i_3306 = $260;
label = 25;
break;
} else {
var $_lcssa304 = $261;
label = 36;
break;
}
case 36:
var $_lcssa304;
var $263 = $15 + 4316 | 0;
var $264 = $263;
var $265 = $15 + 3364 | 0;
var $266 = $265;
var $267 = _init_s3_values($264, $266, $_lcssa304, $75, $76, $107);
var $268 = ($267 | 0) == 0;
if ($268) {
label = 37;
break;
} else {
var $_0 = $267;
label = 62;
break;
}
case 37:
_init_mask_add_max_values();
_init_fft($2);
var $270 = $6;
var $271 = $270 * .01;
var $272 = $271 / 192;
var $273 = -2.302585092994046 / $272;
var $274 = Math.exp($273);
var $275 = $274;
var $276 = $15 + 6496 | 0;
var $277 = $276;
HEAPF32[$277 >> 2] = $275;
var $278 = $2 + 96 | 0;
var $279 = HEAP32[$278 >> 2];
var $280 = ($279 | 0) == 0;
var $_ = $280 ? 3.5 : 1;
var $281 = $2 + 192 | 0;
var $282 = HEAPF32[$281 >> 2];
var $283 = $282 == 0;
var $msfix_1 = $283 ? $_ : $282;
HEAPF32[$281 >> 2] = $msfix_1;
var $284 = HEAP32[$78 >> 2];
var $285 = ($284 | 0) > 0;
if ($285) {
label = 38;
break;
} else {
label = 42;
break;
}
case 38:
var $286 = HEAP32[$78 >> 2];
var $b_0290 = 0;
var $288 = $284;
label = 39;
break;
case 39:
var $288;
var $b_0290;
var $289 = $105 + ($b_0290 << 3) + 4 | 0;
var $290 = HEAP32[$289 >> 2];
var $291 = $288 - 1 | 0;
var $292 = ($290 | 0) > ($291 | 0);
if ($292) {
label = 40;
break;
} else {
label = 41;
break;
}
case 40:
HEAP32[$289 >> 2] = $291;
label = 41;
break;
case 41:
var $295 = $b_0290 + 1 | 0;
var $296 = ($295 | 0) < ($286 | 0);
if ($296) {
var $b_0290 = $295;
var $288 = $286;
label = 39;
break;
} else {
label = 42;
break;
}
case 42:
var $297 = $2 + 76 | 0;
var $298 = HEAP32[$297 >> 2];
var $299 = $298 | 0;
var $300 = $299 * 576;
var $301 = $300 / $270;
var $302 = $301 * -1.2;
var $303 = Math.pow(10, $302);
var $304 = $303;
var $305 = $2 + 85792 | 0;
var $306 = HEAP32[$305 >> 2];
var $307 = $306 + 16 | 0;
HEAPF32[$307 >> 2] = $304;
var $308 = HEAP32[$305 >> 2];
var $309 = $308 + 8 | 0;
HEAPF32[$309 >> 2] = .009999999776482582;
var $310 = HEAP32[$305 >> 2];
var $311 = $310 + 12 | 0;
HEAPF32[$311 >> 2] = 1;
var $312 = $2 + 208 | 0;
var $313 = HEAP32[$312 >> 2];
var $314 = ($313 | 0) == -1;
if ($314) {
label = 47;
break;
} else {
label = 43;
break;
}
case 43:
var $316 = HEAP32[$4 >> 2];
var $317 = $316 | 0;
var $318 = $317 * .0009765625;
var $freq5_0287 = 0;
var $eql_balance_0288 = 0;
var $i_4289 = 0;
label = 44;
break;
case 44:
var $i_4289;
var $eql_balance_0288;
var $freq5_0287;
var $320 = $318 + $freq5_0287;
var $321 = _ATHformula($3, $320);
var $322 = $321 / 10;
var $323 = $322;
var $324 = Math.pow(10, $323);
var $325 = 1 / $324;
var $326 = $325;
var $327 = HEAP32[$305 >> 2];
var $328 = $327 + 724 + ($i_4289 << 2) | 0;
HEAPF32[$328 >> 2] = $326;
var $329 = HEAP32[$305 >> 2];
var $330 = $329 + 724 + ($i_4289 << 2) | 0;
var $331 = HEAPF32[$330 >> 2];
var $332 = $eql_balance_0288 + $331;
var $333 = $i_4289 + 1 | 0;
var $exitcond351 = ($333 | 0) == 512;
if ($exitcond351) {
label = 45;
break;
} else {
var $freq5_0287 = $320;
var $eql_balance_0288 = $332;
var $i_4289 = $333;
label = 44;
break;
}
case 45:
var $335 = 1 / $332;
var $i_5286 = 511;
label = 46;
break;
case 46:
var $i_5286;
var $337 = HEAP32[$305 >> 2];
var $338 = $337 + 724 + ($i_5286 << 2) | 0;
var $339 = HEAPF32[$338 >> 2];
var $340 = $335 * $339;
HEAPF32[$338 >> 2] = $340;
var $phitmp = $i_5286 - 1 | 0;
var $341 = ($phitmp | 0) > -1;
if ($341) {
var $i_5286 = $phitmp;
label = 46;
break;
} else {
label = 47;
break;
}
case 47:
var $342 = $gfp + 264 | 0;
var $343 = HEAPF32[$342 >> 2];
var $344 = $gfp + 268 | 0;
var $345 = HEAPF32[$344 >> 2];
var $346 = $343 < 0;
var $x6_0 = $346 ? 4.400000095367432 : $343;
var $347 = $345 < 0;
var $y_0 = $347 ? 25 : $345;
var $348 = $15 + 6480 | 0;
var $349 = $15 + 6488 | 0;
var $350 = $349;
HEAPF32[$350 >> 2] = $x6_0;
var $351 = $15 + 6484 | 0;
var $352 = $351;
HEAPF32[$352 >> 2] = $x6_0;
var $353 = $348;
HEAPF32[$353 >> 2] = $x6_0;
var $354 = $15 + 6492 | 0;
var $355 = $354;
HEAPF32[$355 >> 2] = $y_0;
var $356 = $gfp + 164 | 0;
var $357 = HEAP32[$356 >> 2];
var $358 = ($357 | 0) < 4;
if ($358) {
var $sk_s_0 = -7.400000095367432;
label = 49;
break;
} else {
label = 48;
break;
}
case 48:
var $360 = 5256972 + ($357 << 2) | 0;
var $361 = HEAPF32[$360 >> 2];
var $362 = $gfp + 160 | 0;
var $363 = HEAPF32[$362 >> 2];
var $364 = $357 + 1 | 0;
var $365 = 5256972 + ($364 << 2) | 0;
var $366 = HEAPF32[$365 >> 2];
var $367 = $361 - $366;
var $368 = $363 * $367;
var $369 = $361 + $368;
var $sk_s_0 = $369;
label = 49;
break;
case 49:
var $sk_s_0;
var $371 = HEAP32[$171 >> 2];
var $372 = ($371 | 0) > 0;
if ($372) {
label = 50;
break;
} else {
var $b_3_lcssa362 = 0;
label = 52;
break;
}
case 50:
var $373 = $167;
var $b_3263 = 0;
var $377 = $371;
label = 53;
break;
case 51:
var $374 = ($386 | 0) < 64;
if ($374) {
var $b_3_lcssa362 = $386;
label = 52;
break;
} else {
label = 54;
break;
}
case 52:
var $b_3_lcssa362;
var $375 = $167;
var $b_4261 = $b_3_lcssa362;
label = 56;
break;
case 53:
var $377;
var $b_3263;
var $378 = $377 - $b_3263 | 0;
var $379 = $378 | 0;
var $380 = $377 | 0;
var $381 = $379 / $380;
var $382 = $sk_s_0 * $381;
var $383 = $382 * .10000000149011612;
var $384 = Math.pow(10, $383);
var $385 = $373 + ($b_3263 << 2) | 0;
HEAPF32[$385 >> 2] = $384;
var $386 = $b_3263 + 1 | 0;
var $387 = HEAP32[$171 >> 2];
var $388 = ($386 | 0) < ($387 | 0);
if ($388) {
var $b_3263 = $386;
var $377 = $387;
label = 53;
break;
} else {
label = 51;
break;
}
case 54:
var $389 = HEAP32[$78 >> 2];
var $390 = ($389 | 0) > 0;
if ($390) {
label = 55;
break;
} else {
var $b_5_lcssa363 = 0;
label = 58;
break;
}
case 55:
var $391 = $15;
var $b_5258 = 0;
var $398 = $389;
label = 59;
break;
case 56:
var $b_4261;
var $393 = $375 + ($b_4261 << 2) | 0;
HEAPF32[$393 >> 2] = 1;
var $394 = $b_4261 + 1 | 0;
var $exitcond346 = ($394 | 0) == 64;
if ($exitcond346) {
label = 54;
break;
} else {
var $b_4261 = $394;
label = 56;
break;
}
case 57:
var $395 = ($407 | 0) < 64;
if ($395) {
var $b_5_lcssa363 = $407;
label = 58;
break;
} else {
label = 61;
break;
}
case 58:
var $b_5_lcssa363;
var $396 = $15;
var $b_6256 = $b_5_lcssa363;
label = 60;
break;
case 59:
var $398;
var $b_5258;
var $399 = $398 - $b_5258 | 0;
var $400 = $399 | 0;
var $401 = $398 | 0;
var $402 = $400 / $401;
var $403 = $sk_s_0 * $402;
var $404 = $403 * .10000000149011612;
var $405 = Math.pow(10, $404);
var $406 = $391 + ($b_5258 << 2) | 0;
HEAPF32[$406 >> 2] = $405;
var $407 = $b_5258 + 1 | 0;
var $408 = HEAP32[$78 >> 2];
var $409 = ($407 | 0) < ($408 | 0);
if ($409) {
var $b_5258 = $407;
var $398 = $408;
label = 59;
break;
} else {
label = 57;
break;
}
case 60:
var $b_6256;
var $411 = $396 + ($b_6256 << 2) | 0;
HEAPF32[$411 >> 2] = 1;
var $412 = $b_6256 + 1 | 0;
var $exitcond = ($412 | 0) == 64;
if ($exitcond) {
label = 61;
break;
} else {
var $b_6256 = $412;
label = 60;
break;
}
case 61:
var $413 = $15 + 4320 | 0;
var $414 = $413;
for (var $$src = $15 >> 2, $$dest = $413 >> 2, $$stop = $$src + 540; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
_init_numline($414, $6, 1024, 192, 13, $169);
var $_0 = 0;
label = 62;
break;
case 62:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_psymodel_init["X"] = 1;
function _init_mask_add_max_values() {
HEAPF32[5314460 >> 2] = 3.6517412662506104;
HEAPF32[5314456 >> 2] = 31.62277603149414;
return;
}
function _convert_partition2scalefac($gd, $eb, $thr, $enn_out, $thm_out) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gd + 2152 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
var $sb_1_ph = 0;
label = 4;
break;
}
case 3:
var $4 = $gd + 2148 | 0;
var $b_059 = 0;
var $sb_060 = 0;
var $thmm_061 = 0;
var $enn_062 = 0;
label = 5;
break;
case 4:
var $sb_1_ph;
var $5 = ($sb_1_ph | 0) < ($2 | 0);
if ($5) {
var $sb_149 = $sb_1_ph;
label = 11;
break;
} else {
label = 12;
break;
}
case 5:
var $enn_062;
var $thmm_061;
var $sb_060;
var $b_059;
var $7 = $gd + 2060 + ($sb_060 << 2) | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = HEAP32[$4 >> 2];
var $10 = ($8 | 0) < ($9 | 0);
var $11 = $10 ? $8 : $9;
var $12 = ($b_059 | 0) < ($11 | 0);
if ($12) {
label = 6;
break;
} else {
var $b_1_lcssa = $b_059;
var $thmm_1_lcssa = $thmm_061;
var $enn_1_lcssa = $enn_062;
label = 8;
break;
}
case 6:
var $13 = $8 ^ -1;
var $14 = $9 ^ -1;
var $15 = ($13 | 0) > ($14 | 0);
var $smax = $15 ? $13 : $14;
var $16 = $smax ^ -1;
var $b_150 = $b_059;
var $thmm_151 = $thmm_061;
var $enn_152 = $enn_062;
label = 7;
break;
case 7:
var $enn_152;
var $thmm_151;
var $b_150;
var $18 = $eb + ($b_150 << 2) | 0;
var $19 = HEAPF32[$18 >> 2];
var $20 = $enn_152 + $19;
var $21 = $thr + ($b_150 << 2) | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $thmm_151 + $22;
var $24 = $b_150 + 1 | 0;
var $exitcond70 = ($24 | 0) == ($16 | 0);
if ($exitcond70) {
var $b_1_lcssa = $16;
var $thmm_1_lcssa = $23;
var $enn_1_lcssa = $20;
label = 8;
break;
} else {
var $b_150 = $24;
var $thmm_151 = $23;
var $enn_152 = $20;
label = 7;
break;
}
case 8:
var $enn_1_lcssa;
var $thmm_1_lcssa;
var $b_1_lcssa;
var $25 = ($b_1_lcssa | 0) < ($9 | 0);
if ($25) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $27 = $enn_out + ($sb_060 << 2) | 0;
HEAPF32[$27 >> 2] = $enn_1_lcssa;
var $28 = $thm_out + ($sb_060 << 2) | 0;
HEAPF32[$28 >> 2] = $thmm_1_lcssa;
var $29 = $sb_060 + 1 | 0;
var $sb_1_ph = $29;
label = 4;
break;
case 10:
var $31 = $gd + 1112 + ($sb_060 << 2) | 0;
var $32 = HEAPF32[$31 >> 2];
var $33 = 1 - $32;
var $34 = $eb + ($b_1_lcssa << 2) | 0;
var $35 = HEAPF32[$34 >> 2];
var $36 = $32 * $35;
var $37 = $enn_1_lcssa + $36;
var $38 = $thr + ($b_1_lcssa << 2) | 0;
var $39 = HEAPF32[$38 >> 2];
var $40 = $32 * $39;
var $41 = $thmm_1_lcssa + $40;
var $42 = $enn_out + ($sb_060 << 2) | 0;
HEAPF32[$42 >> 2] = $37;
var $43 = $thm_out + ($sb_060 << 2) | 0;
HEAPF32[$43 >> 2] = $41;
var $44 = HEAPF32[$34 >> 2];
var $45 = $33 * $44;
var $46 = HEAPF32[$38 >> 2];
var $47 = $33 * $46;
var $48 = $b_1_lcssa + 1 | 0;
var $49 = $sb_060 + 1 | 0;
var $50 = ($49 | 0) < ($2 | 0);
if ($50) {
var $b_059 = $48;
var $sb_060 = $49;
var $thmm_061 = $47;
var $enn_062 = $45;
label = 5;
break;
} else {
var $sb_1_ph = $49;
label = 4;
break;
}
case 11:
var $sb_149;
var $51 = $enn_out + ($sb_149 << 2) | 0;
HEAPF32[$51 >> 2] = 0;
var $52 = $thm_out + ($sb_149 << 2) | 0;
HEAPF32[$52 >> 2] = 0;
var $53 = $sb_149 + 1 | 0;
var $exitcond = ($53 | 0) == ($2 | 0);
if ($exitcond) {
label = 12;
break;
} else {
var $sb_149 = $53;
label = 11;
break;
}
case 12:
return;
}
}
_convert_partition2scalefac["X"] = 1;
function _vbrpsy_calc_mask_index_s($gfc, $max, $avg, $mask_idx) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85796 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = HEAPF32[$avg >> 2];
var $4 = $avg + 4 | 0;
var $5 = HEAPF32[$4 >> 2];
var $6 = $3 + $5;
var $7 = $6 > 0;
if ($7) {
label = 3;
break;
} else {
var $storemerge = 0;
label = 4;
break;
}
case 3:
var $9 = HEAPF32[$max >> 2];
var $10 = $max + 4 | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $9 < $11;
var $m_0 = $12 ? $11 : $9;
var $13 = $m_0 * 2;
var $14 = $13 - $6;
var $15 = $14 * 20;
var $16 = $2 + 3876 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $2 + 3880 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $17 - 1 | 0;
var $21 = $20 + $19 | 0;
var $22 = $21 | 0;
var $23 = $6 * $22;
var $24 = $15 / $23;
var $25 = $24 & -1;
var $26 = ($25 | 0) > 8;
var $27 = $25 & 255;
var $28 = $26 ? 8 : $27;
var $storemerge = $28;
label = 4;
break;
case 4:
var $storemerge;
HEAP8[$mask_idx] = $storemerge;
var $30 = $2 + 4308 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $31 - 1 | 0;
var $33 = ($32 | 0) > 1;
var $34 = HEAPF32[$avg >> 2];
var $35 = $avg + 4 | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = $34 + $36;
if ($33) {
var $b_082 = 1;
var $39 = 0;
var $38 = $37;
label = 5;
break;
} else {
var $b_0_lcssa = 1;
var $_lcssa = 0;
var $_lcssa81 = $37;
label = 9;
break;
}
case 5:
var $38;
var $39;
var $b_082;
var $40 = $b_082 + 1 | 0;
var $41 = $avg + ($40 << 2) | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $38 + $42;
var $44 = $43 > 0;
if ($44) {
label = 6;
break;
} else {
label = 8;
break;
}
case 6:
var $46 = $max + ($39 << 2) | 0;
var $47 = HEAPF32[$46 >> 2];
var $48 = $max + ($b_082 << 2) | 0;
var $49 = HEAPF32[$48 >> 2];
var $50 = $47 < $49;
var $m_1 = $50 ? $49 : $47;
var $51 = $max + ($40 << 2) | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $m_1 < $52;
var $m_2 = $53 ? $52 : $m_1;
var $54 = $m_2 * 3;
var $55 = $54 - $43;
var $56 = $55 * 20;
var $57 = $2 + 3876 + ($39 << 2) | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = $2 + 3876 + ($b_082 << 2) | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = $2 + 3876 + ($40 << 2) | 0;
var $62 = HEAP32[$61 >> 2];
var $63 = $58 - 1 | 0;
var $64 = $63 + $60 | 0;
var $65 = $64 + $62 | 0;
var $66 = $65 | 0;
var $67 = $43 * $66;
var $68 = $56 / $67;
var $69 = $68 & -1;
var $70 = ($69 | 0) > 8;
var $71 = $69 & 255;
var $72 = $70 ? 8 : $71;
var $73 = $mask_idx + $b_082 | 0;
HEAP8[$73] = $72;
label = 7;
break;
case 7:
var $74 = HEAP32[$30 >> 2];
var $75 = $74 - 1 | 0;
var $76 = ($40 | 0) < ($75 | 0);
var $77 = $avg + ($b_082 << 2) | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = $avg + ($40 << 2) | 0;
var $80 = HEAPF32[$79 >> 2];
var $81 = $78 + $80;
if ($76) {
var $39 = $b_082;
var $b_082 = $40;
var $38 = $81;
label = 5;
break;
} else {
var $b_0_lcssa = $40;
var $_lcssa = $b_082;
var $_lcssa81 = $81;
label = 9;
break;
}
case 8:
var $83 = $mask_idx + $b_082 | 0;
HEAP8[$83] = 0;
label = 7;
break;
case 9:
var $_lcssa81;
var $_lcssa;
var $b_0_lcssa;
var $84 = $_lcssa81 > 0;
if ($84) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $86 = $max + ($_lcssa << 2) | 0;
var $87 = HEAPF32[$86 >> 2];
var $88 = $max + ($b_0_lcssa << 2) | 0;
var $89 = HEAPF32[$88 >> 2];
var $90 = $87 < $89;
var $m_3 = $90 ? $89 : $87;
var $91 = $m_3 * 2;
var $92 = $91 - $_lcssa81;
var $93 = $92 * 20;
var $94 = $2 + 3876 + ($_lcssa << 2) | 0;
var $95 = HEAP32[$94 >> 2];
var $96 = $2 + 3876 + ($b_0_lcssa << 2) | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = $95 - 1 | 0;
var $99 = $98 + $97 | 0;
var $100 = $99 | 0;
var $101 = $_lcssa81 * $100;
var $102 = $93 / $101;
var $103 = $102 & -1;
var $104 = ($103 | 0) > 8;
var $105 = $103 & 255;
var $106 = $104 ? 8 : $105;
var $107 = $mask_idx + $b_0_lcssa | 0;
HEAP8[$107] = $106;
label = 12;
break;
case 11:
var $109 = $mask_idx + $b_0_lcssa | 0;
HEAP8[$109] = 0;
label = 12;
break;
case 12:
return;
}
}
_vbrpsy_calc_mask_index_s["X"] = 1;
function _mask_add_delta($i) {
return HEAP32[5249740 + ($i << 2) >> 2];
}
function _calc_energy($l, $fftenergy, $eb, $max, $avg) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $l + 2148 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
var $j_026 = 0;
var $b_027 = 0;
label = 3;
break;
} else {
label = 8;
break;
}
case 3:
var $b_027;
var $j_026;
var $4 = $l + 1716 + ($b_027 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) > 0;
if ($6) {
label = 4;
break;
} else {
var $j_1_lcssa = $j_026;
var $ebb_0_lcssa = 0;
var $m_0_lcssa = 0;
label = 7;
break;
}
case 4:
var $7 = HEAP32[$4 >> 2];
var $8 = ($7 | 0) > 1;
var $smax = $8 ? $7 : 1;
var $j_120 = $j_026;
var $ebb_021 = 0;
var $m_022 = 0;
var $i_023 = 0;
label = 5;
break;
case 5:
var $i_023;
var $m_022;
var $ebb_021;
var $j_120;
var $10 = $fftenergy + ($j_120 << 2) | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $ebb_021 + $11;
var $13 = $m_022 < $11;
var $m_1 = $13 ? $11 : $m_022;
var $14 = $i_023 + 1 | 0;
var $15 = $j_120 + 1 | 0;
var $16 = ($14 | 0) < ($7 | 0);
if ($16) {
var $j_120 = $15;
var $ebb_021 = $12;
var $m_022 = $m_1;
var $i_023 = $14;
label = 5;
break;
} else {
label = 6;
break;
}
case 6:
var $17 = $j_026 + $smax | 0;
var $j_1_lcssa = $17;
var $ebb_0_lcssa = $12;
var $m_0_lcssa = $m_1;
label = 7;
break;
case 7:
var $m_0_lcssa;
var $ebb_0_lcssa;
var $j_1_lcssa;
var $19 = $eb + ($b_027 << 2) | 0;
HEAPF32[$19 >> 2] = $ebb_0_lcssa;
var $20 = $max + ($b_027 << 2) | 0;
HEAPF32[$20 >> 2] = $m_0_lcssa;
var $21 = $l + 512 + ($b_027 << 2) | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $ebb_0_lcssa * $22;
var $24 = $avg + ($b_027 << 2) | 0;
HEAPF32[$24 >> 2] = $23;
var $25 = $b_027 + 1 | 0;
var $26 = HEAP32[$1 >> 2];
var $27 = ($25 | 0) < ($26 | 0);
if ($27) {
var $j_026 = $j_1_lcssa;
var $b_027 = $25;
label = 3;
break;
} else {
label = 8;
break;
}
case 8:
return;
}
}
function _init_numline($gd, $sfreq, $fft_size, $mdct_size, $sbmax, $scalepos) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2312 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $b_frq = __stackBase__;
var $partition = __stackBase__ + 260;
var $1 = $mdct_size | 0;
var $2 = $1 * 2;
var $3 = $sfreq / $2;
var $4 = $fft_size | 0;
var $5 = $4 / $2;
var $6 = $partition;
for (var $$dest = $6 >> 2, $$stop = $$dest + 513; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $7 = $sfreq / $4;
var $8 = ($fft_size | 0) / 2 & -1;
var $9 = ($fft_size | 0) / 2 & -1;
var $j_0 = 0;
var $ni_0 = 0;
label = 3;
break;
case 3:
var $ni_0;
var $j_0;
var $11 = ($ni_0 | 0) < 64;
if ($11) {
label = 4;
break;
} else {
var $j_2 = $j_0;
var $ni_1 = $ni_0;
label = 11;
break;
}
case 4:
var $13 = $j_0 | 0;
var $14 = $7 * $13;
var $15 = _freq2bark($14);
var $16 = $b_frq + ($ni_0 << 2) | 0;
HEAPF32[$16 >> 2] = $14;
var $j2_0 = $j_0;
label = 5;
break;
case 5:
var $j2_0;
var $18 = $j2_0 | 0;
var $19 = $7 * $18;
var $20 = _freq2bark($19);
var $21 = $20 - $15;
var $22 = $21;
var $23 = $22 >= .34;
var $24 = ($j2_0 | 0) > ($8 | 0);
var $or_cond = $23 | $24;
var $25 = $j2_0 + 1 | 0;
if ($or_cond) {
label = 6;
break;
} else {
var $j2_0 = $25;
label = 5;
break;
}
case 6:
var $26 = $j2_0 - $j_0 | 0;
var $27 = $gd + 1716 + ($ni_0 << 2) | 0;
HEAP32[$27 >> 2] = $26;
var $28 = ($26 | 0) > 0;
if ($28) {
label = 7;
break;
} else {
var $33 = 0;
label = 8;
break;
}
case 7:
var $30 = $26 | 0;
var $31 = 1 / $30;
var $33 = $31;
label = 8;
break;
case 8:
var $33;
var $34 = $gd + 512 + ($ni_0 << 2) | 0;
HEAPF32[$34 >> 2] = $33;
var $35 = $ni_0 + 1 | 0;
var $36 = ($j_0 | 0) < ($j2_0 | 0);
if ($36) {
var $j_190 = $j_0;
label = 9;
break;
} else {
var $j_1_lcssa = $j_0;
label = 10;
break;
}
case 9:
var $j_190;
var $37 = $j_190 + 1 | 0;
var $38 = $partition + ($j_190 << 2) | 0;
HEAP32[$38 >> 2] = $ni_0;
var $exitcond97 = ($37 | 0) == ($j2_0 | 0);
if ($exitcond97) {
var $j_1_lcssa = $j2_0;
label = 10;
break;
} else {
var $j_190 = $37;
label = 9;
break;
}
case 10:
var $j_1_lcssa;
var $39 = ($j_1_lcssa | 0) > ($9 | 0);
if ($39) {
var $j_2 = $9;
var $ni_1 = $35;
label = 11;
break;
} else {
var $j_0 = $j_1_lcssa;
var $ni_0 = $35;
label = 3;
break;
}
case 11:
var $ni_1;
var $j_2;
var $41 = $j_2 | 0;
var $42 = $7 * $41;
var $43 = $b_frq + ($ni_1 << 2) | 0;
HEAPF32[$43 >> 2] = $42;
var $44 = $gd + 2152 | 0;
HEAP32[$44 >> 2] = $sbmax;
var $45 = $gd + 2148 | 0;
HEAP32[$45 >> 2] = $ni_1;
var $46 = ($ni_1 | 0) > 0;
if ($46) {
var $j_386 = 0;
var $i_287 = 0;
label = 13;
break;
} else {
var $i_384 = 0;
label = 16;
break;
}
case 12:
var $47 = ($58 | 0) < 64;
if ($47) {
var $i_384 = $58;
label = 16;
break;
} else {
label = 14;
break;
}
case 13:
var $i_287;
var $j_386;
var $48 = $gd + 1716 + ($i_287 << 2) | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = ($49 | 0) / 2 & -1;
var $51 = $50 + $j_386 | 0;
var $52 = $51 | 0;
var $53 = $7 * $52;
var $54 = $53;
var $55 = _stereo_demask($54);
var $56 = $gd + 768 + ($i_287 << 2) | 0;
HEAPF32[$56 >> 2] = $55;
var $57 = $49 + $j_386 | 0;
var $58 = $i_287 + 1 | 0;
var $59 = HEAP32[$45 >> 2];
var $60 = ($58 | 0) < ($59 | 0);
if ($60) {
var $j_386 = $57;
var $i_287 = $58;
label = 13;
break;
} else {
label = 12;
break;
}
case 14:
var $61 = ($sbmax | 0) > 0;
if ($61) {
label = 15;
break;
} else {
label = 21;
break;
}
case 15:
var $62 = $5;
var $63 = ($fft_size | 0) / 2 & -1;
var $sfb_082 = 0;
label = 17;
break;
case 16:
var $i_384;
var $64 = $gd + 768 + ($i_384 << 2) | 0;
HEAPF32[$64 >> 2] = 1;
var $65 = $i_384 + 1 | 0;
var $exitcond95 = ($65 | 0) == 64;
if ($exitcond95) {
label = 14;
break;
} else {
var $i_384 = $65;
label = 16;
break;
}
case 17:
var $sfb_082;
var $67 = $scalepos + ($sfb_082 << 2) | 0;
var $68 = HEAP32[$67 >> 2];
var $69 = $sfb_082 + 1 | 0;
var $70 = $scalepos + ($69 << 2) | 0;
var $71 = HEAP32[$70 >> 2];
var $72 = $68 | 0;
var $73 = $72 - .5;
var $74 = $62 * $73;
var $75 = $74 + .5;
var $76 = Math.floor($75);
var $77 = $76 & -1;
var $78 = ($77 | 0) < 0;
var $_ = $78 ? 0 : $77;
var $79 = $71 | 0;
var $80 = $79 - .5;
var $81 = $62 * $80;
var $82 = $81 + .5;
var $83 = Math.floor($82);
var $84 = $83 & -1;
var $85 = ($84 | 0) > ($63 | 0);
var $i2_0 = $85 ? $63 : $84;
var $86 = $partition + ($i2_0 << 2) | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = $partition + ($_ << 2) | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = $89 + $87 | 0;
var $91 = ($90 | 0) / 2 & -1;
var $92 = $gd + 1972 + ($sfb_082 << 2) | 0;
HEAP32[$92 >> 2] = $91;
var $93 = $gd + 2060 + ($sfb_082 << 2) | 0;
HEAP32[$93 >> 2] = $87;
var $94 = $71 | 0;
var $95 = $3 * $94;
var $96 = $b_frq + ($87 << 2) | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $95 - $97;
var $99 = $87 + 1 | 0;
var $100 = $b_frq + ($99 << 2) | 0;
var $101 = HEAPF32[$100 >> 2];
var $102 = $101 - $97;
var $103 = $98 / $102;
var $104 = $103 < 0;
if ($104) {
var $bo_w_0 = 0;
label = 20;
break;
} else {
label = 18;
break;
}
case 18:
var $106 = $103 > 1;
if ($106) {
label = 19;
break;
} else {
var $bo_w_0 = $103;
label = 20;
break;
}
case 19:
var $bo_w_0 = 1;
label = 20;
break;
case 20:
var $bo_w_0;
var $109 = $gd + 1112 + ($sfb_082 << 2) | 0;
HEAPF32[$109 >> 2] = $bo_w_0;
var $110 = $68 | 0;
var $111 = $3 * $110;
var $112 = $111;
var $113 = _stereo_demask($112);
var $114 = $gd + 1024 + ($sfb_082 << 2) | 0;
HEAPF32[$114 >> 2] = $113;
var $exitcond = ($69 | 0) == ($sbmax | 0);
if ($exitcond) {
label = 21;
break;
} else {
var $sfb_082 = $69;
label = 17;
break;
}
case 21:
STACKTOP = __stackBase__;
return;
}
}
_init_numline["X"] = 1;
function _compute_bark_values($gd, $sfreq, $fft_size, $bval, $bval_width) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gd + 2148 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $fft_size | 0;
var $4 = $sfreq / $3;
var $5 = ($2 | 0) > 0;
if ($5) {
label = 3;
break;
} else {
label = 5;
break;
}
case 3:
var $6 = $4;
var $j_022 = 0;
var $k_023 = 0;
label = 4;
break;
case 4:
var $k_023;
var $j_022;
var $8 = $gd + 1716 + ($k_023 << 2) | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $j_022 | 0;
var $11 = $4 * $10;
var $12 = _freq2bark($11);
var $13 = $9 + $j_022 | 0;
var $14 = $13 - 1 | 0;
var $15 = $14 | 0;
var $16 = $4 * $15;
var $17 = _freq2bark($16);
var $18 = $12 + $17;
var $19 = $18 * .5;
var $20 = $bval + ($k_023 << 2) | 0;
HEAPF32[$20 >> 2] = $19;
var $21 = $j_022 | 0;
var $22 = $21 - .5;
var $23 = $6 * $22;
var $24 = $23;
var $25 = _freq2bark($24);
var $26 = $13 | 0;
var $27 = $26 - .5;
var $28 = $6 * $27;
var $29 = $28;
var $30 = _freq2bark($29);
var $31 = $30 - $25;
var $32 = $bval_width + ($k_023 << 2) | 0;
HEAPF32[$32 >> 2] = $31;
var $33 = $k_023 + 1 | 0;
var $exitcond = ($33 | 0) == ($2 | 0);
if ($exitcond) {
label = 5;
break;
} else {
var $j_022 = $13;
var $k_023 = $33;
label = 4;
break;
}
case 5:
return;
}
}
function _init_s3_values($p, $s3ind, $npart, $bval, $bval_width, $norm) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16384 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $s3 = __stackBase__;
var $1 = $s3;
for (var $$dest = $1 >> 2, $$stop = $$dest + 4096; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $2 = ($npart | 0) > 0;
if ($2) {
var $i_068 = 0;
label = 3;
break;
} else {
var $numberOfNoneZero_0_lcssa = 0;
label = 15;
break;
}
case 3:
var $i_068;
var $3 = $bval + ($i_068 << 2) | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $norm + ($i_068 << 2) | 0;
var $6 = HEAPF32[$5 >> 2];
var $j_065 = 0;
label = 5;
break;
case 4:
var $7 = ($npart | 0) > 0;
if ($7) {
var $i_160 = 0;
var $numberOfNoneZero_061 = 0;
label = 7;
break;
} else {
var $numberOfNoneZero_0_lcssa = 0;
label = 15;
break;
}
case 5:
var $j_065;
var $9 = $bval + ($j_065 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $4 - $10;
var $12 = _s3_func($11);
var $13 = $bval_width + ($j_065 << 2) | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = $12 * $14;
var $16 = $15 * $6;
var $17 = $s3 + ($i_068 << 8) + ($j_065 << 2) | 0;
HEAPF32[$17 >> 2] = $16;
var $18 = $j_065 + 1 | 0;
var $exitcond72 = ($18 | 0) == ($npart | 0);
if ($exitcond72) {
label = 6;
break;
} else {
var $j_065 = $18;
label = 5;
break;
}
case 6:
var $19 = $i_068 + 1 | 0;
var $exitcond73 = ($19 | 0) == ($npart | 0);
if ($exitcond73) {
label = 4;
break;
} else {
var $i_068 = $19;
label = 3;
break;
}
case 7:
var $numberOfNoneZero_061;
var $i_160;
var $j_1 = 0;
label = 8;
break;
case 8:
var $j_1;
var $21 = ($j_1 | 0) < ($npart | 0);
if ($21) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $23 = $s3 + ($i_160 << 8) + ($j_1 << 2) | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = $24 > 0;
var $26 = $j_1 + 1 | 0;
if ($25) {
label = 10;
break;
} else {
var $j_1 = $26;
label = 8;
break;
}
case 10:
var $28 = $s3ind + ($i_160 << 3) | 0;
HEAP32[$28 >> 2] = $j_1;
var $j_2_in = $npart;
label = 11;
break;
case 11:
var $j_2_in;
var $j_2 = $j_2_in - 1 | 0;
var $30 = ($j_2 | 0) > 0;
if ($30) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $32 = $s3 + ($i_160 << 8) + ($j_2 << 2) | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $33 > 0;
if ($34) {
label = 13;
break;
} else {
var $j_2_in = $j_2;
label = 11;
break;
}
case 13:
var $36 = $s3ind + ($i_160 << 3) + 4 | 0;
HEAP32[$36 >> 2] = $j_2;
var $37 = HEAP32[$28 >> 2];
var $38 = $numberOfNoneZero_061 + $j_2_in | 0;
var $39 = $38 - $37 | 0;
var $40 = $i_160 + 1 | 0;
var $exitcond71 = ($40 | 0) == ($npart | 0);
if ($exitcond71) {
label = 14;
break;
} else {
var $i_160 = $40;
var $numberOfNoneZero_061 = $39;
label = 7;
break;
}
case 14:
var $phitmp = $39 << 2;
var $numberOfNoneZero_0_lcssa = $phitmp;
label = 15;
break;
case 15:
var $numberOfNoneZero_0_lcssa;
var $41 = _malloc($numberOfNoneZero_0_lcssa);
var $42 = $41;
HEAP32[$p >> 2] = $42;
var $43 = ($41 | 0) == 0;
if ($43) {
var $_0 = -1;
label = 20;
break;
} else {
label = 16;
break;
}
case 16:
var $44 = ($npart | 0) > 0;
if ($44) {
var $i_254 = 0;
var $k_056 = 0;
label = 17;
break;
} else {
var $_0 = 0;
label = 20;
break;
}
case 17:
var $k_056;
var $i_254;
var $45 = $s3ind + ($i_254 << 3) | 0;
var $46 = HEAP32[$45 >> 2];
var $47 = $s3ind + ($i_254 << 3) + 4 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = ($46 | 0) > ($48 | 0);
if ($49) {
var $k_1_lcssa = $k_056;
label = 19;
break;
} else {
var $j_352 = $46;
var $k_153 = $k_056;
label = 18;
break;
}
case 18:
var $k_153;
var $j_352;
var $50 = $s3 + ($i_254 << 8) + ($j_352 << 2) | 0;
var $51 = HEAPF32[$50 >> 2];
var $52 = $k_153 + 1 | 0;
var $53 = HEAP32[$p >> 2];
var $54 = $53 + ($k_153 << 2) | 0;
HEAPF32[$54 >> 2] = $51;
var $55 = $j_352 + 1 | 0;
var $56 = HEAP32[$47 >> 2];
var $57 = ($55 | 0) > ($56 | 0);
if ($57) {
var $k_1_lcssa = $52;
label = 19;
break;
} else {
var $j_352 = $55;
var $k_153 = $52;
label = 18;
break;
}
case 19:
var $k_1_lcssa;
var $58 = $i_254 + 1 | 0;
var $exitcond = ($58 | 0) == ($npart | 0);
if ($exitcond) {
var $_0 = 0;
label = 20;
break;
} else {
var $i_254 = $58;
var $k_056 = $k_1_lcssa;
label = 17;
break;
}
case 20:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_init_s3_values["X"] = 1;
function _s3_func($bark) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bark < 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $bark * 3;
var $tempx_0 = $3;
label = 5;
break;
case 4:
var $5 = $bark * 1.5;
var $tempx_0 = $5;
label = 5;
break;
case 5:
var $tempx_0;
var $7 = $tempx_0;
var $8 = $tempx_0 < .5;
var $9 = $tempx_0 > 2.5;
var $or_cond = $8 | $9;
if ($or_cond) {
var $x_0 = 0;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $11 = $tempx_0 - .5;
var $12 = $11 * $11;
var $13 = $12;
var $14 = $11;
var $15 = $14 * 2;
var $16 = $13 - $15;
var $17 = $16 * 8;
var $18 = $17;
var $x_0 = $18;
label = 7;
break;
case 7:
var $x_0;
var $20 = $7 + .474;
var $21 = $20;
var $22 = $21;
var $23 = $22 * 7.5;
var $24 = $23 + 15.811389;
var $25 = $21 * $21;
var $26 = $25;
var $27 = $26 + 1;
var $28 = Math.sqrt($27);
var $29 = $28 * 17.5;
var $30 = $24 - $29;
var $31 = $30;
var $32 = $31 > -60;
if ($32) {
label = 8;
break;
} else {
var $_0 = 0;
label = 9;
break;
}
case 8:
var $34 = $x_0 + $31;
var $35 = $34;
var $36 = $35 * .23025850929940458;
var $37 = Math.exp($36);
var $38 = $37;
var $39 = $38;
var $40 = $39 / .6609193;
var $41 = $40;
var $_0 = $41;
label = 9;
break;
case 9:
var $_0;
return $_0;
}
}
function _stereo_demask($f) {
var $2 = _freq2bark($f);
return Math.pow(10, (1 - Math.cos(($2 < 15.5 ? $2 : 15.5) / 15.5 * 3.141592653589793)) * 1.25 - 2.5);
}
function _vbrpsy_mask_add($m1, $m2, $b, $delta) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $m1 < 0;
var $_023 = $1 ? 0 : $m1;
var $2 = $m2 < 0;
var $_024 = $2 ? 0 : $m2;
var $3 = $_023 > 0;
if ($3) {
label = 3;
break;
} else {
var $_0 = $_024;
label = 14;
break;
}
case 3:
var $5 = $_024 > 0;
if ($5) {
label = 4;
break;
} else {
var $_0 = $_023;
label = 14;
break;
}
case 4:
var $7 = $_024 > $_023;
if ($7) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $9 = $_024 / $_023;
var $ratio_0 = $9;
label = 7;
break;
case 6:
var $11 = $_023 / $_024;
var $ratio_0 = $11;
label = 7;
break;
case 7:
var $ratio_0;
var $ispos = ($b | 0) > -1;
var $neg = -$b | 0;
var $13 = $ispos ? $b : $neg;
var $14 = ($13 | 0) > ($delta | 0);
if ($14) {
label = 11;
break;
} else {
label = 8;
break;
}
case 8:
var $16 = HEAPF32[5314460 >> 2];
var $17 = $ratio_0 < $16;
if ($17) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $19 = $_023 + $_024;
var $_0 = $19;
label = 14;
break;
case 10:
var $21 = _fast_log2($ratio_0);
var $22 = $21;
var $23 = $22 * 4.816479930623698;
var $24 = $23 & -1;
var $25 = $_023 + $_024;
var $26 = 5248064 + ($24 << 2) | 0;
var $27 = HEAPF32[$26 >> 2];
var $28 = $25 * $27;
var $_0 = $28;
label = 14;
break;
case 11:
var $30 = HEAPF32[5314456 >> 2];
var $31 = $ratio_0 < $30;
if ($31) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $33 = $_023 + $_024;
var $_0 = $33;
label = 14;
break;
case 13:
var $_1 = $7 ? $_024 : $_023;
var $_0 = $_1;
label = 14;
break;
case 14:
var $_0;
return $_0;
}
}
function _calc_mask_index_l($gfc, $max, $avg, $mask_idx) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85796 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = HEAPF32[$avg >> 2];
var $4 = $avg + 4 | 0;
var $5 = HEAPF32[$4 >> 2];
var $6 = $3 + $5;
var $7 = $6 > 0;
if ($7) {
label = 3;
break;
} else {
var $storemerge = 0;
label = 4;
break;
}
case 3:
var $9 = HEAPF32[$max >> 2];
var $10 = $max + 4 | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $9 < $11;
var $m_0 = $12 ? $11 : $9;
var $13 = $m_0 * 2;
var $14 = $13 - $6;
var $15 = $14 * 20;
var $16 = $2 + 1716 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $2 + 1720 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $17 - 1 | 0;
var $21 = $20 + $19 | 0;
var $22 = $21 | 0;
var $23 = $6 * $22;
var $24 = $15 / $23;
var $25 = $24 & -1;
var $26 = ($25 | 0) > 8;
var $27 = $25 & 255;
var $28 = $26 ? 8 : $27;
var $storemerge = $28;
label = 4;
break;
case 4:
var $storemerge;
HEAP8[$mask_idx] = $storemerge;
var $30 = $2 + 2148 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $31 - 1 | 0;
var $33 = ($32 | 0) > 1;
var $34 = HEAPF32[$avg >> 2];
var $35 = $avg + 4 | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = $34 + $36;
if ($33) {
var $b_082 = 1;
var $39 = 0;
var $38 = $37;
label = 5;
break;
} else {
var $b_0_lcssa = 1;
var $_lcssa = 0;
var $_lcssa81 = $37;
label = 9;
break;
}
case 5:
var $38;
var $39;
var $b_082;
var $40 = $b_082 + 1 | 0;
var $41 = $avg + ($40 << 2) | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $38 + $42;
var $44 = $43 > 0;
if ($44) {
label = 6;
break;
} else {
label = 8;
break;
}
case 6:
var $46 = $max + ($39 << 2) | 0;
var $47 = HEAPF32[$46 >> 2];
var $48 = $max + ($b_082 << 2) | 0;
var $49 = HEAPF32[$48 >> 2];
var $50 = $47 < $49;
var $m_1 = $50 ? $49 : $47;
var $51 = $max + ($40 << 2) | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $m_1 < $52;
var $m_2 = $53 ? $52 : $m_1;
var $54 = $m_2 * 3;
var $55 = $54 - $43;
var $56 = $55 * 20;
var $57 = $2 + 1716 + ($39 << 2) | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = $2 + 1716 + ($b_082 << 2) | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = $2 + 1716 + ($40 << 2) | 0;
var $62 = HEAP32[$61 >> 2];
var $63 = $58 - 1 | 0;
var $64 = $63 + $60 | 0;
var $65 = $64 + $62 | 0;
var $66 = $65 | 0;
var $67 = $43 * $66;
var $68 = $56 / $67;
var $69 = $68 & -1;
var $70 = ($69 | 0) > 8;
var $71 = $69 & 255;
var $72 = $70 ? 8 : $71;
var $73 = $mask_idx + $b_082 | 0;
HEAP8[$73] = $72;
label = 7;
break;
case 7:
var $74 = HEAP32[$30 >> 2];
var $75 = $74 - 1 | 0;
var $76 = ($40 | 0) < ($75 | 0);
var $77 = $avg + ($b_082 << 2) | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = $avg + ($40 << 2) | 0;
var $80 = HEAPF32[$79 >> 2];
var $81 = $78 + $80;
if ($76) {
var $39 = $b_082;
var $b_082 = $40;
var $38 = $81;
label = 5;
break;
} else {
var $b_0_lcssa = $40;
var $_lcssa = $b_082;
var $_lcssa81 = $81;
label = 9;
break;
}
case 8:
var $83 = $mask_idx + $b_082 | 0;
HEAP8[$83] = 0;
label = 7;
break;
case 9:
var $_lcssa81;
var $_lcssa;
var $b_0_lcssa;
var $84 = $_lcssa81 > 0;
if ($84) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $86 = $max + ($_lcssa << 2) | 0;
var $87 = HEAPF32[$86 >> 2];
var $88 = $max + ($b_0_lcssa << 2) | 0;
var $89 = HEAPF32[$88 >> 2];
var $90 = $87 < $89;
var $m_3 = $90 ? $89 : $87;
var $91 = $m_3 * 2;
var $92 = $91 - $_lcssa81;
var $93 = $92 * 20;
var $94 = $2 + 1716 + ($_lcssa << 2) | 0;
var $95 = HEAP32[$94 >> 2];
var $96 = $2 + 1716 + ($b_0_lcssa << 2) | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = $95 - 1 | 0;
var $99 = $98 + $97 | 0;
var $100 = $99 | 0;
var $101 = $_lcssa81 * $100;
var $102 = $93 / $101;
var $103 = $102 & -1;
var $104 = ($103 | 0) > 8;
var $105 = $103 & 255;
var $106 = $104 ? 8 : $105;
var $107 = $mask_idx + $b_0_lcssa | 0;
HEAP8[$107] = $106;
label = 12;
break;
case 11:
var $109 = $mask_idx + $b_0_lcssa | 0;
HEAP8[$109] = 0;
label = 12;
break;
case 12:
return;
}
}
_calc_mask_index_l["X"] = 1;
function _psycho_loudness_approx($energy, $eql_w) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_07 = 0;
var $loudness_power_08 = 0;
label = 3;
break;
case 3:
var $loudness_power_08;
var $i_07;
var $2 = $energy + ($i_07 << 2) | 0;
var $3 = HEAPF32[$2 >> 2];
var $4 = $eql_w + ($i_07 << 2) | 0;
var $5 = HEAPF32[$4 >> 2];
var $6 = $3 * $5;
var $7 = $loudness_power_08 + $6;
var $8 = $i_07 + 1 | 0;
var $exitcond = ($8 | 0) == 512;
if ($exitcond) {
label = 4;
break;
} else {
var $i_07 = $8;
var $loudness_power_08 = $7;
label = 3;
break;
}
case 4:
var $10 = $7;
var $11 = $10 * 8.974871343596633e-12;
var $12 = $11;
return $12;
}
}
function _init_xrpow_core_init($gfc) {
HEAP32[$gfc + 85820 >> 2] = 48;
return;
}
function _init_xrpow_core_c($cod_info, $xrpow, $upper, $sum) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
HEAPF32[$sum >> 2] = 0;
var $1 = ($upper | 0) < 0;
if ($1) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $cod_info + 4764 | 0;
var $3 = $upper + 1 | 0;
var $i_016 = 0;
label = 4;
break;
case 4:
var $i_016;
var $5 = $cod_info + ($i_016 << 2) | 0;
var $6 = HEAPF32[$5 >> 2];
var $fabsf = Math.abs($6);
var $7 = HEAPF32[$sum >> 2];
var $8 = $fabsf + $7;
HEAPF32[$sum >> 2] = $8;
var $9 = $fabsf;
var $10 = Math.sqrt($9);
var $11 = $9 * $10;
var $12 = Math.sqrt($11);
var $13 = $12;
var $14 = $xrpow + ($i_016 << 2) | 0;
HEAPF32[$14 >> 2] = $13;
var $15 = HEAPF32[$2 >> 2];
var $16 = $13 > $15;
if ($16) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
HEAPF32[$2 >> 2] = $13;
label = 6;
break;
case 6:
var $19 = $i_016 + 1 | 0;
var $exitcond = ($19 | 0) == ($3 | 0);
if ($exitcond) {
label = 7;
break;
} else {
var $i_016 = $19;
label = 4;
break;
}
case 7:
return;
}
}
function _VBR_old_iteration_loop($gfc, $pe, $ms_ener_ratio, $ratio) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 3040 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $l3_xmin = __stackBase__;
var $xrpow = __stackBase__ + 624;
var $bands = __stackBase__ + 2928;
var $frameBits = __stackBase__ + 2944;
var $min_bits = __stackBase__ + 3004;
var $max_bits = __stackBase__ + 3020;
var $mean_bits = __stackBase__ + 3036;
var $1 = $l3_xmin | 0;
var $2 = $frameBits | 0;
var $3 = $min_bits | 0;
var $4 = $max_bits | 0;
var $5 = $bands | 0;
var $6 = _VBR_old_prepare($gfc, $pe, $ms_ener_ratio, $ratio, $1, $2, $3, $4, $5);
var $7 = $gfc + 76 | 0;
var $8 = ($6 | 0) == 0;
var $9 = $gfc + 112 | 0;
var $10 = $gfc + 84740 | 0;
var $11 = $gfc + 124 | 0;
var $12 = $gfc + 84740 | 0;
var $13 = $gfc + 84740 | 0;
var $14 = $gfc + 116 | 0;
var $15 = $gfc + 72 | 0;
var $16 = $xrpow | 0;
var $17 = $gfc + 85092 | 0;
var $used_bits_0 = 0;
var $gr_0 = 0;
label = 3;
break;
case 3:
var $gr_0;
var $used_bits_0;
var $18 = HEAP32[$7 >> 2];
var $19 = ($gr_0 | 0) < ($18 | 0);
if ($19) {
label = 4;
break;
} else {
label = 12;
break;
}
case 4:
var $20 = HEAP32[$15 >> 2];
var $21 = ($20 | 0) > 0;
if ($21) {
var $ch_063 = 0;
var $used_bits_165 = $used_bits_0;
label = 5;
break;
} else {
var $used_bits_1_lcssa = $used_bits_0;
label = 11;
break;
}
case 5:
var $used_bits_165;
var $ch_063;
var $22 = $gfc + 304 + $gr_0 * 10504 + $ch_063 * 5252 | 0;
var $23 = _init_xrpow($gfc, $22, $16);
var $24 = ($23 | 0) == 0;
if ($24) {
var $used_bits_2 = $used_bits_165;
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $26 = $max_bits + ($gr_0 << 3) + ($ch_063 << 2) | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = ($27 | 0) == 0;
if ($28) {
var $used_bits_2 = $used_bits_165;
label = 10;
break;
} else {
label = 7;
break;
}
case 7:
var $30 = $l3_xmin + $gr_0 * 312 + $ch_063 * 156 | 0;
var $31 = $min_bits + ($gr_0 << 3) + ($ch_063 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
_VBR_encode_granule($gfc, $22, $30, $16, $ch_063, $32, $27);
var $33 = HEAP32[$17 >> 2];
var $34 = $33 & 1;
var $35 = ($34 | 0) == 0;
if ($35) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
_trancate_smallspectrums($gfc, $22, $30, $16);
label = 9;
break;
case 9:
var $38 = $gfc + 304 + $gr_0 * 10504 + $ch_063 * 5252 + 4768 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = $gfc + 304 + $gr_0 * 10504 + $ch_063 * 5252 + 4844 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $39 + $used_bits_165 | 0;
var $43 = $42 + $41 | 0;
var $used_bits_2 = $43;
label = 10;
break;
case 10:
var $used_bits_2;
var $45 = $ch_063 + 1 | 0;
var $46 = HEAP32[$15 >> 2];
var $47 = ($45 | 0) < ($46 | 0);
if ($47) {
var $ch_063 = $45;
var $used_bits_165 = $used_bits_2;
label = 5;
break;
} else {
var $used_bits_1_lcssa = $used_bits_2;
label = 11;
break;
}
case 11:
var $used_bits_1_lcssa;
var $48 = $gr_0 + 1 | 0;
var $used_bits_0 = $used_bits_1_lcssa;
var $gr_0 = $48;
label = 3;
break;
case 12:
if ($8) {
label = 15;
break;
} else {
label = 13;
break;
}
case 13:
var $51 = HEAP32[$11 >> 2];
var $52 = ($51 | 0) == 0;
if ($52) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
HEAP32[$12 >> 2] = 1;
label = 16;
break;
case 15:
var $55 = HEAP32[$9 >> 2];
HEAP32[$10 >> 2] = $55;
label = 16;
break;
case 16:
var $56 = HEAP32[$13 >> 2];
var $57 = HEAP32[$14 >> 2];
var $58 = ($56 | 0) < ($57 | 0);
if ($58) {
var $59 = $56;
label = 17;
break;
} else {
label = 19;
break;
}
case 17:
var $59;
var $60 = $frameBits + ($59 << 2) | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = ($used_bits_0 | 0) > ($61 | 0);
if ($62) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
var $64 = $59 + 1 | 0;
HEAP32[$13 >> 2] = $64;
var $65 = HEAP32[$14 >> 2];
var $66 = ($64 | 0) < ($65 | 0);
if ($66) {
var $59 = $64;
label = 17;
break;
} else {
label = 19;
break;
}
case 19:
var $67 = _ResvFrameBegin($gfc, $mean_bits);
var $68 = ($used_bits_0 | 0) > ($67 | 0);
if ($68) {
label = 22;
break;
} else {
label = 20;
break;
}
case 20:
var $69 = HEAP32[$7 >> 2];
var $70 = ($69 | 0) > 0;
if ($70) {
label = 21;
break;
} else {
label = 26;
break;
}
case 21:
var $71 = $gfc + 72 | 0;
var $gr_157 = 0;
label = 23;
break;
case 22:
_bitpressure_strategy($gfc, $1, $3, $4);
var $used_bits_0 = 0;
var $gr_0 = 0;
label = 3;
break;
case 23:
var $gr_157;
var $73 = HEAP32[$71 >> 2];
var $74 = ($73 | 0) > 0;
if ($74) {
var $ch_155 = 0;
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $ch_155;
_iteration_finish_one($gfc, $gr_157, $ch_155);
var $75 = $ch_155 + 1 | 0;
var $76 = HEAP32[$71 >> 2];
var $77 = ($75 | 0) < ($76 | 0);
if ($77) {
var $ch_155 = $75;
label = 24;
break;
} else {
label = 25;
break;
}
case 25:
var $78 = $gr_157 + 1 | 0;
var $79 = HEAP32[$7 >> 2];
var $80 = ($78 | 0) < ($79 | 0);
if ($80) {
var $gr_157 = $78;
label = 23;
break;
} else {
label = 26;
break;
}
case 26:
var $81 = HEAP32[$mean_bits >> 2];
_ResvFrameEnd($gfc, $81);
STACKTOP = __stackBase__;
return;
}
}
_VBR_old_iteration_loop["X"] = 1;
function _VBR_old_prepare($gfc, $pe, $ms_ener_ratio, $ratio, $l3_xmin, $frameBits, $min_bits, $max_bits, $bands) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $avg = __stackBase__;
var $1 = $gfc + 116 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 84740 | 0;
HEAP32[$3 >> 2] = $2;
var $4 = _ResvFrameBegin($gfc, $avg);
var $5 = $gfc + 76 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($4 | 0) / ($6 | 0) & -1;
HEAP32[$avg >> 2] = $7;
_get_framebits($gfc, $frameBits);
var $8 = HEAP32[$5 >> 2];
var $9 = ($8 | 0) > 0;
if ($9) {
label = 3;
break;
} else {
var $analog_silence_0_lcssa106 = 1;
label = 21;
break;
}
case 3:
var $10 = HEAP32[$avg >> 2];
var $11 = $gfc + 84752 | 0;
var $12 = $gfc + 304 | 0;
var $13 = $gfc + 72 | 0;
var $14 = $gfc + 84912 | 0;
var $15 = $gfc + 84904 | 0;
var $16 = $gfc + 84908 | 0;
var $gr_098 = 0;
var $analog_silence_0100 = 1;
var $bits_0101 = 0;
label = 6;
break;
case 4:
var $17 = ($71 | 0) > 0;
if ($17) {
label = 5;
break;
} else {
var $analog_silence_0_lcssa106 = $analog_silence_1_lcssa;
label = 21;
break;
}
case 5:
var $18 = $gfc + 72 | 0;
var $19 = ($bits_1_lcssa | 0) > 0;
var $gr_188 = 0;
label = 14;
break;
case 6:
var $bits_0101;
var $analog_silence_0100;
var $gr_098;
var $21 = $max_bits + ($gr_098 << 3) | 0;
var $22 = _on_pe($gfc, $pe, $21, $10, $gr_098, 0);
var $23 = HEAP32[$11 >> 2];
var $24 = ($23 | 0) == 2;
if ($24) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
_ms_convert($12, $gr_098);
var $26 = $ms_ener_ratio + ($gr_098 << 2) | 0;
var $27 = HEAPF32[$26 >> 2];
_reduce_side($21, $27, $10, $22);
label = 8;
break;
case 8:
var $28 = HEAP32[$13 >> 2];
var $29 = ($28 | 0) > 0;
if ($29) {
var $ch_092 = 0;
var $analog_silence_193 = $analog_silence_0100;
var $bits_194 = $bits_0101;
label = 9;
break;
} else {
var $analog_silence_1_lcssa = $analog_silence_0100;
var $bits_1_lcssa = $bits_0101;
label = 13;
break;
}
case 9:
var $bits_194;
var $analog_silence_193;
var $ch_092;
var $30 = $gfc + 304 + $gr_098 * 10504 + $ch_092 * 5252 | 0;
var $31 = $gfc + 304 + $gr_098 * 10504 + $ch_092 * 5252 + 4788 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($32 | 0) == 2;
var $34 = $pe + ($gr_098 << 3) + ($ch_092 << 2) | 0;
var $35 = HEAPF32[$34 >> 2];
var $36 = $35;
var $37 = $36 / 300;
var $38 = 3.5 - $37;
var $39 = Math.exp($38);
var $40 = $39 + 1;
if ($33) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
var $42 = 1.28 / $40;
var $43 = $42 - .05;
var $44 = $43;
var $45 = HEAPF32[$16 >> 2];
var $46 = $45 - $44;
var $masking_lower_db_0 = $46;
label = 12;
break;
case 11:
var $48 = 2.56 / $40;
var $49 = $48 - .14;
var $50 = $49;
var $51 = HEAPF32[$14 >> 2];
var $52 = $51 - $50;
var $masking_lower_db_0 = $52;
label = 12;
break;
case 12:
var $masking_lower_db_0;
var $54 = $masking_lower_db_0;
var $55 = $54 * .1;
var $56 = Math.pow(10, $55);
var $57 = $56;
HEAPF32[$15 >> 2] = $57;
_init_outer_loop($gfc, $30);
var $58 = $ratio + $gr_098 * 976 + $ch_092 * 488 | 0;
var $59 = $l3_xmin + $gr_098 * 312 + $ch_092 * 156 | 0;
var $60 = _calc_xmin($gfc, $58, $30, $59);
var $61 = $bands + ($gr_098 << 3) + ($ch_092 << 2) | 0;
HEAP32[$61 >> 2] = $60;
var $62 = ($60 | 0) == 0;
var $analog_silence_1_ = $62 ? $analog_silence_193 : 0;
var $63 = $min_bits + ($gr_098 << 3) + ($ch_092 << 2) | 0;
HEAP32[$63 >> 2] = 126;
var $64 = $max_bits + ($gr_098 << 3) + ($ch_092 << 2) | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = $65 + $bits_194 | 0;
var $67 = $ch_092 + 1 | 0;
var $68 = HEAP32[$13 >> 2];
var $69 = ($67 | 0) < ($68 | 0);
if ($69) {
var $ch_092 = $67;
var $analog_silence_193 = $analog_silence_1_;
var $bits_194 = $66;
label = 9;
break;
} else {
var $analog_silence_1_lcssa = $analog_silence_1_;
var $bits_1_lcssa = $66;
label = 13;
break;
}
case 13:
var $bits_1_lcssa;
var $analog_silence_1_lcssa;
var $70 = $gr_098 + 1 | 0;
var $71 = HEAP32[$5 >> 2];
var $72 = ($70 | 0) < ($71 | 0);
if ($72) {
var $gr_098 = $70;
var $analog_silence_0100 = $analog_silence_1_lcssa;
var $bits_0101 = $bits_1_lcssa;
label = 6;
break;
} else {
label = 4;
break;
}
case 14:
var $gr_188;
var $73 = HEAP32[$18 >> 2];
var $74 = ($73 | 0) > 0;
if ($74) {
var $ch_186 = 0;
label = 15;
break;
} else {
label = 20;
break;
}
case 15:
var $ch_186;
var $75 = HEAP32[$1 >> 2];
var $76 = $frameBits + ($75 << 2) | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($bits_1_lcssa | 0) > ($77 | 0);
var $or_cond = $78 & $19;
if ($or_cond) {
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
var $80 = $max_bits + ($gr_188 << 3) + ($ch_186 << 2) | 0;
var $81 = HEAP32[$80 >> 2];
var $82 = $81 * $77 & -1;
var $83 = ($82 | 0) / ($bits_1_lcssa | 0) & -1;
HEAP32[$80 >> 2] = $83;
label = 17;
break;
case 17:
var $85 = $min_bits + ($gr_188 << 3) + ($ch_186 << 2) | 0;
var $86 = HEAP32[$85 >> 2];
var $87 = $max_bits + ($gr_188 << 3) + ($ch_186 << 2) | 0;
var $88 = HEAP32[$87 >> 2];
var $89 = ($86 | 0) > ($88 | 0);
if ($89) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
HEAP32[$85 >> 2] = $88;
label = 19;
break;
case 19:
var $92 = $ch_186 + 1 | 0;
var $93 = HEAP32[$18 >> 2];
var $94 = ($92 | 0) < ($93 | 0);
if ($94) {
var $ch_186 = $92;
label = 15;
break;
} else {
label = 20;
break;
}
case 20:
var $95 = $gr_188 + 1 | 0;
var $96 = HEAP32[$5 >> 2];
var $97 = ($95 | 0) < ($96 | 0);
if ($97) {
var $gr_188 = $95;
label = 14;
break;
} else {
var $analog_silence_0_lcssa106 = $analog_silence_1_lcssa;
label = 21;
break;
}
case 21:
var $analog_silence_0_lcssa106;
STACKTOP = __stackBase__;
return $analog_silence_0_lcssa106;
}
}
_VBR_old_prepare["X"] = 1;
function _init_xrpow($gfc, $cod_info, $xrpow) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $sum = __stackBase__;
HEAPF32[$sum >> 2] = 0;
var $1 = $cod_info + 5208 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $cod_info + 4764 | 0;
HEAPF32[$3 >> 2] = 0;
var $4 = $xrpow + ($2 << 2) | 0;
var $5 = $4;
var $6 = 576 - $2 | 0;
var $7 = $6 << 2;
_memset($5, 0, $7);
var $8 = $gfc + 85820 | 0;
var $9 = HEAP32[$8 >> 2];
FUNCTION_TABLE[$9]($cod_info, $xrpow, $2, $sum);
var $10 = HEAPF32[$sum >> 2];
var $11 = $10 > 9.999999682655225e-21;
if ($11) {
label = 3;
break;
} else {
label = 5;
break;
}
case 3:
var $13 = $gfc + 85092 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 >>> 1;
var $_lobit = $15 & 1;
var $16 = $cod_info + 4864 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) > 0;
if ($18) {
var $i_015 = 0;
label = 4;
break;
} else {
var $_0 = 1;
label = 6;
break;
}
case 4:
var $i_015;
var $19 = $gfc + 84932 + ($i_015 << 2) | 0;
HEAP32[$19 >> 2] = $_lobit;
var $20 = $i_015 + 1 | 0;
var $21 = HEAP32[$16 >> 2];
var $22 = ($20 | 0) < ($21 | 0);
if ($22) {
var $i_015 = $20;
label = 4;
break;
} else {
var $_0 = 1;
label = 6;
break;
}
case 5:
var $24 = $cod_info + 2304 | 0;
var $25 = $24;
for (var $$dest = $25 >> 2, $$stop = $$dest + 576; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $_0 = 0;
label = 6;
break;
case 6:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _VBR_encode_granule($gfc, $cod_info, $l3_xmin, $xrpow, $ch, $min_bits, $max_bits) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 7556 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bst_cod_info = __stackBase__;
var $bst_xrpow = __stackBase__ + 5252;
var $1 = $max_bits + $min_bits | 0;
var $2 = ($1 | 0) / 2 & -1;
var $3 = $gfc + 85088 | 0;
var $4 = HEAP32[$3 >> 2];
var $bst_cod_info_2304_idx = $bst_cod_info + 2304 | 0;
var $bst_cod_info_2304_cast = $bst_cod_info_2304_idx;
for (var $$dest = $bst_cod_info_2304_cast >> 2, $$stop = $$dest + 576; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $5 = $max_bits - 42 | 0;
var $6 = $cod_info + 4768 | 0;
var $7 = $bst_cod_info;
var $8 = $cod_info;
var $9 = $bst_xrpow;
var $10 = $xrpow;
var $11 = $cod_info;
var $12 = $bst_cod_info;
var $13 = $xrpow;
var $14 = $bst_xrpow;
var $_0 = $min_bits;
var $found_0 = 0;
var $_031 = $max_bits;
var $this_bits_0 = $2;
label = 3;
break;
case 3:
var $this_bits_0;
var $_031;
var $found_0;
var $_0;
var $16 = ($this_bits_0 | 0) > ($5 | 0);
var $_ = $16 ? 0 : $4;
HEAP32[$3 >> 2] = $_;
var $17 = _outer_loop($gfc, $cod_info, $l3_xmin, $xrpow, $ch, $this_bits_0);
var $18 = ($17 | 0) < 1;
if ($18) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $20 = HEAP32[$6 >> 2];
for (var $$src = $8 >> 2, $$dest = $7 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
for (var $$src = $10 >> 2, $$dest = $9 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $21 = $20 - 32 | 0;
var $22 = $21 - $_0 | 0;
var $23 = $21 + $_0 | 0;
var $24 = ($23 | 0) / 2 & -1;
var $_1 = $_0;
var $found_1 = 1;
var $_132 = $21;
var $dbits_0 = $22;
var $this_bits_1 = $24;
label = 7;
break;
case 5:
var $26 = $this_bits_0 + 32 | 0;
var $27 = $_031 - $26 | 0;
var $28 = $_031 + $26 | 0;
var $29 = ($28 | 0) / 2 & -1;
var $30 = ($found_0 | 0) == 0;
if ($30) {
var $_1 = $26;
var $found_1 = 0;
var $_132 = $_031;
var $dbits_0 = $27;
var $this_bits_1 = $29;
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
for (var $$src = $12 >> 2, $$dest = $11 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
for (var $$src = $14 >> 2, $$dest = $13 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $_1 = $26;
var $found_1 = 2;
var $_132 = $_031;
var $dbits_0 = $27;
var $this_bits_1 = $29;
label = 7;
break;
case 7:
var $this_bits_1;
var $dbits_0;
var $_132;
var $found_1;
var $_1;
var $33 = ($dbits_0 | 0) > 12;
if ($33) {
var $_0 = $_1;
var $found_0 = $found_1;
var $_031 = $_132;
var $this_bits_0 = $this_bits_1;
label = 3;
break;
} else {
label = 8;
break;
}
case 8:
HEAP32[$3 >> 2] = $4;
var $35 = ($found_1 | 0) == 2;
if ($35) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $37 = $cod_info + 2304 | 0;
var $38 = $37;
for (var $$src = $bst_cod_info_2304_cast >> 2, $$dest = $38 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 10;
break;
case 10:
STACKTOP = __stackBase__;
return;
}
}
_VBR_encode_granule["X"] = 1;
function _trancate_smallspectrums($gfc, $gi, $l3_xmin, $work) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 180 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $distort = __stackBase__;
var $dummy = __stackBase__ + 156;
var $1 = $gfc + 85092 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 & 4;
var $4 = ($3 | 0) == 0;
if ($4) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $6 = $gi + 4788 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) == 2;
if ($8) {
label = 32;
break;
} else {
label = 4;
break;
}
case 4:
var $10 = HEAP32[$1 >> 2];
var $11 = $10 & 128;
var $12 = ($11 | 0) == 0;
if ($12) {
label = 5;
break;
} else {
label = 32;
break;
}
case 5:
var $14 = $distort | 0;
var $15 = _calc_noise($gi, $l3_xmin, $14, $dummy, 0);
var $j_0108 = 0;
label = 6;
break;
case 6:
var $j_0108;
var $17 = $gi + 2304 + ($j_0108 << 2) | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = ($18 | 0) == 0;
if ($19) {
var $xr_0 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $21 = $gi + ($j_0108 << 2) | 0;
var $22 = HEAPF32[$21 >> 2];
var $fabsf = Math.abs($22);
var $xr_0 = $fabsf;
label = 8;
break;
case 8:
var $xr_0;
var $24 = $work + ($j_0108 << 2) | 0;
HEAPF32[$24 >> 2] = $xr_0;
var $25 = $j_0108 + 1 | 0;
var $exitcond = ($25 | 0) == 576;
if ($exitcond) {
label = 9;
break;
} else {
var $j_0108 = $25;
label = 6;
break;
}
case 9:
var $27 = $gi + 4788 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 2;
var $_ = $29 ? 6 : 8;
var $30 = $gi + 4864 | 0;
var $sfb_0 = $_;
var $j_1 = 0;
label = 10;
break;
case 10:
var $j_1;
var $sfb_0;
var $32 = $gi + 4872 + ($sfb_0 << 2) | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = $33 + $j_1 | 0;
var $35 = $distort + ($sfb_0 << 2) | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = $36 < 1;
if ($37) {
label = 11;
break;
} else {
label = 30;
break;
}
case 11:
var $39 = $work + ($j_1 << 2) | 0;
var $40 = $39;
_qsort($40, $33, 4, 18);
var $41 = $34 - 1 | 0;
var $42 = $work + ($41 << 2) | 0;
var $43 = HEAPF32[$42 >> 2];
var $44 = $43 == 0;
if ($44) {
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $fabsf91 = Math.abs($43);
var $46 = $fabsf91;
var $47 = $46 * 9.999999974752427e-7;
var $48 = $46 > $47;
if ($48) {
label = 14;
break;
} else {
label = 30;
break;
}
case 13:
var $50 = $43 == 0;
if ($50) {
label = 30;
break;
} else {
label = 14;
break;
}
case 14:
var $52 = HEAPF32[$35 >> 2];
var $53 = $52;
var $54 = 1 - $53;
var $55 = $l3_xmin + ($sfb_0 << 2) | 0;
var $56 = HEAPF32[$55 >> 2];
var $57 = $56;
var $58 = $54 * $57;
var $59 = $58;
var $start_0 = 0;
var $allowedNoise_0 = $59;
label = 15;
break;
case 15:
var $allowedNoise_0;
var $start_0;
var $61 = $start_0 + 1 | 0;
var $62 = ($61 | 0) < ($33 | 0);
if ($62) {
label = 16;
break;
} else {
var $nsame_0_lcssa = 1;
var $_lcssa = $61;
var $_lcssa99 = 0;
label = 21;
break;
}
case 16:
var $63 = $start_0 + $34 | 0;
var $64 = $63 - $33 | 0;
var $65 = $work + ($64 << 2) | 0;
var $66 = HEAPF32[$65 >> 2];
var $fabsf92 = Math.abs($66);
var $67 = $start_0 + $j_1 | 0;
var $68 = $fabsf92;
var $69 = $68 * 9.999999974752427e-7;
var $nsame_0100 = 1;
var $71 = $61;
label = 17;
break;
case 17:
var $71;
var $nsame_0100;
var $72 = $67 + $nsame_0100 | 0;
var $73 = $work + ($72 << 2) | 0;
var $74 = HEAPF32[$73 >> 2];
var $fabsf93 = Math.abs($74);
var $75 = $fabsf92 > $fabsf93;
var $76 = $66 - $74;
var $fabsf94 = Math.abs($76);
var $77 = $fabsf94;
if ($75) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
var $79 = $77 > $69;
if ($79) {
var $nsame_0_lcssa = $nsame_0100;
var $_lcssa = $71;
var $_lcssa99 = 1;
label = 21;
break;
} else {
label = 20;
break;
}
case 19:
var $81 = $fabsf93;
var $82 = $81 * 9.999999974752427e-7;
var $83 = $77 > $82;
if ($83) {
var $nsame_0_lcssa = $nsame_0100;
var $_lcssa = $71;
var $_lcssa99 = 1;
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
var $85 = $nsame_0100 + 1 | 0;
var $86 = $85 + $start_0 | 0;
var $87 = ($86 | 0) < ($33 | 0);
if ($87) {
var $nsame_0100 = $85;
var $71 = $86;
label = 17;
break;
} else {
var $nsame_0_lcssa = $85;
var $_lcssa = $86;
var $_lcssa99 = 0;
label = 21;
break;
}
case 21:
var $_lcssa99;
var $_lcssa;
var $nsame_0_lcssa;
var $88 = $j_1 + $start_0 | 0;
var $89 = $work + ($88 << 2) | 0;
var $90 = HEAPF32[$89 >> 2];
var $91 = $90 * $90;
var $92 = $nsame_0_lcssa | 0;
var $93 = $92 * $91;
var $94 = $allowedNoise_0 < $93;
if ($94) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $96 = ($start_0 | 0) == 0;
if ($96) {
label = 30;
break;
} else {
label = 24;
break;
}
case 23:
var $98 = $allowedNoise_0 - $93;
if ($_lcssa99) {
var $start_0 = $_lcssa;
var $allowedNoise_0 = $98;
label = 15;
break;
} else {
label = 30;
break;
}
case 24:
var $100 = $88 - 1 | 0;
var $101 = $work + ($100 << 2) | 0;
var $102 = HEAPF32[$101 >> 2];
var $103 = $102 == 0;
if ($103) {
label = 26;
break;
} else {
label = 25;
break;
}
case 25:
var $phitmp = $102;
var $105 = Math.abs($phitmp);
var $106 = $105 * 9.999999974752427e-7;
var $107 = $105 > $106;
if ($107) {
var $width_0 = $33;
label = 27;
break;
} else {
label = 30;
break;
}
case 26:
var $109 = $102 == 0;
if ($109) {
label = 30;
break;
} else {
var $width_0 = $33;
label = 27;
break;
}
case 27:
var $width_0;
var $110 = $34 - $width_0 | 0;
var $111 = $gi + ($110 << 2) | 0;
var $112 = HEAPF32[$111 >> 2];
var $fabsf95 = Math.abs($112);
var $113 = $fabsf95 > $102;
if ($113) {
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $115 = $gi + 2304 + ($110 << 2) | 0;
HEAP32[$115 >> 2] = 0;
label = 29;
break;
case 29:
var $117 = $width_0 - 1 | 0;
var $118 = ($117 | 0) > 0;
if ($118) {
var $width_0 = $117;
label = 27;
break;
} else {
label = 30;
break;
}
case 30:
var $119 = $sfb_0 + 1 | 0;
var $120 = HEAP32[$30 >> 2];
var $121 = ($119 | 0) < ($120 | 0);
if ($121) {
var $sfb_0 = $119;
var $j_1 = $34;
label = 10;
break;
} else {
label = 31;
break;
}
case 31:
var $123 = _noquant_count_bits($gfc, $gi, 0);
var $124 = $gi + 4768 | 0;
HEAP32[$124 >> 2] = $123;
label = 32;
break;
case 32:
STACKTOP = __stackBase__;
return;
}
}
_trancate_smallspectrums["X"] = 1;
function _bitpressure_strategy($gfc, $l3_xmin, $min_bits, $max_bits) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 76 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
label = 12;
break;
}
case 3:
var $4 = $gfc + 72 | 0;
var $gr_048 = 0;
label = 4;
break;
case 4:
var $gr_048;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) > 0;
if ($6) {
var $ch_045 = 0;
label = 5;
break;
} else {
label = 11;
break;
}
case 5:
var $ch_045;
var $7 = $l3_xmin + $gr_048 * 312 + $ch_045 * 156 | 0;
var $8 = $gfc + 304 + $gr_048 * 10504 + $ch_045 * 5252 + 4856 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($9 | 0) > 0;
if ($10) {
var $sfb_039 = 0;
var $pxmin_040 = $7;
label = 6;
break;
} else {
var $pxmin_0_lcssa = $7;
label = 7;
break;
}
case 6:
var $pxmin_040;
var $sfb_039;
var $11 = $sfb_039 | 0;
var $12 = $11 * .029;
var $13 = $11 * $12;
var $14 = $13 / 22;
var $15 = $14 / 22;
var $16 = $15 + 1;
var $17 = $pxmin_040 + 4 | 0;
var $18 = HEAPF32[$pxmin_040 >> 2];
var $19 = $18;
var $20 = $16 * $19;
var $21 = $20;
HEAPF32[$pxmin_040 >> 2] = $21;
var $22 = $sfb_039 + 1 | 0;
var $23 = HEAP32[$8 >> 2];
var $24 = ($22 | 0) < ($23 | 0);
if ($24) {
var $sfb_039 = $22;
var $pxmin_040 = $17;
label = 6;
break;
} else {
var $pxmin_0_lcssa = $17;
label = 7;
break;
}
case 7:
var $pxmin_0_lcssa;
var $25 = $gfc + 304 + $gr_048 * 10504 + $ch_045 * 5252 + 4788 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) == 2;
if ($27) {
label = 8;
break;
} else {
label = 10;
break;
}
case 8:
var $29 = $gfc + 304 + $gr_048 * 10504 + $ch_045 * 5252 + 4852 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = ($30 | 0) < 13;
if ($31) {
var $sfb_141 = $30;
var $pxmin_142 = $pxmin_0_lcssa;
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $pxmin_142;
var $sfb_141;
var $32 = $sfb_141 | 0;
var $33 = $32 * .029;
var $34 = $32 * $33;
var $35 = $34 / 13;
var $36 = $35 / 13;
var $37 = $36 + 1;
var $38 = $pxmin_142 + 4 | 0;
var $39 = HEAPF32[$pxmin_142 >> 2];
var $40 = $39;
var $41 = $37 * $40;
var $42 = $41;
HEAPF32[$pxmin_142 >> 2] = $42;
var $43 = $pxmin_142 + 8 | 0;
var $44 = HEAPF32[$38 >> 2];
var $45 = $44;
var $46 = $37 * $45;
var $47 = $46;
HEAPF32[$38 >> 2] = $47;
var $48 = $pxmin_142 + 12 | 0;
var $49 = HEAPF32[$43 >> 2];
var $50 = $49;
var $51 = $37 * $50;
var $52 = $51;
HEAPF32[$43 >> 2] = $52;
var $53 = $sfb_141 + 1 | 0;
var $exitcond = ($53 | 0) == 13;
if ($exitcond) {
label = 10;
break;
} else {
var $sfb_141 = $53;
var $pxmin_142 = $48;
label = 9;
break;
}
case 10:
var $54 = $min_bits + ($gr_048 << 3) + ($ch_045 << 2) | 0;
var $55 = HEAP32[$54 >> 2];
var $56 = $55 | 0;
var $57 = $max_bits + ($gr_048 << 3) + ($ch_045 << 2) | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = $58 | 0;
var $60 = $59 * .9;
var $61 = $56 > $60;
var $_ = $61 ? $56 : $60;
var $62 = $_ & -1;
HEAP32[$57 >> 2] = $62;
var $63 = $ch_045 + 1 | 0;
var $64 = HEAP32[$4 >> 2];
var $65 = ($63 | 0) < ($64 | 0);
if ($65) {
var $ch_045 = $63;
label = 5;
break;
} else {
label = 11;
break;
}
case 11:
var $66 = $gr_048 + 1 | 0;
var $67 = HEAP32[$1 >> 2];
var $68 = ($66 | 0) < ($67 | 0);
if ($68) {
var $gr_048 = $66;
label = 4;
break;
} else {
label = 12;
break;
}
case 12:
return;
}
}
_bitpressure_strategy["X"] = 1;
function _ms_convert($l3_side, $gr) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_015 = 0;
label = 3;
break;
case 3:
var $i_015;
var $2 = $l3_side + $gr * 10504 + ($i_015 << 2) | 0;
var $3 = HEAPF32[$2 >> 2];
var $4 = $l3_side + $gr * 10504 + 5252 + ($i_015 << 2) | 0;
var $5 = HEAPF32[$4 >> 2];
var $6 = $3 + $5;
var $7 = $6 * .7071067690849304;
HEAPF32[$2 >> 2] = $7;
var $8 = $3 - $5;
var $9 = $8 * .7071067690849304;
HEAPF32[$4 >> 2] = $9;
var $10 = $i_015 + 1 | 0;
var $exitcond = ($10 | 0) == 576;
if ($exitcond) {
label = 4;
break;
} else {
var $i_015 = $10;
label = 3;
break;
}
case 4:
return;
}
}
function _iteration_finish_one($gfc, $gr, $ch) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 304 | 0;
var $2 = $gfc + 304 + $gr * 10504 + $ch * 5252 | 0;
_best_scalefac_store($gfc, $gr, $ch, $1);
var $3 = $gfc + 36 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 1;
if ($5) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_best_huffman_divide($gfc, $2);
label = 4;
break;
case 4:
_ResvAdjust($gfc, $2);
return;
}
}
function _VBR_new_prepare($gfc, $pe, $ratio, $l3_xmin, $frameBits, $max_bits, $max_resv) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $avg = __stackBase__;
var $1 = $gfc + 152 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $5 = $gfc + 116 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $gfc + 84740 | 0;
HEAP32[$7 >> 2] = $6;
var $8 = _ResvFrameBegin($gfc, $avg);
var $9 = $gfc + 52140 | 0;
var $10 = HEAP32[$9 >> 2];
HEAP32[$max_resv >> 2] = $10;
_get_framebits($gfc, $frameBits);
var $11 = HEAP32[$5 >> 2];
var $12 = $frameBits + ($11 << 2) | 0;
var $13 = HEAP32[$12 >> 2];
var $maximum_framebits_0 = $13;
label = 5;
break;
case 4:
var $15 = $gfc + 84740 | 0;
HEAP32[$15 >> 2] = 0;
var $16 = _ResvFrameBegin($gfc, $avg);
HEAP32[$frameBits >> 2] = $16;
var $17 = $gfc + 52140 | 0;
var $18 = HEAP32[$17 >> 2];
HEAP32[$max_resv >> 2] = $18;
var $maximum_framebits_0 = $16;
label = 5;
break;
case 5:
var $maximum_framebits_0;
var $20 = $gfc + 76 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = ($21 | 0) > 0;
if ($22) {
label = 6;
break;
} else {
var $analog_silence_0_lcssa8586 = 1;
label = 20;
break;
}
case 6:
var $23 = HEAP32[$avg >> 2];
var $24 = $gfc + 84752 | 0;
var $25 = $gfc + 304 | 0;
var $26 = $gfc + 72 | 0;
var $27 = $gfc + 84908 | 0;
var $28 = $gfc + 84904 | 0;
var $analog_silence_076 = 1;
var $bits_077 = 0;
var $gr_078 = 0;
label = 9;
break;
case 7:
var $29 = ($58 | 0) > 0;
if ($29) {
label = 8;
break;
} else {
label = 19;
break;
}
case 8:
var $30 = $gfc + 72 | 0;
var $31 = ($bits_1_lcssa | 0) > ($maximum_framebits_0 | 0);
var $32 = ($bits_1_lcssa | 0) > 0;
var $or_cond = $31 & $32;
var $gr_166 = 0;
label = 14;
break;
case 9:
var $gr_078;
var $bits_077;
var $analog_silence_076;
var $34 = $max_bits + ($gr_078 << 3) | 0;
var $35 = _on_pe($gfc, $pe, $34, $23, $gr_078, 0);
var $36 = HEAP32[$24 >> 2];
var $37 = ($36 | 0) == 2;
if ($37) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
_ms_convert($25, $gr_078);
label = 11;
break;
case 11:
var $39 = HEAP32[$26 >> 2];
var $40 = ($39 | 0) > 0;
if ($40) {
var $ch_070 = 0;
var $analog_silence_171 = $analog_silence_076;
var $bits_172 = $bits_077;
label = 12;
break;
} else {
var $analog_silence_1_lcssa = $analog_silence_076;
var $bits_1_lcssa = $bits_077;
label = 13;
break;
}
case 12:
var $bits_172;
var $analog_silence_171;
var $ch_070;
var $41 = $gfc + 304 + $gr_078 * 10504 + $ch_070 * 5252 | 0;
var $42 = HEAPF32[$27 >> 2];
var $43 = $42;
var $44 = $43 * .1;
var $45 = Math.pow(10, $44);
var $46 = $45;
HEAPF32[$28 >> 2] = $46;
_init_outer_loop($gfc, $41);
var $47 = $ratio + $gr_078 * 976 + $ch_070 * 488 | 0;
var $48 = $l3_xmin + $gr_078 * 312 + $ch_070 * 156 | 0;
var $49 = _calc_xmin($gfc, $47, $41, $48);
var $50 = ($49 | 0) == 0;
var $analog_silence_1_ = $50 ? $analog_silence_171 : 0;
var $51 = $max_bits + ($gr_078 << 3) + ($ch_070 << 2) | 0;
var $52 = HEAP32[$51 >> 2];
var $53 = $52 + $bits_172 | 0;
var $54 = $ch_070 + 1 | 0;
var $55 = HEAP32[$26 >> 2];
var $56 = ($54 | 0) < ($55 | 0);
if ($56) {
var $ch_070 = $54;
var $analog_silence_171 = $analog_silence_1_;
var $bits_172 = $53;
label = 12;
break;
} else {
var $analog_silence_1_lcssa = $analog_silence_1_;
var $bits_1_lcssa = $53;
label = 13;
break;
}
case 13:
var $bits_1_lcssa;
var $analog_silence_1_lcssa;
var $57 = $gr_078 + 1 | 0;
var $58 = HEAP32[$20 >> 2];
var $59 = ($57 | 0) < ($58 | 0);
if ($59) {
var $analog_silence_076 = $analog_silence_1_lcssa;
var $bits_077 = $bits_1_lcssa;
var $gr_078 = $57;
label = 9;
break;
} else {
label = 7;
break;
}
case 14:
var $gr_166;
var $60 = HEAP32[$30 >> 2];
var $61 = ($60 | 0) > 0;
if ($61) {
var $ch_164 = 0;
label = 15;
break;
} else {
label = 18;
break;
}
case 15:
var $ch_164;
if ($or_cond) {
label = 16;
break;
} else {
label = 17;
break;
}
case 16:
var $63 = $max_bits + ($gr_166 << 3) + ($ch_164 << 2) | 0;
var $64 = HEAP32[$63 >> 2];
var $65 = $64 * $maximum_framebits_0 & -1;
var $66 = ($65 | 0) / ($bits_1_lcssa | 0) & -1;
HEAP32[$63 >> 2] = $66;
label = 17;
break;
case 17:
var $68 = $ch_164 + 1 | 0;
var $69 = HEAP32[$30 >> 2];
var $70 = ($68 | 0) < ($69 | 0);
if ($70) {
var $ch_164 = $68;
label = 15;
break;
} else {
label = 18;
break;
}
case 18:
var $71 = $gr_166 + 1 | 0;
var $72 = HEAP32[$20 >> 2];
var $73 = ($71 | 0) < ($72 | 0);
if ($73) {
var $gr_166 = $71;
label = 14;
break;
} else {
label = 19;
break;
}
case 19:
var $74 = ($analog_silence_1_lcssa | 0) == 0;
if ($74) {
var $analog_silence_0_lcssa8587 = 0;
label = 21;
break;
} else {
var $analog_silence_0_lcssa8586 = $analog_silence_1_lcssa;
label = 20;
break;
}
case 20:
var $analog_silence_0_lcssa8586;
HEAP32[$max_resv >> 2] = 0;
var $analog_silence_0_lcssa8587 = $analog_silence_0_lcssa8586;
label = 21;
break;
case 21:
var $analog_silence_0_lcssa8587;
STACKTOP = __stackBase__;
return $analog_silence_0_lcssa8587;
}
}
_VBR_new_prepare["X"] = 1;
function _ABR_iteration_loop($gfc, $pe, $ms_ener_ratio, $ratio) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2488 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $l3_xmin = __stackBase__;
var $xrpow = __stackBase__ + 156;
var $targ_bits = __stackBase__ + 2460;
var $mean_bits = __stackBase__ + 2476;
var $max_frame_bits = __stackBase__ + 2480;
var $analog_silence_bits = __stackBase__ + 2484;
var $1 = $gfc + 304 | 0;
HEAP32[$mean_bits >> 2] = 0;
var $2 = $targ_bits | 0;
_calc_target_bits($gfc, $pe, $ms_ener_ratio, $2, $analog_silence_bits, $max_frame_bits);
var $3 = $gfc + 76 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) > 0;
if ($5) {
label = 3;
break;
} else {
label = 13;
break;
}
case 3:
var $6 = $gfc + 84752 | 0;
var $7 = $gfc + 72 | 0;
var $8 = $gfc + 84908 | 0;
var $9 = $gfc + 84912 | 0;
var $10 = $gfc + 84904 | 0;
var $11 = $xrpow | 0;
var $12 = $l3_xmin | 0;
var $13 = HEAP32[$analog_silence_bits >> 2];
var $gr_046 = 0;
label = 4;
break;
case 4:
var $gr_046;
var $15 = HEAP32[$6 >> 2];
var $16 = ($15 | 0) == 2;
if ($16) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
_ms_convert($1, $gr_046);
label = 6;
break;
case 6:
var $18 = HEAP32[$7 >> 2];
var $19 = ($18 | 0) > 0;
if ($19) {
var $ch_042 = 0;
label = 7;
break;
} else {
label = 12;
break;
}
case 7:
var $ch_042;
var $20 = $gfc + 304 + $gr_046 * 10504 + $ch_042 * 5252 | 0;
var $21 = $gfc + 304 + $gr_046 * 10504 + $ch_042 * 5252 + 4788 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($22 | 0) == 2;
var $masking_lower_db_0_in = $23 ? $9 : $8;
var $masking_lower_db_0 = HEAPF32[$masking_lower_db_0_in >> 2];
var $24 = $masking_lower_db_0;
var $25 = $24 * .1;
var $26 = Math.pow(10, $25);
var $27 = $26;
HEAPF32[$10 >> 2] = $27;
_init_outer_loop($gfc, $20);
var $28 = _init_xrpow($gfc, $20, $11);
var $29 = ($28 | 0) == 0;
if ($29) {
label = 11;
break;
} else {
label = 8;
break;
}
case 8:
var $31 = $ratio + $gr_046 * 976 + $ch_042 * 488 | 0;
var $32 = _calc_xmin($gfc, $31, $20, $12);
var $33 = ($32 | 0) == 0;
if ($33) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $35 = $targ_bits + ($gr_046 << 3) + ($ch_042 << 2) | 0;
HEAP32[$35 >> 2] = $13;
label = 10;
break;
case 10:
var $37 = $targ_bits + ($gr_046 << 3) + ($ch_042 << 2) | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = _outer_loop($gfc, $20, $12, $11, $ch_042, $38);
label = 11;
break;
case 11:
_iteration_finish_one($gfc, $gr_046, $ch_042);
var $41 = $ch_042 + 1 | 0;
var $42 = HEAP32[$7 >> 2];
var $43 = ($41 | 0) < ($42 | 0);
if ($43) {
var $ch_042 = $41;
label = 7;
break;
} else {
label = 12;
break;
}
case 12:
var $44 = $gr_046 + 1 | 0;
var $45 = HEAP32[$3 >> 2];
var $46 = ($44 | 0) < ($45 | 0);
if ($46) {
var $gr_046 = $44;
label = 4;
break;
} else {
label = 13;
break;
}
case 13:
var $47 = $gfc + 112 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = $gfc + 84740 | 0;
HEAP32[$49 >> 2] = $48;
var $50 = $gfc + 116 | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = ($48 | 0) > ($51 | 0);
if ($52) {
label = 16;
break;
} else {
label = 14;
break;
}
case 14:
var $53 = _ResvFrameBegin($gfc, $mean_bits);
var $54 = ($53 | 0) > -1;
if ($54) {
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $56 = HEAP32[$49 >> 2];
var $57 = $56 + 1 | 0;
HEAP32[$49 >> 2] = $57;
var $58 = HEAP32[$50 >> 2];
var $59 = ($57 | 0) > ($58 | 0);
if ($59) {
label = 16;
break;
} else {
label = 14;
break;
}
case 16:
var $60 = HEAP32[$mean_bits >> 2];
_ResvFrameEnd($gfc, $60);
STACKTOP = __stackBase__;
return;
}
}
_ABR_iteration_loop["X"] = 1;
function _calc_target_bits($gfc, $pe, $ms_ener_ratio, $targ_bits, $analog_silence_bits, $max_frame_bits) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $mean_bits = __stackBase__;
var $1 = $gfc + 76 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 116 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $gfc + 84740 | 0;
HEAP32[$5 >> 2] = $4;
var $6 = _ResvFrameBegin($gfc, $mean_bits);
HEAP32[$max_frame_bits >> 2] = $6;
HEAP32[$5 >> 2] = 1;
var $7 = _getframebits($gfc);
var $8 = $gfc + 24 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $9 << 3;
var $11 = $7 - $10 | 0;
var $12 = HEAP32[$1 >> 2];
var $13 = $gfc + 72 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = $14 * $12 & -1;
var $16 = ($11 | 0) / ($15 | 0) & -1;
HEAP32[$analog_silence_bits >> 2] = $16;
var $17 = $gfc + 108 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $2 * 576e3 & -1;
var $20 = $19 * $18 & -1;
HEAP32[$mean_bits >> 2] = $20;
var $21 = $gfc + 85092 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $22 & 1;
var $24 = ($23 | 0) == 0;
if ($24) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $26 = $20 | 0;
var $27 = $26 * 1.09;
var $28 = $27 & -1;
HEAP32[$mean_bits >> 2] = $28;
label = 4;
break;
case 4:
var $30 = $gfc + 64 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = HEAP32[$mean_bits >> 2];
var $33 = ($32 | 0) / ($31 | 0) & -1;
var $34 = HEAP32[$8 >> 2];
var $35 = $34 << 3;
var $36 = $33 - $35 | 0;
var $37 = HEAP32[$1 >> 2];
var $38 = HEAP32[$13 >> 2];
var $39 = $38 * $37 & -1;
var $40 = ($36 | 0) / ($39 | 0) & -1;
HEAP32[$mean_bits >> 2] = $40;
var $41 = $gfc + 244 | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $42;
var $44 = 11 - $43;
var $45 = $44 * .07;
var $46 = $45 / 5.5;
var $47 = $46 + .93;
var $48 = $47;
var $49 = $48;
var $50 = $49 < .9;
var $res_factor_0 = $50 ? .8999999761581421 : $48;
var $51 = $res_factor_0 > 1;
var $res_factor_1 = $51 ? 1 : $res_factor_0;
var $52 = HEAP32[$1 >> 2];
var $53 = ($52 | 0) > 0;
if ($53) {
label = 5;
break;
} else {
label = 20;
break;
}
case 5:
var $54 = HEAP32[$mean_bits >> 2];
var $55 = $54 | 0;
var $56 = $res_factor_1 * $55;
var $57 = $56 & -1;
var $58 = $54 | 0;
var $59 = $res_factor_1 * $58;
var $60 = $59 & -1;
var $61 = HEAP32[$mean_bits >> 2];
var $62 = ($61 | 0) / 2 & -1;
var $63 = $61 * 3 & -1;
var $64 = ($63 | 0) / 2 & -1;
var $gr_0136 = 0;
label = 6;
break;
case 6:
var $gr_0136;
var $65 = HEAP32[$13 >> 2];
var $66 = ($65 | 0) > 0;
if ($66) {
var $ch_0127 = 0;
var $sum_0128 = 0;
label = 7;
break;
} else {
label = 19;
break;
}
case 7:
var $sum_0128;
var $ch_0127;
var $67 = $targ_bits + ($gr_0136 << 3) + ($ch_0127 << 2) | 0;
HEAP32[$67 >> 2] = $57;
var $68 = $pe + ($gr_0136 << 3) + ($ch_0127 << 2) | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = $69 > 700;
if ($70) {
label = 8;
break;
} else {
var $89 = $57;
label = 13;
break;
}
case 8:
var $72 = $69 - 700;
var $73 = $72;
var $74 = $73 / 1.4;
var $75 = $74 & -1;
HEAP32[$67 >> 2] = $60;
var $76 = $gfc + 304 + $gr_0136 * 10504 + $ch_0127 * 5252 + 4788 | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($77 | 0) == 2;
if ($78) {
label = 9;
break;
} else {
var $add_bits_0 = $75;
label = 10;
break;
}
case 9:
var $80 = ($75 | 0) < ($62 | 0);
var $_ = $80 ? $62 : $75;
var $add_bits_0 = $_;
label = 10;
break;
case 10:
var $add_bits_0;
var $82 = ($add_bits_0 | 0) > ($64 | 0);
if ($82) {
var $add_bits_1 = $64;
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
var $84 = ($add_bits_0 | 0) < 0;
var $_add_bits_0 = $84 ? 0 : $add_bits_0;
var $add_bits_1 = $_add_bits_0;
label = 12;
break;
case 12:
var $add_bits_1;
var $86 = HEAP32[$67 >> 2];
var $87 = $86 + $add_bits_1 | 0;
HEAP32[$67 >> 2] = $87;
var $89 = $87;
label = 13;
break;
case 13:
var $89;
var $90 = ($89 | 0) > 4095;
if ($90) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
HEAP32[$67 >> 2] = 4095;
label = 15;
break;
case 15:
var $93 = HEAP32[$67 >> 2];
var $94 = $93 + $sum_0128 | 0;
var $95 = $ch_0127 + 1 | 0;
var $96 = HEAP32[$13 >> 2];
var $97 = ($95 | 0) < ($96 | 0);
if ($97) {
var $ch_0127 = $95;
var $sum_0128 = $94;
label = 7;
break;
} else {
label = 16;
break;
}
case 16:
var $98 = ($94 | 0) > 7680;
if ($98) {
label = 17;
break;
} else {
label = 19;
break;
}
case 17:
var $99 = HEAP32[$13 >> 2];
var $100 = ($99 | 0) > 0;
if ($100) {
var $ch_1134 = 0;
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
var $ch_1134;
var $101 = $targ_bits + ($gr_0136 << 3) + ($ch_1134 << 2) | 0;
var $102 = HEAP32[$101 >> 2];
var $103 = $102 * 7680 & -1;
var $104 = ($103 | 0) / ($94 | 0) & -1;
HEAP32[$101 >> 2] = $104;
var $105 = $ch_1134 + 1 | 0;
var $106 = HEAP32[$13 >> 2];
var $107 = ($105 | 0) < ($106 | 0);
if ($107) {
var $ch_1134 = $105;
label = 18;
break;
} else {
label = 19;
break;
}
case 19:
var $108 = $gr_0136 + 1 | 0;
var $109 = HEAP32[$1 >> 2];
var $110 = ($108 | 0) < ($109 | 0);
if ($110) {
var $gr_0136 = $108;
label = 6;
break;
} else {
label = 20;
break;
}
case 20:
var $111 = $gfc + 84752 | 0;
var $112 = HEAP32[$111 >> 2];
var $113 = ($112 | 0) == 2;
var $114 = HEAP32[$1 >> 2];
if ($113) {
label = 21;
break;
} else {
var $117 = $114;
label = 23;
break;
}
case 21:
var $115 = ($114 | 0) > 0;
if ($115) {
label = 22;
break;
} else {
label = 35;
break;
}
case 22:
var $116 = HEAP32[$mean_bits >> 2];
var $gr_1124 = 0;
label = 24;
break;
case 23:
var $117;
var $118 = ($117 | 0) > 0;
if ($118) {
var $totbits_0118 = 0;
var $gr_2119 = 0;
label = 25;
break;
} else {
label = 35;
break;
}
case 24:
var $gr_1124;
var $120 = $targ_bits + ($gr_1124 << 3) | 0;
var $121 = $ms_ener_ratio + ($gr_1124 << 2) | 0;
var $122 = HEAPF32[$121 >> 2];
var $123 = HEAP32[$13 >> 2];
var $124 = $123 * $116 & -1;
_reduce_side($120, $122, $124, 7680);
var $125 = $gr_1124 + 1 | 0;
var $126 = HEAP32[$1 >> 2];
var $127 = ($125 | 0) < ($126 | 0);
if ($127) {
var $gr_1124 = $125;
label = 24;
break;
} else {
var $117 = $126;
label = 23;
break;
}
case 25:
var $gr_2119;
var $totbits_0118;
var $128 = HEAP32[$13 >> 2];
var $129 = ($128 | 0) > 0;
if ($129) {
var $ch_2113 = 0;
var $totbits_1114 = $totbits_0118;
label = 26;
break;
} else {
var $totbits_1_lcssa = $totbits_0118;
label = 29;
break;
}
case 26:
var $totbits_1114;
var $ch_2113;
var $130 = $targ_bits + ($gr_2119 << 3) + ($ch_2113 << 2) | 0;
var $131 = HEAP32[$130 >> 2];
var $132 = ($131 | 0) > 4095;
if ($132) {
label = 27;
break;
} else {
label = 28;
break;
}
case 27:
HEAP32[$130 >> 2] = 4095;
label = 28;
break;
case 28:
var $135 = HEAP32[$130 >> 2];
var $136 = $135 + $totbits_1114 | 0;
var $137 = $ch_2113 + 1 | 0;
var $138 = HEAP32[$13 >> 2];
var $139 = ($137 | 0) < ($138 | 0);
if ($139) {
var $ch_2113 = $137;
var $totbits_1114 = $136;
label = 26;
break;
} else {
var $totbits_1_lcssa = $136;
label = 29;
break;
}
case 29:
var $totbits_1_lcssa;
var $140 = $gr_2119 + 1 | 0;
var $141 = HEAP32[$1 >> 2];
var $142 = ($140 | 0) < ($141 | 0);
if ($142) {
var $totbits_0118 = $totbits_1_lcssa;
var $gr_2119 = $140;
label = 25;
break;
} else {
label = 30;
break;
}
case 30:
var $143 = HEAP32[$max_frame_bits >> 2];
var $144 = ($totbits_1_lcssa | 0) > ($143 | 0);
var $145 = ($totbits_1_lcssa | 0) > 0;
var $or_cond = $144 & $145;
if ($or_cond) {
label = 31;
break;
} else {
label = 35;
break;
}
case 31:
var $146 = HEAP32[$1 >> 2];
var $147 = ($146 | 0) > 0;
if ($147) {
var $gr_3110 = 0;
label = 32;
break;
} else {
label = 35;
break;
}
case 32:
var $gr_3110;
var $148 = HEAP32[$13 >> 2];
var $149 = ($148 | 0) > 0;
if ($149) {
var $ch_3108 = 0;
label = 33;
break;
} else {
label = 34;
break;
}
case 33:
var $ch_3108;
var $150 = HEAP32[$max_frame_bits >> 2];
var $151 = $targ_bits + ($gr_3110 << 3) + ($ch_3108 << 2) | 0;
var $152 = HEAP32[$151 >> 2];
var $153 = $152 * $150 & -1;
var $154 = ($153 | 0) / ($totbits_1_lcssa | 0) & -1;
HEAP32[$151 >> 2] = $154;
var $155 = $ch_3108 + 1 | 0;
var $156 = HEAP32[$13 >> 2];
var $157 = ($155 | 0) < ($156 | 0);
if ($157) {
var $ch_3108 = $155;
label = 33;
break;
} else {
label = 34;
break;
}
case 34:
var $158 = $gr_3110 + 1 | 0;
var $159 = HEAP32[$1 >> 2];
var $160 = ($158 | 0) < ($159 | 0);
if ($160) {
var $gr_3110 = $158;
label = 32;
break;
} else {
label = 35;
break;
}
case 35:
STACKTOP = __stackBase__;
return;
}
}
_calc_target_bits["X"] = 1;
function _VBR_new_iteration_loop($gfc, $pe, $ms_ener_ratio, $ratio) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 9924 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $l3_xmin = __stackBase__;
var $xrpow = __stackBase__ + 624;
var $frameBits = __stackBase__ + 9840;
var $max_bits = __stackBase__ + 9900;
var $pad = __stackBase__ + 9916;
var $mean_bits = __stackBase__ + 9920;
var $1 = $l3_xmin | 0;
var $2 = $xrpow | 0;
var $3 = $max_bits | 0;
var $4 = $xrpow;
for (var $$dest = $4 >> 2, $$stop = $$dest + 2304; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $5 = $frameBits | 0;
var $6 = _VBR_new_prepare($gfc, $pe, $ratio, $1, $5, $3, $pad);
var $7 = $gfc + 76 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) > 0;
if ($9) {
label = 3;
break;
} else {
label = 9;
break;
}
case 3:
var $10 = $gfc + 72 | 0;
var $gr_061 = 0;
label = 4;
break;
case 4:
var $gr_061;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) > 0;
if ($12) {
var $ch_057 = 0;
label = 5;
break;
} else {
label = 8;
break;
}
case 5:
var $ch_057;
var $13 = $gfc + 304 + $gr_061 * 10504 + $ch_057 * 5252 | 0;
var $14 = $xrpow + $gr_061 * 4608 + $ch_057 * 2304 | 0;
var $15 = _init_xrpow($gfc, $13, $14);
var $16 = ($15 | 0) == 0;
if ($16) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $18 = $max_bits + ($gr_061 << 3) + ($ch_057 << 2) | 0;
HEAP32[$18 >> 2] = 0;
label = 7;
break;
case 7:
var $20 = $ch_057 + 1 | 0;
var $21 = HEAP32[$10 >> 2];
var $22 = ($20 | 0) < ($21 | 0);
if ($22) {
var $ch_057 = $20;
label = 5;
break;
} else {
label = 8;
break;
}
case 8:
var $23 = $gr_061 + 1 | 0;
var $24 = HEAP32[$7 >> 2];
var $25 = ($23 | 0) < ($24 | 0);
if ($25) {
var $gr_061 = $23;
label = 4;
break;
} else {
label = 9;
break;
}
case 9:
var $26 = _VBR_encode_frame($gfc, $2, $1, $3);
var $27 = $gfc + 152 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
label = 10;
break;
} else {
label = 22;
break;
}
case 10:
var $31 = ($6 | 0) == 0;
if ($31) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
var $33 = $gfc + 124 | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = ($34 | 0) == 0;
if ($35) {
var $i_0_ph = 1;
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $37 = $gfc + 112 | 0;
var $38 = HEAP32[$37 >> 2];
var $i_0_ph = $38;
label = 13;
break;
case 13:
var $i_0_ph;
var $39 = $gfc + 116 | 0;
var $40 = HEAP32[$39 >> 2];
var $i_0 = $i_0_ph;
label = 14;
break;
case 14:
var $i_0;
var $42 = ($i_0 | 0) < ($40 | 0);
if ($42) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $44 = $frameBits + ($i_0 << 2) | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = ($26 | 0) > ($45 | 0);
var $47 = $i_0 + 1 | 0;
if ($46) {
var $i_0 = $47;
label = 14;
break;
} else {
label = 16;
break;
}
case 16:
var $49 = HEAP32[$39 >> 2];
var $50 = ($i_0 | 0) > ($49 | 0);
var $_i_0 = $50 ? $49 : $i_0;
var $51 = HEAP32[$pad >> 2];
var $52 = ($51 | 0) > 0;
if ($52) {
label = 17;
break;
} else {
label = 21;
break;
}
case 17:
var $53 = HEAP32[$pad >> 2];
var $j_0 = $49;
label = 18;
break;
case 18:
var $j_0;
var $55 = ($j_0 | 0) > ($_i_0 | 0);
if ($55) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
var $57 = $frameBits + ($j_0 << 2) | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = $58 - $26 | 0;
var $60 = ($59 | 0) > ($53 | 0);
var $61 = $j_0 - 1 | 0;
if ($60) {
var $j_0 = $61;
label = 18;
break;
} else {
label = 20;
break;
}
case 20:
var $63 = $gfc + 84740 | 0;
HEAP32[$63 >> 2] = $j_0;
label = 23;
break;
case 21:
var $65 = $gfc + 84740 | 0;
HEAP32[$65 >> 2] = $_i_0;
label = 23;
break;
case 22:
var $67 = $gfc + 84740 | 0;
HEAP32[$67 >> 2] = 0;
label = 23;
break;
case 23:
var $69 = $gfc + 84740 | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = $frameBits + ($70 << 2) | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = ($26 | 0) > ($72 | 0);
if ($73) {
label = 30;
break;
} else {
label = 24;
break;
}
case 24:
var $75 = _ResvFrameBegin($gfc, $mean_bits);
var $76 = HEAP32[$7 >> 2];
var $77 = ($76 | 0) > 0;
if ($77) {
label = 25;
break;
} else {
label = 29;
break;
}
case 25:
var $78 = $gfc + 72 | 0;
var $gr_151 = 0;
label = 26;
break;
case 26:
var $gr_151;
var $79 = HEAP32[$78 >> 2];
var $80 = ($79 | 0) > 0;
if ($80) {
var $ch_150 = 0;
label = 27;
break;
} else {
label = 28;
break;
}
case 27:
var $ch_150;
var $81 = $gfc + 304 + $gr_151 * 10504 + $ch_150 * 5252 | 0;
_ResvAdjust($gfc, $81);
var $82 = $ch_150 + 1 | 0;
var $83 = HEAP32[$78 >> 2];
var $84 = ($82 | 0) < ($83 | 0);
if ($84) {
var $ch_150 = $82;
label = 27;
break;
} else {
label = 28;
break;
}
case 28:
var $85 = $gr_151 + 1 | 0;
var $86 = HEAP32[$7 >> 2];
var $87 = ($85 | 0) < ($86 | 0);
if ($87) {
var $gr_151 = $85;
label = 26;
break;
} else {
label = 29;
break;
}
case 29:
var $88 = HEAP32[$mean_bits >> 2];
_ResvFrameEnd($gfc, $88);
STACKTOP = __stackBase__;
return;
case 30:
_lame_errorf($gfc, 5385448, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_exit(-1);
}
}
_VBR_new_iteration_loop["X"] = 1;
function _init_outer_loop($gfc, $cod_info) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2304 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $ixwork = __stackBase__;
var $1 = $cod_info + 4768 | 0;
HEAP32[$1 >> 2] = 0;
var $2 = $cod_info + 4772 | 0;
HEAP32[$2 >> 2] = 0;
var $3 = $cod_info + 4776 | 0;
HEAP32[$3 >> 2] = 0;
var $4 = $cod_info + 4780 | 0;
HEAP32[$4 >> 2] = 210;
var $5 = $cod_info + 4784 | 0;
HEAP32[$5 >> 2] = 0;
var $6 = $cod_info + 4796 | 0;
var $7 = $gfc + 64 | 0;
var $8 = $6;
for (var $$dest = $8 >> 2, $$stop = $$dest + 13; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $9 = HEAP32[$7 >> 2];
var $10 = ($9 | 0) < 8001;
var $11 = $cod_info + 4848 | 0;
if ($10) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
HEAP32[$11 >> 2] = 17;
var $13 = $cod_info + 4852 | 0;
HEAP32[$13 >> 2] = 9;
var $14 = $cod_info + 4856 | 0;
HEAP32[$14 >> 2] = 17;
label = 5;
break;
case 4:
HEAP32[$11 >> 2] = 21;
var $16 = $cod_info + 4852 | 0;
HEAP32[$16 >> 2] = 12;
var $17 = $gfc + 85088 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = ($18 | 0) != 0;
var $20 = $19 ? 22 : 21;
var $21 = $cod_info + 4856 | 0;
HEAP32[$21 >> 2] = $20;
label = 5;
break;
case 5:
var $23 = $cod_info + 4856 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $cod_info + 4864 | 0;
HEAP32[$25 >> 2] = $24;
var $26 = HEAP32[$11 >> 2];
var $27 = $cod_info + 4860 | 0;
HEAP32[$27 >> 2] = $26;
var $28 = $cod_info + 4868 | 0;
HEAP32[$28 >> 2] = 11;
var $sfb_0125 = 0;
label = 6;
break;
case 6:
var $sfb_0125;
var $30 = $sfb_0125 + 1 | 0;
var $31 = $gfc + 21360 + ($30 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $gfc + 21360 + ($sfb_0125 << 2) | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = $32 - $34 | 0;
var $36 = $cod_info + 4872 + ($sfb_0125 << 2) | 0;
HEAP32[$36 >> 2] = $35;
var $37 = $cod_info + 5028 + ($sfb_0125 << 2) | 0;
HEAP32[$37 >> 2] = 3;
var $exitcond129 = ($30 | 0) == 22;
if ($exitcond129) {
label = 7;
break;
} else {
var $sfb_0125 = $30;
label = 6;
break;
}
case 7:
var $39 = $cod_info + 4788 | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = ($40 | 0) == 2;
if ($41) {
label = 8;
break;
} else {
label = 21;
break;
}
case 8:
var $43 = $cod_info + 4852 | 0;
HEAP32[$43 >> 2] = 0;
HEAP32[$11 >> 2] = 0;
var $44 = $cod_info + 4792 | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = ($45 | 0) == 0;
if ($46) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
HEAP32[$43 >> 2] = 3;
var $48 = $gfc + 76 | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = $49 << 1;
var $51 = $50 + 4 | 0;
HEAP32[$11 >> 2] = $51;
label = 10;
break;
case 10:
var $53 = HEAP32[$7 >> 2];
var $54 = ($53 | 0) < 8001;
var $55 = HEAP32[$11 >> 2];
if ($54) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $57 = HEAP32[$43 >> 2];
var $58 = 9 - $57 | 0;
var $59 = $58 * 3 & -1;
var $60 = $59 + $55 | 0;
HEAP32[$25 >> 2] = $60;
var $61 = HEAP32[$11 >> 2];
var $62 = HEAP32[$43 >> 2];
var $63 = 9 - $62 | 0;
var $64 = $63 * 3 & -1;
var $65 = $64 + $61 | 0;
var $storemerge = $65;
label = 13;
break;
case 12:
var $67 = $gfc + 85088 | 0;
var $68 = HEAP32[$67 >> 2];
var $69 = ($68 | 0) != 0;
var $70 = $69 ? 13 : 12;
var $71 = HEAP32[$43 >> 2];
var $72 = $70 - $71 | 0;
var $73 = $72 * 3 & -1;
var $74 = $73 + $55 | 0;
HEAP32[$25 >> 2] = $74;
var $75 = HEAP32[$11 >> 2];
var $76 = HEAP32[$43 >> 2];
var $77 = 12 - $76 | 0;
var $78 = $77 * 3 & -1;
var $79 = $78 + $75 | 0;
var $storemerge = $79;
label = 13;
break;
case 13:
var $storemerge;
HEAP32[$27 >> 2] = $storemerge;
var $81 = $storemerge - 18 | 0;
HEAP32[$28 >> 2] = $81;
var $82 = HEAP32[$11 >> 2];
HEAP32[$23 >> 2] = $82;
var $83 = HEAP32[$11 >> 2];
var $84 = $gfc + 21360 + ($83 << 2) | 0;
var $85 = HEAP32[$84 >> 2];
var $86 = $ixwork;
var $87 = $cod_info;
for (var $$src = $87 >> 2, $$dest = $86 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $88 = HEAP32[$43 >> 2];
var $89 = ($88 | 0) < 13;
if ($89) {
label = 14;
break;
} else {
label = 21;
break;
}
case 14:
var $90 = $cod_info + ($85 << 2) | 0;
var $ix_0120 = $90;
var $sfb_1121 = $88;
label = 15;
break;
case 15:
var $sfb_1121;
var $ix_0120;
var $91 = $gfc + 21452 + ($sfb_1121 << 2) | 0;
var $92 = HEAP32[$91 >> 2];
var $93 = $sfb_1121 + 1 | 0;
var $94 = $gfc + 21452 + ($93 << 2) | 0;
var $95 = HEAP32[$94 >> 2];
var $96 = ($92 | 0) < ($95 | 0);
var $97 = $95 - $92 | 0;
if ($96) {
var $ix_2114 = $ix_0120;
var $l_0115 = $92;
label = 16;
break;
} else {
var $ix_2_lcssa_2 = $ix_0120;
label = 28;
break;
}
case 16:
var $l_0115;
var $ix_2114;
var $98 = $l_0115 * 3 & -1;
var $99 = $ixwork + ($98 << 2) | 0;
var $100 = HEAPF32[$99 >> 2];
var $101 = $ix_2114 + 4 | 0;
HEAPF32[$ix_2114 >> 2] = $100;
var $102 = $l_0115 + 1 | 0;
var $exitcond126 = ($102 | 0) == ($95 | 0);
if ($exitcond126) {
label = 17;
break;
} else {
var $ix_2114 = $101;
var $l_0115 = $102;
label = 16;
break;
}
case 17:
var $scevgep = $ix_0120 + ($97 << 2) | 0;
if ($96) {
var $ix_2114_1 = $scevgep;
var $l_0115_1 = $92;
label = 24;
break;
} else {
var $ix_2_lcssa_2 = $scevgep;
label = 28;
break;
}
case 18:
var $_pr = HEAP32[$43 >> 2];
var $103 = ($_pr | 0) < 13;
if ($103) {
label = 19;
break;
} else {
label = 21;
break;
}
case 19:
var $104 = HEAP32[$11 >> 2];
var $j_0112 = $104;
var $sfb_2113 = $_pr;
label = 20;
break;
case 20:
var $sfb_2113;
var $j_0112;
var $106 = $sfb_2113 + 1 | 0;
var $107 = $gfc + 21452 + ($106 << 2) | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = $gfc + 21452 + ($sfb_2113 << 2) | 0;
var $110 = HEAP32[$109 >> 2];
var $111 = $108 - $110 | 0;
var $112 = $j_0112 + 2 | 0;
var $113 = $cod_info + 4872 + ($112 << 2) | 0;
HEAP32[$113 >> 2] = $111;
var $114 = $j_0112 + 1 | 0;
var $115 = $cod_info + 4872 + ($114 << 2) | 0;
HEAP32[$115 >> 2] = $111;
var $116 = $cod_info + 4872 + ($j_0112 << 2) | 0;
HEAP32[$116 >> 2] = $111;
var $117 = $cod_info + 5028 + ($j_0112 << 2) | 0;
HEAP32[$117 >> 2] = 0;
var $118 = $cod_info + 5028 + ($114 << 2) | 0;
HEAP32[$118 >> 2] = 1;
var $119 = $cod_info + 5028 + ($112 << 2) | 0;
HEAP32[$119 >> 2] = 2;
var $120 = $j_0112 + 3 | 0;
var $exitcond = ($106 | 0) == 13;
if ($exitcond) {
label = 21;
break;
} else {
var $j_0112 = $120;
var $sfb_2113 = $106;
label = 20;
break;
}
case 21:
var $121 = $cod_info + 5184 | 0;
HEAP32[$121 >> 2] = 0;
var $122 = $cod_info + 5188 | 0;
HEAP32[$122 >> 2] = 5291828;
var $123 = $cod_info + 5192 | 0;
var $124 = $cod_info + 5208 | 0;
var $125 = $123;
HEAP32[$125 >> 2] = 0;
HEAP32[$125 + 4 >> 2] = 0;
HEAP32[$125 + 8 >> 2] = 0;
HEAP32[$125 + 12 >> 2] = 0;
HEAP32[$124 >> 2] = 575;
var $126 = $cod_info + 4608 | 0;
var $127 = $126;
for (var $$dest = $127 >> 2, $$stop = $$dest + 39; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $128 = $gfc + 104 | 0;
var $129 = HEAP32[$128 >> 2];
if (($129 | 0) == 1 | ($129 | 0) == 4 | ($129 | 0) == 3 | ($129 | 0) == 0) {
label = 23;
break;
} else {
label = 22;
break;
}
case 22:
_psfb21_analogsilence($gfc, $cod_info);
label = 23;
break;
case 23:
STACKTOP = __stackBase__;
return;
case 24:
var $l_0115_1;
var $ix_2114_1;
var $132 = $l_0115_1 * 3 & -1;
var $133 = $132 + 1 | 0;
var $134 = $ixwork + ($133 << 2) | 0;
var $135 = HEAPF32[$134 >> 2];
var $136 = $ix_2114_1 + 4 | 0;
HEAPF32[$ix_2114_1 >> 2] = $135;
var $137 = $l_0115_1 + 1 | 0;
var $exitcond126_1 = ($137 | 0) == ($95 | 0);
if ($exitcond126_1) {
label = 25;
break;
} else {
var $ix_2114_1 = $136;
var $l_0115_1 = $137;
label = 24;
break;
}
case 25:
var $scevgep_sum = $97 << 1;
var $scevgep_1 = $ix_0120 + ($scevgep_sum << 2) | 0;
if ($96) {
var $ix_2114_2 = $scevgep_1;
var $l_0115_2 = $92;
label = 26;
break;
} else {
var $ix_2_lcssa_2 = $scevgep_1;
label = 28;
break;
}
case 26:
var $l_0115_2;
var $ix_2114_2;
var $138 = $l_0115_2 * 3 & -1;
var $139 = $138 + 2 | 0;
var $140 = $ixwork + ($139 << 2) | 0;
var $141 = HEAPF32[$140 >> 2];
var $142 = $ix_2114_2 + 4 | 0;
HEAPF32[$ix_2114_2 >> 2] = $141;
var $143 = $l_0115_2 + 1 | 0;
var $exitcond126_2 = ($143 | 0) == ($95 | 0);
if ($exitcond126_2) {
label = 27;
break;
} else {
var $ix_2114_2 = $142;
var $l_0115_2 = $143;
label = 26;
break;
}
case 27:
var $scevgep_1_sum = $scevgep_sum + $97 | 0;
var $scevgep_2 = $ix_0120 + ($scevgep_1_sum << 2) | 0;
var $ix_2_lcssa_2 = $scevgep_2;
label = 28;
break;
case 28:
var $ix_2_lcssa_2;
var $exitcond128 = ($93 | 0) == 13;
if ($exitcond128) {
label = 18;
break;
} else {
var $ix_0120 = $ix_2_lcssa_2;
var $sfb_1121 = $93;
label = 15;
break;
}
}
}
_init_outer_loop["X"] = 1;
function _outer_loop($gfc, $cod_info, $l3_xmin, $xrpow, $ch, $targ_bits) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8236 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $cod_info_w = __stackBase__;
var $save_xrpow = __stackBase__ + 5252;
var $distort = __stackBase__ + 7556;
var $best_noise_info = __stackBase__ + 7712;
var $prev_noise = __stackBase__ + 7736;
var $noise_info = __stackBase__ + 8212;
_bin_search_StepSize($gfc, $cod_info, $targ_bits, $ch, $xrpow);
var $1 = $gfc + 28 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
var $_0 = 100;
label = 37;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $prev_noise;
for (var $$dest = $4 >> 2, $$stop = $$dest + 119; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $5 = $distort | 0;
var $6 = _calc_noise($cod_info, $l3_xmin, $5, $best_noise_info, $prev_noise);
var $7 = $cod_info + 4768 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $best_noise_info + 20 | 0;
HEAP32[$9 >> 2] = $8;
var $10 = $cod_info_w;
var $11 = $cod_info;
for (var $$src = $11 >> 2, $$dest = $10 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $12 = $save_xrpow;
var $13 = $xrpow;
for (var $$src = $13 >> 2, $$dest = $12 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $14 = $cod_info_w + 4860 | 0;
var $15 = $cod_info_w + 4836 | 0;
var $16 = $gfc + 85092 | 0;
var $17 = $gfc + 85088 | 0;
var $18 = $cod_info_w + 4844 | 0;
var $19 = $cod_info_w + 4780 | 0;
var $20 = $cod_info_w + 4768 | 0;
var $21 = $cod_info_w + 4780 | 0;
var $22 = $best_noise_info + 12 | 0;
var $23 = $noise_info + 20 | 0;
var $24 = $cod_info + 4788 | 0;
var $25 = $gfc + 84 | 0;
var $26 = $gfc + 88 | 0;
var $27 = $gfc + 48 | 0;
var $28 = $gfc + 40 | 0;
var $29 = $best_noise_info;
var $30 = $noise_info;
var $31 = $cod_info_w + 4788 | 0;
var $32 = $gfc + 40 | 0;
var $33 = $cod_info_w + 4780 | 0;
var $best_part2_3_length_067 = 9999999;
var $bRefine_068 = 0;
var $best_ggain_pass1_069 = 0;
label = 4;
break;
case 4:
var $best_ggain_pass1_069;
var $bRefine_068;
var $best_part2_3_length_067;
var $34 = ($bRefine_068 | 0) == 0;
var $best_part2_3_length_1 = $best_part2_3_length_067;
var $age_1 = 0;
label = 5;
break;
case 5:
var $age_1;
var $best_part2_3_length_1;
var $36 = HEAP32[$16 >> 2];
var $37 = $36 & 2;
var $38 = ($37 | 0) == 0;
var $_ = $38 ? 3 : 20;
var $39 = HEAP32[$17 >> 2];
var $40 = ($39 | 0) == 0;
if ($40) {
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $42 = HEAP32[$14 >> 2];
var $43 = $distort + ($42 << 2) | 0;
var $44 = HEAPF32[$43 >> 2];
var $45 = $44 > 1;
if ($45) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 7;
break;
}
case 7:
var $47 = HEAP32[$31 >> 2];
var $48 = ($47 | 0) == 2;
if ($48) {
label = 8;
break;
} else {
label = 10;
break;
}
case 8:
var $50 = $42 + 1 | 0;
var $51 = $distort + ($50 << 2) | 0;
var $52 = HEAPF32[$51 >> 2];
var $53 = $52 > 1;
if ($53) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 9;
break;
}
case 9:
var $55 = $42 + 2 | 0;
var $56 = $distort + ($55 << 2) | 0;
var $57 = HEAPF32[$56 >> 2];
var $58 = $57 > 1;
if ($58) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 10;
break;
}
case 10:
var $60 = _balance_noise($gfc, $cod_info_w, $5, $xrpow, $bRefine_068);
var $61 = ($60 | 0) == 0;
if ($61) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 11;
break;
}
case 11:
var $63 = HEAP32[$15 >> 2];
var $64 = ($63 | 0) == 0;
var $_51 = $64 ? 255 : 254;
var $65 = HEAP32[$18 >> 2];
var $66 = $targ_bits - $65 | 0;
var $67 = ($66 | 0) < 1;
if ($67) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 12;
break;
}
case 12:
var $68 = _count_bits($gfc, $xrpow, $cod_info_w, $prev_noise);
HEAP32[$20 >> 2] = $68;
var $69 = ($68 | 0) > ($66 | 0);
var $70 = HEAP32[$21 >> 2];
if ($69) {
var $71 = $70;
label = 13;
break;
} else {
var $80 = $21;
var $79 = $70;
label = 15;
break;
}
case 13:
var $71;
var $72 = ($71 | 0) > ($_51 | 0);
var $73 = HEAP32[$19 >> 2];
if ($72) {
var $80 = $19;
var $79 = $73;
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $75 = $73 + 1 | 0;
HEAP32[$19 >> 2] = $75;
var $76 = _count_bits($gfc, $xrpow, $cod_info_w, $prev_noise);
HEAP32[$20 >> 2] = $76;
var $77 = ($76 | 0) > ($66 | 0);
var $78 = HEAP32[$21 >> 2];
if ($77) {
var $71 = $78;
label = 13;
break;
} else {
var $80 = $21;
var $79 = $78;
label = 15;
break;
}
case 15:
var $79;
var $80;
var $81 = ($79 | 0) > ($_51 | 0);
if ($81) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 16;
break;
}
case 16:
var $83 = HEAP32[$22 >> 2];
var $84 = ($83 | 0) == 0;
if ($84) {
label = 17;
break;
} else {
label = 21;
break;
}
case 17:
var $85 = _count_bits($gfc, $xrpow, $cod_info_w, $prev_noise);
HEAP32[$20 >> 2] = $85;
var $86 = ($85 | 0) > ($best_part2_3_length_1 | 0);
var $87 = HEAP32[$80 >> 2];
if ($86) {
var $88 = $87;
label = 18;
break;
} else {
var $96 = $87;
label = 20;
break;
}
case 18:
var $88;
var $89 = ($88 | 0) > ($_51 | 0);
var $90 = HEAP32[$80 >> 2];
if ($89) {
var $96 = $90;
label = 20;
break;
} else {
label = 19;
break;
}
case 19:
var $92 = $90 + 1 | 0;
HEAP32[$80 >> 2] = $92;
var $93 = _count_bits($gfc, $xrpow, $cod_info_w, $prev_noise);
HEAP32[$20 >> 2] = $93;
var $94 = ($93 | 0) > ($best_part2_3_length_1 | 0);
var $95 = HEAP32[$80 >> 2];
if ($94) {
var $88 = $95;
label = 18;
break;
} else {
var $96 = $95;
label = 20;
break;
}
case 20:
var $96;
var $97 = ($96 | 0) > ($_51 | 0);
if ($97) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 21;
break;
}
case 21:
var $99 = _calc_noise($cod_info_w, $l3_xmin, $5, $noise_info, $prev_noise);
var $100 = HEAP32[$20 >> 2];
HEAP32[$23 >> 2] = $100;
var $101 = HEAP32[$24 >> 2];
var $102 = ($101 | 0) == 2;
var $better_0_in = $102 ? $26 : $25;
var $better_0 = HEAP32[$better_0_in >> 2];
var $103 = _quant_compare($better_0, $best_noise_info, $noise_info, $cod_info_w, $5);
var $104 = ($103 | 0) == 0;
if ($104) {
label = 23;
break;
} else {
label = 22;
break;
}
case 22:
var $106 = HEAP32[$7 >> 2];
HEAP32[$29 >> 2] = HEAP32[$30 >> 2];
HEAP32[$29 + 4 >> 2] = HEAP32[$30 + 4 >> 2];
HEAP32[$29 + 8 >> 2] = HEAP32[$30 + 8 >> 2];
HEAP32[$29 + 12 >> 2] = HEAP32[$30 + 12 >> 2];
HEAP32[$29 + 16 >> 2] = HEAP32[$30 + 16 >> 2];
HEAP32[$29 + 20 >> 2] = HEAP32[$30 + 20 >> 2];
for (var $$src = $10 >> 2, $$dest = $11 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
for (var $$src = $13 >> 2, $$dest = $12 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $best_part2_3_length_2 = $106;
var $age_2 = 0;
label = 29;
break;
case 23:
var $108 = HEAP32[$27 >> 2];
var $109 = ($108 | 0) == 0;
if ($109) {
label = 24;
break;
} else {
var $best_part2_3_length_2 = $best_part2_3_length_1;
var $age_2 = $age_1;
label = 29;
break;
}
case 24:
var $111 = $age_1 + 1 | 0;
var $112 = ($111 | 0) > ($_ | 0);
if ($112) {
label = 25;
break;
} else {
label = 26;
break;
}
case 25:
var $114 = HEAP32[$22 >> 2];
var $115 = ($114 | 0) == 0;
if ($115) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 26;
break;
}
case 26:
var $117 = HEAP32[$28 >> 2];
var $118 = ($117 | 0) != 3;
var $or_cond_not_demorgan = $118 | $34;
var $or_cond_not = $or_cond_not_demorgan ^ 1;
var $119 = ($111 | 0) > 30;
var $or_cond52 = $119 & $or_cond_not;
if ($or_cond52) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
label = 27;
break;
}
case 27:
var $or_cond = $118 | $34;
if ($or_cond) {
var $best_part2_3_length_2 = $best_part2_3_length_1;
var $age_2 = $111;
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $122 = HEAP32[$80 >> 2];
var $123 = $122 - $best_ggain_pass1_069 | 0;
var $124 = ($123 | 0) > 15;
if ($124) {
var $best_part2_3_length_3 = $best_part2_3_length_1;
label = 30;
break;
} else {
var $best_part2_3_length_2 = $best_part2_3_length_1;
var $age_2 = $111;
label = 29;
break;
}
case 29:
var $age_2;
var $best_part2_3_length_2;
var $126 = HEAP32[$80 >> 2];
var $127 = HEAP32[$15 >> 2];
var $128 = $127 + $126 | 0;
var $129 = ($128 | 0) < 255;
if ($129) {
var $best_part2_3_length_1 = $best_part2_3_length_2;
var $age_1 = $age_2;
label = 5;
break;
} else {
var $best_part2_3_length_3 = $best_part2_3_length_2;
label = 30;
break;
}
case 30:
var $best_part2_3_length_3;
var $131 = HEAP32[$32 >> 2];
var $132 = ($131 | 0) == 3;
var $133 = ($bRefine_068 | 0) == 0;
var $or_cond54 = $132 & $133;
if ($or_cond54) {
label = 31;
break;
} else {
label = 32;
break;
}
case 31:
for (var $$src = $11 >> 2, $$dest = $10 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
for (var $$src = $12 >> 2, $$dest = $13 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $135 = HEAP32[$33 >> 2];
var $best_part2_3_length_067 = $best_part2_3_length_3;
var $bRefine_068 = 1;
var $best_ggain_pass1_069 = $135;
label = 4;
break;
case 32:
var $136 = $gfc + 104 | 0;
var $137 = HEAP32[$136 >> 2];
if (($137 | 0) == 2 | ($137 | 0) == 4 | ($137 | 0) == 1) {
label = 33;
break;
} else {
label = 34;
break;
}
case 33:
for (var $$src = $12 >> 2, $$dest = $13 >> 2, $$stop = $$src + 576; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 36;
break;
case 34:
var $140 = $gfc + 85092 | 0;
var $141 = HEAP32[$140 >> 2];
var $142 = $141 & 1;
var $143 = ($142 | 0) == 0;
if ($143) {
label = 36;
break;
} else {
label = 35;
break;
}
case 35:
_trancate_smallspectrums($gfc, $cod_info, $l3_xmin, $xrpow);
label = 36;
break;
case 36:
var $146 = $best_noise_info + 12 | 0;
var $147 = HEAP32[$146 >> 2];
var $_0 = $147;
label = 37;
break;
case 37:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_outer_loop["X"] = 1;
function _CBR_iteration_loop($gfc, $pe, $ms_ener_ratio, $ratio) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2472 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $l3_xmin = __stackBase__;
var $xrpow = __stackBase__ + 156;
var $targ_bits = __stackBase__ + 2460;
var $mean_bits = __stackBase__ + 2468;
var $1 = $gfc + 304 | 0;
var $2 = _ResvFrameBegin($gfc, $mean_bits);
var $3 = $gfc + 76 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) > 0;
if ($5) {
label = 3;
break;
} else {
label = 11;
break;
}
case 3:
var $6 = $targ_bits | 0;
var $7 = HEAP32[$mean_bits >> 2];
var $8 = $gfc + 84752 | 0;
var $9 = $gfc + 72 | 0;
var $10 = $gfc + 84908 | 0;
var $11 = $gfc + 84912 | 0;
var $12 = $gfc + 84904 | 0;
var $13 = $xrpow | 0;
var $14 = $l3_xmin | 0;
var $gr_037 = 0;
label = 4;
break;
case 4:
var $gr_037;
var $16 = _on_pe($gfc, $pe, $6, $7, $gr_037, $gr_037);
var $17 = HEAP32[$8 >> 2];
var $18 = ($17 | 0) == 2;
if ($18) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
_ms_convert($1, $gr_037);
var $20 = $ms_ener_ratio + ($gr_037 << 2) | 0;
var $21 = HEAPF32[$20 >> 2];
_reduce_side($6, $21, $7, $16);
label = 6;
break;
case 6:
var $22 = HEAP32[$9 >> 2];
var $23 = ($22 | 0) > 0;
if ($23) {
var $ch_036 = 0;
label = 7;
break;
} else {
label = 10;
break;
}
case 7:
var $ch_036;
var $24 = $gfc + 304 + $gr_037 * 10504 + $ch_036 * 5252 | 0;
var $25 = $gfc + 304 + $gr_037 * 10504 + $ch_036 * 5252 + 4788 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) == 2;
var $masking_lower_db_0_in = $27 ? $11 : $10;
var $masking_lower_db_0 = HEAPF32[$masking_lower_db_0_in >> 2];
var $28 = $masking_lower_db_0;
var $29 = $28 * .1;
var $30 = Math.pow(10, $29);
var $31 = $30;
HEAPF32[$12 >> 2] = $31;
_init_outer_loop($gfc, $24);
var $32 = _init_xrpow($gfc, $24, $13);
var $33 = ($32 | 0) == 0;
if ($33) {
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $35 = $ratio + $gr_037 * 976 + $ch_036 * 488 | 0;
var $36 = _calc_xmin($gfc, $35, $24, $14);
var $37 = $targ_bits + ($ch_036 << 2) | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = _outer_loop($gfc, $24, $14, $13, $ch_036, $38);
label = 9;
break;
case 9:
_iteration_finish_one($gfc, $gr_037, $ch_036);
var $41 = $ch_036 + 1 | 0;
var $42 = HEAP32[$9 >> 2];
var $43 = ($41 | 0) < ($42 | 0);
if ($43) {
var $ch_036 = $41;
label = 7;
break;
} else {
label = 10;
break;
}
case 10:
var $44 = $gr_037 + 1 | 0;
var $45 = HEAP32[$3 >> 2];
var $46 = ($44 | 0) < ($45 | 0);
if ($46) {
var $gr_037 = $44;
label = 4;
break;
} else {
label = 11;
break;
}
case 11:
var $47 = HEAP32[$mean_bits >> 2];
_ResvFrameEnd($gfc, $47);
STACKTOP = __stackBase__;
return;
}
}
_CBR_iteration_loop["X"] = 1;
function _bin_search_StepSize($gfc, $cod_info, $desired_rate, $ch, $xrpow) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 84924 + ($ch << 2) | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 84916 + ($ch << 2) | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $cod_info + 4780 | 0;
HEAP32[$5 >> 2] = $4;
var $6 = $cod_info + 4844 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $desired_rate - $7 | 0;
var $9 = _count_bits($gfc, $xrpow, $cod_info, 0);
var $10 = ($2 | 0) == 1;
var $11 = ($9 | 0) == ($8 | 0);
var $or_cond3 = $10 | $11;
if ($or_cond3) {
var $_lcssa = $9;
label = 3;
break;
} else {
var $CurrentStep_04 = $2;
var $flag_GoneOver_05 = 0;
var $Direction_06 = 0;
var $13 = $9;
label = 4;
break;
}
case 3:
var $_lcssa;
var $12 = ($_lcssa | 0) > ($8 | 0);
if ($12) {
var $nBits_02 = $_lcssa;
label = 11;
break;
} else {
var $nBits_0_lcssa = $_lcssa;
label = 13;
break;
}
case 4:
var $13;
var $Direction_06;
var $flag_GoneOver_05;
var $CurrentStep_04;
var $14 = ($13 | 0) > ($8 | 0);
if ($14) {
label = 5;
break;
} else {
label = 7;
break;
}
case 5:
var $16 = ($Direction_06 | 0) == 2;
var $_flag_GoneOver_0 = $16 ? 1 : $flag_GoneOver_05;
var $17 = ($_flag_GoneOver_0 | 0) == 0;
if ($17) {
var $step_0 = $CurrentStep_04;
var $Direction_1 = 1;
var $flag_GoneOver_3 = 0;
var $CurrentStep_3 = $CurrentStep_04;
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $19 = ($CurrentStep_04 | 0) / 2 & -1;
var $step_0 = $19;
var $Direction_1 = 1;
var $flag_GoneOver_3 = $_flag_GoneOver_0;
var $CurrentStep_3 = $19;
label = 10;
break;
case 7:
var $21 = ($Direction_06 | 0) == 1;
var $_flag_GoneOver_01 = $21 ? 1 : $flag_GoneOver_05;
var $22 = ($_flag_GoneOver_01 | 0) == 0;
if ($22) {
var $CurrentStep_2 = $CurrentStep_04;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $24 = ($CurrentStep_04 | 0) / 2 & -1;
var $CurrentStep_2 = $24;
label = 9;
break;
case 9:
var $CurrentStep_2;
var $26 = -$CurrentStep_2 | 0;
var $step_0 = $26;
var $Direction_1 = 2;
var $flag_GoneOver_3 = $_flag_GoneOver_01;
var $CurrentStep_3 = $CurrentStep_2;
label = 10;
break;
case 10:
var $CurrentStep_3;
var $flag_GoneOver_3;
var $Direction_1;
var $step_0;
var $27 = HEAP32[$5 >> 2];
var $28 = $27 + $step_0 | 0;
var $29 = ($28 | 0) < 0;
var $_ = $29 ? 0 : $28;
var $_flag_GoneOver_3 = $29 ? 1 : $flag_GoneOver_3;
var $30 = ($_ | 0) > 255;
var $__ = $30 ? 255 : $_;
var $__flag_GoneOver_3 = $30 ? 1 : $_flag_GoneOver_3;
HEAP32[$5 >> 2] = $__;
var $31 = _count_bits($gfc, $xrpow, $cod_info, 0);
var $32 = ($CurrentStep_3 | 0) == 1;
var $33 = ($31 | 0) == ($8 | 0);
var $or_cond = $32 | $33;
if ($or_cond) {
var $_lcssa = $31;
label = 3;
break;
} else {
var $CurrentStep_04 = $CurrentStep_3;
var $flag_GoneOver_05 = $__flag_GoneOver_3;
var $Direction_06 = $Direction_1;
var $13 = $31;
label = 4;
break;
}
case 11:
var $nBits_02;
var $34 = HEAP32[$5 >> 2];
var $35 = ($34 | 0) < 255;
if ($35) {
label = 12;
break;
} else {
var $nBits_0_lcssa = $nBits_02;
label = 13;
break;
}
case 12:
var $37 = $34 + 1 | 0;
HEAP32[$5 >> 2] = $37;
var $38 = _count_bits($gfc, $xrpow, $cod_info, 0);
var $39 = ($38 | 0) > ($8 | 0);
if ($39) {
var $nBits_02 = $38;
label = 11;
break;
} else {
var $nBits_0_lcssa = $38;
label = 13;
break;
}
case 13:
var $nBits_0_lcssa;
var $40 = HEAP32[$5 >> 2];
var $41 = $4 - $40 | 0;
var $42 = ($41 | 0) > 3;
var $43 = $42 ? 4 : 2;
HEAP32[$1 >> 2] = $43;
var $44 = HEAP32[$5 >> 2];
HEAP32[$3 >> 2] = $44;
var $45 = $cod_info + 4768 | 0;
HEAP32[$45 >> 2] = $nBits_0_lcssa;
return;
}
}
_bin_search_StepSize["X"] = 1;
function _balance_noise($gfc, $cod_info, $distort, $xrpow, $bRefine) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
_amp_scalefac_bands($gfc, $cod_info, $distort, $xrpow, $bRefine);
var $1 = _loop_break($cod_info);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
var $_0 = 0;
label = 15;
break;
}
case 3:
var $4 = _scale_bitcount($gfc, $cod_info);
var $5 = ($4 | 0) == 0;
if ($5) {
var $_0 = 1;
label = 15;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $gfc + 28 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) > 1;
if ($9) {
label = 5;
break;
} else {
var $status_1 = $4;
label = 14;
break;
}
case 5:
var $11 = $gfc + 84932 | 0;
var $12 = $11;
for (var $$dest = $12 >> 2, $$stop = $$dest + 39; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $13 = $cod_info + 4836 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = ($14 | 0) == 0;
if ($15) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
_inc_scalefac_scale($cod_info, $xrpow);
label = 13;
break;
case 7:
var $17 = $cod_info + 4788 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = ($18 | 0) == 2;
if ($19) {
label = 8;
break;
} else {
var $status_0 = $4;
label = 12;
break;
}
case 8:
var $21 = $gfc + 32 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($22 | 0) > 0;
if ($23) {
label = 9;
break;
} else {
var $status_0 = $4;
label = 12;
break;
}
case 9:
var $25 = _inc_subblock_gain($gfc, $cod_info, $xrpow);
var $26 = ($25 | 0) == 0;
if ($26) {
label = 10;
break;
} else {
var $31 = 1;
label = 11;
break;
}
case 10:
var $28 = _loop_break($cod_info);
var $29 = ($28 | 0) != 0;
var $31 = $29;
label = 11;
break;
case 11:
var $31;
var $32 = $31 & 1;
var $status_0 = $32;
label = 12;
break;
case 12:
var $status_0;
var $34 = ($status_0 | 0) == 0;
if ($34) {
label = 13;
break;
} else {
var $status_1 = $status_0;
label = 14;
break;
}
case 13:
var $36 = _scale_bitcount($gfc, $cod_info);
var $status_1 = $36;
label = 14;
break;
case 14:
var $status_1;
var $37 = ($status_1 | 0) == 0;
var $38 = $37 & 1;
var $_0 = $38;
label = 15;
break;
case 15:
var $_0;
return $_0;
}
}
function _loop_break($cod_info) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4860 | 0;
var $2 = HEAP32[$1 >> 2];
var $sfb_0 = 0;
label = 3;
break;
case 3:
var $sfb_0;
var $4 = ($sfb_0 | 0) < ($2 | 0);
if ($4) {
label = 4;
break;
} else {
var $_0 = 1;
label = 5;
break;
}
case 4:
var $6 = $cod_info + 4608 + ($sfb_0 << 2) | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $cod_info + 5028 + ($sfb_0 << 2) | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $cod_info + 4808 + ($9 << 2) | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = -$11 | 0;
var $13 = ($7 | 0) == ($12 | 0);
var $14 = $sfb_0 + 1 | 0;
if ($13) {
var $_0 = 0;
label = 5;
break;
} else {
var $sfb_0 = $14;
label = 3;
break;
}
case 5:
var $_0;
return $_0;
}
}
function _inc_scalefac_scale($cod_info, $xrpow) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4860 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
label = 13;
break;
}
case 3:
var $4 = $cod_info + 4832 | 0;
var $5 = $cod_info + 4764 | 0;
var $sfb_029 = 0;
var $j_030 = 0;
label = 4;
break;
case 4:
var $j_030;
var $sfb_029;
var $7 = $cod_info + 4872 + ($sfb_029 << 2) | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $cod_info + 4608 + ($sfb_029 << 2) | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = HEAP32[$4 >> 2];
var $12 = ($11 | 0) == 0;
if ($12) {
var $s_0 = $10;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = 5257016 + ($sfb_029 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 + $10 | 0;
var $s_0 = $16;
label = 6;
break;
case 6:
var $s_0;
var $18 = $8 + $j_030 | 0;
var $19 = $s_0 & 1;
var $20 = ($19 | 0) == 0;
if ($20) {
var $s_1 = $s_0;
label = 12;
break;
} else {
label = 7;
break;
}
case 7:
var $22 = $s_0 + 1 | 0;
var $23 = ($8 | 0) > 0;
if ($23) {
label = 8;
break;
} else {
var $s_1 = $22;
label = 12;
break;
}
case 8:
var $24 = -$8 | 0;
var $l_028 = $24;
label = 9;
break;
case 9:
var $l_028;
var $26 = $l_028 + $18 | 0;
var $27 = $xrpow + ($26 << 2) | 0;
var $28 = HEAPF32[$27 >> 2];
var $29 = $28 * 1.2968395948410034;
HEAPF32[$27 >> 2] = $29;
var $30 = HEAPF32[$5 >> 2];
var $31 = $29 > $30;
if ($31) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
HEAPF32[$5 >> 2] = $29;
label = 11;
break;
case 11:
var $34 = $l_028 + 1 | 0;
var $35 = ($34 | 0) < 0;
if ($35) {
var $l_028 = $34;
label = 9;
break;
} else {
var $s_1 = $22;
label = 12;
break;
}
case 12:
var $s_1;
var $36 = $s_1 >> 1;
HEAP32[$9 >> 2] = $36;
var $37 = $sfb_029 + 1 | 0;
var $38 = HEAP32[$1 >> 2];
var $39 = ($37 | 0) < ($38 | 0);
if ($39) {
var $sfb_029 = $37;
var $j_030 = $18;
label = 4;
break;
} else {
label = 13;
break;
}
case 13:
var $40 = $cod_info + 4832 | 0;
HEAP32[$40 >> 2] = 0;
var $41 = $cod_info + 4836 | 0;
HEAP32[$41 >> 2] = 1;
return;
}
}
_inc_scalefac_scale["X"] = 1;
function _quant_compare($quant_comp, $best, $calc, $gi, $distort) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if (($quant_comp | 0) == 0) {
label = 9;
break;
} else if (($quant_comp | 0) == 8) {
label = 18;
break;
} else if (($quant_comp | 0) == 1) {
label = 19;
break;
} else if (($quant_comp | 0) == 2) {
label = 20;
break;
} else if (($quant_comp | 0) == 3) {
label = 21;
break;
} else if (($quant_comp | 0) == 4) {
label = 24;
break;
} else if (($quant_comp | 0) == 5) {
label = 45;
break;
} else if (($quant_comp | 0) == 6) {
label = 51;
break;
} else if (($quant_comp | 0) == 7) {
label = 61;
break;
} else {
label = 3;
break;
}
case 3:
var $2 = $best + 12 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) > 0;
if ($4) {
label = 4;
break;
} else {
label = 6;
break;
}
case 4:
var $6 = $calc + 16 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $best + 16 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($7 | 0) <= ($9 | 0);
var $11 = $10 & 1;
var $12 = ($7 | 0) == ($9 | 0);
if ($12) {
label = 5;
break;
} else {
var $better_0 = $11;
label = 64;
break;
}
case 5:
var $14 = $calc + 20 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $best + 20 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($15 | 0) < ($17 | 0);
var $19 = $18 & 1;
var $better_0 = $19;
label = 64;
break;
case 6:
var $21 = $calc + 8 | 0;
var $22 = HEAPF32[$21 >> 2];
var $23 = $22 < 0;
if ($23) {
label = 7;
break;
} else {
var $39 = 0;
label = 8;
break;
}
case 7:
var $25 = $22 * 10;
var $26 = $calc + 20 | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $27 | 0;
var $29 = $25 + $28;
var $30 = $best + 8 | 0;
var $31 = HEAPF32[$30 >> 2];
var $32 = $31 * 10;
var $33 = $best + 20 | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = $34 | 0;
var $36 = $32 + $35;
var $37 = $29 <= $36;
var $39 = $37;
label = 8;
break;
case 8:
var $39;
var $40 = $39 & 1;
var $better_0 = $40;
label = 64;
break;
case 9:
var $42 = $calc + 12 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $best + 12 | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = ($43 | 0) < ($45 | 0);
if ($46) {
var $82 = 1;
label = 17;
break;
} else {
label = 10;
break;
}
case 10:
var $48 = ($43 | 0) == ($45 | 0);
if ($48) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $50 = $calc | 0;
var $51 = HEAPF32[$50 >> 2];
var $52 = $best | 0;
var $53 = HEAPF32[$52 >> 2];
var $54 = $51 < $53;
if ($54) {
var $82 = 1;
label = 17;
break;
} else {
label = 12;
break;
}
case 12:
var $56 = HEAP32[$42 >> 2];
var $57 = HEAP32[$44 >> 2];
var $58 = ($56 | 0) == ($57 | 0);
if ($58) {
label = 13;
break;
} else {
var $82 = 0;
label = 17;
break;
}
case 13:
var $60 = $calc | 0;
var $61 = HEAPF32[$60 >> 2];
var $fabsf = Math.abs($61);
var $62 = $best | 0;
var $63 = HEAPF32[$62 >> 2];
var $fabsf108 = Math.abs($63);
var $64 = $fabsf > $fabsf108;
var $65 = $61 - $63;
var $fabsf109 = Math.abs($65);
var $66 = $fabsf109;
if ($64) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $68 = $fabsf;
var $69 = $68 * 9.999999974752427e-7;
var $70 = $66 > $69;
if ($70) {
var $82 = 0;
label = 17;
break;
} else {
label = 16;
break;
}
case 15:
var $72 = $fabsf108;
var $73 = $72 * 9.999999974752427e-7;
var $74 = $66 > $73;
if ($74) {
var $82 = 0;
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $76 = $calc + 4 | 0;
var $77 = HEAPF32[$76 >> 2];
var $78 = $best + 4 | 0;
var $79 = HEAPF32[$78 >> 2];
var $80 = $77 < $79;
var $82 = $80;
label = 17;
break;
case 17:
var $82;
var $83 = $82 & 1;
var $better_0 = $83;
label = 64;
break;
case 18:
var $85 = _get_klemm_noise($distort, $gi);
var $86 = $85;
var $87 = $calc + 8 | 0;
HEAPF32[$87 >> 2] = $86;
label = 19;
break;
case 19:
var $89 = $calc + 8 | 0;
var $90 = HEAPF32[$89 >> 2];
var $91 = $best + 8 | 0;
var $92 = HEAPF32[$91 >> 2];
var $93 = $90 < $92;
var $94 = $93 & 1;
var $better_0 = $94;
label = 64;
break;
case 20:
var $96 = $calc + 4 | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $best + 4 | 0;
var $99 = HEAPF32[$98 >> 2];
var $100 = $97 < $99;
var $101 = $100 & 1;
var $better_0 = $101;
label = 64;
break;
case 21:
var $103 = $calc + 4 | 0;
var $104 = HEAPF32[$103 >> 2];
var $105 = $best + 4 | 0;
var $106 = HEAPF32[$105 >> 2];
var $107 = $104 < $106;
if ($107) {
label = 22;
break;
} else {
var $115 = 0;
label = 23;
break;
}
case 22:
var $109 = $calc + 8 | 0;
var $110 = HEAPF32[$109 >> 2];
var $111 = $best + 8 | 0;
var $112 = HEAPF32[$111 >> 2];
var $113 = $110 < $112;
var $115 = $113;
label = 23;
break;
case 23:
var $115;
var $116 = $115 & 1;
var $better_0 = $116;
label = 64;
break;
case 24:
var $118 = $calc + 8 | 0;
var $119 = HEAPF32[$118 >> 2];
var $120 = $119 > 0;
if ($120) {
var $127 = $119;
label = 27;
break;
} else {
label = 25;
break;
}
case 25:
var $122 = $best + 8 | 0;
var $123 = HEAPF32[$122 >> 2];
var $124 = $123;
var $125 = $124 > .2;
if ($125) {
var $216 = 1;
label = 44;
break;
} else {
label = 26;
break;
}
case 26:
var $_pr = HEAPF32[$118 >> 2];
var $127 = $_pr;
label = 27;
break;
case 27:
var $127;
var $128 = $127;
var $129 = $127 > 0;
if ($129) {
label = 31;
break;
} else {
label = 28;
break;
}
case 28:
var $131 = $best + 8 | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = $132 < 0;
if ($133) {
label = 29;
break;
} else {
label = 31;
break;
}
case 29:
var $135 = $132;
var $136 = $128 - .2;
var $137 = $135 > $136;
if ($137) {
label = 30;
break;
} else {
label = 31;
break;
}
case 30:
var $139 = $calc + 4 | 0;
var $140 = HEAPF32[$139 >> 2];
var $141 = $best + 4 | 0;
var $142 = HEAPF32[$141 >> 2];
var $143 = $140 < $142;
if ($143) {
var $216 = 1;
label = 44;
break;
} else {
label = 31;
break;
}
case 31:
var $145 = HEAPF32[$118 >> 2];
var $146 = $145;
var $147 = $145 > 0;
if ($147) {
var $166 = $145;
label = 36;
break;
} else {
label = 32;
break;
}
case 32:
var $149 = $best + 8 | 0;
var $150 = HEAPF32[$149 >> 2];
var $151 = $150 > 0;
if ($151) {
label = 33;
break;
} else {
label = 35;
break;
}
case 33:
var $153 = $150;
var $154 = $146 - .2;
var $155 = $153 > $154;
if ($155) {
label = 34;
break;
} else {
label = 35;
break;
}
case 34:
var $157 = $calc + 4 | 0;
var $158 = HEAPF32[$157 >> 2];
var $159 = $best + 4 | 0;
var $160 = HEAPF32[$159 >> 2];
var $161 = $best | 0;
var $162 = HEAPF32[$161 >> 2];
var $163 = $160 + $162;
var $164 = $158 < $163;
if ($164) {
var $216 = 1;
label = 44;
break;
} else {
label = 35;
break;
}
case 35:
var $_pr120 = HEAPF32[$118 >> 2];
var $166 = $_pr120;
label = 36;
break;
case 36:
var $166;
var $167 = $166;
var $168 = $166 > 0;
if ($168) {
label = 37;
break;
} else {
label = 40;
break;
}
case 37:
var $170 = $best + 8 | 0;
var $171 = HEAPF32[$170 >> 2];
var $172 = $171;
var $173 = $172 > -.05;
if ($173) {
label = 38;
break;
} else {
label = 40;
break;
}
case 38:
var $175 = $167 - .1;
var $176 = $172 > $175;
if ($176) {
label = 39;
break;
} else {
label = 40;
break;
}
case 39:
var $178 = $calc + 4 | 0;
var $179 = HEAPF32[$178 >> 2];
var $180 = $calc | 0;
var $181 = HEAPF32[$180 >> 2];
var $182 = $179 + $181;
var $183 = $best + 4 | 0;
var $184 = HEAPF32[$183 >> 2];
var $185 = $best | 0;
var $186 = HEAPF32[$185 >> 2];
var $187 = $184 + $186;
var $188 = $182 < $187;
if ($188) {
var $216 = 1;
label = 44;
break;
} else {
label = 40;
break;
}
case 40:
var $190 = HEAPF32[$118 >> 2];
var $191 = $190;
var $192 = $190 > 0;
if ($192) {
label = 41;
break;
} else {
var $216 = 0;
label = 44;
break;
}
case 41:
var $194 = $best + 8 | 0;
var $195 = HEAPF32[$194 >> 2];
var $196 = $195;
var $197 = $196 > -.1;
if ($197) {
label = 42;
break;
} else {
var $216 = 0;
label = 44;
break;
}
case 42:
var $199 = $191 - .15;
var $200 = $196 > $199;
if ($200) {
label = 43;
break;
} else {
var $216 = 0;
label = 44;
break;
}
case 43:
var $202 = $calc + 4 | 0;
var $203 = HEAPF32[$202 >> 2];
var $204 = $calc | 0;
var $205 = HEAPF32[$204 >> 2];
var $206 = $203 + $205;
var $207 = $205 + $206;
var $208 = $best + 4 | 0;
var $209 = HEAPF32[$208 >> 2];
var $210 = $best | 0;
var $211 = HEAPF32[$210 >> 2];
var $212 = $209 + $211;
var $213 = $211 + $212;
var $214 = $207 < $213;
var $216 = $214;
label = 44;
break;
case 44:
var $216;
var $217 = $216 & 1;
var $better_0 = $217;
label = 64;
break;
case 45:
var $219 = $calc | 0;
var $220 = HEAPF32[$219 >> 2];
var $221 = $best | 0;
var $222 = HEAPF32[$221 >> 2];
var $223 = $220 < $222;
if ($223) {
var $243 = 1;
label = 50;
break;
} else {
label = 46;
break;
}
case 46:
var $fabsf110 = Math.abs($220);
var $fabsf111 = Math.abs($222);
var $225 = $fabsf110 > $fabsf111;
var $226 = $220 - $222;
var $fabsf112 = Math.abs($226);
var $227 = $fabsf112;
if ($225) {
label = 47;
break;
} else {
label = 48;
break;
}
case 47:
var $229 = $fabsf110;
var $230 = $229 * 9.999999974752427e-7;
var $231 = $227 > $230;
if ($231) {
var $243 = 0;
label = 50;
break;
} else {
label = 49;
break;
}
case 48:
var $233 = $fabsf111;
var $234 = $233 * 9.999999974752427e-7;
var $235 = $227 > $234;
if ($235) {
var $243 = 0;
label = 50;
break;
} else {
label = 49;
break;
}
case 49:
var $237 = $calc + 4 | 0;
var $238 = HEAPF32[$237 >> 2];
var $239 = $best + 4 | 0;
var $240 = HEAPF32[$239 >> 2];
var $241 = $238 < $240;
var $243 = $241;
label = 50;
break;
case 50:
var $243;
var $244 = $243 & 1;
var $better_0 = $244;
label = 64;
break;
case 51:
var $246 = $calc | 0;
var $247 = HEAPF32[$246 >> 2];
var $248 = $best | 0;
var $249 = HEAPF32[$248 >> 2];
var $250 = $247 < $249;
if ($250) {
var $288 = 1;
label = 60;
break;
} else {
label = 52;
break;
}
case 52:
var $fabsf113 = Math.abs($247);
var $fabsf114 = Math.abs($249);
var $252 = $fabsf113 > $fabsf114;
var $253 = $247 - $249;
var $fabsf115 = Math.abs($253);
var $254 = $fabsf115;
if ($252) {
label = 53;
break;
} else {
label = 54;
break;
}
case 53:
var $256 = $fabsf113;
var $257 = $256 * 9.999999974752427e-7;
var $258 = $254 > $257;
if ($258) {
var $288 = 0;
label = 60;
break;
} else {
label = 55;
break;
}
case 54:
var $260 = $fabsf114;
var $261 = $260 * 9.999999974752427e-7;
var $262 = $254 > $261;
if ($262) {
var $288 = 0;
label = 60;
break;
} else {
label = 55;
break;
}
case 55:
var $264 = $calc + 8 | 0;
var $265 = HEAPF32[$264 >> 2];
var $266 = $best + 8 | 0;
var $267 = HEAPF32[$266 >> 2];
var $268 = $265 < $267;
if ($268) {
var $288 = 1;
label = 60;
break;
} else {
label = 56;
break;
}
case 56:
var $fabsf116 = Math.abs($265);
var $fabsf117 = Math.abs($267);
var $270 = $fabsf116 > $fabsf117;
var $271 = $265 - $267;
var $fabsf118 = Math.abs($271);
var $272 = $fabsf118;
if ($270) {
label = 57;
break;
} else {
label = 58;
break;
}
case 57:
var $274 = $fabsf116;
var $275 = $274 * 9.999999974752427e-7;
var $276 = $272 > $275;
if ($276) {
var $288 = 0;
label = 60;
break;
} else {
label = 59;
break;
}
case 58:
var $278 = $fabsf117;
var $279 = $278 * 9.999999974752427e-7;
var $280 = $272 > $279;
if ($280) {
var $288 = 0;
label = 60;
break;
} else {
label = 59;
break;
}
case 59:
var $282 = $calc + 4 | 0;
var $283 = HEAPF32[$282 >> 2];
var $284 = $best + 4 | 0;
var $285 = HEAPF32[$284 >> 2];
var $286 = $283 <= $285;
var $288 = $286;
label = 60;
break;
case 60:
var $288;
var $289 = $288 & 1;
var $better_0 = $289;
label = 64;
break;
case 61:
var $291 = $calc + 12 | 0;
var $292 = HEAP32[$291 >> 2];
var $293 = $best + 12 | 0;
var $294 = HEAP32[$293 >> 2];
var $295 = ($292 | 0) < ($294 | 0);
if ($295) {
var $303 = 1;
label = 63;
break;
} else {
label = 62;
break;
}
case 62:
var $297 = $calc | 0;
var $298 = HEAPF32[$297 >> 2];
var $299 = $best | 0;
var $300 = HEAPF32[$299 >> 2];
var $301 = $298 < $300;
var $303 = $301;
label = 63;
break;
case 63:
var $303;
var $304 = $303 & 1;
var $better_0 = $304;
label = 64;
break;
case 64:
var $better_0;
var $306 = $best + 12 | 0;
var $307 = HEAP32[$306 >> 2];
var $308 = ($307 | 0) == 0;
if ($308) {
label = 65;
break;
} else {
var $better_1 = $better_0;
label = 68;
break;
}
case 65:
var $310 = ($better_0 | 0) == 0;
if ($310) {
var $318 = 0;
label = 67;
break;
} else {
label = 66;
break;
}
case 66:
var $312 = $calc + 20 | 0;
var $313 = HEAP32[$312 >> 2];
var $314 = $best + 20 | 0;
var $315 = HEAP32[$314 >> 2];
var $316 = ($313 | 0) < ($315 | 0);
var $318 = $316;
label = 67;
break;
case 67:
var $318;
var $319 = $318 & 1;
var $better_1 = $319;
label = 68;
break;
case 68:
var $better_1;
return $better_1;
}
}
_quant_compare["X"] = 1;
function _get_klemm_noise($distort, $gi) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gi + 4864 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
var $klemm_noise_0_lcssa = 1e-37;
label = 5;
break;
}
case 3:
var $4 = HEAP32[$1 >> 2];
var $sfb_06 = 0;
var $klemm_noise_07 = 1e-37;
label = 4;
break;
case 4:
var $klemm_noise_07;
var $sfb_06;
var $6 = $distort + ($sfb_06 << 2) | 0;
var $7 = HEAPF32[$6 >> 2];
var $8 = $7;
var $9 = _penalties($8);
var $10 = $klemm_noise_07 + $9;
var $11 = $sfb_06 + 1 | 0;
var $12 = ($11 | 0) < ($4 | 0);
if ($12) {
var $sfb_06 = $11;
var $klemm_noise_07 = $10;
label = 4;
break;
} else {
var $klemm_noise_0_lcssa = $10;
label = 5;
break;
}
case 5:
var $klemm_noise_0_lcssa;
var $13 = $klemm_noise_0_lcssa < 1e-20;
var $14 = $13 ? 1e-20 : $klemm_noise_0_lcssa;
return $14;
}
}
function _penalties($noise) {
return _fast_log2($noise * .632 * $noise * $noise + .368) * .30102999566398114;
}
function _amp_scalefac_bands($gfc, $cod_info, $distort, $xrpow, $bRefine) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4836 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
var $_ = $3 ? 1.2968395948410034 : 1.6817928552627563;
var $4 = $cod_info + 4860 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) > 0;
if ($6) {
label = 3;
break;
} else {
var $trigger_0_lcssa = 0;
label = 5;
break;
}
case 3:
var $7 = HEAP32[$4 >> 2];
var $sfb_054 = 0;
var $trigger_055 = 0;
label = 4;
break;
case 4:
var $trigger_055;
var $sfb_054;
var $9 = $distort + ($sfb_054 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $trigger_055 < $10;
var $trigger_1 = $11 ? $10 : $trigger_055;
var $12 = $sfb_054 + 1 | 0;
var $13 = ($12 | 0) < ($7 | 0);
if ($13) {
var $sfb_054 = $12;
var $trigger_055 = $trigger_1;
label = 4;
break;
} else {
var $trigger_0_lcssa = $trigger_1;
label = 5;
break;
}
case 5:
var $trigger_0_lcssa;
var $14 = $gfc + 40 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = ($15 | 0) == 3;
if ($16) {
label = 6;
break;
} else {
var $noise_shaping_amp_0 = $15;
label = 7;
break;
}
case 6:
var $18 = ($bRefine | 0) == 1;
var $_46 = $18 ? 2 : 1;
var $noise_shaping_amp_0 = $_46;
label = 7;
break;
case 7:
var $noise_shaping_amp_0;
if (($noise_shaping_amp_0 | 0) == 1) {
label = 8;
break;
} else if (($noise_shaping_amp_0 | 0) == 2) {
var $trigger_2 = $trigger_0_lcssa;
label = 13;
break;
} else {
label = 11;
break;
}
case 8:
var $21 = $trigger_0_lcssa;
var $22 = $trigger_0_lcssa > 1;
if ($22) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $sqrt = Math.sqrt($21);
var $fabs = Math.abs($sqrt);
var $24 = $trigger_0_lcssa == -Infinity;
var $25 = $fabs;
var $26 = $24 ? Infinity : $25;
var $trigger_2 = $26;
label = 13;
break;
case 10:
var $28 = $21 * .95;
var $29 = $28;
var $trigger_2 = $29;
label = 13;
break;
case 11:
var $31 = $trigger_0_lcssa > 1;
if ($31) {
var $trigger_2 = 1;
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $33 = $trigger_0_lcssa;
var $34 = $33 * .95;
var $35 = $34;
var $trigger_2 = $35;
label = 13;
break;
case 13:
var $trigger_2;
var $37 = HEAP32[$4 >> 2];
var $38 = ($37 | 0) > 0;
if ($38) {
label = 14;
break;
} else {
label = 26;
break;
}
case 14:
var $39 = $gfc + 85092 | 0;
var $40 = $cod_info + 4764 | 0;
var $sfb_148 = 0;
var $j_050 = 0;
label = 15;
break;
case 15:
var $j_050;
var $sfb_148;
var $42 = $cod_info + 4872 + ($sfb_148 << 2) | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $43 + $j_050 | 0;
var $45 = $distort + ($sfb_148 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $47 = $46 < $trigger_2;
if ($47) {
label = 25;
break;
} else {
label = 16;
break;
}
case 16:
var $49 = HEAP32[$39 >> 2];
var $50 = $49 & 2;
var $51 = ($50 | 0) == 0;
if ($51) {
label = 19;
break;
} else {
label = 17;
break;
}
case 17:
var $53 = $gfc + 84932 + ($sfb_148 << 2) | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = ($54 | 0) == 0;
var $56 = $55 & 1;
HEAP32[$53 >> 2] = $56;
if ($55) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
var $58 = HEAP32[$14 >> 2];
var $59 = ($58 | 0) == 2;
if ($59) {
label = 26;
break;
} else {
label = 19;
break;
}
case 19:
var $61 = $cod_info + 4608 + ($sfb_148 << 2) | 0;
var $62 = HEAP32[$61 >> 2];
var $63 = $62 + 1 | 0;
HEAP32[$61 >> 2] = $63;
var $64 = ($43 | 0) > 0;
if ($64) {
label = 20;
break;
} else {
label = 24;
break;
}
case 20:
var $65 = -$43 | 0;
var $l_047 = $65;
label = 21;
break;
case 21:
var $l_047;
var $67 = $l_047 + $44 | 0;
var $68 = $xrpow + ($67 << 2) | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = $_ * $69;
HEAPF32[$68 >> 2] = $70;
var $71 = HEAPF32[$40 >> 2];
var $72 = $70 > $71;
if ($72) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
HEAPF32[$40 >> 2] = $70;
label = 23;
break;
case 23:
var $75 = $l_047 + 1 | 0;
var $76 = ($75 | 0) < 0;
if ($76) {
var $l_047 = $75;
label = 21;
break;
} else {
label = 24;
break;
}
case 24:
var $77 = HEAP32[$14 >> 2];
var $78 = ($77 | 0) == 2;
if ($78) {
label = 26;
break;
} else {
label = 25;
break;
}
case 25:
var $80 = $sfb_148 + 1 | 0;
var $81 = HEAP32[$4 >> 2];
var $82 = ($80 | 0) < ($81 | 0);
if ($82) {
var $sfb_148 = $80;
var $j_050 = $44;
label = 15;
break;
} else {
label = 26;
break;
}
case 26:
return;
}
}
_amp_scalefac_bands["X"] = 1;
function _floatcompare($v1, $v2) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $v1;
var $2 = $v2;
var $3 = HEAPF32[$1 >> 2];
var $4 = HEAPF32[$2 >> 2];
var $5 = $3 > $4;
if ($5) {
var $_0 = 1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $7 = $3 < $4;
var $_ = $7 << 31 >> 31;
var $_0 = $_;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _inc_subblock_gain($gfc, $cod_info, $xrpow) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4848 | 0;
var $2 = HEAP32[$1 >> 2];
var $sfb_0 = 0;
label = 3;
break;
case 3:
var $sfb_0;
var $4 = ($sfb_0 | 0) < ($2 | 0);
if ($4) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = $cod_info + 4868 | 0;
var $6 = $cod_info + 4860 | 0;
var $7 = $cod_info + 4764 | 0;
var $8 = $cod_info + 4836 | 0;
var $9 = $cod_info + 4764 | 0;
var $window_0110 = 0;
label = 6;
break;
case 5:
var $11 = $cod_info + 4608 + ($sfb_0 << 2) | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) > 15;
var $14 = $sfb_0 + 1 | 0;
if ($13) {
var $_0 = 1;
label = 32;
break;
} else {
var $sfb_0 = $14;
label = 3;
break;
}
case 6:
var $window_0110;
var $16 = HEAP32[$1 >> 2];
var $17 = $16 + $window_0110 | 0;
var $18 = HEAP32[$5 >> 2];
var $19 = ($17 | 0) < ($18 | 0);
if ($19) {
label = 7;
break;
} else {
var $s1_0_lcssa = 0;
var $sfb_1_lcssa = $17;
label = 9;
break;
}
case 7:
var $20 = HEAP32[$5 >> 2];
var $s1_086 = 0;
var $sfb_187 = $17;
label = 8;
break;
case 8:
var $sfb_187;
var $s1_086;
var $22 = $cod_info + 4608 + ($sfb_187 << 2) | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = ($s1_086 | 0) < ($23 | 0);
var $_s1_0 = $24 ? $23 : $s1_086;
var $25 = $sfb_187 + 3 | 0;
var $26 = ($25 | 0) < ($20 | 0);
if ($26) {
var $s1_086 = $_s1_0;
var $sfb_187 = $25;
label = 8;
break;
} else {
var $s1_0_lcssa = $_s1_0;
var $sfb_1_lcssa = $25;
label = 9;
break;
}
case 9:
var $sfb_1_lcssa;
var $s1_0_lcssa;
var $27 = HEAP32[$6 >> 2];
var $28 = ($sfb_1_lcssa | 0) < ($27 | 0);
if ($28) {
label = 10;
break;
} else {
var $s2_0_lcssa = 1;
label = 13;
break;
}
case 10:
var $29 = HEAP32[$6 >> 2];
var $s2_089 = 0;
var $sfb_290 = $sfb_1_lcssa;
label = 11;
break;
case 11:
var $sfb_290;
var $s2_089;
var $31 = $cod_info + 4608 + ($sfb_290 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($s2_089 | 0) < ($32 | 0);
var $_s2_0 = $33 ? $32 : $s2_089;
var $34 = $sfb_290 + 3 | 0;
var $35 = ($34 | 0) < ($29 | 0);
if ($35) {
var $s2_089 = $_s2_0;
var $sfb_290 = $34;
label = 11;
break;
} else {
label = 12;
break;
}
case 12:
var $phitmp = ($_s2_0 | 0) < 8;
var $s2_0_lcssa = $phitmp;
label = 13;
break;
case 13:
var $s2_0_lcssa;
var $37 = ($s1_0_lcssa | 0) < 16;
var $or_cond = $37 & $s2_0_lcssa;
if ($or_cond) {
label = 31;
break;
} else {
label = 14;
break;
}
case 14:
var $39 = $cod_info + 4808 + ($window_0110 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = ($40 | 0) > 6;
if ($41) {
var $_0 = 1;
label = 32;
break;
} else {
label = 15;
break;
}
case 15:
var $43 = $40 + 1 | 0;
HEAP32[$39 >> 2] = $43;
var $44 = HEAP32[$1 >> 2];
var $45 = $gfc + 21360 + ($44 << 2) | 0;
var $46 = HEAP32[$45 >> 2];
var $47 = $44 + $window_0110 | 0;
var $48 = HEAP32[$6 >> 2];
var $49 = ($47 | 0) < ($48 | 0);
if ($49) {
label = 16;
break;
} else {
var $j_0_lcssa = $46;
var $sfb_3_lcssa = $47;
label = 26;
break;
}
case 16:
var $50 = $window_0110 + 1 | 0;
var $51 = 2 - $window_0110 | 0;
var $j_098 = $46;
var $sfb_399 = $47;
label = 17;
break;
case 17:
var $sfb_399;
var $j_098;
var $53 = $cod_info + 4872 + ($sfb_399 << 2) | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = $cod_info + 4608 + ($sfb_399 << 2) | 0;
var $56 = HEAP32[$55 >> 2];
var $57 = HEAP32[$8 >> 2];
var $58 = 4 >>> ($57 >>> 0);
var $59 = $56 - $58 | 0;
var $60 = ($59 | 0) > -1;
if ($60) {
label = 18;
break;
} else {
label = 19;
break;
}
case 18:
HEAP32[$55 >> 2] = $59;
var $62 = $54 * 3 & -1;
var $63 = $62 + $j_098 | 0;
var $j_1 = $63;
label = 25;
break;
case 19:
HEAP32[$55 >> 2] = 0;
var $65 = HEAP32[$8 >> 2];
var $66 = $65 + 1 | 0;
var $67 = $59 << $66;
var $68 = $67 + 210 | 0;
var $69 = 5326164 + ($68 << 2) | 0;
var $70 = HEAPF32[$69 >> 2];
var $71 = $54 * $50 & -1;
var $72 = $71 + $j_098 | 0;
var $73 = ($54 | 0) > 0;
if ($73) {
label = 20;
break;
} else {
label = 24;
break;
}
case 20:
var $74 = -$54 | 0;
var $l_094 = $74;
label = 21;
break;
case 21:
var $l_094;
var $76 = $l_094 + $72 | 0;
var $77 = $xrpow + ($76 << 2) | 0;
var $78 = HEAPF32[$77 >> 2];
var $79 = $70 * $78;
HEAPF32[$77 >> 2] = $79;
var $80 = HEAPF32[$9 >> 2];
var $81 = $79 > $80;
if ($81) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
HEAPF32[$9 >> 2] = $79;
label = 23;
break;
case 23:
var $84 = $l_094 + 1 | 0;
var $85 = ($84 | 0) < 0;
if ($85) {
var $l_094 = $84;
label = 21;
break;
} else {
label = 24;
break;
}
case 24:
var $86 = $54 * $51 & -1;
var $87 = $72 + $86 | 0;
var $j_1 = $87;
label = 25;
break;
case 25:
var $j_1;
var $89 = $sfb_399 + 3 | 0;
var $90 = HEAP32[$6 >> 2];
var $91 = ($89 | 0) < ($90 | 0);
if ($91) {
var $j_098 = $j_1;
var $sfb_399 = $89;
label = 17;
break;
} else {
var $j_0_lcssa = $j_1;
var $sfb_3_lcssa = $89;
label = 26;
break;
}
case 26:
var $sfb_3_lcssa;
var $j_0_lcssa;
var $92 = HEAPF32[5326972 >> 2];
var $93 = $cod_info + 4872 + ($sfb_3_lcssa << 2) | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = $window_0110 + 1 | 0;
var $96 = $94 * $95 & -1;
var $97 = $96 + $j_0_lcssa | 0;
var $98 = ($94 | 0) > 0;
if ($98) {
label = 27;
break;
} else {
label = 31;
break;
}
case 27:
var $99 = -$94 | 0;
var $l_1106 = $99;
label = 28;
break;
case 28:
var $l_1106;
var $101 = $97 + $l_1106 | 0;
var $102 = $xrpow + ($101 << 2) | 0;
var $103 = HEAPF32[$102 >> 2];
var $104 = $92 * $103;
HEAPF32[$102 >> 2] = $104;
var $105 = HEAPF32[$7 >> 2];
var $106 = $104 > $105;
if ($106) {
label = 29;
break;
} else {
label = 30;
break;
}
case 29:
HEAPF32[$7 >> 2] = $104;
label = 30;
break;
case 30:
var $109 = $l_1106 + 1 | 0;
var $110 = ($109 | 0) < 0;
if ($110) {
var $l_1106 = $109;
label = 28;
break;
} else {
label = 31;
break;
}
case 31:
var $111 = $window_0110 + 1 | 0;
var $112 = ($111 | 0) < 3;
if ($112) {
var $window_0110 = $111;
label = 6;
break;
} else {
var $_0 = 0;
label = 32;
break;
}
case 32:
var $_0;
return $_0;
}
}
_inc_subblock_gain["X"] = 1;
function _psfb21_analogsilence($gfc, $cod_info) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85792 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $cod_info + 4788 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 2;
if ($5) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $2 + 8 | 0;
var $7 = $2 + 20 | 0;
var $8 = $gfc + 84848 | 0;
var $gsfb_064 = 5;
label = 5;
break;
case 4:
var $9 = $gfc + 21500 | 0;
var $10 = $gfc + 21504 | 0;
var $11 = $gfc + 21536 | 0;
var $12 = $2 + 8 | 0;
var $13 = $2 + 20 | 0;
var $14 = $gfc + 84900 | 0;
var $block_053 = 0;
label = 11;
break;
case 5:
var $gsfb_064;
var $16 = $gfc + 21508 + ($gsfb_064 << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $gsfb_064 + 1 | 0;
var $19 = $gfc + 21508 + ($18 << 2) | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = HEAPF32[$6 >> 2];
var $22 = $2 + 164 + ($gsfb_064 << 2) | 0;
var $23 = HEAPF32[$22 >> 2];
var $24 = HEAPF32[$7 >> 2];
var $25 = _athAdjust($21, $23, $24, 0);
var $26 = HEAPF32[$8 >> 2];
var $27 = $26 > 9.999999960041972e-13;
if ($27) {
label = 6;
break;
} else {
var $ath21_0 = $25;
label = 7;
break;
}
case 6:
var $29 = $25 * $26;
var $ath21_0 = $29;
label = 7;
break;
case 7:
var $ath21_0;
var $j_054 = $20 - 1 | 0;
var $31 = ($j_054 | 0) < ($17 | 0);
if ($31) {
label = 10;
break;
} else {
var $j_055 = $j_054;
label = 8;
break;
}
case 8:
var $j_055;
var $32 = $cod_info + ($j_055 << 2) | 0;
var $33 = HEAPF32[$32 >> 2];
var $fabsf = Math.abs($33);
var $34 = $fabsf < $ath21_0;
if ($34) {
label = 9;
break;
} else {
label = 19;
break;
}
case 9:
HEAPF32[$32 >> 2] = 0;
var $j_0 = $j_055 - 1 | 0;
var $36 = ($j_0 | 0) < ($17 | 0);
if ($36) {
label = 10;
break;
} else {
var $j_055 = $j_0;
label = 8;
break;
}
case 10:
var $37 = $gsfb_064 - 1 | 0;
var $38 = ($gsfb_064 | 0) > 0;
if ($38) {
var $gsfb_064 = $37;
label = 5;
break;
} else {
label = 19;
break;
}
case 11:
var $block_053;
var $gsfb1_050 = 5;
label = 12;
break;
case 12:
var $gsfb1_050;
var $40 = HEAP32[$9 >> 2];
var $41 = $40 * 3 & -1;
var $42 = HEAP32[$10 >> 2];
var $43 = $42 - $40 | 0;
var $44 = $43 * $block_053 & -1;
var $45 = $44 + $41 | 0;
var $46 = $gfc + 21536 + ($gsfb1_050 << 2) | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = HEAP32[$11 >> 2];
var $49 = $47 - $48 | 0;
var $50 = $45 + $49 | 0;
var $51 = $gsfb1_050 + 1 | 0;
var $52 = $gfc + 21536 + ($51 << 2) | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = $53 - $47 | 0;
var $55 = $54 + $50 | 0;
var $56 = HEAPF32[$12 >> 2];
var $57 = $2 + 188 + ($gsfb1_050 << 2) | 0;
var $58 = HEAPF32[$57 >> 2];
var $59 = HEAPF32[$13 >> 2];
var $60 = _athAdjust($56, $58, $59, 0);
var $61 = HEAPF32[$14 >> 2];
var $62 = $61 > 9.999999960041972e-13;
if ($62) {
label = 13;
break;
} else {
var $ath12_0 = $60;
label = 14;
break;
}
case 13:
var $64 = $60 * $61;
var $ath12_0 = $64;
label = 14;
break;
case 14:
var $ath12_0;
var $j5_047 = $55 - 1 | 0;
var $66 = ($j5_047 | 0) < ($50 | 0);
if ($66) {
label = 17;
break;
} else {
var $j5_048 = $j5_047;
label = 15;
break;
}
case 15:
var $j5_048;
var $67 = $cod_info + ($j5_048 << 2) | 0;
var $68 = HEAPF32[$67 >> 2];
var $fabsf46 = Math.abs($68);
var $69 = $fabsf46 < $ath12_0;
if ($69) {
label = 16;
break;
} else {
label = 18;
break;
}
case 16:
HEAPF32[$67 >> 2] = 0;
var $j5_0 = $j5_048 - 1 | 0;
var $71 = ($j5_0 | 0) < ($50 | 0);
if ($71) {
label = 17;
break;
} else {
var $j5_048 = $j5_0;
label = 15;
break;
}
case 17:
var $72 = $gsfb1_050 - 1 | 0;
var $73 = ($gsfb1_050 | 0) > 0;
if ($73) {
var $gsfb1_050 = $72;
label = 12;
break;
} else {
label = 18;
break;
}
case 18:
var $74 = $block_053 + 1 | 0;
var $exitcond = ($74 | 0) == 3;
if ($exitcond) {
label = 19;
break;
} else {
var $block_053 = $74;
label = 11;
break;
}
case 19:
return;
}
}
_psfb21_analogsilence["X"] = 1;
function _get_framebits($gfc, $frameBits) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bitsPerFrame = __stackBase__;
var $1 = $gfc + 84740 | 0;
HEAP32[$1 >> 2] = 1;
var $2 = _getframebits($gfc);
HEAP32[$bitsPerFrame >> 2] = $2;
var $3 = $gfc + 116 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) < 1;
if ($5) {
label = 4;
break;
} else {
var $i_012 = 1;
label = 3;
break;
}
case 3:
var $i_012;
HEAP32[$1 >> 2] = $i_012;
var $6 = _ResvFrameBegin($gfc, $bitsPerFrame);
var $7 = $frameBits + ($i_012 << 2) | 0;
HEAP32[$7 >> 2] = $6;
var $8 = $i_012 + 1 | 0;
var $9 = HEAP32[$3 >> 2];
var $10 = ($8 | 0) > ($9 | 0);
if ($10) {
label = 4;
break;
} else {
var $i_012 = $8;
label = 3;
break;
}
case 4:
STACKTOP = __stackBase__;
return;
}
}
function _iteration_init($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 8 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 3;
break;
} else {
label = 14;
break;
}
case 3:
HEAP32[$1 >> 2] = 1;
var $5 = $gfc + 21312 | 0;
HEAP32[$5 >> 2] = 0;
_compute_ath($gfc);
HEAPF32[5257104 >> 2] = 0;
var $i_0113 = 1;
label = 4;
break;
case 4:
var $i_0113;
var $7 = $i_0113 | 0;
var $8 = $7;
var $9 = Math.pow($8, 1.3333333333333333);
var $10 = $9;
var $11 = 5257104 + ($i_0113 << 2) | 0;
HEAPF32[$11 >> 2] = $10;
var $12 = $i_0113 + 1 | 0;
var $exitcond124 = ($12 | 0) == 8208;
if ($exitcond124) {
label = 5;
break;
} else {
var $i_0113 = $12;
label = 4;
break;
}
case 5:
HEAPF32[5349760 >> 2] = 0;
var $i_1112 = 1;
label = 6;
break;
case 6:
var $i_1112;
var $15 = $i_1112 | 0;
var $16 = $15 - .5;
var $17 = $i_1112 - 1 | 0;
var $18 = 5257104 + ($17 << 2) | 0;
var $19 = HEAPF32[$18 >> 2];
var $20 = 5257104 + ($i_1112 << 2) | 0;
var $21 = HEAPF32[$20 >> 2];
var $22 = $19 + $21;
var $23 = $22;
var $24 = $23 * .5;
var $25 = Math.pow($24, .75);
var $26 = $16 - $25;
var $27 = $26;
var $28 = 5349760 + ($i_1112 << 2) | 0;
HEAPF32[$28 >> 2] = $27;
var $29 = $i_1112 + 1 | 0;
var $exitcond123 = ($29 | 0) == 8208;
if ($exitcond123) {
var $i_2111 = 0;
label = 7;
break;
} else {
var $i_1112 = $29;
label = 6;
break;
}
case 7:
var $i_2111;
var $30 = $i_2111 - 210 | 0;
var $31 = $30 | 0;
var $32 = $31 * -.1875;
var $exp2 = _exp2($32);
var $33 = $exp2;
var $34 = 5326164 + ($i_2111 << 2) | 0;
HEAPF32[$34 >> 2] = $33;
var $35 = $i_2111 + 1 | 0;
var $exitcond122 = ($35 | 0) == 257;
if ($exitcond122) {
var $i_3109 = 0;
label = 8;
break;
} else {
var $i_2111 = $35;
label = 7;
break;
}
case 8:
var $i_3109;
var $36 = $i_3109 - 326 | 0;
var $37 = $36 | 0;
var $38 = $37 * .25;
var $exp284 = _exp2($38);
var $39 = $exp284;
var $40 = 5289936 + ($i_3109 << 2) | 0;
HEAPF32[$40 >> 2] = $39;
var $41 = $i_3109 + 1 | 0;
var $exitcond121 = ($41 | 0) == 374;
if ($exitcond121) {
label = 9;
break;
} else {
var $i_3109 = $41;
label = 8;
break;
}
case 9:
_huffman_init($gfc);
_init_xrpow_core_init($gfc);
var $42 = $gfc + 232 | 0;
var $43 = HEAPF32[$42 >> 2];
var $44 = $43 - .5;
var $45 = $44 * .10000000149011612;
var $46 = Math.pow(10, $45);
var $47 = $gfc + 84764 | 0;
HEAPF32[$47 >> 2] = $46;
var $48 = $gfc + 84768 | 0;
HEAPF32[$48 >> 2] = $46;
var $49 = $gfc + 84772 | 0;
HEAPF32[$49 >> 2] = $46;
var $50 = $gfc + 84776 | 0;
HEAPF32[$50 >> 2] = $46;
var $51 = $gfc + 84780 | 0;
HEAPF32[$51 >> 2] = $46;
var $52 = $gfc + 84784 | 0;
HEAPF32[$52 >> 2] = $46;
var $53 = $gfc + 84788 | 0;
HEAPF32[$53 >> 2] = $46;
var $54 = $gfc + 228 | 0;
var $55 = HEAPF32[$54 >> 2];
var $56 = $55 - .25;
var $57 = $56 * .10000000149011612;
var $58 = Math.pow(10, $57);
var $59 = $gfc + 84792 | 0;
HEAPF32[$59 >> 2] = $58;
var $60 = $gfc + 84796 | 0;
HEAPF32[$60 >> 2] = $58;
var $61 = $gfc + 84800 | 0;
HEAPF32[$61 >> 2] = $58;
var $62 = $gfc + 84804 | 0;
HEAPF32[$62 >> 2] = $58;
var $63 = $gfc + 84808 | 0;
HEAPF32[$63 >> 2] = $58;
var $64 = $gfc + 84812 | 0;
HEAPF32[$64 >> 2] = $58;
var $65 = $gfc + 84816 | 0;
HEAPF32[$65 >> 2] = $58;
var $66 = $gfc + 236 | 0;
var $67 = HEAPF32[$66 >> 2];
var $68 = $67 - .02500000037252903;
var $69 = $68 * .10000000149011612;
var $70 = Math.pow(10, $69);
var $i_698 = 14;
label = 10;
break;
case 10:
var $i_698;
var $72 = $gfc + 84764 + ($i_698 << 2) | 0;
HEAPF32[$72 >> 2] = $70;
var $73 = $i_698 + 1 | 0;
var $exitcond118 = ($73 | 0) == 21;
if ($exitcond118) {
label = 11;
break;
} else {
var $i_698 = $73;
label = 10;
break;
}
case 11:
var $74 = $gfc + 240 | 0;
var $75 = HEAPF32[$74 >> 2];
var $76 = $75 + .5;
var $77 = $76 * .10000000149011612;
var $78 = Math.pow(10, $77);
var $79 = $gfc + 84848 | 0;
HEAPF32[$79 >> 2] = $78;
var $80 = HEAPF32[$42 >> 2];
var $81 = $80 - 2;
var $82 = $81 * .10000000149011612;
var $83 = Math.pow(10, $82);
var $84 = $gfc + 84852 | 0;
HEAPF32[$84 >> 2] = $83;
var $85 = $gfc + 84856 | 0;
HEAPF32[$85 >> 2] = $83;
var $86 = $gfc + 84860 | 0;
HEAPF32[$86 >> 2] = $83;
var $87 = HEAPF32[$54 >> 2];
var $88 = $87 - 1;
var $89 = $88 * .10000000149011612;
var $90 = Math.pow(10, $89);
var $91 = $gfc + 84864 | 0;
HEAPF32[$91 >> 2] = $90;
var $92 = $gfc + 84868 | 0;
HEAPF32[$92 >> 2] = $90;
var $93 = $gfc + 84872 | 0;
HEAPF32[$93 >> 2] = $90;
var $94 = $gfc + 84876 | 0;
HEAPF32[$94 >> 2] = $90;
var $95 = HEAPF32[$66 >> 2];
var $96 = $95 - .05000000074505806;
var $97 = $96 * .10000000149011612;
var $98 = Math.pow(10, $97);
var $i_1086 = 7;
label = 12;
break;
case 12:
var $i_1086;
var $100 = $gfc + 84852 + ($i_1086 << 2) | 0;
HEAPF32[$100 >> 2] = $98;
var $101 = $i_1086 + 1 | 0;
var $exitcond114 = ($101 | 0) == 12;
if ($exitcond114) {
label = 13;
break;
} else {
var $i_1086 = $101;
label = 12;
break;
}
case 13:
var $102 = HEAPF32[$74 >> 2];
var $103 = $102 + .5;
var $104 = $103 * .10000000149011612;
var $105 = Math.pow(10, $104);
var $106 = $gfc + 84900 | 0;
HEAPF32[$106 >> 2] = $105;
label = 14;
break;
case 14:
return;
}
}
_iteration_init["X"] = 1;
function _compute_ath($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 16 | 0;
var $2 = $gfc + 85792 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $gfc + 64 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $sfb_0145 = 0;
label = 4;
break;
case 3:
var $exitcond152 = ($10 | 0) == 22;
if ($exitcond152) {
var $sfb_1140 = 0;
label = 7;
break;
} else {
var $sfb_0145 = $10;
label = 4;
break;
}
case 4:
var $sfb_0145;
var $8 = $gfc + 21360 + ($sfb_0145 << 2) | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $sfb_0145 + 1 | 0;
var $11 = $gfc + 21360 + ($10 << 2) | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $3 + 24 + ($sfb_0145 << 2) | 0;
HEAPF32[$13 >> 2] = 9.999999933815813e+36;
var $14 = ($9 | 0) < ($12 | 0);
if ($14) {
var $i_0142 = $9;
label = 5;
break;
} else {
label = 3;
break;
}
case 5:
var $i_0142;
var $15 = $i_0142 | 0;
var $16 = $6 * $15;
var $17 = $16 / 1152;
var $18 = _ATHmdct($1, $17);
var $19 = HEAPF32[$13 >> 2];
var $20 = $19 < $18;
var $_ = $20 ? $19 : $18;
HEAPF32[$13 >> 2] = $_;
var $21 = $i_0142 + 1 | 0;
var $exitcond151 = ($21 | 0) == ($12 | 0);
if ($exitcond151) {
label = 3;
break;
} else {
var $i_0142 = $21;
label = 5;
break;
}
case 6:
var $exitcond150 = ($24 | 0) == 6;
if ($exitcond150) {
var $sfb_2134 = 0;
label = 10;
break;
} else {
var $sfb_1140 = $24;
label = 7;
break;
}
case 7:
var $sfb_1140;
var $22 = $gfc + 21508 + ($sfb_1140 << 2) | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = $sfb_1140 + 1 | 0;
var $25 = $gfc + 21508 + ($24 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $3 + 164 + ($sfb_1140 << 2) | 0;
HEAPF32[$27 >> 2] = 9.999999933815813e+36;
var $28 = ($23 | 0) < ($26 | 0);
if ($28) {
var $i_1136 = $23;
label = 8;
break;
} else {
label = 6;
break;
}
case 8:
var $i_1136;
var $29 = $i_1136 | 0;
var $30 = $6 * $29;
var $31 = $30 / 1152;
var $32 = _ATHmdct($1, $31);
var $33 = HEAPF32[$27 >> 2];
var $34 = $33 < $32;
var $_116 = $34 ? $33 : $32;
HEAPF32[$27 >> 2] = $_116;
var $35 = $i_1136 + 1 | 0;
var $exitcond149 = ($35 | 0) == ($26 | 0);
if ($exitcond149) {
label = 6;
break;
} else {
var $i_1136 = $35;
label = 8;
break;
}
case 9:
var $36 = $gfc + 21504 | 0;
var $37 = $gfc + 21500 | 0;
var $sfb_3128 = 0;
label = 13;
break;
case 10:
var $sfb_2134;
var $38 = $gfc + 21452 + ($sfb_2134 << 2) | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = $sfb_2134 + 1 | 0;
var $41 = $gfc + 21452 + ($40 << 2) | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = $3 + 112 + ($sfb_2134 << 2) | 0;
HEAPF32[$43 >> 2] = 9.999999933815813e+36;
var $44 = ($39 | 0) < ($42 | 0);
if ($44) {
var $i_2129 = $39;
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $i_2129;
var $45 = $i_2129 | 0;
var $46 = $6 * $45;
var $47 = $46 / 384;
var $48 = _ATHmdct($1, $47);
var $49 = HEAPF32[$43 >> 2];
var $50 = $49 < $48;
var $_117 = $50 ? $49 : $48;
HEAPF32[$43 >> 2] = $_117;
var $51 = $i_2129 + 1 | 0;
var $exitcond147 = ($51 | 0) == ($42 | 0);
if ($exitcond147) {
label = 12;
break;
} else {
var $i_2129 = $51;
label = 11;
break;
}
case 12:
var $52 = HEAP32[$41 >> 2];
var $53 = HEAP32[$38 >> 2];
var $54 = $52 - $53 | 0;
var $55 = $54 | 0;
var $56 = HEAPF32[$43 >> 2];
var $57 = $56 * $55;
HEAPF32[$43 >> 2] = $57;
var $exitcond148 = ($40 | 0) == 13;
if ($exitcond148) {
label = 9;
break;
} else {
var $sfb_2134 = $40;
label = 10;
break;
}
case 13:
var $sfb_3128;
var $59 = $gfc + 21536 + ($sfb_3128 << 2) | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = $sfb_3128 + 1 | 0;
var $62 = $gfc + 21536 + ($61 << 2) | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = $3 + 188 + ($sfb_3128 << 2) | 0;
HEAPF32[$64 >> 2] = 9.999999933815813e+36;
var $65 = ($60 | 0) < ($63 | 0);
if ($65) {
var $i_3126 = $60;
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $i_3126;
var $66 = $i_3126 | 0;
var $67 = $6 * $66;
var $68 = $67 / 384;
var $69 = _ATHmdct($1, $68);
var $70 = HEAPF32[$64 >> 2];
var $71 = $70 < $69;
var $_118 = $71 ? $70 : $69;
HEAPF32[$64 >> 2] = $_118;
var $72 = $i_3126 + 1 | 0;
var $exitcond = ($72 | 0) == ($63 | 0);
if ($exitcond) {
label = 15;
break;
} else {
var $i_3126 = $72;
label = 14;
break;
}
case 15:
var $73 = HEAP32[$36 >> 2];
var $74 = HEAP32[$37 >> 2];
var $75 = $73 - $74 | 0;
var $76 = $75 | 0;
var $77 = HEAPF32[$64 >> 2];
var $78 = $77 * $76;
HEAPF32[$64 >> 2] = $78;
var $exitcond146 = ($61 | 0) == 6;
if ($exitcond146) {
label = 16;
break;
} else {
var $sfb_3128 = $61;
label = 13;
break;
}
case 16:
var $80 = $gfc + 220 | 0;
var $81 = HEAP32[$80 >> 2];
var $82 = ($81 | 0) == 0;
if ($82) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $83 = $3 + 24 | 0;
HEAPF32[$83 >> 2] = 9.999999682655225e-21;
var $84 = $3 + 28 | 0;
HEAPF32[$84 >> 2] = 9.999999682655225e-21;
var $85 = $3 + 32 | 0;
HEAPF32[$85 >> 2] = 9.999999682655225e-21;
var $86 = $3 + 36 | 0;
HEAPF32[$86 >> 2] = 9.999999682655225e-21;
var $87 = $3 + 40 | 0;
HEAPF32[$87 >> 2] = 9.999999682655225e-21;
var $88 = $3 + 44 | 0;
HEAPF32[$88 >> 2] = 9.999999682655225e-21;
var $89 = $3 + 48 | 0;
HEAPF32[$89 >> 2] = 9.999999682655225e-21;
var $90 = $3 + 52 | 0;
HEAPF32[$90 >> 2] = 9.999999682655225e-21;
var $91 = $3 + 56 | 0;
HEAPF32[$91 >> 2] = 9.999999682655225e-21;
var $92 = $3 + 60 | 0;
HEAPF32[$92 >> 2] = 9.999999682655225e-21;
var $93 = $3 + 64 | 0;
HEAPF32[$93 >> 2] = 9.999999682655225e-21;
var $94 = $3 + 68 | 0;
HEAPF32[$94 >> 2] = 9.999999682655225e-21;
var $95 = $3 + 72 | 0;
HEAPF32[$95 >> 2] = 9.999999682655225e-21;
var $96 = $3 + 76 | 0;
HEAPF32[$96 >> 2] = 9.999999682655225e-21;
var $97 = $3 + 80 | 0;
HEAPF32[$97 >> 2] = 9.999999682655225e-21;
var $98 = $3 + 84 | 0;
HEAPF32[$98 >> 2] = 9.999999682655225e-21;
var $99 = $3 + 88 | 0;
HEAPF32[$99 >> 2] = 9.999999682655225e-21;
var $100 = $3 + 92 | 0;
HEAPF32[$100 >> 2] = 9.999999682655225e-21;
var $101 = $3 + 96 | 0;
HEAPF32[$101 >> 2] = 9.999999682655225e-21;
var $102 = $3 + 100 | 0;
HEAPF32[$102 >> 2] = 9.999999682655225e-21;
var $103 = $3 + 104 | 0;
HEAPF32[$103 >> 2] = 9.999999682655225e-21;
var $104 = $3 + 108 | 0;
HEAPF32[$104 >> 2] = 9.999999682655225e-21;
var $105 = $3 + 164 | 0;
HEAPF32[$105 >> 2] = 9.999999682655225e-21;
var $106 = $3 + 168 | 0;
HEAPF32[$106 >> 2] = 9.999999682655225e-21;
var $107 = $3 + 172 | 0;
HEAPF32[$107 >> 2] = 9.999999682655225e-21;
var $108 = $3 + 176 | 0;
HEAPF32[$108 >> 2] = 9.999999682655225e-21;
var $109 = $3 + 180 | 0;
HEAPF32[$109 >> 2] = 9.999999682655225e-21;
var $110 = $3 + 184 | 0;
HEAPF32[$110 >> 2] = 9.999999682655225e-21;
var $111 = $3 + 112 | 0;
HEAPF32[$111 >> 2] = 9.999999682655225e-21;
var $112 = $3 + 116 | 0;
HEAPF32[$112 >> 2] = 9.999999682655225e-21;
var $113 = $3 + 120 | 0;
HEAPF32[$113 >> 2] = 9.999999682655225e-21;
var $114 = $3 + 124 | 0;
HEAPF32[$114 >> 2] = 9.999999682655225e-21;
var $115 = $3 + 128 | 0;
HEAPF32[$115 >> 2] = 9.999999682655225e-21;
var $116 = $3 + 132 | 0;
HEAPF32[$116 >> 2] = 9.999999682655225e-21;
var $117 = $3 + 136 | 0;
HEAPF32[$117 >> 2] = 9.999999682655225e-21;
var $118 = $3 + 140 | 0;
HEAPF32[$118 >> 2] = 9.999999682655225e-21;
var $119 = $3 + 144 | 0;
HEAPF32[$119 >> 2] = 9.999999682655225e-21;
var $120 = $3 + 148 | 0;
HEAPF32[$120 >> 2] = 9.999999682655225e-21;
var $121 = $3 + 152 | 0;
HEAPF32[$121 >> 2] = 9.999999682655225e-21;
var $122 = $3 + 156 | 0;
HEAPF32[$122 >> 2] = 9.999999682655225e-21;
var $123 = $3 + 160 | 0;
HEAPF32[$123 >> 2] = 9.999999682655225e-21;
var $124 = $3 + 188 | 0;
HEAPF32[$124 >> 2] = 9.999999682655225e-21;
var $125 = $3 + 192 | 0;
HEAPF32[$125 >> 2] = 9.999999682655225e-21;
var $126 = $3 + 196 | 0;
HEAPF32[$126 >> 2] = 9.999999682655225e-21;
var $127 = $3 + 200 | 0;
HEAPF32[$127 >> 2] = 9.999999682655225e-21;
var $128 = $3 + 204 | 0;
HEAPF32[$128 >> 2] = 9.999999682655225e-21;
var $129 = $3 + 208 | 0;
HEAPF32[$129 >> 2] = 9.999999682655225e-21;
label = 18;
break;
case 18:
var $131 = _ATHmdct($1, -1);
var $132 = $131;
var $133 = _log10($132);
var $134 = $133 * 10;
var $135 = $134;
var $136 = HEAP32[$2 >> 2];
var $137 = $136 + 20 | 0;
HEAPF32[$137 >> 2] = $135;
return;
}
}
_compute_ath["X"] = 1;
function _reduce_side($targ_bits, $ms_ener_ratio, $mean_bits, $max_bits) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $ms_ener_ratio;
var $2 = .5 - $1;
var $3 = $2 * .33;
var $4 = $3 * 2;
var $5 = $4;
var $6 = $5 < 0;
var $fac_0 = $6 ? 0 : $5;
var $7 = $fac_0 > .5;
var $8 = $fac_0;
var $_op = $8 * .5;
var $9 = $7 ? .25 : $_op;
var $10 = HEAP32[$targ_bits >> 2];
var $11 = $targ_bits + 4 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 + $10 | 0;
var $14 = $13 | 0;
var $15 = $9 * $14;
var $16 = $15 & -1;
var $17 = 4095 - $10 | 0;
var $18 = ($16 | 0) > ($17 | 0);
var $_ = $18 ? $17 : $16;
var $19 = ($_ | 0) < 0;
var $move_bits_1 = $19 ? 0 : $_;
var $20 = ($12 | 0) > 124;
if ($20) {
label = 3;
break;
} else {
label = 8;
break;
}
case 3:
var $22 = $12 - $move_bits_1 | 0;
var $23 = ($22 | 0) > 125;
if ($23) {
label = 4;
break;
} else {
label = 7;
break;
}
case 4:
var $25 = ($10 | 0) < ($mean_bits | 0);
if ($25) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $27 = $move_bits_1 + $10 | 0;
HEAP32[$targ_bits >> 2] = $27;
label = 6;
break;
case 6:
var $29 = HEAP32[$11 >> 2];
var $30 = $29 - $move_bits_1 | 0;
HEAP32[$11 >> 2] = $30;
label = 8;
break;
case 7:
var $32 = $10 - 125 | 0;
var $33 = $32 + $12 | 0;
HEAP32[$targ_bits >> 2] = $33;
HEAP32[$11 >> 2] = 125;
label = 8;
break;
case 8:
var $35 = HEAP32[$targ_bits >> 2];
var $36 = HEAP32[$11 >> 2];
var $37 = $36 + $35 | 0;
var $38 = ($37 | 0) > ($max_bits | 0);
if ($38) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $40 = $35 * $max_bits & -1;
var $41 = ($40 | 0) / ($37 | 0) & -1;
HEAP32[$targ_bits >> 2] = $41;
var $42 = HEAP32[$11 >> 2];
var $43 = $42 * $max_bits & -1;
var $44 = ($43 | 0) / ($37 | 0) & -1;
HEAP32[$11 >> 2] = $44;
label = 10;
break;
case 10:
return;
}
}
_reduce_side["X"] = 1;
function _on_pe($gfc, $pe, $targ_bits, $mean_bits, $gr, $cbr) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $extra_bits = __stackBase__;
var $tbits = __stackBase__ + 4;
var $add_bits = __stackBase__ + 8;
HEAP32[$extra_bits >> 2] = 0;
var $1 = $add_bits;
var $$etemp$0$0 = 0;
var $$etemp$0$1 = 0;
var $st$7$0 = $1 | 0;
HEAP32[$st$7$0 >> 2] = $$etemp$0$0;
var $st$7$1 = $1 + 4 | 0;
HEAP32[$st$7$1 >> 2] = $$etemp$0$1;
_ResvMaxBits($gfc, $mean_bits, $tbits, $extra_bits, $cbr);
var $2 = HEAP32[$tbits >> 2];
var $3 = HEAP32[$extra_bits >> 2];
var $4 = $3 + $2 | 0;
var $5 = ($4 | 0) > 7680;
var $_ = $5 ? 7680 : $4;
var $6 = $gfc + 72 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) > 0;
if ($8) {
label = 3;
break;
} else {
label = 20;
break;
}
case 3:
var $9 = HEAP32[$tbits >> 2];
var $10 = $mean_bits * 3 & -1;
var $11 = ($10 | 0) / 4 & -1;
var $bits_081 = 0;
var $ch_082 = 0;
var $13 = $7;
label = 4;
break;
case 4:
var $13;
var $ch_082;
var $bits_081;
var $14 = ($9 | 0) / ($13 | 0) & -1;
var $15 = ($14 | 0) > 4095;
var $_67 = $15 ? 4095 : $14;
var $16 = $targ_bits + ($ch_082 << 2) | 0;
HEAP32[$16 >> 2] = $_67;
var $17 = $_67 | 0;
var $18 = $pe + ($gr << 3) + ($ch_082 << 2) | 0;
var $19 = HEAPF32[$18 >> 2];
var $20 = $19 * $17;
var $21 = $20;
var $22 = $21 / 700;
var $23 = $_67 | 0;
var $24 = $22 - $23;
var $25 = $24 & -1;
var $26 = $add_bits + ($ch_082 << 2) | 0;
var $27 = ($25 | 0) > ($11 | 0);
var $storemerge = $27 ? $11 : $25;
var $28 = ($storemerge | 0) < 0;
var $_storemerge = $28 ? 0 : $storemerge;
HEAP32[$26 >> 2] = $_storemerge;
var $29 = HEAP32[$16 >> 2];
var $30 = $_storemerge + $29 | 0;
var $31 = ($30 | 0) > 4095;
if ($31) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $33 = 4095 - $29 | 0;
var $34 = ($33 | 0) < 0;
var $_68 = $34 ? 0 : $33;
HEAP32[$26 >> 2] = $_68;
label = 6;
break;
case 6:
var $36 = HEAP32[$26 >> 2];
var $37 = $36 + $bits_081 | 0;
var $38 = $ch_082 + 1 | 0;
var $39 = HEAP32[$6 >> 2];
var $40 = ($38 | 0) < ($39 | 0);
if ($40) {
var $bits_081 = $37;
var $ch_082 = $38;
var $13 = $39;
label = 4;
break;
} else {
label = 7;
break;
}
case 7:
var $41 = HEAP32[$extra_bits >> 2];
var $42 = ($37 | 0) > ($41 | 0);
var $43 = ($37 | 0) > 0;
var $or_cond = $42 & $43;
if ($or_cond) {
label = 8;
break;
} else {
label = 10;
break;
}
case 8:
var $44 = HEAP32[$6 >> 2];
var $45 = ($44 | 0) > 0;
if ($45) {
label = 9;
break;
} else {
label = 20;
break;
}
case 9:
var $46 = HEAP32[$extra_bits >> 2];
var $47 = HEAP32[$6 >> 2];
var $ch_178 = 0;
label = 12;
break;
case 10:
var $_pr_pr = HEAP32[$6 >> 2];
var $48 = ($_pr_pr | 0) > 0;
if ($48) {
label = 11;
break;
} else {
label = 20;
break;
}
case 11:
var $extra_bits_promoted = HEAP32[$extra_bits >> 2];
var $ch_275 = 0;
var $59 = $extra_bits_promoted;
label = 15;
break;
case 12:
var $ch_178;
var $50 = $add_bits + ($ch_178 << 2) | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = $51 * $46 & -1;
var $53 = ($52 | 0) / ($37 | 0) & -1;
HEAP32[$50 >> 2] = $53;
var $54 = $ch_178 + 1 | 0;
var $55 = ($54 | 0) < ($47 | 0);
if ($55) {
var $ch_178 = $54;
label = 12;
break;
} else {
label = 10;
break;
}
case 13:
HEAP32[$extra_bits >> 2] = $66;
var $_pr91_pr = HEAP32[$6 >> 2];
var $56 = ($_pr91_pr | 0) > 0;
if ($56) {
label = 14;
break;
} else {
label = 20;
break;
}
case 14:
var $57 = HEAP32[$6 >> 2];
var $bits_171 = 0;
var $ch_372 = 0;
label = 16;
break;
case 15:
var $59;
var $ch_275;
var $60 = $add_bits + ($ch_275 << 2) | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = $targ_bits + ($ch_275 << 2) | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = $63 + $61 | 0;
HEAP32[$62 >> 2] = $64;
var $65 = HEAP32[$60 >> 2];
var $66 = $59 - $65 | 0;
var $67 = $ch_275 + 1 | 0;
var $68 = HEAP32[$6 >> 2];
var $69 = ($67 | 0) < ($68 | 0);
if ($69) {
var $ch_275 = $67;
var $59 = $66;
label = 15;
break;
} else {
label = 13;
break;
}
case 16:
var $ch_372;
var $bits_171;
var $71 = $targ_bits + ($ch_372 << 2) | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = $72 + $bits_171 | 0;
var $74 = $ch_372 + 1 | 0;
var $75 = ($74 | 0) < ($57 | 0);
if ($75) {
var $bits_171 = $73;
var $ch_372 = $74;
label = 16;
break;
} else {
label = 17;
break;
}
case 17:
var $76 = ($73 | 0) > 7680;
if ($76) {
label = 18;
break;
} else {
label = 20;
break;
}
case 18:
var $77 = HEAP32[$6 >> 2];
var $78 = ($77 | 0) > 0;
if ($78) {
var $ch_469 = 0;
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
var $ch_469;
var $79 = $targ_bits + ($ch_469 << 2) | 0;
var $80 = HEAP32[$79 >> 2];
var $81 = $80 * 7680 & -1;
var $82 = ($81 | 0) / ($73 | 0) & -1;
HEAP32[$79 >> 2] = $82;
var $83 = $ch_469 + 1 | 0;
var $84 = HEAP32[$6 >> 2];
var $85 = ($83 | 0) < ($84 | 0);
if ($85) {
var $ch_469 = $83;
label = 19;
break;
} else {
label = 20;
break;
}
case 20:
STACKTOP = __stackBase__;
return $_;
}
}
_on_pe["X"] = 1;
function _athAdjust($a, $x, $athFloor, $ATHfixpoint) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $ATHfixpoint < 1;
var $2 = $1 ? 94.82444763183594 : $ATHfixpoint;
var $3 = _fast_log2($x);
var $4 = $3;
var $5 = $4 * 3.0102999566398116;
var $6 = $5;
var $7 = $a * $a;
var $8 = $6 - $athFloor;
var $9 = $7 > 9.999999682655225e-21;
if ($9) {
label = 3;
break;
} else {
var $w_0 = 0;
label = 4;
break;
}
case 3:
var $11 = _fast_log2($7);
var $12 = $11;
var $13 = $12 * .03333343265598758;
var $14 = $13 + 1;
var $15 = $14;
var $w_0 = $15;
label = 4;
break;
case 4:
var $w_0;
var $17 = $w_0 < 0;
var $w_1 = $17 ? 0 : $w_0;
var $18 = $8 * $w_1;
var $19 = $athFloor + 90.30873107910156;
var $20 = $19 - $2;
var $21 = $20 + $18;
var $22 = $21 * .10000000149011612;
var $23 = Math.pow(10, $22);
return $23;
}
}
function _calc_xmin($gfc, $ratio, $cod_info, $pxmin) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85792 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $cod_info + 4856 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) > 0;
if ($5) {
label = 3;
break;
} else {
var $ath_over_0_lcssa = 0;
var $j_0_lcssa = 0;
var $gsfb_0_lcssa = 0;
var $_0_lcssa = $pxmin;
label = 4;
break;
}
case 3:
var $6 = $2 + 8 | 0;
var $7 = $2 + 20 | 0;
var $8 = $gfc + 224 | 0;
var $ath_over_0162 = 0;
var $j_0163 = 0;
var $gsfb_0164 = 0;
var $_0165 = $pxmin;
label = 5;
break;
case 4:
var $_0_lcssa;
var $gsfb_0_lcssa;
var $j_0_lcssa;
var $ath_over_0_lcssa;
var $k_0 = 575;
label = 14;
break;
case 5:
var $_0165;
var $gsfb_0164;
var $j_0163;
var $ath_over_0162;
var $10 = HEAPF32[$6 >> 2];
var $11 = $2 + 24 + ($gsfb_0164 << 2) | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = HEAPF32[$7 >> 2];
var $14 = HEAPF32[$8 >> 2];
var $15 = _athAdjust($10, $12, $13, $14);
var $16 = $gfc + 84764 + ($gsfb_0164 << 2) | 0;
var $17 = HEAPF32[$16 >> 2];
var $18 = $15 * $17;
var $19 = $cod_info + 4872 + ($gsfb_0164 << 2) | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $20 | 0;
var $22 = $18 / $21;
var $23 = ($20 | 0) > 0;
if ($23) {
var $l_0152 = 0;
var $rh2_0153 = 2.220446049250313e-16;
var $en0_0154 = 0;
var $j_1155 = $j_0163;
label = 6;
break;
} else {
var $rh2_0_lcssa = 2.220446049250313e-16;
var $en0_0_lcssa = 0;
var $j_1_lcssa = $j_0163;
label = 8;
break;
}
case 6:
var $j_1155;
var $en0_0154;
var $rh2_0153;
var $l_0152;
var $24 = $j_1155 + 1 | 0;
var $25 = $cod_info + ($j_1155 << 2) | 0;
var $26 = HEAPF32[$25 >> 2];
var $27 = $26 * $26;
var $28 = $en0_0154 + $27;
var $29 = $27 < $22;
var $30 = $29 ? $27 : $22;
var $31 = $rh2_0153 + $30;
var $32 = $l_0152 + 1 | 0;
var $exitcond179 = ($32 | 0) == ($20 | 0);
if ($exitcond179) {
label = 7;
break;
} else {
var $l_0152 = $32;
var $rh2_0153 = $31;
var $en0_0154 = $28;
var $j_1155 = $24;
label = 6;
break;
}
case 7:
var $33 = $j_0163 + $20 | 0;
var $rh2_0_lcssa = $31;
var $en0_0_lcssa = $28;
var $j_1_lcssa = $33;
label = 8;
break;
case 8:
var $j_1_lcssa;
var $en0_0_lcssa;
var $rh2_0_lcssa;
var $35 = $en0_0_lcssa > $18;
var $36 = $35 & 1;
var $ath_over_1 = $36 + $ath_over_0162 | 0;
var $37 = $en0_0_lcssa < $18;
if ($37) {
var $rh3_0 = $en0_0_lcssa;
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $39 = $rh2_0_lcssa < $18;
var $_rh2_0 = $39 ? $18 : $rh2_0_lcssa;
var $rh3_0 = $_rh2_0;
label = 10;
break;
case 10:
var $rh3_0;
var $41 = $ratio + 244 + ($gsfb_0164 << 2) | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $42 > 9.999999960041972e-13;
if ($43) {
label = 11;
break;
} else {
var $xmin_0 = $rh3_0;
label = 13;
break;
}
case 11:
var $45 = $ratio + ($gsfb_0164 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $47 = $en0_0_lcssa * $46;
var $48 = $47 / $42;
var $49 = HEAPF32[$16 >> 2];
var $50 = $48 * $49;
var $51 = $rh3_0 < $50;
if ($51) {
label = 12;
break;
} else {
var $xmin_0 = $rh3_0;
label = 13;
break;
}
case 12:
var $xmin_0 = $50;
label = 13;
break;
case 13:
var $xmin_0;
var $54 = $xmin_0 > 2.220446049250313e-16;
var $55 = $54 ? $xmin_0 : 2.220446049250313e-16;
var $56 = $55 + 9.9999998245167e-15;
var $57 = $en0_0_lcssa > $56;
var $58 = $57 & 1;
var $59 = $gsfb_0164 + ($cod_info + 5212) | 0;
HEAP8[$59] = $58;
var $60 = $_0165 + 4 | 0;
HEAPF32[$_0165 >> 2] = $55;
var $61 = $gsfb_0164 + 1 | 0;
var $62 = HEAP32[$3 >> 2];
var $63 = ($61 | 0) < ($62 | 0);
if ($63) {
var $ath_over_0162 = $ath_over_1;
var $j_0163 = $j_1_lcssa;
var $gsfb_0164 = $61;
var $_0165 = $60;
label = 5;
break;
} else {
var $ath_over_0_lcssa = $ath_over_1;
var $j_0_lcssa = $j_1_lcssa;
var $gsfb_0_lcssa = $61;
var $_0_lcssa = $60;
label = 4;
break;
}
case 14:
var $k_0;
var $65 = ($k_0 | 0) > 0;
if ($65) {
label = 15;
break;
} else {
var $max_nonzero_0 = 0;
label = 16;
break;
}
case 15:
var $67 = $cod_info + ($k_0 << 2) | 0;
var $68 = HEAPF32[$67 >> 2];
var $fabsf = Math.abs($68);
var $69 = $fabsf > 9.999999960041972e-13;
var $70 = $k_0 - 1 | 0;
if ($69) {
var $max_nonzero_0 = $k_0;
label = 16;
break;
} else {
var $k_0 = $70;
label = 14;
break;
}
case 16:
var $max_nonzero_0;
var $72 = $cod_info + 4788 | 0;
var $73 = HEAP32[$72 >> 2];
var $74 = ($73 | 0) == 2;
if ($74) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $76 = $max_nonzero_0 | 1;
var $max_nonzero_1 = $76;
label = 19;
break;
case 18:
var $78 = ($max_nonzero_0 | 0) % 6;
var $79 = $max_nonzero_0 + 5 | 0;
var $80 = $79 - $78 | 0;
var $max_nonzero_1 = $80;
label = 19;
break;
case 19:
var $max_nonzero_1;
var $82 = $gfc + 85088 | 0;
var $83 = HEAP32[$82 >> 2];
var $84 = ($83 | 0) == 0;
if ($84) {
label = 20;
break;
} else {
var $max_nonzero_2 = $max_nonzero_1;
label = 25;
break;
}
case 20:
var $86 = $gfc + 64 | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = ($87 | 0) < 44e3;
if ($88) {
label = 21;
break;
} else {
var $max_nonzero_2 = $max_nonzero_1;
label = 25;
break;
}
case 21:
var $90 = ($87 | 0) < 8001;
var $91 = HEAP32[$72 >> 2];
var $92 = ($91 | 0) == 2;
if ($92) {
label = 23;
break;
} else {
label = 22;
break;
}
case 22:
var $94 = $90 ? 17 : 21;
var $95 = $gfc + 21360 + ($94 << 2) | 0;
var $96 = HEAP32[$95 >> 2];
var $limit_0_in = $96;
label = 24;
break;
case 23:
var $98 = $90 ? 9 : 12;
var $99 = $gfc + 21452 + ($98 << 2) | 0;
var $100 = HEAP32[$99 >> 2];
var $101 = $100 * 3 & -1;
var $limit_0_in = $101;
label = 24;
break;
case 24:
var $limit_0_in;
var $limit_0 = $limit_0_in - 1 | 0;
var $103 = ($max_nonzero_1 | 0) > ($limit_0 | 0);
var $limit_0_max_nonzero_1 = $103 ? $limit_0 : $max_nonzero_1;
var $max_nonzero_2 = $limit_0_max_nonzero_1;
label = 25;
break;
case 25:
var $max_nonzero_2;
var $105 = $cod_info + 5208 | 0;
HEAP32[$105 >> 2] = $max_nonzero_2;
var $106 = $cod_info + 4864 | 0;
var $107 = HEAP32[$106 >> 2];
var $108 = ($gsfb_0_lcssa | 0) < ($107 | 0);
if ($108) {
label = 26;
break;
} else {
var $ath_over_2_lcssa = $ath_over_0_lcssa;
label = 41;
break;
}
case 26:
var $109 = $cod_info + 4852 | 0;
var $110 = HEAP32[$109 >> 2];
var $111 = $2 + 8 | 0;
var $112 = $2 + 20 | 0;
var $113 = $gfc + 224 | 0;
var $114 = $gfc + 92 | 0;
var $115 = $gfc + 85796 | 0;
var $116 = $gfc + 85796 | 0;
var $scevgep174 = $_0_lcssa + 8 | 0;
var $ath_over_2143 = $ath_over_0_lcssa;
var $j_2144 = $j_0_lcssa;
var $gsfb_1145 = $gsfb_0_lcssa;
var $sfb_0146 = $110;
var $_1147 = $_0_lcssa;
var $indvars_iv = $scevgep174;
label = 27;
break;
case 27:
var $indvars_iv;
var $_1147;
var $sfb_0146;
var $gsfb_1145;
var $j_2144;
var $ath_over_2143;
var $118 = HEAPF32[$111 >> 2];
var $119 = $2 + 112 + ($sfb_0146 << 2) | 0;
var $120 = HEAPF32[$119 >> 2];
var $121 = HEAPF32[$112 >> 2];
var $122 = HEAPF32[$113 >> 2];
var $123 = _athAdjust($118, $120, $121, $122);
var $124 = $gfc + 84852 + ($sfb_0146 << 2) | 0;
var $125 = HEAPF32[$124 >> 2];
var $126 = $123 * $125;
var $127 = $cod_info + 4872 + ($gsfb_1145 << 2) | 0;
var $128 = HEAP32[$127 >> 2];
var $129 = $128 | 0;
var $130 = $126 / $129;
var $131 = ($128 | 0) > 0;
if ($131) {
var $l2_0133 = 0;
var $en03_0134 = 0;
var $j_4135 = $j_2144;
var $rh26_0136 = 2.220446049250313e-16;
label = 28;
break;
} else {
var $en03_0_lcssa = 0;
var $j_4_lcssa = $j_2144;
var $rh26_0_lcssa = 2.220446049250313e-16;
label = 30;
break;
}
case 28:
var $rh26_0136;
var $j_4135;
var $en03_0134;
var $l2_0133;
var $132 = $j_4135 + 1 | 0;
var $133 = $cod_info + ($j_4135 << 2) | 0;
var $134 = HEAPF32[$133 >> 2];
var $135 = $134 * $134;
var $136 = $en03_0134 + $135;
var $137 = $135 < $130;
var $138 = $137 ? $135 : $130;
var $139 = $rh26_0136 + $138;
var $140 = $l2_0133 + 1 | 0;
var $exitcond = ($140 | 0) == ($128 | 0);
if ($exitcond) {
label = 29;
break;
} else {
var $l2_0133 = $140;
var $en03_0134 = $136;
var $j_4135 = $132;
var $rh26_0136 = $139;
label = 28;
break;
}
case 29:
var $141 = $128 + $j_2144 | 0;
var $en03_0_lcssa = $136;
var $j_4_lcssa = $141;
var $rh26_0_lcssa = $139;
label = 30;
break;
case 30:
var $rh26_0_lcssa;
var $j_4_lcssa;
var $en03_0_lcssa;
var $143 = $en03_0_lcssa > $126;
var $144 = $143 & 1;
var $ath_over_4 = $144 + $ath_over_2143 | 0;
var $145 = $en03_0_lcssa < $126;
if ($145) {
var $rh37_0 = $en03_0_lcssa;
label = 32;
break;
} else {
label = 31;
break;
}
case 31:
var $147 = $rh26_0_lcssa < $126;
var $_rh26_0 = $147 ? $126 : $rh26_0_lcssa;
var $rh37_0 = $_rh26_0;
label = 32;
break;
case 32:
var $rh37_0;
var $149 = $ratio + 332 + $sfb_0146 * 12 | 0;
var $150 = HEAPF32[$149 >> 2];
var $151 = $150 > 9.999999960041972e-13;
if ($151) {
label = 33;
break;
} else {
var $xmin4_0 = $rh37_0;
label = 35;
break;
}
case 33:
var $153 = $ratio + 88 + $sfb_0146 * 12 | 0;
var $154 = HEAPF32[$153 >> 2];
var $155 = $en03_0_lcssa * $154;
var $156 = $155 / $150;
var $157 = HEAPF32[$124 >> 2];
var $158 = $156 * $157;
var $159 = $rh37_0 < $158;
if ($159) {
label = 34;
break;
} else {
var $xmin4_0 = $rh37_0;
label = 35;
break;
}
case 34:
var $xmin4_0 = $158;
label = 35;
break;
case 35:
var $xmin4_0;
var $162 = $xmin4_0 > 2.220446049250313e-16;
var $163 = $162 ? $xmin4_0 : 2.220446049250313e-16;
var $164 = $163 + 9.9999998245167e-15;
var $165 = $en03_0_lcssa > $164;
var $166 = $165 & 1;
var $167 = $gsfb_1145 + ($cod_info + 5212) | 0;
HEAP8[$167] = $166;
var $168 = $_1147 + 4 | 0;
HEAPF32[$_1147 >> 2] = $163;
if ($131) {
var $l2_0133_1 = 0;
var $en03_0134_1 = 0;
var $j_4135_1 = $j_4_lcssa;
var $rh26_0136_1 = 2.220446049250313e-16;
label = 42;
break;
} else {
var $en03_0_lcssa_1 = 0;
var $j_4_lcssa_1 = $j_4_lcssa;
var $rh26_0_lcssa_1 = 2.220446049250313e-16;
label = 44;
break;
}
case 36:
var $170 = $indvars_iv - 8 | 0;
var $171 = HEAPF32[$170 >> 2];
var $172 = $indvars_iv - 4 | 0;
var $173 = HEAPF32[$172 >> 2];
var $174 = $171 > $173;
if ($174) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
var $176 = $171 - $173;
var $177 = HEAP32[$115 >> 2];
var $178 = $177 + 6496 | 0;
var $179 = HEAPF32[$178 >> 2];
var $180 = $176 * $179;
var $181 = $173 + $180;
HEAPF32[$172 >> 2] = $181;
label = 38;
break;
case 38:
var $183 = HEAPF32[$172 >> 2];
var $184 = HEAPF32[$indvars_iv >> 2];
var $185 = $183 > $184;
if ($185) {
label = 39;
break;
} else {
label = 40;
break;
}
case 39:
var $187 = $183 - $184;
var $188 = HEAP32[$116 >> 2];
var $189 = $188 + 6496 | 0;
var $190 = HEAPF32[$189 >> 2];
var $191 = $187 * $190;
var $192 = $184 + $191;
HEAPF32[$indvars_iv >> 2] = $192;
label = 40;
break;
case 40:
var $194 = $sfb_0146 + 1 | 0;
var $195 = $gsfb_1145 + 3 | 0;
var $196 = HEAP32[$106 >> 2];
var $197 = ($195 | 0) < ($196 | 0);
var $scevgep175 = $indvars_iv + 12 | 0;
if ($197) {
var $ath_over_2143 = $ath_over_4_2;
var $j_2144 = $j_4_lcssa_2;
var $gsfb_1145 = $195;
var $sfb_0146 = $194;
var $_1147 = $scevgep;
var $indvars_iv = $scevgep175;
label = 27;
break;
} else {
var $ath_over_2_lcssa = $ath_over_4_2;
label = 41;
break;
}
case 41:
var $ath_over_2_lcssa;
return $ath_over_2_lcssa;
case 42:
var $rh26_0136_1;
var $j_4135_1;
var $en03_0134_1;
var $l2_0133_1;
var $198 = $j_4135_1 + 1 | 0;
var $199 = $cod_info + ($j_4135_1 << 2) | 0;
var $200 = HEAPF32[$199 >> 2];
var $201 = $200 * $200;
var $202 = $en03_0134_1 + $201;
var $203 = $201 < $130;
var $204 = $203 ? $201 : $130;
var $205 = $rh26_0136_1 + $204;
var $206 = $l2_0133_1 + 1 | 0;
var $exitcond_1 = ($206 | 0) == ($128 | 0);
if ($exitcond_1) {
label = 43;
break;
} else {
var $l2_0133_1 = $206;
var $en03_0134_1 = $202;
var $j_4135_1 = $198;
var $rh26_0136_1 = $205;
label = 42;
break;
}
case 43:
var $207 = $128 + $j_4_lcssa | 0;
var $en03_0_lcssa_1 = $202;
var $j_4_lcssa_1 = $207;
var $rh26_0_lcssa_1 = $205;
label = 44;
break;
case 44:
var $rh26_0_lcssa_1;
var $j_4_lcssa_1;
var $en03_0_lcssa_1;
var $209 = $en03_0_lcssa_1 > $126;
var $210 = $209 & 1;
var $ath_over_4_1 = $210 + $ath_over_4 | 0;
var $211 = $en03_0_lcssa_1 < $126;
if ($211) {
var $rh37_0_1 = $en03_0_lcssa_1;
label = 46;
break;
} else {
label = 45;
break;
}
case 45:
var $213 = $rh26_0_lcssa_1 < $126;
var $_rh26_0_1 = $213 ? $126 : $rh26_0_lcssa_1;
var $rh37_0_1 = $_rh26_0_1;
label = 46;
break;
case 46:
var $rh37_0_1;
var $215 = $ratio + 332 + $sfb_0146 * 12 + 4 | 0;
var $216 = HEAPF32[$215 >> 2];
var $217 = $216 > 9.999999960041972e-13;
if ($217) {
label = 47;
break;
} else {
var $xmin4_0_1 = $rh37_0_1;
label = 49;
break;
}
case 47:
var $219 = $ratio + 88 + $sfb_0146 * 12 + 4 | 0;
var $220 = HEAPF32[$219 >> 2];
var $221 = $en03_0_lcssa_1 * $220;
var $222 = $221 / $216;
var $223 = HEAPF32[$124 >> 2];
var $224 = $222 * $223;
var $225 = $rh37_0_1 < $224;
if ($225) {
label = 48;
break;
} else {
var $xmin4_0_1 = $rh37_0_1;
label = 49;
break;
}
case 48:
var $xmin4_0_1 = $224;
label = 49;
break;
case 49:
var $xmin4_0_1;
var $228 = $xmin4_0_1 > 2.220446049250313e-16;
var $229 = $228 ? $xmin4_0_1 : 2.220446049250313e-16;
var $230 = $229 + 9.9999998245167e-15;
var $231 = $en03_0_lcssa_1 > $230;
var $232 = $231 & 1;
var $233 = $gsfb_1145 + 1 | 0;
var $234 = $233 + ($cod_info + 5212) | 0;
HEAP8[$234] = $232;
var $235 = $_1147 + 8 | 0;
HEAPF32[$168 >> 2] = $229;
if ($131) {
var $l2_0133_2 = 0;
var $en03_0134_2 = 0;
var $j_4135_2 = $j_4_lcssa_1;
var $rh26_0136_2 = 2.220446049250313e-16;
label = 50;
break;
} else {
var $en03_0_lcssa_2 = 0;
var $j_4_lcssa_2 = $j_4_lcssa_1;
var $rh26_0_lcssa_2 = 2.220446049250313e-16;
label = 52;
break;
}
case 50:
var $rh26_0136_2;
var $j_4135_2;
var $en03_0134_2;
var $l2_0133_2;
var $236 = $j_4135_2 + 1 | 0;
var $237 = $cod_info + ($j_4135_2 << 2) | 0;
var $238 = HEAPF32[$237 >> 2];
var $239 = $238 * $238;
var $240 = $en03_0134_2 + $239;
var $241 = $239 < $130;
var $242 = $241 ? $239 : $130;
var $243 = $rh26_0136_2 + $242;
var $244 = $l2_0133_2 + 1 | 0;
var $exitcond_2 = ($244 | 0) == ($128 | 0);
if ($exitcond_2) {
label = 51;
break;
} else {
var $l2_0133_2 = $244;
var $en03_0134_2 = $240;
var $j_4135_2 = $236;
var $rh26_0136_2 = $243;
label = 50;
break;
}
case 51:
var $245 = $128 + $j_4_lcssa_1 | 0;
var $en03_0_lcssa_2 = $240;
var $j_4_lcssa_2 = $245;
var $rh26_0_lcssa_2 = $243;
label = 52;
break;
case 52:
var $rh26_0_lcssa_2;
var $j_4_lcssa_2;
var $en03_0_lcssa_2;
var $247 = $en03_0_lcssa_2 > $126;
var $248 = $247 & 1;
var $ath_over_4_2 = $248 + $ath_over_4_1 | 0;
var $249 = $en03_0_lcssa_2 < $126;
if ($249) {
var $rh37_0_2 = $en03_0_lcssa_2;
label = 54;
break;
} else {
label = 53;
break;
}
case 53:
var $251 = $rh26_0_lcssa_2 < $126;
var $_rh26_0_2 = $251 ? $126 : $rh26_0_lcssa_2;
var $rh37_0_2 = $_rh26_0_2;
label = 54;
break;
case 54:
var $rh37_0_2;
var $253 = $ratio + 332 + $sfb_0146 * 12 + 8 | 0;
var $254 = HEAPF32[$253 >> 2];
var $255 = $254 > 9.999999960041972e-13;
if ($255) {
label = 55;
break;
} else {
var $xmin4_0_2 = $rh37_0_2;
label = 57;
break;
}
case 55:
var $257 = $ratio + 88 + $sfb_0146 * 12 + 8 | 0;
var $258 = HEAPF32[$257 >> 2];
var $259 = $en03_0_lcssa_2 * $258;
var $260 = $259 / $254;
var $261 = HEAPF32[$124 >> 2];
var $262 = $260 * $261;
var $263 = $rh37_0_2 < $262;
if ($263) {
label = 56;
break;
} else {
var $xmin4_0_2 = $rh37_0_2;
label = 57;
break;
}
case 56:
var $xmin4_0_2 = $262;
label = 57;
break;
case 57:
var $xmin4_0_2;
var $266 = $xmin4_0_2 > 2.220446049250313e-16;
var $267 = $266 ? $xmin4_0_2 : 2.220446049250313e-16;
var $268 = $267 + 9.9999998245167e-15;
var $269 = $en03_0_lcssa_2 > $268;
var $270 = $269 & 1;
var $271 = $gsfb_1145 + 2 | 0;
var $272 = $271 + ($cod_info + 5212) | 0;
HEAP8[$272] = $270;
HEAPF32[$235 >> 2] = $267;
var $scevgep = $_1147 + 12 | 0;
var $273 = HEAP32[$114 >> 2];
var $274 = ($273 | 0) == 0;
if ($274) {
label = 40;
break;
} else {
label = 36;
break;
}
}
}
_calc_xmin["X"] = 1;
function _calc_noise($cod_info, $l3_xmin, $distort, $res, $prev_noise) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $j = __stackBase__;
HEAP32[$j >> 2] = 0;
var $1 = $res + 16 | 0;
HEAP32[$1 >> 2] = 0;
var $2 = $cod_info + 4864 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) > 0;
if ($4) {
label = 3;
break;
} else {
var $over_noise_db_0_lcssa = 0;
var $tot_noise_db_0_lcssa = 0;
var $max_noise_0_lcssa = -20;
var $over_0_lcssa = 0;
label = 20;
break;
}
case 3:
var $5 = $cod_info + 4608 | 0;
var $6 = $cod_info + 4780 | 0;
var $7 = $cod_info + 4832 | 0;
var $8 = $cod_info + 4836 | 0;
var $9 = ($prev_noise | 0) != 0;
var $10 = $prev_noise | 0;
var $11 = $cod_info + 5208 | 0;
var $over_noise_db_071 = 0;
var $tot_noise_db_072 = 0;
var $max_noise_073 = -20;
var $scalefac_074 = $5;
var $over_075 = 0;
var $sfb_076 = 0;
var $_06779 = $distort;
var $_080 = $l3_xmin;
label = 4;
break;
case 4:
var $_080;
var $_06779;
var $sfb_076;
var $over_075;
var $scalefac_074;
var $max_noise_073;
var $tot_noise_db_072;
var $over_noise_db_071;
var $13 = HEAP32[$6 >> 2];
var $14 = $scalefac_074 + 4 | 0;
var $15 = HEAP32[$scalefac_074 >> 2];
var $16 = HEAP32[$7 >> 2];
var $17 = ($16 | 0) == 0;
if ($17) {
var $22 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $19 = 5257016 + ($sfb_076 << 2) | 0;
var $20 = HEAP32[$19 >> 2];
var $22 = $20;
label = 6;
break;
case 6:
var $22;
var $23 = $22 + $15 | 0;
var $24 = HEAP32[$8 >> 2];
var $25 = $24 + 1 | 0;
var $26 = $23 << $25;
var $27 = $13 - $26 | 0;
var $28 = $cod_info + 5028 + ($sfb_076 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $cod_info + 4808 + ($29 << 2) | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $31 << 3;
var $33 = $27 - $32 | 0;
var $34 = $_080 + 4 | 0;
var $35 = HEAPF32[$_080 >> 2];
var $36 = 1 / $35;
if ($9) {
label = 7;
break;
} else {
label = 9;
break;
}
case 7:
var $38 = $prev_noise + 8 + ($sfb_076 << 2) | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = ($39 | 0) == ($33 | 0);
if ($40) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $42 = $cod_info + 4872 + ($sfb_076 << 2) | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = HEAP32[$j >> 2];
var $45 = $44 + $43 | 0;
HEAP32[$j >> 2] = $45;
var $46 = $prev_noise + 164 + ($sfb_076 << 2) | 0;
var $47 = HEAPF32[$46 >> 2];
var $48 = $36 * $47;
var $49 = $prev_noise + 320 + ($sfb_076 << 2) | 0;
var $50 = HEAPF32[$49 >> 2];
var $noise_0_ph = $50;
var $distort__0_ph = $48;
label = 16;
break;
case 9:
var $52 = $33 + 116 | 0;
var $53 = 5289936 + ($52 << 2) | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = $cod_info + 4872 + ($sfb_076 << 2) | 0;
var $56 = HEAP32[$55 >> 2];
var $57 = $56 >> 1;
var $58 = HEAP32[$j >> 2];
var $59 = $58 + $56 | 0;
var $60 = HEAP32[$11 >> 2];
var $61 = ($59 | 0) > ($60 | 0);
if ($61) {
label = 10;
break;
} else {
var $l_0 = $57;
label = 11;
break;
}
case 10:
var $63 = $60 - $58 | 0;
var $64 = $63 + 1 | 0;
var $65 = ($64 | 0) > 0;
var $66 = $64 >> 1;
var $_68 = $65 ? $66 : 0;
var $l_0 = $_68;
label = 11;
break;
case 11:
var $l_0;
var $68 = _calc_noise_core_c($cod_info, $j, $l_0, $54);
if ($9) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $70 = $prev_noise + 8 + ($sfb_076 << 2) | 0;
HEAP32[$70 >> 2] = $33;
var $71 = $prev_noise + 164 + ($sfb_076 << 2) | 0;
HEAPF32[$71 >> 2] = $68;
label = 13;
break;
case 13:
var $73 = $36 * $68;
var $74 = $73 > 9.999999682655225e-21;
var $75 = $74 ? $73 : 9.999999682655225e-21;
var $76 = _fast_log2($75);
var $77 = $76;
var $78 = $77 * .30102999566398114;
var $79 = $78;
if ($9) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $81 = $prev_noise + 320 + ($sfb_076 << 2) | 0;
HEAPF32[$81 >> 2] = $79;
var $noise_0_ph = $79;
var $distort__0_ph = $73;
label = 16;
break;
case 15:
HEAPF32[$_06779 >> 2] = $73;
var $noise_069 = $79;
label = 17;
break;
case 16:
var $distort__0_ph;
var $noise_0_ph;
HEAPF32[$_06779 >> 2] = $distort__0_ph;
var $84 = HEAP32[$6 >> 2];
HEAP32[$10 >> 2] = $84;
var $noise_069 = $noise_0_ph;
label = 17;
break;
case 17:
var $noise_069;
var $86 = $_06779 + 4 | 0;
var $87 = $tot_noise_db_072 + $noise_069;
var $88 = $noise_069 > 0;
if ($88) {
label = 18;
break;
} else {
var $over_1 = $over_075;
var $over_noise_db_1 = $over_noise_db_071;
label = 19;
break;
}
case 18:
var $90 = $noise_069 * 10;
var $91 = $90;
var $92 = $91 + .5;
var $93 = $92 & -1;
var $94 = ($93 | 0) > 1;
var $_ = $94 ? $93 : 1;
var $95 = $_ * $_ & -1;
var $96 = HEAP32[$1 >> 2];
var $97 = $96 + $95 | 0;
HEAP32[$1 >> 2] = $97;
var $98 = $over_075 + 1 | 0;
var $99 = $over_noise_db_071 + $noise_069;
var $over_1 = $98;
var $over_noise_db_1 = $99;
label = 19;
break;
case 19:
var $over_noise_db_1;
var $over_1;
var $101 = $max_noise_073 > $noise_069;
var $102 = $101 ? $max_noise_073 : $noise_069;
var $103 = $sfb_076 + 1 | 0;
var $104 = HEAP32[$2 >> 2];
var $105 = ($103 | 0) < ($104 | 0);
if ($105) {
var $over_noise_db_071 = $over_noise_db_1;
var $tot_noise_db_072 = $87;
var $max_noise_073 = $102;
var $scalefac_074 = $14;
var $over_075 = $over_1;
var $sfb_076 = $103;
var $_06779 = $86;
var $_080 = $34;
label = 4;
break;
} else {
var $over_noise_db_0_lcssa = $over_noise_db_1;
var $tot_noise_db_0_lcssa = $87;
var $max_noise_0_lcssa = $102;
var $over_0_lcssa = $over_1;
label = 20;
break;
}
case 20:
var $over_0_lcssa;
var $max_noise_0_lcssa;
var $tot_noise_db_0_lcssa;
var $over_noise_db_0_lcssa;
var $106 = $res + 12 | 0;
HEAP32[$106 >> 2] = $over_0_lcssa;
var $107 = $res + 4 | 0;
HEAPF32[$107 >> 2] = $tot_noise_db_0_lcssa;
var $108 = $res | 0;
HEAPF32[$108 >> 2] = $over_noise_db_0_lcssa;
var $109 = $res + 8 | 0;
HEAPF32[$109 >> 2] = $max_noise_0_lcssa;
STACKTOP = __stackBase__;
return $over_0_lcssa;
}
}
_calc_noise["X"] = 1;
function _calc_noise_core_c($cod_info, $startline, $l, $step) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $ix01 = __stackBase__;
var $1 = HEAP32[$startline >> 2];
var $2 = $cod_info + 4776 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($1 | 0) > ($3 | 0);
if ($4) {
label = 3;
break;
} else {
label = 6;
break;
}
case 3:
var $5 = ($l | 0) == 0;
if ($5) {
var $noise_3 = 0;
var $j_3 = $1;
label = 16;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = $l << 1;
var $j_056 = $1;
var $noise_057 = 0;
var $_058 = $l;
label = 5;
break;
case 5:
var $_058;
var $noise_057;
var $j_056;
var $8 = $_058 - 1 | 0;
var $9 = $cod_info + ($j_056 << 2) | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $j_056 + 1 | 0;
var $12 = $10 * $10;
var $13 = $noise_057 + $12;
var $14 = $cod_info + ($11 << 2) | 0;
var $15 = HEAPF32[$14 >> 2];
var $16 = $j_056 + 2 | 0;
var $17 = $15 * $15;
var $18 = $13 + $17;
var $19 = ($8 | 0) == 0;
if ($19) {
label = 13;
break;
} else {
var $j_056 = $16;
var $noise_057 = $18;
var $_058 = $8;
label = 5;
break;
}
case 6:
var $21 = $cod_info + 4772 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($1 | 0) > ($22 | 0);
if ($23) {
label = 9;
break;
} else {
label = 7;
break;
}
case 7:
var $24 = ($l | 0) == 0;
if ($24) {
var $noise_3 = 0;
var $j_3 = $1;
label = 16;
break;
} else {
label = 8;
break;
}
case 8:
var $25 = $l << 1;
var $j_269 = $1;
var $noise_270 = 0;
var $_271 = $l;
label = 12;
break;
case 9:
var $27 = $ix01 | 0;
HEAPF32[$27 >> 2] = 0;
var $28 = $ix01 + 4 | 0;
HEAPF32[$28 >> 2] = $step;
var $29 = ($l | 0) == 0;
if ($29) {
var $noise_3 = 0;
var $j_3 = $1;
label = 16;
break;
} else {
label = 10;
break;
}
case 10:
var $30 = $l << 1;
var $j_161 = $1;
var $noise_162 = 0;
var $_163 = $l;
label = 11;
break;
case 11:
var $_163;
var $noise_162;
var $j_161;
var $32 = $_163 - 1 | 0;
var $33 = $cod_info + ($j_161 << 2) | 0;
var $34 = HEAPF32[$33 >> 2];
var $fabsf = Math.abs($34);
var $35 = $cod_info + 2304 + ($j_161 << 2) | 0;
var $36 = HEAP32[$35 >> 2];
var $37 = $ix01 + ($36 << 2) | 0;
var $38 = HEAPF32[$37 >> 2];
var $39 = $fabsf - $38;
var $40 = $j_161 + 1 | 0;
var $41 = $39 * $39;
var $42 = $noise_162 + $41;
var $43 = $cod_info + ($40 << 2) | 0;
var $44 = HEAPF32[$43 >> 2];
var $fabsf53 = Math.abs($44);
var $45 = $cod_info + 2304 + ($40 << 2) | 0;
var $46 = HEAP32[$45 >> 2];
var $47 = $ix01 + ($46 << 2) | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $fabsf53 - $48;
var $50 = $j_161 + 2 | 0;
var $51 = $49 * $49;
var $52 = $42 + $51;
var $53 = ($32 | 0) == 0;
if ($53) {
label = 14;
break;
} else {
var $j_161 = $50;
var $noise_162 = $52;
var $_163 = $32;
label = 11;
break;
}
case 12:
var $_271;
var $noise_270;
var $j_269;
var $55 = $_271 - 1 | 0;
var $56 = $cod_info + ($j_269 << 2) | 0;
var $57 = HEAPF32[$56 >> 2];
var $fabsf54 = Math.abs($57);
var $58 = $cod_info + 2304 + ($j_269 << 2) | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = 5257104 + ($59 << 2) | 0;
var $61 = HEAPF32[$60 >> 2];
var $62 = $61 * $step;
var $63 = $fabsf54 - $62;
var $64 = $j_269 + 1 | 0;
var $65 = $63 * $63;
var $66 = $noise_270 + $65;
var $67 = $cod_info + ($64 << 2) | 0;
var $68 = HEAPF32[$67 >> 2];
var $fabsf55 = Math.abs($68);
var $69 = $cod_info + 2304 + ($64 << 2) | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = 5257104 + ($70 << 2) | 0;
var $72 = HEAPF32[$71 >> 2];
var $73 = $72 * $step;
var $74 = $fabsf55 - $73;
var $75 = $j_269 + 2 | 0;
var $76 = $74 * $74;
var $77 = $66 + $76;
var $78 = ($55 | 0) == 0;
if ($78) {
label = 15;
break;
} else {
var $j_269 = $75;
var $noise_270 = $77;
var $_271 = $55;
label = 12;
break;
}
case 13:
var $79 = $1 + $6 | 0;
var $noise_3 = $18;
var $j_3 = $79;
label = 16;
break;
case 14:
var $80 = $1 + $30 | 0;
var $noise_3 = $52;
var $j_3 = $80;
label = 16;
break;
case 15:
var $81 = $1 + $25 | 0;
var $noise_3 = $77;
var $j_3 = $81;
label = 16;
break;
case 16:
var $j_3;
var $noise_3;
HEAP32[$startline >> 2] = $j_3;
STACKTOP = __stackBase__;
return $noise_3;
}
}
_calc_noise_core_c["X"] = 1;
function _lame_set_ogg($gfp, $ogg) {
return -1;
}
function _lame_get_ogg($gfp) {
return 0;
}
function _ResvMaxBits($gfc, $mean_bits, $targ_bits, $extra_bits, $cbr) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 52136 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 52140 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($cbr | 0) == 0;
var $6 = $5 ? 0 : $mean_bits;
var $ResvSize_0 = $2 + $6 | 0;
var $7 = $gfc + 85092 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $8 & 1;
var $10 = ($9 | 0) == 0;
if ($10) {
var $ResvMax_0 = $4;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $12 = $4 | 0;
var $13 = $12 * .9;
var $14 = $13 & -1;
var $ResvMax_0 = $14;
label = 4;
break;
case 4:
var $ResvMax_0;
var $16 = $ResvSize_0 * 10 & -1;
var $17 = $ResvMax_0 * 9 & -1;
var $18 = ($16 | 0) > ($17 | 0);
if ($18) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $20 = ($17 | 0) / 10 & -1;
var $21 = $ResvSize_0 - $20 | 0;
var $22 = $21 + $mean_bits | 0;
var $23 = HEAP32[$7 >> 2];
var $24 = $23 | 128;
HEAP32[$7 >> 2] = $24;
var $targBits_0 = $22;
var $add_bits_0 = $21;
label = 9;
break;
case 6:
var $26 = HEAP32[$7 >> 2];
var $27 = $26 & 127;
HEAP32[$7 >> 2] = $27;
var $28 = $gfc + 144 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = ($29 | 0) == 0;
if ($30) {
label = 7;
break;
} else {
var $targBits_0 = $mean_bits;
var $add_bits_0 = 0;
label = 9;
break;
}
case 7:
var $32 = $26 & 1;
var $33 = ($32 | 0) == 0;
if ($33) {
label = 8;
break;
} else {
var $targBits_0 = $mean_bits;
var $add_bits_0 = 0;
label = 9;
break;
}
case 8:
var $35 = $mean_bits | 0;
var $36 = $35 * .1;
var $37 = $35 - $36;
var $38 = $37 & -1;
var $targBits_0 = $38;
var $add_bits_0 = 0;
label = 9;
break;
case 9:
var $add_bits_0;
var $targBits_0;
var $40 = HEAP32[$3 >> 2];
var $41 = $40 * 6 & -1;
var $42 = ($41 | 0) / 10 & -1;
var $43 = ($ResvSize_0 | 0) < ($42 | 0);
var $ResvSize_0_ = $43 ? $ResvSize_0 : $42;
var $44 = $ResvSize_0_ - $add_bits_0 | 0;
var $45 = ($44 | 0) < 0;
var $extraBits_0 = $45 ? 0 : $44;
HEAP32[$targ_bits >> 2] = $targBits_0;
HEAP32[$extra_bits >> 2] = $extraBits_0;
return;
}
}
_ResvMaxBits["X"] = 1;
function _ResvAdjust($gfc, $gi) {
var $5 = $gfc + 52136 | 0;
HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - (HEAP32[$gi + 4844 >> 2] + HEAP32[$gi + 4768 >> 2]) | 0;
return;
}
function _ResvFrameEnd($gfc, $mean_bits) {
var $4 = $gfc + 52136 | 0;
HEAP32[$4 >> 2] = HEAP32[$4 >> 2] + (HEAP32[$gfc + 76 >> 2] * $mean_bits & -1) | 0;
var $7 = $gfc + 21324 | 0;
HEAP32[$7 >> 2] = 0;
var $9 = HEAP32[$4 >> 2];
var $10 = ($9 | 0) % 8;
var $14 = $9 - $10 - HEAP32[$gfc + 52140 >> 2] | 0;
var $stuffingBits_1 = (($14 | 0) > 0 ? $14 : 0) + $10 | 0;
var $17 = $gfc + 21312 | 0;
var $19 = HEAP32[$17 >> 2] << 3;
var $21 = ((($19 | 0) < ($stuffingBits_1 | 0) ? $19 : $stuffingBits_1) | 0) / 8 & -1;
var $22 = $21 << 3;
HEAP32[$gfc + 21320 >> 2] = $22;
var $23 = $stuffingBits_1 - $22 | 0;
HEAP32[$4 >> 2] = HEAP32[$4 >> 2] - $22 | 0;
HEAP32[$17 >> 2] = HEAP32[$17 >> 2] - $21 | 0;
HEAP32[$7 >> 2] = HEAP32[$7 >> 2] + $23 | 0;
HEAP32[$4 >> 2] = HEAP32[$4 >> 2] - $23 | 0;
return;
}
function _set_frame_pinfo($gfc, $ratio) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 156 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $scalefac_sav = __stackBase__;
var $1 = $gfc + 76 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) > 0;
if ($3) {
label = 3;
break;
} else {
label = 13;
break;
}
case 3:
var $4 = $gfc + 72 | 0;
var $5 = $scalefac_sav;
var $gr_031 = 0;
label = 4;
break;
case 4:
var $gr_031;
var $6 = HEAP32[$4 >> 2];
var $7 = ($6 | 0) > 0;
if ($7) {
label = 5;
break;
} else {
label = 12;
break;
}
case 5:
var $8 = ($gr_031 | 0) == 1;
var $ch_027 = 0;
label = 6;
break;
case 6:
var $ch_027;
var $10 = $gfc + 304 + $gr_031 * 10504 + $ch_027 * 5252 | 0;
var $11 = $gfc + 304 + $gr_031 * 10504 + $ch_027 * 5252 + 4608 | 0;
var $12 = $11;
for (var $$src = $12 >> 2, $$dest = $5 >> 2, $$stop = $$src + 39; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
if ($8) {
label = 7;
break;
} else {
label = 11;
break;
}
case 7:
var $13 = $gfc + 304 + $gr_031 * 10504 + $ch_027 * 5252 + 4848 | 0;
var $14 = HEAP32[$13 >> 2];
var $15 = ($14 | 0) > 0;
if ($15) {
var $sfb_025 = 0;
label = 8;
break;
} else {
label = 11;
break;
}
case 8:
var $sfb_025;
var $16 = $gfc + 304 + $gr_031 * 10504 + $ch_027 * 5252 + 4608 + ($sfb_025 << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) < 0;
if ($18) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $20 = $gfc + 304 + $ch_027 * 5252 + 4608 + ($sfb_025 << 2) | 0;
var $21 = HEAP32[$20 >> 2];
HEAP32[$16 >> 2] = $21;
label = 10;
break;
case 10:
var $23 = $sfb_025 + 1 | 0;
var $24 = HEAP32[$13 >> 2];
var $25 = ($23 | 0) < ($24 | 0);
if ($25) {
var $sfb_025 = $23;
label = 8;
break;
} else {
label = 11;
break;
}
case 11:
var $26 = $ratio + $gr_031 * 976 + $ch_027 * 488 | 0;
_set_pinfo($gfc, $10, $26, $gr_031, $ch_027);
for (var $$src = $5 >> 2, $$dest = $12 >> 2, $$stop = $$src + 39; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $27 = $ch_027 + 1 | 0;
var $28 = HEAP32[$4 >> 2];
var $29 = ($27 | 0) < ($28 | 0);
if ($29) {
var $ch_027 = $27;
label = 6;
break;
} else {
label = 12;
break;
}
case 12:
var $30 = $gr_031 + 1 | 0;
var $31 = HEAP32[$1 >> 2];
var $32 = ($30 | 0) < ($31 | 0);
if ($32) {
var $gr_031 = $30;
label = 4;
break;
} else {
label = 13;
break;
}
case 13:
STACKTOP = __stackBase__;
return;
}
}
function _set_pinfo($gfc, $cod_info, $ratio, $gr, $ch) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 336 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $l3_xmin = __stackBase__;
var $xfsf = __stackBase__ + 156;
var $noise = __stackBase__ + 312;
var $1 = $cod_info + 4836 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
var $4 = $3 ? .5 : 1;
var $5 = $l3_xmin | 0;
var $6 = _calc_xmin($gfc, $ratio, $cod_info, $5);
var $7 = $xfsf | 0;
var $8 = _calc_noise($cod_info, $5, $7, $noise, 0);
var $9 = $cod_info + 4848 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $cod_info + 4788 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 2;
if ($13) {
var $sfb2_0 = $10;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $15 = $cod_info + 4792 | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = ($16 | 0) == 0;
var $_ = $17 ? 22 : $10;
var $sfb2_0 = $_;
label = 4;
break;
case 4:
var $sfb2_0;
var $19 = ($sfb2_0 | 0) > 0;
if ($19) {
label = 5;
break;
} else {
var $j_0_lcssa = 0;
var $sfb_0_lcssa = 0;
label = 16;
break;
}
case 5:
var $20 = $gfc + 85800 | 0;
var $21 = $gfc + 212 | 0;
var $22 = $gfc + 85792 | 0;
var $23 = $cod_info + 4832 | 0;
var $24 = -$4;
var $j_0208 = 0;
var $sfb_0209 = 0;
label = 6;
break;
case 6:
var $sfb_0209;
var $j_0208;
var $26 = $gfc + 21360 + ($sfb_0209 << 2) | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $sfb_0209 + 1 | 0;
var $29 = $gfc + 21360 + ($28 << 2) | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $30 - $27 | 0;
var $32 = ($j_0208 | 0) < ($30 | 0);
if ($32) {
var $j_1201 = $j_0208;
var $en0_0202 = 0;
label = 7;
break;
} else {
var $j_1_lcssa = $j_0208;
var $en0_0_lcssa = 0;
label = 8;
break;
}
case 7:
var $en0_0202;
var $j_1201;
var $33 = $cod_info + ($j_1201 << 2) | 0;
var $34 = HEAPF32[$33 >> 2];
var $35 = $34 * $34;
var $36 = $en0_0202 + $35;
var $37 = $j_1201 + 1 | 0;
var $exitcond221 = ($37 | 0) == ($30 | 0);
if ($exitcond221) {
var $j_1_lcssa = $30;
var $en0_0_lcssa = $36;
label = 8;
break;
} else {
var $j_1201 = $37;
var $en0_0202 = $36;
label = 7;
break;
}
case 8:
var $en0_0_lcssa;
var $j_1_lcssa;
var $38 = $31 | 0;
var $39 = $en0_0_lcssa / $38;
var $40 = $39 * 999999986991104;
var $41 = $40;
var $42 = HEAP32[$20 >> 2];
var $43 = $42 + 190708 + $gr * 704 + $ch * 176 + ($sfb_0209 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $41, HEAP32[$43 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$43 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $44 = $l3_xmin + ($sfb_0209 << 2) | 0;
var $45 = HEAPF32[$44 >> 2];
var $46 = $45 * 999999986991104;
var $47 = $xfsf + ($sfb_0209 << 2) | 0;
var $48 = HEAPF32[$47 >> 2];
var $49 = $46 * $48;
var $50 = $49 / $38;
var $51 = $50;
var $52 = HEAP32[$20 >> 2];
var $53 = $52 + 201204 + $gr * 352 + $ch * 176 + ($sfb_0209 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $51, HEAP32[$53 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$53 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $54 = $ratio + 244 + ($sfb_0209 << 2) | 0;
var $55 = HEAPF32[$54 >> 2];
var $56 = $55 > 0;
if ($56) {
label = 9;
break;
} else {
var $en0_1 = 0;
label = 11;
break;
}
case 9:
var $58 = HEAP32[$21 >> 2];
var $59 = ($58 | 0) == 0;
if ($59) {
label = 10;
break;
} else {
var $en0_1 = 0;
label = 11;
break;
}
case 10:
var $61 = $39 / $55;
var $en0_1 = $61;
label = 11;
break;
case 11:
var $en0_1;
var $63 = $ratio + ($sfb_0209 << 2) | 0;
var $64 = HEAPF32[$63 >> 2];
var $65 = $en0_1 * $64;
var $66 = HEAP32[$22 >> 2];
var $67 = $66 + 24 + ($sfb_0209 << 2) | 0;
var $68 = HEAPF32[$67 >> 2];
var $69 = $65 > $68;
var $_186 = $69 ? $65 : $68;
var $70 = $_186 * 999999986991104;
var $71 = $70;
var $72 = HEAP32[$20 >> 2];
var $73 = $72 + 189300 + $gr * 704 + $ch * 176 + ($sfb_0209 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $71, HEAP32[$73 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$73 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $74 = HEAP32[$20 >> 2];
var $75 = $74 + 199156 + $gr * 352 + $ch * 176 + ($sfb_0209 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = 0, HEAP32[$75 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$75 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $76 = HEAP32[$23 >> 2];
var $77 = ($76 | 0) != 0;
var $78 = ($sfb_0209 | 0) > 10;
var $or_cond = $77 & $78;
if ($or_cond) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $80 = 5257016 + ($sfb_0209 << 2) | 0;
var $81 = HEAP32[$80 >> 2];
var $82 = $81 | 0;
var $83 = $82 * $24;
var $84 = $83;
var $85 = HEAP32[$20 >> 2];
var $86 = $85 + 199156 + $gr * 352 + $ch * 176 + ($sfb_0209 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $84, HEAP32[$86 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$86 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 13;
break;
case 13:
var $88 = ($sfb_0209 | 0) < 21;
if ($88) {
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $exitcond223 = ($28 | 0) == ($sfb2_0 | 0);
if ($exitcond223) {
var $j_0_lcssa = $j_1_lcssa;
var $sfb_0_lcssa = $sfb2_0;
label = 16;
break;
} else {
var $j_0208 = $j_1_lcssa;
var $sfb_0209 = $28;
label = 6;
break;
}
case 15:
var $90 = $cod_info + 4608 + ($sfb_0209 << 2) | 0;
var $91 = HEAP32[$90 >> 2];
var $92 = $91 | 0;
var $93 = $4 * $92;
var $94 = $93;
var $95 = HEAP32[$20 >> 2];
var $96 = $95 + 199156 + $gr * 352 + $ch * 176 + ($sfb_0209 << 3) | 0;
var $97 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$96 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$96 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $98 = $97 - $94;
HEAPF64[tempDoublePtr >> 3] = $98, HEAP32[$96 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$96 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 14;
break;
case 16:
var $sfb_0_lcssa;
var $j_0_lcssa;
var $99 = HEAP32[$11 >> 2];
var $100 = ($99 | 0) == 2;
if ($100) {
label = 17;
break;
} else {
label = 32;
break;
}
case 17:
var $102 = $cod_info + 4852 | 0;
var $103 = HEAP32[$102 >> 2];
var $104 = ($103 | 0) < 13;
if ($104) {
label = 18;
break;
} else {
label = 32;
break;
}
case 18:
var $105 = $gfc + 85800 | 0;
var $106 = $gfc + 212 | 0;
var $107 = $gfc + 216 | 0;
var $108 = $gfc + 85792 | 0;
var $j_2196 = $j_0_lcssa;
var $sfb2_1197 = $sfb_0_lcssa;
var $sfb_1198 = $103;
label = 20;
break;
case 19:
var $109 = $sfb2_1197 + 3 | 0;
var $exitcond218 = ($113 | 0) == 13;
if ($exitcond218) {
label = 32;
break;
} else {
var $j_2196 = $j_4_lcssa;
var $sfb2_1197 = $109;
var $sfb_1198 = $113;
label = 20;
break;
}
case 20:
var $sfb_1198;
var $sfb2_1197;
var $j_2196;
var $111 = $gfc + 21452 + ($sfb_1198 << 2) | 0;
var $112 = HEAP32[$111 >> 2];
var $113 = $sfb_1198 + 1 | 0;
var $114 = $gfc + 21452 + ($113 << 2) | 0;
var $115 = HEAP32[$114 >> 2];
var $116 = $115 - $112 | 0;
var $117 = ($112 | 0) < ($115 | 0);
var $118 = $116 | 0;
var $119 = $sfb_1198 * 3 & -1;
var $120 = ($sfb_1198 | 0) < 12;
var $121 = $115 - $112 | 0;
var $j_3192 = $j_2196;
var $i_0193 = 0;
var $sfb2_2194 = $sfb2_1197;
label = 21;
break;
case 21:
var $sfb2_2194;
var $i_0193;
var $j_3192;
if ($117) {
var $j_4188 = $j_3192;
var $l_0189 = $112;
var $en0_2190 = 0;
label = 22;
break;
} else {
var $j_4_lcssa = $j_3192;
var $en0_2_lcssa = 0;
label = 24;
break;
}
case 22:
var $en0_2190;
var $l_0189;
var $j_4188;
var $122 = $cod_info + ($j_4188 << 2) | 0;
var $123 = HEAPF32[$122 >> 2];
var $124 = $123 * $123;
var $125 = $en0_2190 + $124;
var $126 = $j_4188 + 1 | 0;
var $127 = $l_0189 + 1 | 0;
var $exitcond = ($127 | 0) == ($115 | 0);
if ($exitcond) {
label = 23;
break;
} else {
var $j_4188 = $126;
var $l_0189 = $127;
var $en0_2190 = $125;
label = 22;
break;
}
case 23:
var $128 = $121 + $j_3192 | 0;
var $j_4_lcssa = $128;
var $en0_2_lcssa = $125;
label = 24;
break;
case 24:
var $en0_2_lcssa;
var $j_4_lcssa;
var $130 = $en0_2_lcssa / $118;
var $131 = $130;
var $132 = $131 > 1e-20;
var $133 = $132 ? $130 : 9.999999682655225e-21;
var $134 = $133 * 999999986991104;
var $135 = $134;
var $136 = $i_0193 + $119 | 0;
var $137 = HEAP32[$105 >> 2];
var $138 = $137 + 194612 + $gr * 1248 + $ch * 312 + ($136 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $135, HEAP32[$138 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$138 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $139 = $l3_xmin + ($sfb2_2194 << 2) | 0;
var $140 = HEAPF32[$139 >> 2];
var $141 = $140 * 999999986991104;
var $142 = $xfsf + ($sfb2_2194 << 2) | 0;
var $143 = HEAPF32[$142 >> 2];
var $144 = $141 * $143;
var $145 = $144 / $118;
var $146 = $145;
var $147 = HEAP32[$105 >> 2];
var $148 = $147 + 201908 + $gr * 624 + $ch * 312 + ($136 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $146, HEAP32[$148 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$148 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $149 = $ratio + 332 + $sfb_1198 * 12 + ($i_0193 << 2) | 0;
var $150 = HEAPF32[$149 >> 2];
var $151 = $150 > 0;
if ($151) {
label = 25;
break;
} else {
var $en0_3 = 0;
label = 26;
break;
}
case 25:
var $153 = $133 / $150;
var $en0_3 = $153;
label = 26;
break;
case 26:
var $en0_3;
var $155 = HEAP32[$106 >> 2];
var $156 = ($155 | 0) == 0;
if ($156) {
label = 27;
break;
} else {
label = 28;
break;
}
case 27:
var $158 = HEAP32[$107 >> 2];
var $159 = ($158 | 0) == 0;
if ($159) {
var $en0_4 = $en0_3;
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $en0_4 = 0;
label = 29;
break;
case 29:
var $en0_4;
var $162 = $ratio + 88 + $sfb_1198 * 12 + ($i_0193 << 2) | 0;
var $163 = HEAPF32[$162 >> 2];
var $164 = $en0_4 * $163;
var $165 = HEAP32[$108 >> 2];
var $166 = $165 + 112 + ($sfb_1198 << 2) | 0;
var $167 = HEAPF32[$166 >> 2];
var $168 = $164 > $167;
var $_187 = $168 ? $164 : $167;
var $169 = $_187 * 999999986991104;
var $170 = $169;
var $171 = HEAP32[$105 >> 2];
var $172 = $171 + 192116 + $gr * 1248 + $ch * 312 + ($136 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $170, HEAP32[$172 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$172 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $173 = $cod_info + 4808 + ($i_0193 << 2) | 0;
var $174 = HEAP32[$173 >> 2];
var $175 = $174 | 0;
var $176 = $175 * -2;
var $177 = HEAP32[$105 >> 2];
var $178 = $177 + 199860 + $gr * 624 + $ch * 312 + ($136 << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $176, HEAP32[$178 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$178 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
if ($120) {
label = 30;
break;
} else {
label = 31;
break;
}
case 30:
var $180 = $cod_info + 4608 + ($sfb2_2194 << 2) | 0;
var $181 = HEAP32[$180 >> 2];
var $182 = $181 | 0;
var $183 = $4 * $182;
var $184 = $183;
var $185 = HEAP32[$105 >> 2];
var $186 = $185 + 199860 + $gr * 624 + $ch * 312 + ($136 << 3) | 0;
var $187 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$186 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$186 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $188 = $187 - $184;
HEAPF64[tempDoublePtr >> 3] = $188, HEAP32[$186 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$186 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 31;
break;
case 31:
var $190 = $sfb2_2194 + 1 | 0;
var $191 = $i_0193 + 1 | 0;
var $exitcond217 = ($191 | 0) == 3;
if ($exitcond217) {
label = 19;
break;
} else {
var $j_3192 = $j_4_lcssa;
var $i_0193 = $191;
var $sfb2_2194 = $190;
label = 21;
break;
}
case 32:
var $192 = $cod_info + 4780 | 0;
var $193 = HEAP32[$192 >> 2];
var $194 = $gfc + 85800 | 0;
var $195 = HEAP32[$194 >> 2];
var $196 = $195 + 201108 + ($gr << 3) + ($ch << 2) | 0;
HEAP32[$196 >> 2] = $193;
var $197 = $cod_info + 4768 | 0;
var $198 = HEAP32[$197 >> 2];
var $199 = $cod_info + 4844 | 0;
var $200 = HEAP32[$199 >> 2];
var $201 = $200 + $198 | 0;
var $202 = HEAP32[$194 >> 2];
var $203 = $202 + 203396 + ($gr << 3) + ($ch << 2) | 0;
HEAP32[$203 >> 2] = $201;
var $204 = HEAP32[$199 >> 2];
var $205 = HEAP32[$194 >> 2];
var $206 = $205 + 203412 + ($gr << 3) + ($ch << 2) | 0;
HEAP32[$206 >> 2] = $204;
var $207 = $noise + 12 | 0;
var $208 = HEAP32[$207 >> 2];
var $209 = HEAP32[$194 >> 2];
var $210 = $209 + 203156 + ($gr << 3) + ($ch << 2) | 0;
HEAP32[$210 >> 2] = $208;
var $211 = $noise + 8 | 0;
var $212 = HEAPF32[$211 >> 2];
var $213 = $212;
var $214 = $213 * 10;
var $215 = HEAP32[$194 >> 2];
var $216 = $215 + 203204 + ($gr << 4) + ($ch << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $214, HEAP32[$216 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$216 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $217 = $noise | 0;
var $218 = HEAPF32[$217 >> 2];
var $219 = $218;
var $220 = $219 * 10;
var $221 = HEAP32[$194 >> 2];
var $222 = $221 + 203236 + ($gr << 4) + ($ch << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $220, HEAP32[$222 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$222 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $223 = $noise + 4 | 0;
var $224 = HEAPF32[$223 >> 2];
var $225 = $224;
var $226 = $225 * 10;
var $227 = HEAP32[$194 >> 2];
var $228 = $227 + 203172 + ($gr << 4) + ($ch << 3) | 0;
HEAPF64[tempDoublePtr >> 3] = $226, HEAP32[$228 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$228 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $229 = $noise + 16 | 0;
var $230 = HEAP32[$229 >> 2];
var $231 = HEAP32[$194 >> 2];
var $232 = $231 + 203268 + ($gr << 3) + ($ch << 2) | 0;
HEAP32[$232 >> 2] = $230;
STACKTOP = __stackBase__;
return;
}
}
_set_pinfo["X"] = 1;
function _ATHmdct($cfg, $f) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _ATHformula($cfg, $f);
var $2 = $cfg + 208 | 0;
var $3 = HEAPF32[$2 >> 2];
var $4 = $3 > 0;
if ($4) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $6 = $1 - $3;
var $ath_0 = $6;
label = 5;
break;
case 4:
var $8 = $1 - 100;
var $ath_0 = $8;
label = 5;
break;
case 5:
var $ath_0;
var $10 = $cfg + 180 | 0;
var $11 = HEAPF32[$10 >> 2];
var $12 = $ath_0 + $11;
var $13 = $12 * .10000000149011612;
var $14 = Math.pow(10, $13);
return $14;
}
}
function _ResvFrameBegin($gfc, $mean_bits) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _getframebits($gfc);
var $2 = $gfc + 24 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 << 3;
var $5 = $1 - $4 | 0;
var $6 = $gfc + 76 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($5 | 0) / ($7 | 0) & -1;
var $9 = $7 << 11;
var $10 = $9 - 8 | 0;
var $11 = $gfc + 148 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 - $1 | 0;
var $14 = $gfc + 52140 | 0;
var $15 = ($13 | 0) > ($10 | 0);
var $_ = $15 ? $10 : $13;
HEAP32[$14 >> 2] = $_;
var $16 = ($_ | 0) < 0;
if ($16) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $18 = $gfc + 144 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = ($19 | 0) == 0;
if ($20) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
HEAP32[$14 >> 2] = 0;
label = 5;
break;
case 5:
var $23 = HEAP32[$6 >> 2];
var $24 = $23 * $8 & -1;
var $25 = $gfc + 52136 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = HEAP32[$14 >> 2];
var $28 = ($26 | 0) < ($27 | 0);
var $_28 = $28 ? $26 : $27;
var $29 = $_28 + $24 | 0;
var $30 = ($29 | 0) > ($12 | 0);
var $fullFrameBits_0 = $30 ? $12 : $29;
var $31 = $gfc + 21320 | 0;
HEAP32[$31 >> 2] = 0;
var $32 = $gfc + 85800 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = ($33 | 0) == 0;
if ($34) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $36 = ($8 | 0) / 2 & -1;
var $37 = $33 + 203480 | 0;
HEAP32[$37 >> 2] = $36;
var $38 = HEAP32[$25 >> 2];
var $39 = HEAP32[$32 >> 2];
var $40 = $39 + 203484 | 0;
HEAP32[$40 >> 2] = $38;
label = 7;
break;
case 7:
HEAP32[$mean_bits >> 2] = $8;
return $fullFrameBits_0;
}
}
_ResvFrameBegin["X"] = 1;
function _lame_set_num_samples($gfp, $num_samples) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 4 | 0;
HEAP32[$4 >> 2] = $num_samples;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_num_samples($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 4 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_in_samplerate($gfp, $in_samplerate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 12 | 0;
HEAP32[$4 >> 2] = $in_samplerate;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_in_samplerate($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 12 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_num_channels($gfp, $num_channels) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($num_channels | 0) > 2;
var $5 = ($num_channels | 0) == 0;
var $or_cond = $4 | $5;
if ($or_cond) {
var $_0 = -1;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $gfp + 8 | 0;
HEAP32[$7 >> 2] = $num_channels;
var $_0 = 0;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_num_channels($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 8 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_scale($gfp, $scale) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 20 | 0;
HEAPF32[$4 >> 2] = $scale;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_scale($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 20 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_scale_left($gfp, $scale) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 24 | 0;
HEAPF32[$4 >> 2] = $scale;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_scale_left($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 24 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_scale_right($gfp, $scale) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 28 | 0;
HEAPF32[$4 >> 2] = $scale;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_scale_right($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 28 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_out_samplerate($gfp, $out_samplerate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 16 | 0;
HEAP32[$4 >> 2] = $out_samplerate;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_out_samplerate($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 16 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_analysis($gfp, $analysis) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $analysis >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 32 | 0;
HEAP32[$5 >> 2] = $analysis;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_analysis($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 32 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_bWriteVbrTag($gfp, $bWriteVbrTag) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $bWriteVbrTag >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 36 | 0;
HEAP32[$5 >> 2] = $bWriteVbrTag;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_bWriteVbrTag($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 36 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_decode_only($gfp, $decode_only) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $decode_only >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 40 | 0;
HEAP32[$5 >> 2] = $decode_only;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_decode_only($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 40 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_quality($gfp, $quality) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($quality | 0) < 0;
if ($4) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $6 = $gfp + 44 | 0;
HEAP32[$6 >> 2] = 0;
var $_0 = 0;
label = 8;
break;
case 5:
var $8 = ($quality | 0) > 9;
var $9 = $gfp + 44 | 0;
if ($8) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
HEAP32[$9 >> 2] = 9;
var $_0 = 0;
label = 8;
break;
case 7:
HEAP32[$9 >> 2] = $quality;
var $_0 = 0;
label = 8;
break;
case 8:
var $_0;
return $_0;
}
}
function _lame_get_quality($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 44 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_mode_automs($gfp) {
return 1;
}
function _lame_set_padding_type($gfp, $padding_type) {
return 0;
}
function _lame_get_padding_type($gfp) {
return 2;
}
function _lame_set_mode($gfp, $mode) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $mode >>> 0 > 4;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 48 | 0;
HEAP32[$5 >> 2] = $mode;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_mode($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 4;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 48 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_mode_automs($gfp, $mode_automs) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $mode_automs >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = _lame_set_mode($gfp, 1);
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_force_ms($gfp, $force_ms) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $force_ms >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 52 | 0;
HEAP32[$5 >> 2] = $force_ms;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_force_ms($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 52 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_free_format($gfp, $free_format) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $free_format >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 56 | 0;
HEAP32[$5 >> 2] = $free_format;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_free_format($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 56 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_findReplayGain($gfp, $findReplayGain) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $findReplayGain >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 60 | 0;
HEAP32[$5 >> 2] = $findReplayGain;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_findReplayGain($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 60 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_decode_on_the_fly($gfp, $decode_on_the_fly) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $decode_on_the_fly >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 64 | 0;
HEAP32[$5 >> 2] = $decode_on_the_fly;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_decode_on_the_fly($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 64 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_findPeakSample($gfp, $arg) {
return _lame_set_decode_on_the_fly($gfp, $arg);
}
function _lame_get_findPeakSample($gfp) {
return _lame_get_decode_on_the_fly($gfp);
}
function _lame_set_ReplayGain_input($gfp, $arg) {
return _lame_set_findReplayGain($gfp, $arg);
}
function _lame_get_ReplayGain_input($gfp) {
return _lame_get_findReplayGain($gfp);
}
function _lame_set_ReplayGain_decode($gfp, $arg) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _lame_set_decode_on_the_fly($gfp, $arg);
var $2 = ($1 | 0) < 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = _lame_set_findReplayGain($gfp, $arg);
var $_lobit = $4 >> 31;
return $_lobit;
case 4:
return -1;
}
}
function _lame_get_ReplayGain_decode($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _lame_get_decode_on_the_fly($gfp);
var $2 = ($1 | 0) > 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $4 = _lame_get_findReplayGain($gfp);
var $5 = ($4 | 0) > 0;
if ($5) {
var $_0 = 1;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $_0 = 0;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_set_nogap_total($gfp, $the_nogap_total) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 72 | 0;
HEAP32[$4 >> 2] = $the_nogap_total;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_nogap_total($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 72 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_nogap_currentindex($gfp, $the_nogap_index) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 76 | 0;
HEAP32[$4 >> 2] = $the_nogap_index;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_nogap_currentindex($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 76 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_errorf($gfp, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 280 | 0;
HEAP32[$4 >> 2] = $func;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_debugf($gfp, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 276 | 0;
HEAP32[$4 >> 2] = $func;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_msgf($gfp, $func) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 272 | 0;
HEAP32[$4 >> 2] = $func;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_brate($gfp, $brate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 96 | 0;
HEAP32[$4 >> 2] = $brate;
var $5 = ($brate | 0) > 320;
if ($5) {
label = 4;
break;
} else {
var $_0 = 0;
label = 5;
break;
}
case 4:
var $7 = $gfp + 128 | 0;
HEAP32[$7 >> 2] = 1;
var $_0 = 0;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_brate($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 96 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_compression_ratio($gfp, $compression_ratio) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 100 | 0;
HEAPF32[$4 >> 2] = $compression_ratio;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_compression_ratio($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 100 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_copyright($gfp, $copyright) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $copyright >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 104 | 0;
HEAP32[$5 >> 2] = $copyright;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_copyright($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 104 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_original($gfp, $original) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $original >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 108 | 0;
HEAP32[$5 >> 2] = $original;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_original($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 108 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_error_protection($gfp, $error_protection) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $error_protection >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 120 | 0;
HEAP32[$5 >> 2] = $error_protection;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_error_protection($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 120 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_extension($gfp, $extension) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $extension >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 112 | 0;
HEAP32[$5 >> 2] = $extension;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_extension($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 112 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_strict_ISO($gfp, $val) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $val >>> 0 > 2;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 124 | 0;
HEAP32[$5 >> 2] = $val;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_strict_ISO($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 124 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_disable_reservoir($gfp, $disable_reservoir) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $disable_reservoir >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 128 | 0;
HEAP32[$5 >> 2] = $disable_reservoir;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_disable_reservoir($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 128 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_experimentalX($gfp, $experimentalX) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = _lame_set_quant_comp($gfp, $experimentalX);
var $5 = _lame_set_quant_comp_short($gfp, $experimentalX);
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_quant_comp($gfp, $quant_type) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 132 | 0;
HEAP32[$4 >> 2] = $quant_type;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_quant_comp_short($gfp, $quant_type) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 136 | 0;
HEAP32[$4 >> 2] = $quant_type;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_experimentalX($gfp) {
return _lame_get_quant_comp($gfp);
}
function _lame_get_quant_comp($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 132 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_quant_comp_short($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 136 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_experimentalY($gfp, $experimentalY) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 140 | 0;
HEAP32[$4 >> 2] = $experimentalY;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_experimentalY($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 140 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_experimentalZ($gfp, $experimentalZ) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 144 | 0;
HEAP32[$4 >> 2] = $experimentalZ;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_experimentalZ($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 144 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_exp_nspsytune($gfp, $exp_nspsytune) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 148 | 0;
HEAP32[$4 >> 2] = $exp_nspsytune;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_exp_nspsytune($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 148 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR($gfp, $VBR) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $VBR >>> 0 > 4;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 156 | 0;
HEAP32[$5 >> 2] = $VBR;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_VBR($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 156 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_q($gfp, $VBR_q) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_07 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($VBR_q | 0) < 0;
var $_VBR_q = $4 ? 0 : $VBR_q;
var $VBR_q_lobit = $VBR_q >> 31;
var $5 = ($_VBR_q | 0) > 9;
var $_1 = $5 ? 9 : $_VBR_q;
var $ret_1 = $5 ? -1 : $VBR_q_lobit;
var $6 = $gfp + 164 | 0;
HEAP32[$6 >> 2] = $_1;
var $7 = $gfp + 160 | 0;
HEAPF32[$7 >> 2] = 0;
var $_07 = $ret_1;
label = 4;
break;
case 4:
var $_07;
return $_07;
}
}
function _lame_get_VBR_q($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 164 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_quality($gfp, $VBR_q) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_09 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $VBR_q < 0;
var $_0 = $4 ? 0 : $VBR_q;
var $ret_0 = $4 << 31 >> 31;
var $5 = $_0;
var $6 = $5 > 9.999;
var $_1 = $6 ? 9.99899959564209 : $_0;
var $ret_1 = $6 ? -1 : $ret_0;
var $7 = $_1 & -1;
var $8 = $gfp + 164 | 0;
HEAP32[$8 >> 2] = $7;
var $9 = $7 | 0;
var $10 = $_1 - $9;
var $11 = $gfp + 160 | 0;
HEAPF32[$11 >> 2] = $10;
var $_09 = $ret_1;
label = 4;
break;
case 4:
var $_09;
return $_09;
}
}
function _lame_get_VBR_quality($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 164 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $7 = $gfp + 160 | 0;
var $8 = HEAPF32[$7 >> 2];
var $9 = $6 + $8;
var $_0 = $9;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_mean_bitrate_kbps($gfp, $VBR_mean_bitrate_kbps) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 168 | 0;
HEAP32[$4 >> 2] = $VBR_mean_bitrate_kbps;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_VBR_mean_bitrate_kbps($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 168 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_min_bitrate_kbps($gfp, $VBR_min_bitrate_kbps) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 172 | 0;
HEAP32[$4 >> 2] = $VBR_min_bitrate_kbps;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_VBR_min_bitrate_kbps($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 172 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_max_bitrate_kbps($gfp, $VBR_max_bitrate_kbps) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 176 | 0;
HEAP32[$4 >> 2] = $VBR_max_bitrate_kbps;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_VBR_max_bitrate_kbps($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 176 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_VBR_hard_min($gfp, $VBR_hard_min) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $VBR_hard_min >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $gfp + 180 | 0;
HEAP32[$5 >> 2] = $VBR_hard_min;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_VBR_hard_min($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 180 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_lowpassfreq($gfp, $lowpassfreq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 184 | 0;
HEAP32[$4 >> 2] = $lowpassfreq;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_lowpassfreq($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 184 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_lowpasswidth($gfp, $lowpasswidth) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 192 | 0;
HEAP32[$4 >> 2] = $lowpasswidth;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_lowpasswidth($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 192 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_athaa_loudapprox($gfp, $athaa_loudapprox) {
return 0;
}
function _lame_get_athaa_loudapprox($gfp) {
return 2;
}
function _lame_set_cwlimit($gfp, $cwlimit) {
return 0;
}
function _lame_get_cwlimit($gfp) {
return 0;
}
function _lame_get_AudiophileGain($gfp) {
return 0;
}
function _lame_set_highpassfreq($gfp, $highpassfreq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 188 | 0;
HEAP32[$4 >> 2] = $highpassfreq;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_highpassfreq($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 188 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_highpasswidth($gfp, $highpasswidth) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 196 | 0;
HEAP32[$4 >> 2] = $highpasswidth;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_highpasswidth($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 196 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_maskingadjust($gfp, $adjust) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 200 | 0;
HEAPF32[$4 >> 2] = $adjust;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_maskingadjust($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 200 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_maskingadjust_short($gfp, $adjust) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 204 | 0;
HEAPF32[$4 >> 2] = $adjust;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_maskingadjust_short($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 204 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_ATHonly($gfp, $ATHonly) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 208 | 0;
HEAP32[$4 >> 2] = $ATHonly;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_ATHonly($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 208 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_ATHshort($gfp, $ATHshort) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 212 | 0;
HEAP32[$4 >> 2] = $ATHshort;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_ATHshort($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 212 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_noATH($gfp, $noATH) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 216 | 0;
HEAP32[$4 >> 2] = $noATH;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_noATH($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 216 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_ATHtype($gfp, $ATHtype) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 220 | 0;
HEAP32[$4 >> 2] = $ATHtype;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_ATHtype($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 220 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_ATHcurve($gfp, $ATHcurve) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 224 | 0;
HEAPF32[$4 >> 2] = $ATHcurve;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_ATHcurve($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 224 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_ATHlower($gfp, $ATHlower) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 228 | 0;
HEAPF32[$4 >> 2] = $ATHlower;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_ATHlower($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 228 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_athaa_type($gfp, $athaa_type) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 232 | 0;
HEAP32[$4 >> 2] = $athaa_type;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_athaa_type($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 232 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_athaa_sensitivity($gfp, $athaa_sensitivity) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 236 | 0;
HEAPF32[$4 >> 2] = $athaa_sensitivity;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_athaa_sensitivity($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 236 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_allow_diff_short($gfp, $allow_diff_short) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $not_ = ($allow_diff_short | 0) == 0;
var $4 = $not_ & 1;
var $5 = $gfp + 240 | 0;
HEAP32[$5 >> 2] = $4;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_allow_diff_short($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 240 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) == 0;
var $_ = $6 & 1;
var $_0 = $_;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_useTemporal($gfp, $useTemporal) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) != 0;
var $3 = $useTemporal >>> 0 < 2;
var $or_cond = $2 & $3;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $5 = $gfp + 244 | 0;
HEAP32[$5 >> 2] = $useTemporal;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_useTemporal($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 244 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_interChRatio($gfp, $ratio) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $ratio < 0;
var $or_cond = $2 | $3;
var $4 = $ratio > 1;
var $or_cond6 = $or_cond | $4;
if ($or_cond6) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $gfp + 248 | 0;
HEAPF32[$6 >> 2] = $ratio;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_interChRatio($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 248 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_substep($gfp, $method) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) != 0;
var $3 = $method >>> 0 < 8;
var $or_cond = $2 & $3;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $5 = $gfp + 80 | 0;
HEAP32[$5 >> 2] = $method;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_substep($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 80 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_sfscale($gfp, $val) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($val | 0) != 0;
var $5 = $4 ? 2 : 1;
var $6 = $gfp + 84 | 0;
HEAP32[$6 >> 2] = $5;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_sfscale($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 84 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) == 2;
var $7 = $6 & 1;
var $_0 = $7;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_subblock_gain($gfp, $sbgain) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 88 | 0;
HEAP32[$4 >> 2] = $sbgain;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_subblock_gain($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 88 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_no_short_blocks($gfp, $no_short_blocks) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) != 0;
var $3 = $no_short_blocks >>> 0 < 2;
var $or_cond = $2 & $3;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $5 = ($no_short_blocks | 0) != 0;
var $6 = $5 ? 2 : 0;
var $7 = $gfp + 240 | 0;
HEAP32[$7 >> 2] = $6;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_no_short_blocks($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 240 | 0;
var $5 = HEAP32[$4 >> 2];
if (($5 | 0) == 2) {
label = 4;
break;
} else if (($5 | 0) == 3 | ($5 | 0) == 0 | ($5 | 0) == 1) {
label = 5;
break;
} else {
var $_0 = -1;
label = 6;
break;
}
case 4:
var $_0 = 1;
label = 6;
break;
case 5:
var $_0 = 0;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _lame_set_force_short_blocks($gfp, $short_blocks) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
var $3 = $short_blocks >>> 0 > 1;
var $or_cond = $2 | $3;
if ($or_cond) {
var $_0 = -1;
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = ($short_blocks | 0) == 1;
var $6 = $gfp + 240 | 0;
if ($5) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
HEAP32[$6 >> 2] = 3;
var $_0 = 0;
label = 7;
break;
case 5:
var $9 = HEAP32[$6 >> 2];
var $10 = ($9 | 0) == 3;
if ($10) {
label = 6;
break;
} else {
var $_0 = 0;
label = 7;
break;
}
case 6:
HEAP32[$6 >> 2] = 0;
var $_0 = 0;
label = 7;
break;
case 7:
var $_0;
return $_0;
}
}
function _lame_get_force_short_blocks($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 240 | 0;
var $5 = HEAP32[$4 >> 2];
if (($5 | 0) == 2 | ($5 | 0) == 0 | ($5 | 0) == 1) {
label = 4;
break;
} else if (($5 | 0) == 3) {
label = 5;
break;
} else {
var $_0 = -1;
label = 6;
break;
}
case 4:
var $_0 = 0;
label = 6;
break;
case 5:
var $_0 = 1;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _lame_set_short_threshold_lrm($gfp, $lrm) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 264 | 0;
HEAPF32[$4 >> 2] = $lrm;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_short_threshold_lrm($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 264 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_short_threshold_s($gfp, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 268 | 0;
HEAPF32[$4 >> 2] = $s;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_short_threshold_s($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 268 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_short_threshold($gfp, $lrm, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = _lame_set_short_threshold_lrm($gfp, $lrm);
var $5 = _lame_set_short_threshold_s($gfp, $s);
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_emphasis($gfp, $emphasis) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) != 0;
var $3 = $emphasis >>> 0 < 4;
var $or_cond = $2 & $3;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $5 = $gfp + 116 | 0;
HEAP32[$5 >> 2] = $emphasis;
var $_0 = 0;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_emphasis($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 116 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_version($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 16 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_encoder_delay($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 84756 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_encoder_padding($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 84760 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_framesize($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 76 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $10 * 576 & -1;
var $_0 = $11;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_frameNum($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 84744 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_mf_samples_to_encode($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 84028 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_size_mp3buffer($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $size = __stackBase__;
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = _compute_flushbits($5, $size);
var $10 = HEAP32[$size >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _lame_get_RadioGain($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 85684 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_PeakSample($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 85680 | 0;
var $10 = HEAPF32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_noclipGainChange($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 85688 | 0;
var $10 = HEAP32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_get_noclipScale($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 85676 | 0;
var $10 = HEAPF32[$9 >> 2];
var $_0 = $10;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _lame_set_preset_expopts($gfp, $preset_expopts) {
return 0;
}
function _lame_set_preset_notune($gfp, $preset_notune) {
return 0;
}
function _lame_get_bitrate($mpeg_version, $table_index) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $mpeg_version >>> 0 < 3;
var $2 = $table_index >>> 0 < 16;
var $or_cond = $1 & $2;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $4 = 5348684 + ($mpeg_version << 6) + ($table_index << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_samplerate($mpeg_version, $table_index) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $mpeg_version >>> 0 < 3;
var $2 = $table_index >>> 0 < 4;
var $or_cond = $1 & $2;
if ($or_cond) {
label = 3;
break;
} else {
var $_0 = -1;
label = 4;
break;
}
case 3:
var $4 = 5256796 + ($mpeg_version << 4) + ($table_index << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_get_totalframes($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 288 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = _is_lame_internal_flags_valid($5);
var $7 = ($6 | 0) == 0;
if ($7) {
var $_0 = 0;
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 + 76 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $10 * 576 & -1;
var $12 = $gfp + 4 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($13 | 0) == -1;
if ($14) {
var $_0 = 0;
label = 8;
break;
} else {
label = 5;
break;
}
case 5:
var $16 = $gfp + 12 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $gfp + 16 | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = ($17 | 0) != ($19 | 0);
var $21 = ($17 | 0) > 0;
var $or_cond = $20 & $21;
if ($or_cond) {
label = 6;
break;
} else {
var $pcm_samples_to_encode_0 = $13;
label = 7;
break;
}
case 6:
var $23 = $19 | 0;
var $24 = $17 | 0;
var $25 = $23 / $24;
var $26 = $13 >>> 0;
var $27 = $26 * $25;
var $28 = $27 >= 0 ? Math.floor($27) : Math.ceil($27);
var $pcm_samples_to_encode_0 = $28;
label = 7;
break;
case 7:
var $pcm_samples_to_encode_0;
var $30 = $pcm_samples_to_encode_0 + 576 | 0;
var $31 = ($30 >>> 0) % ($11 >>> 0);
var $32 = $11 - $31 | 0;
var $33 = $32 >>> 0 < 576;
var $34 = $33 ? $11 : 0;
var $end_padding_0 = $32 + $30 | 0;
var $35 = $end_padding_0 + $34 | 0;
var $36 = Math.floor(($35 >>> 0) / ($11 >>> 0));
var $_0 = $36;
label = 8;
break;
case 8:
var $_0;
return $_0;
}
}
function _lame_set_preset($gfp, $preset) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 152 | 0;
HEAP32[$4 >> 2] = $preset;
var $5 = _apply_preset($gfp, $preset, 1);
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_asm_optimizations($gfp, $optim, $mode) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = -1;
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = ($mode | 0) == 1;
var $5 = $4 & 1;
if (($optim | 0) == 1) {
label = 4;
break;
} else if (($optim | 0) == 2) {
label = 5;
break;
} else if (($optim | 0) == 3) {
label = 6;
break;
} else {
var $_0 = $optim;
label = 7;
break;
}
case 4:
var $7 = $gfp + 292 | 0;
HEAP32[$7 >> 2] = $5;
var $_0 = 1;
label = 7;
break;
case 5:
var $9 = $gfp + 296 | 0;
HEAP32[$9 >> 2] = $5;
var $_0 = 2;
label = 7;
break;
case 6:
var $11 = $gfp + 300 | 0;
HEAP32[$11 >> 2] = $5;
var $_0 = 3;
label = 7;
break;
case 7:
var $_0;
return $_0;
}
}
function _lame_set_write_id3tag_automatic($gfp, $v) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 68 | 0;
HEAP32[$4 >> 2] = $v;
label = 4;
break;
case 4:
return;
}
}
function _lame_get_write_id3tag_automatic($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 68 | 0;
var $5 = HEAP32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _lame_set_tune($gfp, $val) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 260 | 0;
HEAPF32[$4 >> 2] = $val;
var $5 = $gfp + 256 | 0;
HEAP32[$5 >> 2] = 1;
label = 4;
break;
case 4:
return;
}
}
function _lame_set_msfix($gfp, $msfix) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $msfix;
var $5 = $gfp + 252 | 0;
HEAPF32[$5 >> 2] = $4;
label = 4;
break;
case 4:
return;
}
}
function _lame_get_msfix($gfp) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _is_lame_global_flags_valid($gfp);
var $2 = ($1 | 0) == 0;
if ($2) {
var $_0 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $gfp + 252 | 0;
var $5 = HEAPF32[$4 >> 2];
var $_0 = $5;
label = 4;
break;
case 4:
var $_0;
return $_0;
}
}
function _noquant_count_bits($gfc, $gi, $prev_noise) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bits = __stackBase__;
HEAP32[$bits >> 2] = 0;
var $1 = $gi + 2304 | 0;
var $2 = $gi + 5208 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 + 2 | 0;
var $5 = $4 & -2;
var $6 = ($5 | 0) > 576;
var $_ = $6 ? 576 : $5;
var $7 = ($prev_noise | 0) != 0;
if ($7) {
label = 3;
break;
} else {
var $i_0 = $_;
label = 4;
break;
}
case 3:
var $9 = $prev_noise + 4 | 0;
HEAP32[$9 >> 2] = 0;
var $i_0 = $_;
label = 4;
break;
case 4:
var $i_0;
var $10 = ($i_0 | 0) > 1;
if ($10) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $gi + 4776 | 0;
HEAP32[$11 >> 2] = $i_0;
label = 10;
break;
case 6:
var $13 = $i_0 - 1 | 0;
var $14 = $gi + 2304 + ($13 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $i_0 - 2 | 0;
var $17 = $gi + 2304 + ($16 << 2) | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $18 | $15;
var $20 = ($19 | 0) == 0;
if ($20) {
var $i_0 = $16;
label = 4;
break;
} else {
label = 7;
break;
}
case 7:
var $22 = $gi + 4776 | 0;
HEAP32[$22 >> 2] = $i_0;
var $23 = ($i_0 | 0) > 3;
if ($23) {
var $a2_0104 = 0;
var $a1_0105 = 0;
var $i_1106 = $i_0;
label = 8;
break;
} else {
label = 10;
break;
}
case 8:
var $i_1106;
var $a1_0105;
var $a2_0104;
var $24 = $i_1106 - 4 | 0;
var $25 = $gi + 2304 + ($24 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $i_1106 - 3 | 0;
var $28 = $gi + 2304 + ($27 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $i_1106 - 2 | 0;
var $31 = $gi + 2304 + ($30 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $i_1106 - 1 | 0;
var $34 = $gi + 2304 + ($33 << 2) | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = $29 | $26;
var $37 = $36 | $32;
var $38 = $37 | $35;
var $39 = $38 >>> 0 > 1;
if ($39) {
var $a2_0_lcssa = $a2_0104;
var $a1_0_lcssa = $a1_0105;
var $i_1_lcssa = $i_1106;
label = 11;
break;
} else {
label = 9;
break;
}
case 9:
var $41 = $26 << 1;
var $42 = $41 + $29 | 0;
var $43 = $42 << 1;
var $44 = $43 + $32 | 0;
var $45 = $44 << 1;
var $46 = $45 + $35 | 0;
var $47 = $46 + 5250312 | 0;
var $48 = HEAP8[$47];
var $49 = $48 & 255;
var $50 = $49 + $a1_0105 | 0;
var $51 = $46 + 5250264 | 0;
var $52 = HEAP8[$51];
var $53 = $52 & 255;
var $54 = $53 + $a2_0104 | 0;
var $55 = ($24 | 0) > 3;
if ($55) {
var $a2_0104 = $54;
var $a1_0105 = $50;
var $i_1106 = $24;
label = 8;
break;
} else {
var $a2_0_lcssa = $54;
var $a1_0_lcssa = $50;
var $i_1_lcssa = $24;
label = 11;
break;
}
case 10:
HEAP32[$bits >> 2] = 0;
var $56 = $gi + 4840 | 0;
HEAP32[$56 >> 2] = 0;
var $i_1_lcssa116 = $i_0;
label = 13;
break;
case 11:
var $i_1_lcssa;
var $a1_0_lcssa;
var $a2_0_lcssa;
HEAP32[$bits >> 2] = $a1_0_lcssa;
var $57 = $gi + 4840 | 0;
HEAP32[$57 >> 2] = 0;
var $58 = ($a1_0_lcssa | 0) > ($a2_0_lcssa | 0);
if ($58) {
label = 12;
break;
} else {
var $i_1_lcssa116 = $i_1_lcssa;
label = 13;
break;
}
case 12:
HEAP32[$bits >> 2] = $a2_0_lcssa;
HEAP32[$57 >> 2] = 1;
var $i_1_lcssa116 = $i_1_lcssa;
label = 13;
break;
case 13:
var $i_1_lcssa116;
var $61 = HEAP32[$bits >> 2];
var $62 = $gi + 5184 | 0;
HEAP32[$62 >> 2] = $61;
var $63 = $gi + 4772 | 0;
HEAP32[$63 >> 2] = $i_1_lcssa116;
var $64 = ($i_1_lcssa116 | 0) == 0;
if ($64) {
label = 30;
break;
} else {
label = 14;
break;
}
case 14:
var $66 = $gi + 4788 | 0;
var $67 = HEAP32[$66 >> 2];
if (($67 | 0) == 2) {
label = 15;
break;
} else if (($67 | 0) == 0) {
label = 16;
break;
} else {
label = 18;
break;
}
case 15:
var $69 = $gfc + 21464 | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = $70 * 3 & -1;
var $72 = ($71 | 0) > ($i_1_lcssa116 | 0);
var $i_1_ = $72 ? $i_1_lcssa116 : $71;
var $a1_2 = $i_1_;
var $a2_1 = $i_1_lcssa116;
label = 19;
break;
case 16:
var $74 = $i_1_lcssa116 - 2 | 0;
var $75 = $74 + ($gfc + 85096) | 0;
var $76 = HEAP8[$75];
var $77 = $76 << 24 >> 24;
var $78 = $gi + 4824 | 0;
HEAP32[$78 >> 2] = $77;
var $79 = $i_1_lcssa116 - 1 | 0;
var $80 = $79 + ($gfc + 85096) | 0;
var $81 = HEAP8[$80];
var $82 = $81 << 24 >> 24;
var $83 = $gi + 4828 | 0;
HEAP32[$83 >> 2] = $82;
var $84 = $77 + 2 | 0;
var $85 = $84 + $82 | 0;
var $86 = $gfc + 21360 + ($85 << 2) | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = $77 + 1 | 0;
var $89 = $gfc + 21360 + ($88 << 2) | 0;
var $90 = HEAP32[$89 >> 2];
var $91 = ($87 | 0) < ($i_1_lcssa116 | 0);
if ($91) {
label = 17;
break;
} else {
var $a1_2 = $90;
var $a2_1 = $87;
label = 19;
break;
}
case 17:
var $93 = $gfc + 85812 | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = $gi + 2304 + ($87 << 2) | 0;
var $96 = $gi + 2304 + ($i_1_lcssa116 << 2) | 0;
var $97 = FUNCTION_TABLE[$94]($95, $96, $bits);
var $98 = $gi + 4804 | 0;
HEAP32[$98 >> 2] = $97;
var $a1_2 = $90;
var $a2_1 = $87;
label = 19;
break;
case 18:
var $100 = $gi + 4824 | 0;
HEAP32[$100 >> 2] = 7;
var $101 = $gi + 4828 | 0;
HEAP32[$101 >> 2] = 13;
var $102 = $gfc + 21392 | 0;
var $103 = HEAP32[$102 >> 2];
var $104 = ($103 | 0) > ($i_1_lcssa116 | 0);
var $i_1_103 = $104 ? $i_1_lcssa116 : $103;
var $a1_2 = $i_1_103;
var $a2_1 = $i_1_lcssa116;
label = 19;
break;
case 19:
var $a2_1;
var $a1_2;
var $106 = ($a1_2 | 0) < ($i_1_lcssa116 | 0);
var $107 = $106 ? $a1_2 : $i_1_lcssa116;
var $108 = ($a2_1 | 0) < ($i_1_lcssa116 | 0);
var $109 = $108 ? $a2_1 : $i_1_lcssa116;
var $110 = ($107 | 0) > 0;
if ($110) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
var $112 = $gfc + 85812 | 0;
var $113 = HEAP32[$112 >> 2];
var $114 = $gi + 2304 + ($107 << 2) | 0;
var $115 = FUNCTION_TABLE[$113]($1, $114, $bits);
var $116 = $gi + 4796 | 0;
HEAP32[$116 >> 2] = $115;
label = 21;
break;
case 21:
var $118 = ($107 | 0) < ($109 | 0);
if ($118) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $120 = $gfc + 85812 | 0;
var $121 = HEAP32[$120 >> 2];
var $122 = $gi + 2304 + ($107 << 2) | 0;
var $123 = $gi + 2304 + ($109 << 2) | 0;
var $124 = FUNCTION_TABLE[$121]($122, $123, $bits);
var $125 = $gi + 4800 | 0;
HEAP32[$125 >> 2] = $124;
label = 23;
break;
case 23:
var $127 = $gfc + 36 | 0;
var $128 = HEAP32[$127 >> 2];
var $129 = ($128 | 0) == 2;
if ($129) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $131 = HEAP32[$bits >> 2];
var $132 = $gi + 4768 | 0;
HEAP32[$132 >> 2] = $131;
_best_huffman_divide($gfc, $gi);
var $133 = HEAP32[$132 >> 2];
HEAP32[$bits >> 2] = $133;
label = 25;
break;
case 25:
if ($7) {
label = 26;
break;
} else {
label = 30;
break;
}
case 26:
var $136 = HEAP32[$66 >> 2];
var $137 = ($136 | 0) == 0;
if ($137) {
label = 27;
break;
} else {
label = 30;
break;
}
case 27:
var $138 = HEAP32[$63 >> 2];
var $sfb_0 = 0;
label = 28;
break;
case 28:
var $sfb_0;
var $140 = $gfc + 21360 + ($sfb_0 << 2) | 0;
var $141 = HEAP32[$140 >> 2];
var $142 = ($141 | 0) < ($138 | 0);
var $143 = $sfb_0 + 1 | 0;
if ($142) {
var $sfb_0 = $143;
label = 28;
break;
} else {
label = 29;
break;
}
case 29:
var $145 = $prev_noise + 4 | 0;
HEAP32[$145 >> 2] = $sfb_0;
label = 30;
break;
case 30:
var $_0 = HEAP32[$bits >> 2];
STACKTOP = __stackBase__;
return $_0;
}
}
_noquant_count_bits["X"] = 1;
function _best_huffman_divide($gfc, $gi) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 5620 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $cod_info2 = __stackBase__;
var $r01_bits = __stackBase__ + 5252;
var $r01_div = __stackBase__ + 5344;
var $r0_tbl = __stackBase__ + 5436;
var $r1_tbl = __stackBase__ + 5528;
var $1 = $gi + 2304 | 0;
var $2 = $gi + 4788 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 2;
if ($4) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $6 = $gfc + 76 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) == 1;
if ($8) {
label = 20;
break;
} else {
label = 4;
break;
}
case 4:
var $10 = $cod_info2;
var $11 = $gi;
for (var $$src = $11 >> 2, $$dest = $10 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $12 = HEAP32[$2 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $15 = $r01_bits | 0;
var $16 = $r01_div | 0;
var $17 = $r0_tbl | 0;
var $18 = $r1_tbl | 0;
_recalc_divide_init($gfc, $gi, $1, $15, $16, $17, $18);
_recalc_divide_sub($gfc, $cod_info2, $gi, $1, $15, $16, $17, $18);
label = 6;
break;
case 6:
var $20 = $cod_info2 + 4772 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = ($21 | 0) == 0;
if ($22) {
label = 20;
break;
} else {
label = 7;
break;
}
case 7:
var $24 = $21 - 2 | 0;
var $25 = $gi + 2304 + ($24 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $21 - 1 | 0;
var $28 = $gi + 2304 + ($27 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $29 | $26;
var $31 = $30 >>> 0 > 1;
if ($31) {
label = 20;
break;
} else {
label = 8;
break;
}
case 8:
var $33 = $gi + 4776 | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = $34 + 2 | 0;
var $36 = ($35 | 0) > 576;
if ($36) {
label = 20;
break;
} else {
label = 9;
break;
}
case 9:
for (var $$src = $11 >> 2, $$dest = $10 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $38 = $cod_info2 + 4776 | 0;
HEAP32[$38 >> 2] = $35;
var $39 = HEAP32[$20 >> 2];
var $40 = ($35 | 0) > ($39 | 0);
if ($40) {
label = 10;
break;
} else {
var $a2_0_lcssa = 0;
var $a1_0_lcssa = 0;
var $i_0_lcssa = $35;
label = 12;
break;
}
case 10:
var $41 = HEAP32[$20 >> 2];
var $a2_055 = 0;
var $a1_056 = 0;
var $i_057 = $35;
label = 11;
break;
case 11:
var $i_057;
var $a1_056;
var $a2_055;
var $43 = $i_057 - 4 | 0;
var $44 = $gi + 2304 + ($43 << 2) | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = $45 << 1;
var $47 = $i_057 - 3 | 0;
var $48 = $gi + 2304 + ($47 << 2) | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = $46 + $49 | 0;
var $51 = $50 << 1;
var $52 = $i_057 - 2 | 0;
var $53 = $gi + 2304 + ($52 << 2) | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = $51 + $54 | 0;
var $56 = $55 << 1;
var $57 = $i_057 - 1 | 0;
var $58 = $gi + 2304 + ($57 << 2) | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = $56 + $59 | 0;
var $61 = $60 + 5250312 | 0;
var $62 = HEAP8[$61];
var $63 = $62 & 255;
var $64 = $63 + $a1_056 | 0;
var $65 = $60 + 5250264 | 0;
var $66 = HEAP8[$65];
var $67 = $66 & 255;
var $68 = $67 + $a2_055 | 0;
var $69 = ($43 | 0) > ($41 | 0);
if ($69) {
var $a2_055 = $68;
var $a1_056 = $64;
var $i_057 = $43;
label = 11;
break;
} else {
var $a2_0_lcssa = $68;
var $a1_0_lcssa = $64;
var $i_0_lcssa = $43;
label = 12;
break;
}
case 12:
var $i_0_lcssa;
var $a1_0_lcssa;
var $a2_0_lcssa;
HEAP32[$20 >> 2] = $i_0_lcssa;
var $70 = $cod_info2 + 4840 | 0;
var $71 = ($a1_0_lcssa | 0) > ($a2_0_lcssa | 0);
var $_ = $71 & 1;
var $a2_0_a1_0 = $71 ? $a2_0_lcssa : $a1_0_lcssa;
HEAP32[$70 >> 2] = $_;
var $72 = $cod_info2 + 5184 | 0;
HEAP32[$72 >> 2] = $a2_0_a1_0;
var $73 = $cod_info2 + 4788 | 0;
var $74 = HEAP32[$73 >> 2];
var $75 = ($74 | 0) == 0;
if ($75) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
var $77 = $r01_bits | 0;
var $78 = $r01_div | 0;
var $79 = $r0_tbl | 0;
var $80 = $r1_tbl | 0;
_recalc_divide_sub($gfc, $cod_info2, $gi, $1, $77, $78, $79, $80);
label = 20;
break;
case 14:
var $82 = $cod_info2 + 4768 | 0;
HEAP32[$82 >> 2] = $a2_0_a1_0;
var $83 = $gfc + 21392 | 0;
var $84 = HEAP32[$83 >> 2];
var $85 = ($84 | 0) > ($i_0_lcssa | 0);
var $i_0_ = $85 ? $i_0_lcssa : $84;
var $86 = ($i_0_ | 0) > 0;
if ($86) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $88 = $gfc + 85812 | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = $gi + 2304 + ($i_0_ << 2) | 0;
var $91 = FUNCTION_TABLE[$89]($1, $90, $82);
var $92 = $cod_info2 + 4796 | 0;
HEAP32[$92 >> 2] = $91;
label = 16;
break;
case 16:
var $94 = ($i_0_lcssa | 0) > ($i_0_ | 0);
if ($94) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
var $96 = $gfc + 85812 | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = $gi + 2304 + ($i_0_ << 2) | 0;
var $99 = $gi + 2304 + ($i_0_lcssa << 2) | 0;
var $100 = FUNCTION_TABLE[$97]($98, $99, $82);
var $101 = $cod_info2 + 4800 | 0;
HEAP32[$101 >> 2] = $100;
label = 18;
break;
case 18:
var $103 = $gi + 4768 | 0;
var $104 = HEAP32[$103 >> 2];
var $105 = HEAP32[$82 >> 2];
var $106 = ($104 | 0) > ($105 | 0);
if ($106) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
for (var $$src = $10 >> 2, $$dest = $11 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
label = 20;
break;
case 20:
STACKTOP = __stackBase__;
return;
}
}
_best_huffman_divide["X"] = 1;
function _count_bits($gfc, $xr, $gi, $prev_noise) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gi + 4780 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = 5326164 + ($2 << 2) | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = 8206 / $4;
var $6 = $gi + 4764 | 0;
var $7 = HEAPF32[$6 >> 2];
var $8 = $7 > $5;
if ($8) {
var $_0 = 1e5;
label = 11;
break;
} else {
label = 3;
break;
}
case 3:
var $10 = $gi + 2304 | 0;
_quantize_xrpow($xr, $10, $4, $gi, $prev_noise);
var $11 = $gfc + 85092 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 & 2;
var $14 = ($13 | 0) == 0;
if ($14) {
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $16 = HEAP32[$1 >> 2];
var $17 = $gi + 4836 | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $18 + $16 | 0;
var $20 = 5326164 + ($19 << 2) | 0;
var $21 = HEAPF32[$20 >> 2];
var $22 = $21;
var $23 = .634521682242439 / $22;
var $24 = $23;
var $25 = $gi + 4860 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) > 0;
if ($27) {
var $j_033 = 0;
var $sfb_034 = 0;
label = 5;
break;
} else {
label = 10;
break;
}
case 5:
var $sfb_034;
var $j_033;
var $28 = $gi + 4872 + ($sfb_034 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $gfc + 84932 + ($sfb_034 << 2) | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = ($31 | 0) != 0;
var $33 = $29 + $j_033 | 0;
var $34 = ($29 | 0) > 0;
var $or_cond = $32 & $34;
if ($or_cond) {
var $k_031 = $j_033;
label = 6;
break;
} else {
label = 9;
break;
}
case 6:
var $k_031;
var $35 = $xr + ($k_031 << 2) | 0;
var $36 = HEAPF32[$35 >> 2];
var $37 = $36 < $24;
if ($37) {
var $42 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $39 = $gi + 2304 + ($k_031 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
var $42 = $40;
label = 8;
break;
case 8:
var $42;
var $43 = $gi + 2304 + ($k_031 << 2) | 0;
HEAP32[$43 >> 2] = $42;
var $44 = $k_031 + 1 | 0;
var $45 = ($44 | 0) < ($33 | 0);
if ($45) {
var $k_031 = $44;
label = 6;
break;
} else {
label = 9;
break;
}
case 9:
var $46 = $sfb_034 + 1 | 0;
var $47 = HEAP32[$25 >> 2];
var $48 = ($46 | 0) < ($47 | 0);
if ($48) {
var $j_033 = $33;
var $sfb_034 = $46;
label = 5;
break;
} else {
label = 10;
break;
}
case 10:
var $49 = _noquant_count_bits($gfc, $gi, $prev_noise);
var $_0 = $49;
label = 11;
break;
case 11:
var $_0;
return $_0;
}
}
_count_bits["X"] = 1;
function _quantize_xrpow($xp, $pi, $istep, $cod_info, $prev_noise) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($prev_noise | 0) != 0;
if ($1) {
label = 3;
break;
} else {
var $9 = 0;
label = 4;
break;
}
case 3:
var $3 = $cod_info + 4780 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $prev_noise | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($4 | 0) == ($6 | 0);
var $9 = $7;
label = 4;
break;
case 4:
var $9;
var $10 = $cod_info + 4788 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) == 2;
var $_ = $12 ? 38 : 21;
var $13 = $cod_info + 4780 | 0;
var $14 = $cod_info + 4832 | 0;
var $15 = $cod_info + 4836 | 0;
var $16 = $cod_info + 5208 | 0;
var $17 = $_ + 1 | 0;
var $18 = $prev_noise + 4 | 0;
var $j_0112 = 0;
var $sfb_0113 = 0;
var $iData_0115 = $pi;
var $accumulate_0118 = 0;
var $accumulate01_0119 = 0;
var $acc_iData_0120 = $pi;
var $acc_xp_0121 = $xp;
var $_0122 = $xp;
label = 5;
break;
case 5:
var $_0122;
var $acc_xp_0121;
var $acc_iData_0120;
var $accumulate01_0119;
var $accumulate_0118;
var $iData_0115;
var $sfb_0113;
var $j_0112;
if ($9) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $21 = HEAP32[$10 >> 2];
var $22 = ($21 | 0) == 0;
if ($22) {
label = 7;
break;
} else {
var $step_0103 = -1;
label = 15;
break;
}
case 7:
var $24 = HEAP32[$13 >> 2];
var $25 = $cod_info + 4608 + ($sfb_0113 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = HEAP32[$14 >> 2];
var $28 = ($27 | 0) == 0;
if ($28) {
var $33 = 0;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $30 = 5257016 + ($sfb_0113 << 2) | 0;
var $31 = HEAP32[$30 >> 2];
var $33 = $31;
label = 9;
break;
case 9:
var $33;
var $34 = $33 + $26 | 0;
var $35 = HEAP32[$15 >> 2];
var $36 = $35 + 1 | 0;
var $37 = $34 << $36;
var $38 = $24 - $37 | 0;
var $39 = $cod_info + 5028 + ($sfb_0113 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $cod_info + 4808 + ($40 << 2) | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = $42 << 3;
var $44 = $38 - $43 | 0;
if ($9) {
label = 10;
break;
} else {
var $step_0103 = $44;
label = 15;
break;
}
case 10:
var $46 = $prev_noise + 8 + ($sfb_0113 << 2) | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = ($47 | 0) == ($44 | 0);
if ($48) {
label = 11;
break;
} else {
var $step_0103 = $44;
label = 15;
break;
}
case 11:
var $50 = ($accumulate_0118 | 0) == 0;
if ($50) {
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
_quantize_lines_xrpow($accumulate_0118, $istep, $acc_xp_0121, $acc_iData_0120);
label = 13;
break;
case 13:
var $53 = ($accumulate01_0119 | 0) == 0;
if ($53) {
var $acc_xp_5 = $acc_xp_0121;
var $acc_iData_5 = $acc_iData_0120;
var $accumulate01_4 = 0;
var $accumulate_4 = 0;
var $sfb_2 = $sfb_0113;
label = 31;
break;
} else {
label = 14;
break;
}
case 14:
_quantize_lines_xrpow_01($accumulate01_0119, $istep, $acc_xp_0121, $acc_iData_0120);
var $acc_xp_5 = $acc_xp_0121;
var $acc_iData_5 = $acc_iData_0120;
var $accumulate01_4 = 0;
var $accumulate_4 = 0;
var $sfb_2 = $sfb_0113;
label = 31;
break;
case 15:
var $step_0103;
var $55 = $cod_info + 4872 + ($sfb_0113 << 2) | 0;
var $56 = HEAP32[$55 >> 2];
var $57 = $56 + $j_0112 | 0;
var $58 = HEAP32[$16 >> 2];
var $59 = ($57 | 0) > ($58 | 0);
if ($59) {
label = 16;
break;
} else {
var $l_1 = $56;
var $sfb_1 = $sfb_0113;
label = 17;
break;
}
case 16:
var $61 = $58 - $j_0112 | 0;
var $62 = $61 + 1 | 0;
var $63 = $pi + ($58 << 2) | 0;
var $64 = $63;
var $65 = 576 - $58 | 0;
var $66 = $65 << 2;
_memset($64, 0, $66);
var $67 = ($62 | 0) < 0;
var $_100 = $67 ? 0 : $62;
var $l_1 = $_100;
var $sfb_1 = $17;
label = 17;
break;
case 17:
var $sfb_1;
var $l_1;
var $69 = ($accumulate_0118 | 0) != 0;
var $_not = $69 ^ 1;
var $70 = ($accumulate01_0119 | 0) == 0;
var $or_cond = $70 & $_not;
var $acc_iData_1 = $or_cond ? $iData_0115 : $acc_iData_0120;
var $acc_xp_1 = $or_cond ? $_0122 : $acc_xp_0121;
if ($1) {
label = 18;
break;
} else {
label = 23;
break;
}
case 18:
var $72 = HEAP32[$18 >> 2];
var $73 = ($72 | 0) < 1;
var $74 = ($sfb_1 | 0) < ($72 | 0);
var $or_cond101 = $73 | $74;
if ($or_cond101) {
label = 23;
break;
} else {
label = 19;
break;
}
case 19:
var $76 = $prev_noise + 8 + ($sfb_1 << 2) | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($77 | 0) < 1;
var $79 = ($step_0103 | 0) < ($77 | 0);
var $or_cond102 = $78 | $79;
if ($or_cond102) {
label = 23;
break;
} else {
label = 20;
break;
}
case 20:
if ($69) {
label = 21;
break;
} else {
var $acc_xp_2 = $acc_xp_1;
var $acc_iData_2 = $acc_iData_1;
label = 22;
break;
}
case 21:
_quantize_lines_xrpow($accumulate_0118, $istep, $acc_xp_1, $acc_iData_1);
var $acc_xp_2 = $_0122;
var $acc_iData_2 = $iData_0115;
label = 22;
break;
case 22:
var $acc_iData_2;
var $acc_xp_2;
var $83 = $l_1 + $accumulate01_0119 | 0;
var $acc_xp_4 = $acc_xp_2;
var $acc_iData_4 = $acc_iData_2;
var $accumulate01_2 = $83;
var $accumulate_3 = 0;
label = 26;
break;
case 23:
if ($70) {
var $acc_xp_3 = $acc_xp_1;
var $acc_iData_3 = $acc_iData_1;
label = 25;
break;
} else {
label = 24;
break;
}
case 24:
_quantize_lines_xrpow_01($accumulate01_0119, $istep, $acc_xp_1, $acc_iData_1);
var $acc_xp_3 = $_0122;
var $acc_iData_3 = $iData_0115;
label = 25;
break;
case 25:
var $acc_iData_3;
var $acc_xp_3;
var $87 = $l_1 + $accumulate_0118 | 0;
var $acc_xp_4 = $acc_xp_3;
var $acc_iData_4 = $acc_iData_3;
var $accumulate01_2 = 0;
var $accumulate_3 = $87;
label = 26;
break;
case 26:
var $accumulate_3;
var $accumulate01_2;
var $acc_iData_4;
var $acc_xp_4;
var $89 = ($l_1 | 0) < 1;
if ($89) {
label = 27;
break;
} else {
var $acc_xp_5 = $acc_xp_4;
var $acc_iData_5 = $acc_iData_4;
var $accumulate01_4 = $accumulate01_2;
var $accumulate_4 = $accumulate_3;
var $sfb_2 = $sfb_1;
label = 31;
break;
}
case 27:
var $91 = ($accumulate01_2 | 0) == 0;
if ($91) {
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
_quantize_lines_xrpow_01($accumulate01_2, $istep, $acc_xp_4, $acc_iData_4);
label = 29;
break;
case 29:
var $94 = ($accumulate_3 | 0) == 0;
if ($94) {
label = 38;
break;
} else {
label = 30;
break;
}
case 30:
_quantize_lines_xrpow($accumulate_3, $istep, $acc_xp_4, $acc_iData_4);
label = 38;
break;
case 31:
var $sfb_2;
var $accumulate_4;
var $accumulate01_4;
var $acc_iData_5;
var $acc_xp_5;
var $96 = ($sfb_2 | 0) > ($_ | 0);
if ($96) {
var $_1 = $_0122;
var $iData_1 = $iData_0115;
var $j_1 = $j_0112;
label = 33;
break;
} else {
label = 32;
break;
}
case 32:
var $98 = $cod_info + 4872 + ($sfb_2 << 2) | 0;
var $99 = HEAP32[$98 >> 2];
var $100 = $iData_0115 + ($99 << 2) | 0;
var $101 = $_0122 + ($99 << 2) | 0;
var $102 = $99 + $j_0112 | 0;
var $_1 = $101;
var $iData_1 = $100;
var $j_1 = $102;
label = 33;
break;
case 33:
var $j_1;
var $iData_1;
var $_1;
var $104 = $sfb_2 + 1 | 0;
var $105 = ($104 | 0) > ($_ | 0);
if ($105) {
label = 34;
break;
} else {
var $j_0112 = $j_1;
var $sfb_0113 = $104;
var $iData_0115 = $iData_1;
var $accumulate_0118 = $accumulate_4;
var $accumulate01_0119 = $accumulate01_4;
var $acc_iData_0120 = $acc_iData_5;
var $acc_xp_0121 = $acc_xp_5;
var $_0122 = $_1;
label = 5;
break;
}
case 34:
var $107 = ($accumulate_4 | 0) == 0;
if ($107) {
label = 36;
break;
} else {
label = 35;
break;
}
case 35:
_quantize_lines_xrpow($accumulate_4, $istep, $acc_xp_5, $acc_iData_5);
label = 36;
break;
case 36:
var $109 = ($accumulate01_4 | 0) == 0;
if ($109) {
label = 38;
break;
} else {
label = 37;
break;
}
case 37:
_quantize_lines_xrpow_01($accumulate01_4, $istep, $acc_xp_5, $acc_iData_5);
label = 38;
break;
case 38:
return;
}
}
_quantize_xrpow["X"] = 1;
function _recalc_divide_init($gfc, $cod_info, $ix, $r01_bits, $r01_div, $r0_tbl, $r1_tbl) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 8 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bits = __stackBase__;
var $r0bits = __stackBase__ + 4;
var $0 = $cod_info + 4772 | 0;
var $1 = HEAP32[$0 >> 2];
HEAP32[$r01_bits >> 2] = 1e5;
var $2 = $r01_bits + 4 | 0;
HEAP32[$2 >> 2] = 1e5;
var $3 = $r01_bits + 8 | 0;
HEAP32[$3 >> 2] = 1e5;
var $4 = $r01_bits + 12 | 0;
HEAP32[$4 >> 2] = 1e5;
var $5 = $r01_bits + 16 | 0;
HEAP32[$5 >> 2] = 1e5;
var $6 = $r01_bits + 20 | 0;
HEAP32[$6 >> 2] = 1e5;
var $7 = $r01_bits + 24 | 0;
HEAP32[$7 >> 2] = 1e5;
var $8 = $r01_bits + 28 | 0;
HEAP32[$8 >> 2] = 1e5;
var $9 = $r01_bits + 32 | 0;
HEAP32[$9 >> 2] = 1e5;
var $10 = $r01_bits + 36 | 0;
HEAP32[$10 >> 2] = 1e5;
var $11 = $r01_bits + 40 | 0;
HEAP32[$11 >> 2] = 1e5;
var $12 = $r01_bits + 44 | 0;
HEAP32[$12 >> 2] = 1e5;
var $13 = $r01_bits + 48 | 0;
HEAP32[$13 >> 2] = 1e5;
var $14 = $r01_bits + 52 | 0;
HEAP32[$14 >> 2] = 1e5;
var $15 = $r01_bits + 56 | 0;
HEAP32[$15 >> 2] = 1e5;
var $16 = $r01_bits + 60 | 0;
HEAP32[$16 >> 2] = 1e5;
var $17 = $r01_bits + 64 | 0;
HEAP32[$17 >> 2] = 1e5;
var $18 = $r01_bits + 68 | 0;
HEAP32[$18 >> 2] = 1e5;
var $19 = $r01_bits + 72 | 0;
HEAP32[$19 >> 2] = 1e5;
var $20 = $r01_bits + 76 | 0;
HEAP32[$20 >> 2] = 1e5;
var $21 = $r01_bits + 80 | 0;
HEAP32[$21 >> 2] = 1e5;
var $22 = $r01_bits + 84 | 0;
HEAP32[$22 >> 2] = 1e5;
var $23 = $r01_bits + 88 | 0;
HEAP32[$23 >> 2] = 1e5;
var $24 = $gfc + 85812 | 0;
var $r0_139 = 0;
label = 4;
break;
case 3:
var $25 = ($27 | 0) < 16;
if ($25) {
var $r0_139 = $27;
label = 4;
break;
} else {
label = 10;
break;
}
case 4:
var $r0_139;
var $27 = $r0_139 + 1 | 0;
var $28 = $gfc + 21360 + ($27 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = ($29 | 0) < ($1 | 0);
if ($30) {
label = 5;
break;
} else {
label = 10;
break;
}
case 5:
HEAP32[$r0bits >> 2] = 0;
var $32 = HEAP32[$24 >> 2];
var $33 = $ix + ($29 << 2) | 0;
var $34 = FUNCTION_TABLE[$32]($ix, $33, $r0bits);
var $r1_038 = 0;
label = 6;
break;
case 6:
var $r1_038;
var $36 = $r1_038 + $r0_139 | 0;
var $37 = $36 + 2 | 0;
var $38 = $gfc + 21360 + ($37 << 2) | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = ($39 | 0) < ($1 | 0);
if ($40) {
label = 7;
break;
} else {
label = 3;
break;
}
case 7:
var $42 = HEAP32[$r0bits >> 2];
HEAP32[$bits >> 2] = $42;
var $43 = HEAP32[$24 >> 2];
var $44 = $ix + ($39 << 2) | 0;
var $45 = FUNCTION_TABLE[$43]($33, $44, $bits);
var $46 = $r01_bits + ($36 << 2) | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = HEAP32[$bits >> 2];
var $49 = ($47 | 0) > ($48 | 0);
if ($49) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
HEAP32[$46 >> 2] = $48;
var $51 = $r01_div + ($36 << 2) | 0;
HEAP32[$51 >> 2] = $r0_139;
var $52 = $r0_tbl + ($36 << 2) | 0;
HEAP32[$52 >> 2] = $34;
var $53 = $r1_tbl + ($36 << 2) | 0;
HEAP32[$53 >> 2] = $45;
label = 9;
break;
case 9:
var $55 = $r1_038 + 1 | 0;
var $56 = ($55 | 0) < 8;
if ($56) {
var $r1_038 = $55;
label = 6;
break;
} else {
label = 3;
break;
}
case 10:
STACKTOP = __stackBase__;
return;
}
}
_recalc_divide_init["X"] = 1;
function _recalc_divide_sub($gfc, $cod_info2, $gi, $ix, $r01_bits, $r01_div, $r0_tbl, $r1_tbl) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $bits = __stackBase__;
var $1 = $cod_info2 + 4772 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $cod_info2 + 5184 | 0;
var $4 = $gi + 4768 | 0;
var $5 = $gfc + 85812 | 0;
var $6 = $ix + ($2 << 2) | 0;
var $7 = $gi;
var $8 = $cod_info2;
var $9 = $gi + 4824 | 0;
var $10 = $gi + 4828 | 0;
var $11 = $gi + 4796 | 0;
var $12 = $gi + 4800 | 0;
var $13 = $gi + 4804 | 0;
var $r2_031 = 2;
label = 3;
break;
case 3:
var $r2_031;
var $15 = $gfc + 21360 + ($r2_031 << 2) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = ($16 | 0) < ($2 | 0);
if ($17) {
label = 4;
break;
} else {
label = 8;
break;
}
case 4:
var $19 = $r2_031 - 2 | 0;
var $20 = $r01_bits + ($19 << 2) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = HEAP32[$3 >> 2];
var $23 = $22 + $21 | 0;
HEAP32[$bits >> 2] = $23;
var $24 = HEAP32[$4 >> 2];
var $25 = ($24 | 0) > ($23 | 0);
if ($25) {
label = 5;
break;
} else {
label = 8;
break;
}
case 5:
var $27 = HEAP32[$5 >> 2];
var $28 = $ix + ($16 << 2) | 0;
var $29 = FUNCTION_TABLE[$27]($28, $6, $bits);
var $30 = HEAP32[$4 >> 2];
var $31 = HEAP32[$bits >> 2];
var $32 = ($30 | 0) > ($31 | 0);
if ($32) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
for (var $$src = $8 >> 2, $$dest = $7 >> 2, $$stop = $$src + 1313; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src];
}
var $34 = HEAP32[$bits >> 2];
HEAP32[$4 >> 2] = $34;
var $35 = $r01_div + ($19 << 2) | 0;
var $36 = HEAP32[$35 >> 2];
HEAP32[$9 >> 2] = $36;
var $37 = HEAP32[$35 >> 2];
var $38 = $19 - $37 | 0;
HEAP32[$10 >> 2] = $38;
var $39 = $r0_tbl + ($19 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
HEAP32[$11 >> 2] = $40;
var $41 = $r1_tbl + ($19 << 2) | 0;
var $42 = HEAP32[$41 >> 2];
HEAP32[$12 >> 2] = $42;
HEAP32[$13 >> 2] = $29;
label = 7;
break;
case 7:
var $44 = $r2_031 + 1 | 0;
var $45 = ($44 | 0) < 23;
if ($45) {
var $r2_031 = $44;
label = 3;
break;
} else {
label = 8;
break;
}
case 8:
STACKTOP = __stackBase__;
return;
}
}
_recalc_divide_sub["X"] = 1;
function _best_scalefac_store($gfc, $gr, $ch, $l3_side) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $l3_side + $gr * 10504 + $ch * 5252 | 0;
var $2 = $l3_side + $gr * 10504 + $ch * 5252 + 4860 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) > 0;
if ($4) {
var $j_090 = 0;
var $recalc_091 = 0;
var $sfb_092 = 0;
label = 3;
break;
} else {
var $recalc_0_lcssa = 0;
label = 9;
break;
}
case 3:
var $sfb_092;
var $recalc_091;
var $j_090;
var $5 = $l3_side + $gr * 10504 + $ch * 5252 + 4872 + ($sfb_092 << 2) | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $6 + $j_090 | 0;
var $l_0 = $j_090;
label = 4;
break;
case 4:
var $l_0;
var $9 = ($l_0 | 0) < ($7 | 0);
if ($9) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $11 = $l3_side + $gr * 10504 + $ch * 5252 + 2304 + ($l_0 << 2) | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
var $14 = $l_0 + 1 | 0;
if ($13) {
var $l_0 = $14;
label = 4;
break;
} else {
label = 6;
break;
}
case 6:
var $16 = ($l_0 | 0) == ($7 | 0);
if ($16) {
label = 7;
break;
} else {
var $recalc_1 = $recalc_091;
label = 8;
break;
}
case 7:
var $18 = $l3_side + $gr * 10504 + $ch * 5252 + 4608 + ($sfb_092 << 2) | 0;
HEAP32[$18 >> 2] = -2;
var $recalc_1 = -2;
label = 8;
break;
case 8:
var $recalc_1;
var $20 = $sfb_092 + 1 | 0;
var $21 = HEAP32[$2 >> 2];
var $22 = ($20 | 0) < ($21 | 0);
if ($22) {
var $j_090 = $7;
var $recalc_091 = $recalc_1;
var $sfb_092 = $20;
label = 3;
break;
} else {
var $recalc_0_lcssa = $recalc_1;
label = 9;
break;
}
case 9:
var $recalc_0_lcssa;
var $23 = $l3_side + $gr * 10504 + $ch * 5252 + 4836 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = ($24 | 0) == 0;
if ($25) {
label = 10;
break;
} else {
var $recalc_2 = $recalc_0_lcssa;
label = 20;
break;
}
case 10:
var $27 = $l3_side + $gr * 10504 + $ch * 5252 + 4832 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
label = 11;
break;
} else {
var $recalc_2 = $recalc_0_lcssa;
label = 20;
break;
}
case 11:
var $30 = HEAP32[$2 >> 2];
var $31 = ($30 | 0) > 0;
if ($31) {
label = 12;
break;
} else {
var $recalc_2 = $recalc_0_lcssa;
label = 20;
break;
}
case 12:
var $32 = HEAP32[$2 >> 2];
var $sfb_186 = 0;
var $s_087 = 0;
label = 13;
break;
case 13:
var $s_087;
var $sfb_186;
var $34 = $l3_side + $gr * 10504 + $ch * 5252 + 4608 + ($sfb_186 << 2) | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = ($35 | 0) > 0;
var $37 = $36 ? $35 : 0;
var $_s_0 = $37 | $s_087;
var $38 = $sfb_186 + 1 | 0;
var $39 = ($38 | 0) < ($32 | 0);
if ($39) {
var $sfb_186 = $38;
var $s_087 = $_s_0;
label = 13;
break;
} else {
label = 14;
break;
}
case 14:
var $40 = $_s_0 & 1;
var $41 = ($40 | 0) == 0;
var $42 = ($_s_0 | 0) != 0;
var $or_cond = $41 & $42;
if ($or_cond) {
label = 15;
break;
} else {
var $recalc_2 = $recalc_0_lcssa;
label = 20;
break;
}
case 15:
var $43 = HEAP32[$2 >> 2];
var $44 = ($43 | 0) > 0;
if ($44) {
var $sfb_282 = 0;
label = 16;
break;
} else {
label = 19;
break;
}
case 16:
var $sfb_282;
var $45 = $l3_side + $gr * 10504 + $ch * 5252 + 4608 + ($sfb_282 << 2) | 0;
var $46 = HEAP32[$45 >> 2];
var $47 = ($46 | 0) > 0;
if ($47) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
var $49 = $46 >> 1;
HEAP32[$45 >> 2] = $49;
label = 18;
break;
case 18:
var $51 = $sfb_282 + 1 | 0;
var $52 = HEAP32[$2 >> 2];
var $53 = ($51 | 0) < ($52 | 0);
if ($53) {
var $sfb_282 = $51;
label = 16;
break;
} else {
label = 19;
break;
}
case 19:
HEAP32[$23 >> 2] = 1;
var $recalc_2 = 1;
label = 20;
break;
case 20:
var $recalc_2;
var $54 = $l3_side + $gr * 10504 + $ch * 5252 + 4832 | 0;
var $55 = HEAP32[$54 >> 2];
var $56 = ($55 | 0) == 0;
if ($56) {
label = 21;
break;
} else {
var $recalc_3 = $recalc_2;
label = 29;
break;
}
case 21:
var $58 = $l3_side + $gr * 10504 + $ch * 5252 + 4788 | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = ($59 | 0) == 2;
if ($60) {
var $recalc_3 = $recalc_2;
label = 29;
break;
} else {
label = 22;
break;
}
case 22:
var $62 = $gfc + 76 | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = ($63 | 0) == 2;
if ($64) {
var $sfb_3 = 11;
label = 23;
break;
} else {
var $recalc_3 = $recalc_2;
label = 29;
break;
}
case 23:
var $sfb_3;
var $65 = ($sfb_3 | 0) < 21;
if ($65) {
label = 24;
break;
} else {
label = 25;
break;
}
case 24:
var $67 = $l3_side + $gr * 10504 + $ch * 5252 + 4608 + ($sfb_3 << 2) | 0;
var $68 = HEAP32[$67 >> 2];
var $69 = 5257016 + ($sfb_3 << 2) | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = ($68 | 0) >= ($70 | 0);
var $72 = ($68 | 0) == -2;
var $or_cond75 = $71 | $72;
var $73 = $sfb_3 + 1 | 0;
if ($or_cond75) {
var $sfb_3 = $73;
label = 23;
break;
} else {
label = 25;
break;
}
case 25:
var $75 = ($sfb_3 | 0) == 21;
if ($75) {
label = 26;
break;
} else {
var $recalc_3 = $recalc_2;
label = 29;
break;
}
case 26:
var $76 = $l3_side + $gr * 10504 + $ch * 5252 + 4652 | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($77 | 0) > 0;
if ($78) {
label = 27;
break;
} else {
label = 28;
break;
}
case 27:
var $80 = $77 - 1 | 0;
HEAP32[$76 >> 2] = $80;
label = 28;
break;
case 28:
var $82 = $l3_side + $gr * 10504 + $ch * 5252 + 4656 | 0;
var $83 = HEAP32[$82 >> 2];
var $84 = ($83 | 0) > 0;
if ($84) {
label = 40;
break;
} else {
label = 41;
break;
}
case 29:
var $recalc_3;
var $86 = $ch << 2;
var $87 = $86 + 4 | 0;
var $scevgep = $87 + ($l3_side + 21008) | 0;
var $scevgep98 = $scevgep;
HEAP32[$scevgep98 >> 2] = 0;
HEAP32[$scevgep98 + 4 >> 2] = 0;
HEAP32[$scevgep98 + 8 >> 2] = 0;
HEAP32[$scevgep98 + 12 >> 2] = 0;
var $88 = $gfc + 76 | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = ($89 | 0) == 2;
var $91 = ($gr | 0) == 1;
var $or_cond76 = $90 & $91;
if ($or_cond76) {
label = 30;
break;
} else {
var $recalc_4 = $recalc_3;
label = 33;
break;
}
case 30:
var $93 = $l3_side + $ch * 5252 + 4788 | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = ($94 | 0) == 2;
if ($95) {
var $recalc_4 = $recalc_3;
label = 33;
break;
} else {
label = 31;
break;
}
case 31:
var $97 = $l3_side + 10504 + $ch * 5252 + 4788 | 0;
var $98 = HEAP32[$97 >> 2];
var $99 = ($98 | 0) == 2;
if ($99) {
var $recalc_4 = $recalc_3;
label = 33;
break;
} else {
label = 32;
break;
}
case 32:
_scfsi_calc($ch, $l3_side);
var $recalc_4 = 0;
label = 33;
break;
case 33:
var $recalc_4;
var $102 = HEAP32[$2 >> 2];
var $103 = ($102 | 0) > 0;
if ($103) {
var $sfb_577 = 0;
label = 34;
break;
} else {
label = 37;
break;
}
case 34:
var $sfb_577;
var $104 = $l3_side + $gr * 10504 + $ch * 5252 + 4608 + ($sfb_577 << 2) | 0;
var $105 = HEAP32[$104 >> 2];
var $106 = ($105 | 0) == -2;
if ($106) {
label = 35;
break;
} else {
label = 36;
break;
}
case 35:
HEAP32[$104 >> 2] = 0;
label = 36;
break;
case 36:
var $109 = $sfb_577 + 1 | 0;
var $110 = HEAP32[$2 >> 2];
var $111 = ($109 | 0) < ($110 | 0);
if ($111) {
var $sfb_577 = $109;
label = 34;
break;
} else {
label = 37;
break;
}
case 37:
var $112 = ($recalc_4 | 0) == 0;
if ($112) {
label = 39;
break;
} else {
label = 38;
break;
}
case 38:
var $114 = _scale_bitcount($gfc, $1);
label = 39;
break;
case 39:
return;
case 40:
var $117 = $83 - 1 | 0;
HEAP32[$82 >> 2] = $117;
label = 41;
break;
case 41:
var $119 = $l3_side + $gr * 10504 + $ch * 5252 + 4660 | 0;
var $120 = HEAP32[$119 >> 2];
var $121 = ($120 | 0) > 0;
if ($121) {
label = 42;
break;
} else {
label = 43;
break;
}
case 42:
var $123 = $120 - 1 | 0;
HEAP32[$119 >> 2] = $123;
label = 43;
break;
case 43:
var $125 = $l3_side + $gr * 10504 + $ch * 5252 + 4664 | 0;
var $126 = HEAP32[$125 >> 2];
var $127 = ($126 | 0) > 0;
if ($127) {
label = 44;
break;
} else {
label = 45;
break;
}
case 44:
var $129 = $126 - 1 | 0;
HEAP32[$125 >> 2] = $129;
label = 45;
break;
case 45:
var $131 = $l3_side + $gr * 10504 + $ch * 5252 + 4668 | 0;
var $132 = HEAP32[$131 >> 2];
var $133 = ($132 | 0) > 0;
if ($133) {
label = 46;
break;
} else {
label = 47;
break;
}
case 46:
var $135 = $132 - 2 | 0;
HEAP32[$131 >> 2] = $135;
label = 47;
break;
case 47:
var $137 = $l3_side + $gr * 10504 + $ch * 5252 + 4672 | 0;
var $138 = HEAP32[$137 >> 2];
var $139 = ($138 | 0) > 0;
if ($139) {
label = 48;
break;
} else {
label = 49;
break;
}
case 48:
var $141 = $138 - 2 | 0;
HEAP32[$137 >> 2] = $141;
label = 49;
break;
case 49:
var $143 = $l3_side + $gr * 10504 + $ch * 5252 + 4676 | 0;
var $144 = HEAP32[$143 >> 2];
var $145 = ($144 | 0) > 0;
if ($145) {
label = 50;
break;
} else {
label = 51;
break;
}
case 50:
var $147 = $144 - 3 | 0;
HEAP32[$143 >> 2] = $147;
label = 51;
break;
case 51:
var $149 = $l3_side + $gr * 10504 + $ch * 5252 + 4680 | 0;
var $150 = HEAP32[$149 >> 2];
var $151 = ($150 | 0) > 0;
if ($151) {
label = 52;
break;
} else {
label = 53;
break;
}
case 52:
var $153 = $150 - 3 | 0;
HEAP32[$149 >> 2] = $153;
label = 53;
break;
case 53:
var $155 = $l3_side + $gr * 10504 + $ch * 5252 + 4684 | 0;
var $156 = HEAP32[$155 >> 2];
var $157 = ($156 | 0) > 0;
if ($157) {
label = 54;
break;
} else {
label = 55;
break;
}
case 54:
var $159 = $156 - 3 | 0;
HEAP32[$155 >> 2] = $159;
label = 55;
break;
case 55:
var $161 = $l3_side + $gr * 10504 + $ch * 5252 + 4688 | 0;
var $162 = HEAP32[$161 >> 2];
var $163 = ($162 | 0) > 0;
if ($163) {
label = 56;
break;
} else {
label = 57;
break;
}
case 56:
var $165 = $162 - 2 | 0;
HEAP32[$161 >> 2] = $165;
label = 57;
break;
case 57:
HEAP32[$54 >> 2] = 1;
var $recalc_3 = 1;
label = 29;
break;
}
}
_best_scalefac_store["X"] = 1;
function _scfsi_calc($ch, $l3_side) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_067 = 0;
label = 3;
break;
case 3:
var $i_067;
var $2 = 5256584 + ($i_067 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $i_067 + 1 | 0;
var $5 = 5256584 + ($4 << 2) | 0;
var $6 = HEAP32[$5 >> 2];
var $sfb_0 = $3;
label = 4;
break;
case 4:
var $sfb_0;
var $8 = ($sfb_0 | 0) < ($6 | 0);
if ($8) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $10 = $l3_side + $ch * 5252 + 4608 + ($sfb_0 << 2) | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $l3_side + 10504 + $ch * 5252 + 4608 + ($sfb_0 << 2) | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($11 | 0) != ($13 | 0);
var $15 = ($13 | 0) > -1;
var $or_cond = $14 & $15;
var $16 = $sfb_0 + 1 | 0;
if ($or_cond) {
label = 6;
break;
} else {
var $sfb_0 = $16;
label = 4;
break;
}
case 6:
var $18 = HEAP32[$5 >> 2];
var $19 = ($sfb_0 | 0) == ($18 | 0);
if ($19) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $exitcond72 = ($4 | 0) == 4;
if ($exitcond72) {
label = 11;
break;
} else {
var $i_067 = $4;
label = 3;
break;
}
case 8:
var $21 = HEAP32[$2 >> 2];
var $22 = HEAP32[$5 >> 2];
var $23 = ($21 | 0) < ($22 | 0);
if ($23) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $24 = HEAP32[$5 >> 2];
var $scevgep70 = $l3_side + 10504 + $ch * 5252 + 4608 + ($21 << 2) | 0;
var $scevgep7071 = $scevgep70;
var $25 = $21 + 1 | 0;
var $26 = ($24 | 0) > ($25 | 0);
var $smax = $26 ? $24 : $25;
var $27 = $smax - $21 | 0;
var $28 = $27 << 2;
_memset($scevgep7071, -1, $28);
label = 10;
break;
case 10:
var $30 = $l3_side + 21024 + ($ch << 4) + ($i_067 << 2) | 0;
HEAP32[$30 >> 2] = 1;
label = 7;
break;
case 11:
var $31 = $l3_side + 10504 + $ch * 5252 + 4608 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($32 | 0) == -1;
if ($33) {
var $s1_1 = 0;
var $c1_1 = 0;
label = 13;
break;
} else {
label = 12;
break;
}
case 12:
var $35 = ($32 | 0) > 0;
var $_s1_0 = $35 ? $32 : 0;
var $s1_1 = $_s1_0;
var $c1_1 = 1;
label = 13;
break;
case 13:
var $c1_1;
var $s1_1;
var $37 = $l3_side + 10504 + $ch * 5252 + 4612 | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = ($38 | 0) == -1;
if ($39) {
var $s1_1_1 = $s1_1;
var $c1_1_1 = $c1_1;
label = 42;
break;
} else {
label = 41;
break;
}
case 14:
var $s2_0_lcssa;
var $c2_0_lcssa;
var $40 = $l3_side + 10504 + $ch * 5252 + 4844 | 0;
var $41 = $l3_side + 10504 + $ch * 5252 + 4784 | 0;
var $i_154 = 0;
label = 18;
break;
case 15:
var $c1_1_10;
var $s1_1_10;
var $42 = $l3_side + 10504 + $ch * 5252 + 4652 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = ($43 | 0) == -1;
if ($44) {
var $s2_1 = 0;
var $c2_1 = 0;
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $46 = ($43 | 0) > 0;
var $_s2_0 = $46 ? $43 : 0;
var $s2_1 = $_s2_0;
var $c2_1 = 1;
label = 17;
break;
case 17:
var $c2_1;
var $s2_1;
var $48 = $l3_side + 10504 + $ch * 5252 + 4656 | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = ($49 | 0) == -1;
if ($50) {
var $s2_1_1 = $s2_1;
var $c2_1_1 = $c2_1;
label = 25;
break;
} else {
label = 24;
break;
}
case 18:
var $i_154;
var $52 = 5254684 + ($i_154 << 2) | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = ($s1_1_10 | 0) < ($53 | 0);
if ($54) {
label = 19;
break;
} else {
label = 22;
break;
}
case 19:
var $56 = 5254556 + ($i_154 << 2) | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = ($s2_0_lcssa | 0) < ($57 | 0);
if ($58) {
label = 20;
break;
} else {
label = 22;
break;
}
case 20:
var $60 = 5254620 + ($i_154 << 2) | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = $61 * $c1_1_10 & -1;
var $63 = 5254492 + ($i_154 << 2) | 0;
var $64 = HEAP32[$63 >> 2];
var $65 = $64 * $c2_0_lcssa & -1;
var $66 = $65 + $62 | 0;
var $67 = HEAP32[$40 >> 2];
var $68 = ($67 | 0) > ($66 | 0);
if ($68) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
HEAP32[$40 >> 2] = $66;
HEAP32[$41 >> 2] = $i_154;
label = 22;
break;
case 22:
var $71 = $i_154 + 1 | 0;
var $exitcond = ($71 | 0) == 16;
if ($exitcond) {
label = 23;
break;
} else {
var $i_154 = $71;
label = 18;
break;
}
case 23:
return;
case 24:
var $74 = $c2_1 + 1 | 0;
var $75 = ($s2_1 | 0) < ($49 | 0);
var $_s2_0_1 = $75 ? $49 : $s2_1;
var $s2_1_1 = $_s2_0_1;
var $c2_1_1 = $74;
label = 25;
break;
case 25:
var $c2_1_1;
var $s2_1_1;
var $77 = $l3_side + 10504 + $ch * 5252 + 4660 | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = ($78 | 0) == -1;
if ($79) {
var $s2_1_2 = $s2_1_1;
var $c2_1_2 = $c2_1_1;
label = 27;
break;
} else {
label = 26;
break;
}
case 26:
var $81 = $c2_1_1 + 1 | 0;
var $82 = ($s2_1_1 | 0) < ($78 | 0);
var $_s2_0_2 = $82 ? $78 : $s2_1_1;
var $s2_1_2 = $_s2_0_2;
var $c2_1_2 = $81;
label = 27;
break;
case 27:
var $c2_1_2;
var $s2_1_2;
var $84 = $l3_side + 10504 + $ch * 5252 + 4664 | 0;
var $85 = HEAP32[$84 >> 2];
var $86 = ($85 | 0) == -1;
if ($86) {
var $s2_1_3 = $s2_1_2;
var $c2_1_3 = $c2_1_2;
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $88 = $c2_1_2 + 1 | 0;
var $89 = ($s2_1_2 | 0) < ($85 | 0);
var $_s2_0_3 = $89 ? $85 : $s2_1_2;
var $s2_1_3 = $_s2_0_3;
var $c2_1_3 = $88;
label = 29;
break;
case 29:
var $c2_1_3;
var $s2_1_3;
var $91 = $l3_side + 10504 + $ch * 5252 + 4668 | 0;
var $92 = HEAP32[$91 >> 2];
var $93 = ($92 | 0) == -1;
if ($93) {
var $s2_1_4 = $s2_1_3;
var $c2_1_4 = $c2_1_3;
label = 31;
break;
} else {
label = 30;
break;
}
case 30:
var $95 = $c2_1_3 + 1 | 0;
var $96 = ($s2_1_3 | 0) < ($92 | 0);
var $_s2_0_4 = $96 ? $92 : $s2_1_3;
var $s2_1_4 = $_s2_0_4;
var $c2_1_4 = $95;
label = 31;
break;
case 31:
var $c2_1_4;
var $s2_1_4;
var $98 = $l3_side + 10504 + $ch * 5252 + 4672 | 0;
var $99 = HEAP32[$98 >> 2];
var $100 = ($99 | 0) == -1;
if ($100) {
var $s2_1_5 = $s2_1_4;
var $c2_1_5 = $c2_1_4;
label = 33;
break;
} else {
label = 32;
break;
}
case 32:
var $102 = $c2_1_4 + 1 | 0;
var $103 = ($s2_1_4 | 0) < ($99 | 0);
var $_s2_0_5 = $103 ? $99 : $s2_1_4;
var $s2_1_5 = $_s2_0_5;
var $c2_1_5 = $102;
label = 33;
break;
case 33:
var $c2_1_5;
var $s2_1_5;
var $105 = $l3_side + 10504 + $ch * 5252 + 4676 | 0;
var $106 = HEAP32[$105 >> 2];
var $107 = ($106 | 0) == -1;
if ($107) {
var $s2_1_6 = $s2_1_5;
var $c2_1_6 = $c2_1_5;
label = 35;
break;
} else {
label = 34;
break;
}
case 34:
var $109 = $c2_1_5 + 1 | 0;
var $110 = ($s2_1_5 | 0) < ($106 | 0);
var $_s2_0_6 = $110 ? $106 : $s2_1_5;
var $s2_1_6 = $_s2_0_6;
var $c2_1_6 = $109;
label = 35;
break;
case 35:
var $c2_1_6;
var $s2_1_6;
var $112 = $l3_side + 10504 + $ch * 5252 + 4680 | 0;
var $113 = HEAP32[$112 >> 2];
var $114 = ($113 | 0) == -1;
if ($114) {
var $s2_1_7 = $s2_1_6;
var $c2_1_7 = $c2_1_6;
label = 37;
break;
} else {
label = 36;
break;
}
case 36:
var $116 = $c2_1_6 + 1 | 0;
var $117 = ($s2_1_6 | 0) < ($113 | 0);
var $_s2_0_7 = $117 ? $113 : $s2_1_6;
var $s2_1_7 = $_s2_0_7;
var $c2_1_7 = $116;
label = 37;
break;
case 37:
var $c2_1_7;
var $s2_1_7;
var $119 = $l3_side + 10504 + $ch * 5252 + 4684 | 0;
var $120 = HEAP32[$119 >> 2];
var $121 = ($120 | 0) == -1;
if ($121) {
var $s2_1_8 = $s2_1_7;
var $c2_1_8 = $c2_1_7;
label = 39;
break;
} else {
label = 38;
break;
}
case 38:
var $123 = $c2_1_7 + 1 | 0;
var $124 = ($s2_1_7 | 0) < ($120 | 0);
var $_s2_0_8 = $124 ? $120 : $s2_1_7;
var $s2_1_8 = $_s2_0_8;
var $c2_1_8 = $123;
label = 39;
break;
case 39:
var $c2_1_8;
var $s2_1_8;
var $126 = $l3_side + 10504 + $ch * 5252 + 4688 | 0;
var $127 = HEAP32[$126 >> 2];
var $128 = ($127 | 0) == -1;
if ($128) {
var $c2_0_lcssa = $c2_1_8;
var $s2_0_lcssa = $s2_1_8;
label = 14;
break;
} else {
label = 40;
break;
}
case 40:
var $130 = $c2_1_8 + 1 | 0;
var $131 = ($s2_1_8 | 0) < ($127 | 0);
var $_s2_0_9 = $131 ? $127 : $s2_1_8;
var $c2_0_lcssa = $130;
var $s2_0_lcssa = $_s2_0_9;
label = 14;
break;
case 41:
var $133 = $c1_1 + 1 | 0;
var $134 = ($s1_1 | 0) < ($38 | 0);
var $_s1_0_1 = $134 ? $38 : $s1_1;
var $s1_1_1 = $_s1_0_1;
var $c1_1_1 = $133;
label = 42;
break;
case 42:
var $c1_1_1;
var $s1_1_1;
var $136 = $l3_side + 10504 + $ch * 5252 + 4616 | 0;
var $137 = HEAP32[$136 >> 2];
var $138 = ($137 | 0) == -1;
if ($138) {
var $s1_1_2 = $s1_1_1;
var $c1_1_2 = $c1_1_1;
label = 44;
break;
} else {
label = 43;
break;
}
case 43:
var $140 = $c1_1_1 + 1 | 0;
var $141 = ($s1_1_1 | 0) < ($137 | 0);
var $_s1_0_2 = $141 ? $137 : $s1_1_1;
var $s1_1_2 = $_s1_0_2;
var $c1_1_2 = $140;
label = 44;
break;
case 44:
var $c1_1_2;
var $s1_1_2;
var $143 = $l3_side + 10504 + $ch * 5252 + 4620 | 0;
var $144 = HEAP32[$143 >> 2];
var $145 = ($144 | 0) == -1;
if ($145) {
var $s1_1_3 = $s1_1_2;
var $c1_1_3 = $c1_1_2;
label = 46;
break;
} else {
label = 45;
break;
}
case 45:
var $147 = $c1_1_2 + 1 | 0;
var $148 = ($s1_1_2 | 0) < ($144 | 0);
var $_s1_0_3 = $148 ? $144 : $s1_1_2;
var $s1_1_3 = $_s1_0_3;
var $c1_1_3 = $147;
label = 46;
break;
case 46:
var $c1_1_3;
var $s1_1_3;
var $150 = $l3_side + 10504 + $ch * 5252 + 4624 | 0;
var $151 = HEAP32[$150 >> 2];
var $152 = ($151 | 0) == -1;
if ($152) {
var $s1_1_4 = $s1_1_3;
var $c1_1_4 = $c1_1_3;
label = 48;
break;
} else {
label = 47;
break;
}
case 47:
var $154 = $c1_1_3 + 1 | 0;
var $155 = ($s1_1_3 | 0) < ($151 | 0);
var $_s1_0_4 = $155 ? $151 : $s1_1_3;
var $s1_1_4 = $_s1_0_4;
var $c1_1_4 = $154;
label = 48;
break;
case 48:
var $c1_1_4;
var $s1_1_4;
var $157 = $l3_side + 10504 + $ch * 5252 + 4628 | 0;
var $158 = HEAP32[$157 >> 2];
var $159 = ($158 | 0) == -1;
if ($159) {
var $s1_1_5 = $s1_1_4;
var $c1_1_5 = $c1_1_4;
label = 50;
break;
} else {
label = 49;
break;
}
case 49:
var $161 = $c1_1_4 + 1 | 0;
var $162 = ($s1_1_4 | 0) < ($158 | 0);
var $_s1_0_5 = $162 ? $158 : $s1_1_4;
var $s1_1_5 = $_s1_0_5;
var $c1_1_5 = $161;
label = 50;
break;
case 50:
var $c1_1_5;
var $s1_1_5;
var $164 = $l3_side + 10504 + $ch * 5252 + 4632 | 0;
var $165 = HEAP32[$164 >> 2];
var $166 = ($165 | 0) == -1;
if ($166) {
var $s1_1_6 = $s1_1_5;
var $c1_1_6 = $c1_1_5;
label = 52;
break;
} else {
label = 51;
break;
}
case 51:
var $168 = $c1_1_5 + 1 | 0;
var $169 = ($s1_1_5 | 0) < ($165 | 0);
var $_s1_0_6 = $169 ? $165 : $s1_1_5;
var $s1_1_6 = $_s1_0_6;
var $c1_1_6 = $168;
label = 52;
break;
case 52:
var $c1_1_6;
var $s1_1_6;
var $171 = $l3_side + 10504 + $ch * 5252 + 4636 | 0;
var $172 = HEAP32[$171 >> 2];
var $173 = ($172 | 0) == -1;
if ($173) {
var $s1_1_7 = $s1_1_6;
var $c1_1_7 = $c1_1_6;
label = 54;
break;
} else {
label = 53;
break;
}
case 53:
var $175 = $c1_1_6 + 1 | 0;
var $176 = ($s1_1_6 | 0) < ($172 | 0);
var $_s1_0_7 = $176 ? $172 : $s1_1_6;
var $s1_1_7 = $_s1_0_7;
var $c1_1_7 = $175;
label = 54;
break;
case 54:
var $c1_1_7;
var $s1_1_7;
var $178 = $l3_side + 10504 + $ch * 5252 + 4640 | 0;
var $179 = HEAP32[$178 >> 2];
var $180 = ($179 | 0) == -1;
if ($180) {
var $s1_1_8 = $s1_1_7;
var $c1_1_8 = $c1_1_7;
label = 56;
break;
} else {
label = 55;
break;
}
case 55:
var $182 = $c1_1_7 + 1 | 0;
var $183 = ($s1_1_7 | 0) < ($179 | 0);
var $_s1_0_8 = $183 ? $179 : $s1_1_7;
var $s1_1_8 = $_s1_0_8;
var $c1_1_8 = $182;
label = 56;
break;
case 56:
var $c1_1_8;
var $s1_1_8;
var $185 = $l3_side + 10504 + $ch * 5252 + 4644 | 0;
var $186 = HEAP32[$185 >> 2];
var $187 = ($186 | 0) == -1;
if ($187) {
var $s1_1_9 = $s1_1_8;
var $c1_1_9 = $c1_1_8;
label = 58;
break;
} else {
label = 57;
break;
}
case 57:
var $189 = $c1_1_8 + 1 | 0;
var $190 = ($s1_1_8 | 0) < ($186 | 0);
var $_s1_0_9 = $190 ? $186 : $s1_1_8;
var $s1_1_9 = $_s1_0_9;
var $c1_1_9 = $189;
label = 58;
break;
case 58:
var $c1_1_9;
var $s1_1_9;
var $192 = $l3_side + 10504 + $ch * 5252 + 4648 | 0;
var $193 = HEAP32[$192 >> 2];
var $194 = ($193 | 0) == -1;
if ($194) {
var $s1_1_10 = $s1_1_9;
var $c1_1_10 = $c1_1_9;
label = 15;
break;
} else {
label = 59;
break;
}
case 59:
var $196 = $c1_1_9 + 1 | 0;
var $197 = ($s1_1_9 | 0) < ($193 | 0);
var $_s1_0_10 = $197 ? $193 : $s1_1_9;
var $s1_1_10 = $_s1_0_10;
var $c1_1_10 = $196;
label = 15;
break;
}
}
_scfsi_calc["X"] = 1;
function _scale_bitcount($gfc, $cod_info) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 76 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 2;
if ($3) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $5 = _mpeg1_scale_bitcount($cod_info);
var $_0 = $5;
label = 5;
break;
case 4:
var $7 = _mpeg2_scale_bitcount($gfc, $cod_info);
var $_0 = $7;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _count_bit_null($ix, $end, $max, $s) {
return 0;
}
function _mpeg1_scale_bitcount($cod_info) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4788 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 2;
if ($3) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $5 = $cod_info + 4792 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
var $_ = $7 ? 5256604 : 5256668;
var $tab_0 = $_;
label = 9;
break;
case 4:
var $9 = $cod_info + 4832 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 0;
if ($11) {
var $sfb_0 = 11;
label = 5;
break;
} else {
var $tab_0 = 5256732;
label = 9;
break;
}
case 5:
var $sfb_0;
var $12 = ($sfb_0 | 0) < 21;
if ($12) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $14 = $cod_info + 4608 + ($sfb_0 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = 5257016 + ($sfb_0 << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($15 | 0) < ($17 | 0);
var $19 = $sfb_0 + 1 | 0;
if ($18) {
label = 7;
break;
} else {
var $sfb_0 = $19;
label = 5;
break;
}
case 7:
var $21 = ($sfb_0 | 0) == 21;
if ($21) {
label = 8;
break;
} else {
var $tab_0 = 5256732;
label = 9;
break;
}
case 8:
HEAP32[$9 >> 2] = 1;
var $22 = $cod_info + 4652 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = $23 - 1 | 0;
HEAP32[$22 >> 2] = $24;
var $25 = $cod_info + 4656 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $26 - 1 | 0;
HEAP32[$25 >> 2] = $27;
var $28 = $cod_info + 4660 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $29 - 1 | 0;
HEAP32[$28 >> 2] = $30;
var $31 = $cod_info + 4664 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $32 - 1 | 0;
HEAP32[$31 >> 2] = $33;
var $34 = $cod_info + 4668 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = $35 - 2 | 0;
HEAP32[$34 >> 2] = $36;
var $37 = $cod_info + 4672 | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = $38 - 2 | 0;
HEAP32[$37 >> 2] = $39;
var $40 = $cod_info + 4676 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $41 - 3 | 0;
HEAP32[$40 >> 2] = $42;
var $43 = $cod_info + 4680 | 0;
var $44 = HEAP32[$43 >> 2];
var $45 = $44 - 3 | 0;
HEAP32[$43 >> 2] = $45;
var $46 = $cod_info + 4684 | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = $47 - 3 | 0;
HEAP32[$46 >> 2] = $48;
var $49 = $cod_info + 4688 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = $50 - 2 | 0;
HEAP32[$49 >> 2] = $51;
var $tab_0 = 5256732;
label = 9;
break;
case 9:
var $tab_0;
var $53 = $cod_info + 4868 | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = ($54 | 0) > 0;
if ($55) {
label = 10;
break;
} else {
var $sfb_2_lcssa = 0;
var $max_slen1_0_lcssa = 0;
label = 12;
break;
}
case 10:
var $56 = HEAP32[$53 >> 2];
var $57 = ($56 | 0) > 1;
var $sfb_24 = 0;
var $max_slen1_05 = 0;
label = 14;
break;
case 11:
var $smax = $57 ? $56 : 1;
var $sfb_2_lcssa = $smax;
var $max_slen1_0_lcssa = $_max_slen1_0;
label = 12;
break;
case 12:
var $max_slen1_0_lcssa;
var $sfb_2_lcssa;
var $58 = $cod_info + 4860 | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = ($sfb_2_lcssa | 0) < ($59 | 0);
if ($60) {
label = 13;
break;
} else {
var $max_slen2_0_lcssa = 0;
label = 16;
break;
}
case 13:
var $61 = HEAP32[$58 >> 2];
var $sfb_32 = $sfb_2_lcssa;
var $max_slen2_03 = 0;
label = 15;
break;
case 14:
var $max_slen1_05;
var $sfb_24;
var $63 = $cod_info + 4608 + ($sfb_24 << 2) | 0;
var $64 = HEAP32[$63 >> 2];
var $65 = ($max_slen1_05 | 0) < ($64 | 0);
var $_max_slen1_0 = $65 ? $64 : $max_slen1_05;
var $66 = $sfb_24 + 1 | 0;
var $67 = ($66 | 0) < ($56 | 0);
if ($67) {
var $sfb_24 = $66;
var $max_slen1_05 = $_max_slen1_0;
label = 14;
break;
} else {
label = 11;
break;
}
case 15:
var $max_slen2_03;
var $sfb_32;
var $69 = $cod_info + 4608 + ($sfb_32 << 2) | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = ($max_slen2_03 | 0) < ($70 | 0);
var $_max_slen2_0 = $71 ? $70 : $max_slen2_03;
var $72 = $sfb_32 + 1 | 0;
var $73 = ($72 | 0) < ($61 | 0);
if ($73) {
var $sfb_32 = $72;
var $max_slen2_03 = $_max_slen2_0;
label = 15;
break;
} else {
var $max_slen2_0_lcssa = $_max_slen2_0;
label = 16;
break;
}
case 16:
var $max_slen2_0_lcssa;
var $74 = $cod_info + 4844 | 0;
HEAP32[$74 >> 2] = 1e5;
var $75 = $cod_info + 4784 | 0;
var $k_01 = 0;
label = 17;
break;
case 17:
var $k_01;
var $77 = 5254684 + ($k_01 << 2) | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = ($max_slen1_0_lcssa | 0) < ($78 | 0);
if ($79) {
label = 18;
break;
} else {
label = 21;
break;
}
case 18:
var $81 = 5254556 + ($k_01 << 2) | 0;
var $82 = HEAP32[$81 >> 2];
var $83 = ($max_slen2_0_lcssa | 0) < ($82 | 0);
if ($83) {
label = 19;
break;
} else {
label = 21;
break;
}
case 19:
var $85 = HEAP32[$74 >> 2];
var $86 = $tab_0 + ($k_01 << 2) | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = ($85 | 0) > ($87 | 0);
if ($88) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
HEAP32[$74 >> 2] = $87;
HEAP32[$75 >> 2] = $k_01;
label = 21;
break;
case 21:
var $91 = $k_01 + 1 | 0;
var $exitcond = ($91 | 0) == 16;
if ($exitcond) {
label = 22;
break;
} else {
var $k_01 = $91;
label = 17;
break;
}
case 22:
var $93 = HEAP32[$74 >> 2];
var $94 = ($93 | 0) == 1e5;
var $95 = $94 & 1;
return $95;
}
}
_mpeg1_scale_bitcount["X"] = 1;
function _huffman_init($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85812 | 0;
HEAP32[$1 >> 2] = 38;
var $i_023 = 2;
label = 3;
break;
case 3:
var $i_023;
var $scfb_anz_0 = 0;
label = 4;
break;
case 4:
var $scfb_anz_0;
var $3 = $scfb_anz_0 + 1 | 0;
var $4 = $gfc + 21360 + ($3 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) < ($i_023 | 0);
if ($6) {
var $scfb_anz_0 = $3;
label = 4;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = 5254308 + ($3 << 3) | 0;
var $9 = HEAP32[$8 >> 2];
var $bv_index_0 = $9;
label = 6;
break;
case 6:
var $bv_index_0;
var $11 = $bv_index_0 + 1 | 0;
var $12 = $gfc + 21360 + ($11 << 2) | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = ($13 | 0) > ($i_023 | 0);
var $15 = $bv_index_0 - 1 | 0;
if ($14) {
var $bv_index_0 = $15;
label = 6;
break;
} else {
label = 7;
break;
}
case 7:
var $17 = ($bv_index_0 | 0) < 0;
if ($17) {
label = 8;
break;
} else {
var $bv_index_1 = $bv_index_0;
label = 9;
break;
}
case 8:
var $19 = HEAP32[$8 >> 2];
var $bv_index_1 = $19;
label = 9;
break;
case 9:
var $bv_index_1;
var $21 = $bv_index_1 & 255;
var $22 = $i_023 - 2 | 0;
var $23 = $22 + ($gfc + 85096) | 0;
HEAP8[$23] = $21;
var $24 = 5254312 + ($3 << 3) | 0;
var $25 = HEAP32[$24 >> 2];
var $sext = $bv_index_1 << 24;
var $26 = $sext >> 24;
var $bv_index_2 = $25;
label = 10;
break;
case 10:
var $bv_index_2;
var $28 = $bv_index_2 + 2 | 0;
var $29 = $28 + $26 | 0;
var $30 = $gfc + 21360 + ($29 << 2) | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = ($31 | 0) > ($i_023 | 0);
var $33 = $bv_index_2 - 1 | 0;
if ($32) {
var $bv_index_2 = $33;
label = 10;
break;
} else {
label = 11;
break;
}
case 11:
var $35 = ($bv_index_2 | 0) < 0;
if ($35) {
label = 12;
break;
} else {
var $bv_index_3 = $bv_index_2;
label = 13;
break;
}
case 12:
var $37 = HEAP32[$24 >> 2];
var $bv_index_3 = $37;
label = 13;
break;
case 13:
var $bv_index_3;
var $39 = $bv_index_3 & 255;
var $40 = $i_023 - 1 | 0;
var $41 = $40 + ($gfc + 85096) | 0;
HEAP8[$41] = $39;
var $42 = $i_023 + 2 | 0;
var $43 = ($42 | 0) < 577;
if ($43) {
var $i_023 = $42;
label = 3;
break;
} else {
label = 14;
break;
}
case 14:
return;
}
}
_huffman_init["X"] = 1;
function _ix_max($ix, $end) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $_0 = $ix;
var $max1_0 = 0;
var $max2_0 = 0;
label = 3;
break;
case 3:
var $max2_0;
var $max1_0;
var $_0;
var $2 = $_0 + 4 | 0;
var $3 = HEAP32[$_0 >> 2];
var $4 = $_0 + 8 | 0;
var $5 = HEAP32[$2 >> 2];
var $6 = ($max1_0 | 0) < ($3 | 0);
var $_max1_0 = $6 ? $3 : $max1_0;
var $7 = ($max2_0 | 0) < ($5 | 0);
var $max2_1 = $7 ? $5 : $max2_0;
var $8 = $4 >>> 0 < $end >>> 0;
if ($8) {
var $_0 = $4;
var $max1_0 = $_max1_0;
var $max2_0 = $max2_1;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $10 = ($_max1_0 | 0) < ($max2_1 | 0);
var $max2_1__max1_0 = $10 ? $max2_1 : $_max1_0;
return $max2_1__max1_0;
}
}
function _count_bit_ESC($ix, $end, $t1, $t2, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = 5327256 + ($t1 << 4) | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 << 16;
var $4 = 5327256 + ($t2 << 4) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $3 + $5 | 0;
var $_0 = $ix;
var $sum_0 = 0;
label = 3;
break;
case 3:
var $sum_0;
var $_0;
var $8 = $_0 + 4 | 0;
var $9 = HEAP32[$_0 >> 2];
var $10 = $_0 + 8 | 0;
var $11 = HEAP32[$8 >> 2];
var $12 = $9 >>> 0 > 14;
var $13 = $12 ? $6 : 0;
var $sum_1 = $13 + $sum_0 | 0;
var $14 = $11 >>> 0 > 14;
var $15 = $14 ? $6 : 0;
var $_ = $14 ? 15 : $11;
var $_op = $9 << 4;
var $16 = $12 ? 240 : $_op;
var $17 = $_ + $16 | 0;
var $18 = 5316516 + ($17 << 2) | 0;
var $19 = HEAP32[$18 >> 2];
var $_sum_1 = $sum_1 + $19 | 0;
var $20 = $_sum_1 + $15 | 0;
var $21 = $10 >>> 0 < $end >>> 0;
if ($21) {
var $_0 = $10;
var $sum_0 = $20;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $23 = $20 & 65535;
var $24 = $20 >>> 16;
var $25 = $24 >>> 0 > $23 >>> 0;
var $t2_t1 = $25 ? $t2 : $t1;
var $_22 = $25 ? $23 : $24;
var $26 = HEAP32[$s >> 2];
var $27 = $26 + $_22 | 0;
HEAP32[$s >> 2] = $27;
return $t2_t1;
}
}
function _count_bit_noESC($ix, $end, $mx, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $_0 = $ix;
var $sum1_0 = 0;
label = 3;
break;
case 3:
var $sum1_0;
var $_0;
var $2 = $_0 + 4 | 0;
var $3 = HEAP32[$_0 >> 2];
var $4 = $_0 + 8 | 0;
var $5 = HEAP32[$2 >> 2];
var $6 = $3 << 1;
var $7 = $6 + $5 | 0;
var $8 = $7 + 5251160 | 0;
var $9 = HEAP8[$8];
var $10 = $9 & 255;
var $11 = $10 + $sum1_0 | 0;
var $12 = $4 >>> 0 < $end >>> 0;
if ($12) {
var $_0 = $4;
var $sum1_0 = $11;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $14 = HEAP32[$s >> 2];
var $15 = $14 + $11 | 0;
HEAP32[$s >> 2] = $15;
return 1;
}
}
function _count_bit_noESC_from2($ix, $end, $max, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $max - 1 | 0;
var $2 = 5327196 + ($1 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = 5327256 + ($3 << 4) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($1 | 0) == 1;
var $7 = $6 ? 5249704 : 5249640;
var $_0 = $ix;
var $sum_0 = 0;
label = 3;
break;
case 3:
var $sum_0;
var $_0;
var $9 = $_0 + 4 | 0;
var $10 = HEAP32[$_0 >> 2];
var $11 = $_0 + 8 | 0;
var $12 = HEAP32[$9 >> 2];
var $13 = $10 * $5 & -1;
var $14 = $13 + $12 | 0;
var $15 = $7 + ($14 << 2) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $16 + $sum_0 | 0;
var $18 = $11 >>> 0 < $end >>> 0;
if ($18) {
var $_0 = $11;
var $sum_0 = $17;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $20 = $17 & 65535;
var $21 = $17 >>> 16;
var $22 = $21 >>> 0 > $20 >>> 0;
var $_ = $22 ? $20 : $21;
var $23 = $22 & 1;
var $_14 = $23 + $3 | 0;
var $24 = HEAP32[$s >> 2];
var $25 = $24 + $_ | 0;
HEAP32[$s >> 2] = $25;
return $_14;
}
}
function _count_bit_noESC_from3($ix, $end, $max, $s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $max - 1 | 0;
var $2 = 5327196 + ($1 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = 5327256 + ($3 << 4) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = 5327268 + ($3 << 4) | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $3 + 1 | 0;
var $9 = 5327268 + ($8 << 4) | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = $3 + 2 | 0;
var $12 = 5327268 + ($11 << 4) | 0;
var $13 = HEAP32[$12 >> 2];
var $_0 = $ix;
var $sum1_0 = 0;
var $sum2_0 = 0;
var $sum3_0 = 0;
label = 3;
break;
case 3:
var $sum3_0;
var $sum2_0;
var $sum1_0;
var $_0;
var $15 = $_0 + 4 | 0;
var $16 = HEAP32[$_0 >> 2];
var $17 = $_0 + 8 | 0;
var $18 = HEAP32[$15 >> 2];
var $19 = $16 * $5 & -1;
var $20 = $19 + $18 | 0;
var $21 = $7 + $20 | 0;
var $22 = HEAP8[$21];
var $23 = $22 & 255;
var $24 = $23 + $sum1_0 | 0;
var $25 = $10 + $20 | 0;
var $26 = HEAP8[$25];
var $27 = $26 & 255;
var $28 = $27 + $sum2_0 | 0;
var $29 = $13 + $20 | 0;
var $30 = HEAP8[$29];
var $31 = $30 & 255;
var $32 = $31 + $sum3_0 | 0;
var $33 = $17 >>> 0 < $end >>> 0;
if ($33) {
var $_0 = $17;
var $sum1_0 = $24;
var $sum2_0 = $28;
var $sum3_0 = $32;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
var $35 = $24 >>> 0 > $28 >>> 0;
var $_ = $35 ? $8 : $3;
var $_21 = $35 ? $28 : $24;
var $36 = $_21 >>> 0 > $32 >>> 0;
var $t_1 = $36 ? $11 : $_;
var $sum1_2 = $36 ? $32 : $_21;
var $37 = HEAP32[$s >> 2];
var $38 = $37 + $sum1_2 | 0;
HEAP32[$s >> 2] = $38;
return $t_1;
}
}
function _quantize_lines_xrpow($l, $istep, $xp, $pi) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $pi;
var $2 = $l & 2;
var $3 = $l >>> 2;
var $4 = ($3 | 0) == 0;
if ($4) {
var $fi_0_lcssa = $1;
var $_054_lcssa = $xp;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $l & -4;
var $scevgep60 = $pi + ($5 << 2) | 0;
var $fi_055 = $1;
var $_05456 = $xp;
var $_057 = $3;
label = 4;
break;
case 4:
var $_057;
var $_05456;
var $fi_055;
var $7 = $_057 - 1 | 0;
var $8 = HEAPF32[$_05456 >> 2];
var $9 = $8 * $istep;
var $10 = $9;
var $11 = $_05456 + 4 | 0;
var $12 = HEAPF32[$11 >> 2];
var $13 = $12 * $istep;
var $14 = $13;
var $15 = $_05456 + 8 | 0;
var $16 = HEAPF32[$15 >> 2];
var $17 = $16 * $istep;
var $18 = $17;
var $19 = $_05456 + 12 | 0;
var $20 = HEAPF32[$19 >> 2];
var $21 = $20 * $istep;
var $22 = $21;
var $23 = $10 + 8388608;
var $24 = $23;
var $25 = $fi_055 | 0;
HEAPF32[$25 >> 2] = $24;
var $26 = $14 + 8388608;
var $27 = $26;
var $28 = $fi_055 + 4 | 0;
var $29 = $28 | 0;
HEAPF32[$29 >> 2] = $27;
var $30 = $18 + 8388608;
var $31 = $30;
var $32 = $fi_055 + 8 | 0;
var $33 = $32 | 0;
HEAPF32[$33 >> 2] = $31;
var $34 = $22 + 8388608;
var $35 = $34;
var $36 = $fi_055 + 12 | 0;
var $37 = $36 | 0;
HEAPF32[$37 >> 2] = $35;
var $38 = $fi_055;
var $39 = HEAP32[$38 >> 2];
var $40 = $39 - 1258291200 | 0;
var $41 = 5349760 + ($40 << 2) | 0;
var $42 = HEAPF32[$41 >> 2];
var $43 = $42;
var $44 = $23 + $43;
var $45 = $44;
HEAPF32[$25 >> 2] = $45;
var $46 = $28;
var $47 = HEAP32[$46 >> 2];
var $48 = $47 - 1258291200 | 0;
var $49 = 5349760 + ($48 << 2) | 0;
var $50 = HEAPF32[$49 >> 2];
var $51 = $50;
var $52 = $26 + $51;
var $53 = $52;
HEAPF32[$29 >> 2] = $53;
var $54 = $32;
var $55 = HEAP32[$54 >> 2];
var $56 = $55 - 1258291200 | 0;
var $57 = 5349760 + ($56 << 2) | 0;
var $58 = HEAPF32[$57 >> 2];
var $59 = $58;
var $60 = $30 + $59;
var $61 = $60;
HEAPF32[$33 >> 2] = $61;
var $62 = $36;
var $63 = HEAP32[$62 >> 2];
var $64 = $63 - 1258291200 | 0;
var $65 = 5349760 + ($64 << 2) | 0;
var $66 = HEAPF32[$65 >> 2];
var $67 = $66;
var $68 = $34 + $67;
var $69 = $68;
HEAPF32[$37 >> 2] = $69;
var $70 = HEAP32[$38 >> 2];
var $71 = $70 - 1258291200 | 0;
HEAP32[$38 >> 2] = $71;
var $72 = HEAP32[$46 >> 2];
var $73 = $72 - 1258291200 | 0;
HEAP32[$46 >> 2] = $73;
var $74 = HEAP32[$54 >> 2];
var $75 = $74 - 1258291200 | 0;
HEAP32[$54 >> 2] = $75;
var $76 = HEAP32[$62 >> 2];
var $77 = $76 - 1258291200 | 0;
HEAP32[$62 >> 2] = $77;
var $78 = $fi_055 + 16 | 0;
var $79 = $_05456 + 16 | 0;
var $80 = ($7 | 0) == 0;
if ($80) {
label = 5;
break;
} else {
var $fi_055 = $78;
var $_05456 = $79;
var $_057 = $7;
label = 4;
break;
}
case 5:
var $scevgep = $xp + ($5 << 2) | 0;
var $scevgep6061 = $scevgep60;
var $fi_0_lcssa = $scevgep6061;
var $_054_lcssa = $scevgep;
label = 6;
break;
case 6:
var $_054_lcssa;
var $fi_0_lcssa;
var $82 = ($2 | 0) == 0;
if ($82) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $84 = HEAPF32[$_054_lcssa >> 2];
var $85 = $84 * $istep;
var $86 = $85;
var $87 = $_054_lcssa + 4 | 0;
var $88 = HEAPF32[$87 >> 2];
var $89 = $88 * $istep;
var $90 = $89;
var $91 = $86 + 8388608;
var $92 = $91;
var $93 = $fi_0_lcssa | 0;
HEAPF32[$93 >> 2] = $92;
var $94 = $90 + 8388608;
var $95 = $94;
var $96 = $fi_0_lcssa + 4 | 0;
var $97 = $96 | 0;
HEAPF32[$97 >> 2] = $95;
var $98 = $fi_0_lcssa;
var $99 = HEAP32[$98 >> 2];
var $100 = $99 - 1258291200 | 0;
var $101 = 5349760 + ($100 << 2) | 0;
var $102 = HEAPF32[$101 >> 2];
var $103 = $102;
var $104 = $91 + $103;
var $105 = $104;
HEAPF32[$93 >> 2] = $105;
var $106 = $96;
var $107 = HEAP32[$106 >> 2];
var $108 = $107 - 1258291200 | 0;
var $109 = 5349760 + ($108 << 2) | 0;
var $110 = HEAPF32[$109 >> 2];
var $111 = $110;
var $112 = $94 + $111;
var $113 = $112;
HEAPF32[$97 >> 2] = $113;
var $114 = HEAP32[$98 >> 2];
var $115 = $114 - 1258291200 | 0;
HEAP32[$98 >> 2] = $115;
var $116 = HEAP32[$106 >> 2];
var $117 = $116 - 1258291200 | 0;
HEAP32[$106 >> 2] = $117;
label = 8;
break;
case 8:
return;
}
}
_quantize_lines_xrpow["X"] = 1;
function _mpeg2_scale_bitcount($gfc, $cod_info) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $max_sfac = __stackBase__;
var $max_sfac94 = $max_sfac;
var $1 = $cod_info + 4832 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
HEAP32[$max_sfac94 >> 2] = 0;
HEAP32[$max_sfac94 + 4 >> 2] = 0;
HEAP32[$max_sfac94 + 8 >> 2] = 0;
HEAP32[$max_sfac94 + 12 >> 2] = 0;
var $_ = $3 ? 0 : 2;
var $4 = $cod_info + 4788 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = ($5 | 0) == 2;
if ($6) {
var $sfb_079 = 0;
var $partition_080 = 0;
label = 3;
break;
} else {
label = 10;
break;
}
case 3:
var $partition_080;
var $sfb_079;
var $7 = 5291844 + $_ * 48 + ($partition_080 << 2) | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) / 3 & -1;
var $10 = ($8 | 0) > 2;
if ($10) {
label = 4;
break;
} else {
var $sfb_1_lcssa = $sfb_079;
label = 9;
break;
}
case 4:
var $11 = $max_sfac + ($partition_080 << 2) | 0;
var $12 = ($9 | 0) > 1;
var $smax = $12 ? $9 : 1;
var $i_176 = 0;
var $sfb_177 = $sfb_079;
label = 5;
break;
case 5:
var $sfb_177;
var $i_176;
var $14 = $sfb_177 * 3 & -1;
var $15 = $cod_info + 4608 + ($14 << 2) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = HEAP32[$11 >> 2];
var $18 = ($16 | 0) > ($17 | 0);
if ($18) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
HEAP32[$11 >> 2] = $16;
label = 7;
break;
case 7:
var $21 = $14 + 1 | 0;
var $22 = $cod_info + 4608 + ($21 << 2) | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = HEAP32[$11 >> 2];
var $25 = ($23 | 0) > ($24 | 0);
if ($25) {
label = 20;
break;
} else {
label = 21;
break;
}
case 8:
var $26 = $sfb_079 + $smax | 0;
var $sfb_1_lcssa = $26;
label = 9;
break;
case 9:
var $sfb_1_lcssa;
var $28 = $partition_080 + 1 | 0;
var $exitcond = ($28 | 0) == 4;
if ($exitcond) {
var $row_in_table_0 = 1;
label = 14;
break;
} else {
var $sfb_079 = $sfb_1_lcssa;
var $partition_080 = $28;
label = 3;
break;
}
case 10:
var $29 = 5291828 + $_ * 48 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $max_sfac | 0;
var $i_281 = 0;
var $sfb_382 = 0;
label = 11;
break;
case 11:
var $sfb_382;
var $i_281;
var $33 = $cod_info + 4608 + ($sfb_382 << 2) | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = HEAP32[$31 >> 2];
var $36 = ($34 | 0) > ($35 | 0);
if ($36) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
HEAP32[$31 >> 2] = $34;
label = 13;
break;
case 13:
var $39 = $i_281 + 1 | 0;
var $40 = $sfb_382 + 1 | 0;
var $exitcond91 = ($39 | 0) == ($30 | 0);
if ($exitcond91) {
label = 24;
break;
} else {
var $i_281 = $39;
var $sfb_382 = $40;
label = 11;
break;
}
case 14:
var $row_in_table_0;
var $41 = $max_sfac | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = 5314312 + ($_ << 4) | 0;
var $44 = HEAP32[$43 >> 2];
var $45 = ($42 | 0) > ($44 | 0);
var $46 = $45 & 1;
var $47 = $max_sfac + 4 | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = 5314316 + ($_ << 4) | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = ($48 | 0) > ($50 | 0);
var $52 = $51 & 1;
var $_over_0_1 = $52 + $46 | 0;
var $53 = $max_sfac + 8 | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = 5314320 + ($_ << 4) | 0;
var $56 = HEAP32[$55 >> 2];
var $57 = ($54 | 0) > ($56 | 0);
var $58 = $57 & 1;
var $_over_0_2 = $58 + $_over_0_1 | 0;
var $59 = $max_sfac + 12 | 0;
var $60 = HEAP32[$59 >> 2];
var $61 = 5314324 + ($_ << 4) | 0;
var $62 = HEAP32[$61 >> 2];
var $63 = ($60 | 0) > ($62 | 0);
var $64 = $63 & 1;
var $_over_0_3 = $64 + $_over_0_2 | 0;
var $65 = ($_over_0_3 | 0) == 0;
if ($65) {
label = 15;
break;
} else {
label = 19;
break;
}
case 15:
var $67 = 5291828 + $_ * 48 + ($row_in_table_0 << 4) | 0;
var $68 = $cod_info + 5188 | 0;
HEAP32[$68 >> 2] = $67;
var $69 = $max_sfac | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = 5292184 + ($70 << 2) | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = $cod_info + 5192 | 0;
HEAP32[$73 >> 2] = $72;
var $74 = $max_sfac + 4 | 0;
var $75 = HEAP32[$74 >> 2];
var $76 = 5292184 + ($75 << 2) | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = $cod_info + 5196 | 0;
HEAP32[$78 >> 2] = $77;
var $79 = $max_sfac + 8 | 0;
var $80 = HEAP32[$79 >> 2];
var $81 = 5292184 + ($80 << 2) | 0;
var $82 = HEAP32[$81 >> 2];
var $83 = $cod_info + 5200 | 0;
HEAP32[$83 >> 2] = $82;
var $84 = $max_sfac + 12 | 0;
var $85 = HEAP32[$84 >> 2];
var $86 = 5292184 + ($85 << 2) | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = $cod_info + 5204 | 0;
HEAP32[$88 >> 2] = $87;
var $89 = $cod_info + 5192 | 0;
var $90 = HEAP32[$89 >> 2];
var $91 = $cod_info + 5196 | 0;
var $92 = HEAP32[$91 >> 2];
if ($3) {
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $93 = $90 * 3 & -1;
var $94 = $93 + 500 | 0;
var $95 = $94 + $92 | 0;
var $96 = $cod_info + 4784 | 0;
HEAP32[$96 >> 2] = $95;
label = 18;
break;
case 17:
var $98 = $cod_info + 5200 | 0;
var $99 = HEAP32[$98 >> 2];
var $100 = $cod_info + 5204 | 0;
var $101 = HEAP32[$100 >> 2];
var $102 = $90 * 5 & -1;
var $103 = $102 + $92 | 0;
var $104 = $103 << 4;
var $105 = $99 << 2;
var $106 = $105 + $104 | 0;
var $107 = $106 + $101 | 0;
var $108 = $cod_info + 4784 | 0;
HEAP32[$108 >> 2] = $107;
label = 18;
break;
case 18:
var $109 = $cod_info + 4844 | 0;
HEAP32[$109 >> 2] = 0;
var $110 = $cod_info + 5192 | 0;
var $111 = HEAP32[$110 >> 2];
var $112 = HEAP32[$68 >> 2];
var $113 = HEAP32[$112 >> 2];
var $114 = $113 * $111 & -1;
HEAP32[$109 >> 2] = $114;
var $115 = $cod_info + 5196 | 0;
var $116 = HEAP32[$115 >> 2];
var $117 = HEAP32[$68 >> 2];
var $118 = $117 + 4 | 0;
var $119 = HEAP32[$118 >> 2];
var $120 = $119 * $116 & -1;
var $121 = HEAP32[$109 >> 2];
var $122 = $121 + $120 | 0;
HEAP32[$109 >> 2] = $122;
var $123 = $cod_info + 5200 | 0;
var $124 = HEAP32[$123 >> 2];
var $125 = HEAP32[$68 >> 2];
var $126 = $125 + 8 | 0;
var $127 = HEAP32[$126 >> 2];
var $128 = $127 * $124 & -1;
var $129 = HEAP32[$109 >> 2];
var $130 = $129 + $128 | 0;
HEAP32[$109 >> 2] = $130;
var $131 = $cod_info + 5204 | 0;
var $132 = HEAP32[$131 >> 2];
var $133 = HEAP32[$68 >> 2];
var $134 = $133 + 12 | 0;
var $135 = HEAP32[$134 >> 2];
var $136 = $135 * $132 & -1;
var $137 = HEAP32[$109 >> 2];
var $138 = $137 + $136 | 0;
HEAP32[$109 >> 2] = $138;
label = 19;
break;
case 19:
STACKTOP = __stackBase__;
return $_over_0_3;
case 20:
HEAP32[$11 >> 2] = $23;
label = 21;
break;
case 21:
var $141 = $14 + 2 | 0;
var $142 = $cod_info + 4608 + ($141 << 2) | 0;
var $143 = HEAP32[$142 >> 2];
var $144 = HEAP32[$11 >> 2];
var $145 = ($143 | 0) > ($144 | 0);
if ($145) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
HEAP32[$11 >> 2] = $143;
label = 23;
break;
case 23:
var $148 = $i_176 + 1 | 0;
var $149 = $sfb_177 + 1 | 0;
var $150 = ($148 | 0) < ($9 | 0);
if ($150) {
var $i_176 = $148;
var $sfb_177 = $149;
label = 5;
break;
} else {
label = 8;
break;
}
case 24:
var $151 = 5291832 + $_ * 48 | 0;
var $152 = HEAP32[$151 >> 2];
var $153 = $max_sfac + 4 | 0;
var $i_281_1 = 0;
var $sfb_382_1 = $30;
label = 25;
break;
case 25:
var $sfb_382_1;
var $i_281_1;
var $155 = $cod_info + 4608 + ($sfb_382_1 << 2) | 0;
var $156 = HEAP32[$155 >> 2];
var $157 = HEAP32[$153 >> 2];
var $158 = ($156 | 0) > ($157 | 0);
if ($158) {
label = 26;
break;
} else {
label = 27;
break;
}
case 26:
HEAP32[$153 >> 2] = $156;
label = 27;
break;
case 27:
var $161 = $i_281_1 + 1 | 0;
var $162 = $sfb_382_1 + 1 | 0;
var $exitcond91_1 = ($161 | 0) == ($152 | 0);
if ($exitcond91_1) {
label = 28;
break;
} else {
var $i_281_1 = $161;
var $sfb_382_1 = $162;
label = 25;
break;
}
case 28:
var $164 = $30 + $152 | 0;
var $165 = 5291836 + $_ * 48 | 0;
var $166 = HEAP32[$165 >> 2];
if ($3) {
label = 29;
break;
} else {
var $sfb_3_lcssa_2 = $164;
label = 34;
break;
}
case 29:
var $167 = $max_sfac + 8 | 0;
var $i_281_2 = 0;
var $sfb_382_2 = $164;
label = 30;
break;
case 30:
var $sfb_382_2;
var $i_281_2;
var $169 = $cod_info + 4608 + ($sfb_382_2 << 2) | 0;
var $170 = HEAP32[$169 >> 2];
var $171 = HEAP32[$167 >> 2];
var $172 = ($170 | 0) > ($171 | 0);
if ($172) {
label = 31;
break;
} else {
label = 32;
break;
}
case 31:
HEAP32[$167 >> 2] = $170;
label = 32;
break;
case 32:
var $175 = $i_281_2 + 1 | 0;
var $176 = $sfb_382_2 + 1 | 0;
var $exitcond91_2 = ($175 | 0) == ($166 | 0);
if ($exitcond91_2) {
label = 33;
break;
} else {
var $i_281_2 = $175;
var $sfb_382_2 = $176;
label = 30;
break;
}
case 33:
var $177 = $164 + $166 | 0;
var $sfb_3_lcssa_2 = $177;
label = 34;
break;
case 34:
var $sfb_3_lcssa_2;
var $179 = 5291840 + $_ * 48 | 0;
var $180 = HEAP32[$179 >> 2];
var $181 = 19 >>> ($_ >>> 0);
var $182 = $181 & 1;
var $183 = ($182 | 0) == 0;
if ($183) {
var $row_in_table_0 = 0;
label = 14;
break;
} else {
label = 35;
break;
}
case 35:
var $184 = $max_sfac + 12 | 0;
var $i_281_3 = 0;
var $sfb_382_3 = $sfb_3_lcssa_2;
label = 36;
break;
case 36:
var $sfb_382_3;
var $i_281_3;
var $186 = $cod_info + 4608 + ($sfb_382_3 << 2) | 0;
var $187 = HEAP32[$186 >> 2];
var $188 = HEAP32[$184 >> 2];
var $189 = ($187 | 0) > ($188 | 0);
if ($189) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
HEAP32[$184 >> 2] = $187;
label = 38;
break;
case 38:
var $192 = $i_281_3 + 1 | 0;
var $193 = $sfb_382_3 + 1 | 0;
var $exitcond91_3 = ($192 | 0) == ($180 | 0);
if ($exitcond91_3) {
var $row_in_table_0 = 0;
label = 14;
break;
} else {
var $i_281_3 = $192;
var $sfb_382_3 = $193;
label = 36;
break;
}
}
}
_mpeg2_scale_bitcount["X"] = 1;
function _choose_table_nonMMX($ix, $end, $_s) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _ix_max($ix, $end);
var $2 = $1 >>> 0 < 16;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $4 = 5348588 + ($1 << 2) | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = FUNCTION_TABLE[$5]($ix, $end, $1, $_s);
var $_0 = $6;
label = 13;
break;
case 4:
var $8 = $1 >>> 0 > 8206;
if ($8) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
HEAP32[$_s >> 2] = 1e5;
var $_0 = -1;
label = 13;
break;
case 6:
var $11 = $1 - 15 | 0;
var $choice2_0 = 24;
label = 7;
break;
case 7:
var $choice2_0;
var $13 = ($choice2_0 | 0) < 32;
if ($13) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $15 = 5327260 + ($choice2_0 << 4) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $16 >>> 0 < $11 >>> 0;
var $18 = $choice2_0 + 1 | 0;
if ($17) {
var $choice2_0 = $18;
label = 7;
break;
} else {
label = 9;
break;
}
case 9:
var $20 = $choice2_0 - 8 | 0;
var $choice_0 = $20;
label = 10;
break;
case 10:
var $choice_0;
var $22 = ($choice_0 | 0) < 24;
if ($22) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $24 = 5327260 + ($choice_0 << 4) | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = $25 >>> 0 < $11 >>> 0;
var $27 = $choice_0 + 1 | 0;
if ($26) {
var $choice_0 = $27;
label = 10;
break;
} else {
label = 12;
break;
}
case 12:
var $29 = _count_bit_ESC($ix, $end, $choice_0, $choice2_0, $_s);
var $_0 = $29;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
function _SmpFrqIndex($sample_freq, $version) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
if (($sample_freq | 0) == 44100) {
label = 3;
break;
} else if (($sample_freq | 0) == 48e3) {
label = 4;
break;
} else if (($sample_freq | 0) == 32e3) {
label = 5;
break;
} else if (($sample_freq | 0) == 22050) {
label = 6;
break;
} else if (($sample_freq | 0) == 24e3) {
label = 7;
break;
} else if (($sample_freq | 0) == 16e3) {
label = 8;
break;
} else if (($sample_freq | 0) == 11025) {
label = 9;
break;
} else if (($sample_freq | 0) == 12e3) {
label = 10;
break;
} else if (($sample_freq | 0) == 8e3) {
label = 11;
break;
} else {
label = 12;
break;
}
case 3:
HEAP32[$version >> 2] = 1;
var $_0 = 0;
label = 13;
break;
case 4:
HEAP32[$version >> 2] = 1;
var $_0 = 1;
label = 13;
break;
case 5:
HEAP32[$version >> 2] = 1;
var $_0 = 2;
label = 13;
break;
case 6:
HEAP32[$version >> 2] = 0;
var $_0 = 0;
label = 13;
break;
case 7:
HEAP32[$version >> 2] = 0;
var $_0 = 1;
label = 13;
break;
case 8:
HEAP32[$version >> 2] = 0;
var $_0 = 2;
label = 13;
break;
case 9:
HEAP32[$version >> 2] = 0;
var $_0 = 0;
label = 13;
break;
case 10:
HEAP32[$version >> 2] = 0;
var $_0 = 1;
label = 13;
break;
case 11:
HEAP32[$version >> 2] = 0;
var $_0 = 2;
label = 13;
break;
case 12:
HEAP32[$version >> 2] = 0;
var $_0 = -1;
label = 13;
break;
case 13:
var $_0;
return $_0;
}
}
function _map2MP3Frequency($freq) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($freq | 0) < 8001;
if ($1) {
var $_0 = 8e3;
label = 10;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = ($freq | 0) < 11026;
if ($3) {
var $_0 = 11025;
label = 10;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = ($freq | 0) < 12001;
if ($5) {
var $_0 = 12e3;
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
var $7 = ($freq | 0) < 16001;
if ($7) {
var $_0 = 16e3;
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $9 = ($freq | 0) < 22051;
if ($9) {
var $_0 = 22050;
label = 10;
break;
} else {
label = 7;
break;
}
case 7:
var $11 = ($freq | 0) < 24001;
if ($11) {
var $_0 = 24e3;
label = 10;
break;
} else {
label = 8;
break;
}
case 8:
var $13 = ($freq | 0) < 32001;
if ($13) {
var $_0 = 32e3;
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $15 = ($freq | 0) < 44101;
var $_ = $15 ? 44100 : 48e3;
var $_0 = $_;
label = 10;
break;
case 10:
var $_0;
return $_0;
}
}
function _quantize_lines_xrpow_01($l, $istep, $xr, $ix) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = .5945999622344971 / $istep;
var $2 = ($l | 0) == 0;
if ($2) {
label = 4;
break;
} else {
var $i_013 = 0;
label = 3;
break;
}
case 3:
var $i_013;
var $3 = $xr + ($i_013 << 2) | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = $i_013 | 1;
var $6 = $xr + ($5 << 2) | 0;
var $7 = HEAPF32[$6 >> 2];
var $not_ = $1 <= $4;
var $8 = $not_ & 1;
var $not_12 = $1 <= $7;
var $9 = $not_12 & 1;
var $10 = $ix + ($i_013 << 2) | 0;
HEAP32[$10 >> 2] = $8;
var $11 = $ix + ($5 << 2) | 0;
HEAP32[$11 >> 2] = $9;
var $12 = $i_013 + 2 | 0;
var $13 = $12 >>> 0 < $l >>> 0;
if ($13) {
var $i_013 = $12;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
return;
}
}
function _FindNearestBitrate($bRate, $version, $samplerate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($samplerate | 0) < 16e3;
var $_version = $1 ? 2 : $version;
var $2 = 5348688 + ($_version << 6) | 0;
var $3 = HEAP32[$2 >> 2];
var $bitrate_017 = $3;
var $i_018 = 2;
label = 3;
break;
case 3:
var $i_018;
var $bitrate_017;
var $5 = 5348684 + ($_version << 6) + ($i_018 << 2) | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) > 0;
if ($7) {
label = 4;
break;
} else {
var $bitrate_1 = $bitrate_017;
label = 5;
break;
}
case 4:
var $9 = $6 - $bRate | 0;
var $10 = ($9 | 0) > 0;
var $11 = -$9 | 0;
var $12 = $10 ? $9 : $11;
var $13 = $bitrate_017 - $bRate | 0;
var $14 = ($13 | 0) > 0;
var $15 = -$13 | 0;
var $16 = $14 ? $13 : $15;
var $17 = ($12 | 0) < ($16 | 0);
var $_bitrate_0 = $17 ? $6 : $bitrate_017;
var $bitrate_1 = $_bitrate_0;
label = 5;
break;
case 5:
var $bitrate_1;
var $19 = $i_018 + 1 | 0;
var $exitcond = ($19 | 0) == 15;
if ($exitcond) {
label = 6;
break;
} else {
var $bitrate_017 = $bitrate_1;
var $i_018 = $19;
label = 3;
break;
}
case 6:
return $bitrate_1;
}
}
function _nearestBitrateFullIndex($bitrate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bitrate & 65535;
var $b_0 = 0;
label = 3;
break;
case 3:
var $b_0;
var $3 = ($b_0 | 0) < 16;
if ($3) {
label = 4;
break;
} else {
var $upper_range_kbps_0 = 320;
var $upper_range_0 = 16;
var $lower_range_kbps_0 = 320;
var $lower_range_0 = 16;
label = 6;
break;
}
case 4:
var $5 = $b_0 + 1 | 0;
var $6 = 5292116 + ($5 << 2) | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($1 | 0) > ($7 | 0);
var $_ = $8 ? $1 : $7;
var $9 = ($_ | 0) == ($1 | 0);
if ($9) {
var $b_0 = $5;
label = 3;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = 5292116 + ($b_0 << 2) | 0;
var $12 = HEAP32[$11 >> 2];
var $upper_range_kbps_0 = $7;
var $upper_range_0 = $5;
var $lower_range_kbps_0 = $12;
var $lower_range_0 = $b_0;
label = 6;
break;
case 6:
var $lower_range_0;
var $lower_range_kbps_0;
var $upper_range_0;
var $upper_range_kbps_0;
var $13 = $bitrate & 65535;
var $14 = $upper_range_kbps_0 - $13 | 0;
var $15 = $13 - $lower_range_kbps_0 | 0;
var $16 = ($14 | 0) > ($15 | 0);
var $lower_range_0_upper_range_0 = $16 ? $lower_range_0 : $upper_range_0;
return $lower_range_0_upper_range_0;
}
}
function _BitrateIndex($bRate, $version, $samplerate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($samplerate | 0) < 16e3;
var $_version = $1 ? 2 : $version;
var $i_0 = 0;
label = 3;
break;
case 3:
var $i_0;
var $3 = ($i_0 | 0) < 15;
if ($3) {
label = 4;
break;
} else {
var $_0 = -1;
label = 5;
break;
}
case 4:
var $5 = 5348684 + ($_version << 6) + ($i_0 << 2) | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) > 0;
var $8 = ($6 | 0) == ($bRate | 0);
var $or_cond = $7 & $8;
var $9 = $i_0 + 1 | 0;
if ($or_cond) {
var $_0 = $i_0;
label = 5;
break;
} else {
var $i_0 = $9;
label = 3;
break;
}
case 5:
var $_0;
return $_0;
}
}
function _isResamplingNecessary($cfg) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cfg + 48 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 | 0;
var $4 = $3 * .9994999766349792;
var $5 = $4 & -1;
var $6 = $cfg + 44 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) < ($5 | 0);
if ($8) {
var $14 = 1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $10 = $3 * 1.000499963760376;
var $11 = $10 & -1;
var $12 = ($11 | 0) < ($7 | 0);
var $14 = $12;
label = 4;
break;
case 4:
var $14;
var $15 = $14 & 1;
return $15;
}
}
function _free_id3tag($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 85700 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
if ($3) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
_free($2);
HEAP32[$1 >> 2] = 0;
label = 4;
break;
case 4:
var $6 = $gfc + 85704 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = ($7 | 0) == 0;
if ($8) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
_free($7);
HEAP32[$6 >> 2] = 0;
label = 6;
break;
case 6:
var $11 = $gfc + 85708 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
_free($12);
HEAP32[$11 >> 2] = 0;
label = 8;
break;
case 8:
var $16 = $gfc + 85712 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) == 0;
if ($18) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
_free($17);
HEAP32[$16 >> 2] = 0;
label = 10;
break;
case 10:
var $21 = $gfc + 85724 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($22 | 0) == 0;
if ($23) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
_free($22);
HEAP32[$21 >> 2] = 0;
var $25 = $gfc + 85728 | 0;
HEAP32[$25 >> 2] = 0;
var $26 = $gfc + 85736 | 0;
HEAP32[$26 >> 2] = 0;
label = 12;
break;
case 12:
var $28 = $gfc + 85740 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = ($29 | 0) == 0;
if ($30) {
label = 15;
break;
} else {
var $node_0 = $29;
label = 13;
break;
}
case 13:
var $node_0;
var $31 = $node_0 + 12 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $node_0 + 24 | 0;
var $34 = HEAP32[$33 >> 2];
var $35 = $node_0;
var $36 = $node_0 | 0;
var $37 = HEAP32[$36 >> 2];
_free($32);
_free($34);
_free($35);
var $38 = ($37 | 0) == 0;
if ($38) {
label = 14;
break;
} else {
var $node_0 = $37;
label = 13;
break;
}
case 14:
HEAP32[$28 >> 2] = 0;
var $40 = $gfc + 85744 | 0;
HEAP32[$40 >> 2] = 0;
label = 15;
break;
case 15:
return;
}
}
_free_id3tag["X"] = 1;
function _freegfc($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_034 = 0;
label = 3;
break;
case 3:
var $i_034;
var $2 = $gfc + 37188 + ($i_034 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 0;
if ($4) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = $3;
_free($6);
HEAP32[$2 >> 2] = 0;
label = 5;
break;
case 5:
var $8 = $i_034 + 1 | 0;
var $exitcond = ($8 | 0) == 641;
if ($exitcond) {
label = 6;
break;
} else {
var $i_034 = $8;
label = 3;
break;
}
case 6:
var $10 = $gfc + 37180 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($11 | 0) == 0;
if ($12) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $14 = $11;
_free($14);
HEAP32[$10 >> 2] = 0;
label = 8;
break;
case 8:
var $16 = $gfc + 37184 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) == 0;
if ($18) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $20 = $17;
_free($20);
HEAP32[$16 >> 2] = 0;
label = 10;
break;
case 10:
var $22 = $gfc + 284 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = ($23 | 0) == 0;
if ($24) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
_free($23);
HEAP32[$22 >> 2] = 0;
label = 12;
break;
case 12:
var $27 = $gfc + 85776 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $31 = $28;
_free($31);
HEAP32[$27 >> 2] = 0;
var $32 = $gfc + 85772 | 0;
HEAP32[$32 >> 2] = 0;
label = 14;
break;
case 14:
var $34 = $gfc + 85792 | 0;
var $35 = HEAP32[$34 >> 2];
var $36 = ($35 | 0) == 0;
if ($36) {
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $38 = $35;
_free($38);
label = 16;
break;
case 16:
var $40 = $gfc + 85672 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = ($41 | 0) == 0;
if ($42) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $44 = $41;
_free($44);
label = 18;
break;
case 18:
var $46 = $gfc + 52148 | 0;
var $47 = HEAP32[$46 >> 2];
var $48 = ($47 | 0) == 0;
if ($48) {
label = 20;
break;
} else {
label = 19;
break;
}
case 19:
var $50 = $47;
_free($50);
label = 20;
break;
case 20:
var $52 = $gfc + 52152 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = ($53 | 0) == 0;
if ($54) {
label = 22;
break;
} else {
label = 21;
break;
}
case 21:
var $56 = $53;
_free($56);
label = 22;
break;
case 22:
_free_id3tag($gfc);
var $58 = $gfc + 85804 | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = ($59 | 0) == 0;
if ($60) {
label = 24;
break;
} else {
label = 23;
break;
}
case 23:
var $62 = _hip_decode_exit($59);
HEAP32[$58 >> 2] = 0;
label = 24;
break;
case 24:
_free_global_data($gfc);
var $64 = $gfc;
_free($64);
return;
}
}
_freegfc["X"] = 1;
function _free_global_data($gfc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($gfc | 0) == 0;
if ($1) {
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfc + 85796 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 9;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $4 + 2156 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $8;
_free($11);
label = 6;
break;
case 6:
var $13 = HEAP32[$3 >> 2];
var $14 = $13 + 4316 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = ($15 | 0) == 0;
if ($16) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $18 = $15;
_free($18);
label = 8;
break;
case 8:
var $20 = HEAP32[$3 >> 2];
var $21 = $20;
_free($21);
HEAP32[$3 >> 2] = 0;
label = 9;
break;
case 9:
return;
}
}
function _malloc_aligned($ptr, $size, $bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($ptr | 0) == 0;
if ($1) {
label = 7;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $ptr + 4 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 4;
break;
} else {
label = 7;
break;
}
case 4:
var $7 = $bytes + $size | 0;
var $8 = _malloc($7);
HEAP32[$3 >> 2] = $8;
var $9 = ($bytes | 0) == 0;
if ($9) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $8;
var $12 = $bytes - 1 | 0;
var $13 = $12 + $11 | 0;
var $14 = ($13 >>> 0) % ($bytes >>> 0);
var $15 = $13 - $14 | 0;
var $16 = $15;
var $17 = $ptr | 0;
HEAP32[$17 >> 2] = $16;
label = 7;
break;
case 6:
var $19 = $ptr | 0;
HEAP32[$19 >> 2] = $8;
label = 7;
break;
case 7:
return;
}
}
function _free_aligned($ptr) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($ptr | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $ptr + 4 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
_free($4);
HEAP32[$3 >> 2] = 0;
var $7 = $ptr | 0;
HEAP32[$7 >> 2] = 0;
label = 5;
break;
case 5:
return;
}
}
function _ATHformula($cfg, $f) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cfg + 192 | 0;
var $2 = HEAP32[$1 >> 2];
if (($2 | 0) == 0) {
label = 3;
break;
} else if (($2 | 0) == 1) {
label = 4;
break;
} else if (($2 | 0) == 2) {
label = 5;
break;
} else if (($2 | 0) == 3) {
label = 6;
break;
} else if (($2 | 0) == 4) {
label = 7;
break;
} else if (($2 | 0) == 5) {
label = 8;
break;
} else {
label = 9;
break;
}
case 3:
var $4 = _ATHformula_GB($f, 9, .10000000149011612, 24);
var $ath_0 = $4;
label = 10;
break;
case 4:
var $6 = _ATHformula_GB($f, -1, .10000000149011612, 24);
var $ath_0 = $6;
label = 10;
break;
case 5:
var $8 = _ATHformula_GB($f, 0, .10000000149011612, 24);
var $ath_0 = $8;
label = 10;
break;
case 6:
var $10 = _ATHformula_GB($f, 1, .10000000149011612, 24);
var $11 = $10 + 6;
var $ath_0 = $11;
label = 10;
break;
case 7:
var $13 = $cfg + 188 | 0;
var $14 = HEAPF32[$13 >> 2];
var $15 = _ATHformula_GB($f, $14, .10000000149011612, 24);
var $ath_0 = $15;
label = 10;
break;
case 8:
var $17 = $cfg + 188 | 0;
var $18 = HEAPF32[$17 >> 2];
var $19 = _ATHformula_GB($f, $18, 3.4100000858306885, 16.100000381469727);
var $ath_0 = $19;
label = 10;
break;
case 9:
var $21 = _ATHformula_GB($f, 0, .10000000149011612, 24);
var $ath_0 = $21;
label = 10;
break;
case 10:
var $ath_0;
return $ath_0;
}
}
function _ATHformula_GB($f, $value, $f_min, $f_max) {
var $3 = ($f < -.3 ? 3410 : $f) / 1e3;
var $5 = $3 < $f_min ? $f_min : $3;
var $8 = $5 > $f_max ? $f_max : $5;
var $10 = Math.pow($8, -.8) * 3.64;
var $11 = $8 - 3.4;
var $15 = $10 - Math.exp($11 * $11 * -.6) * 6.8;
var $16 = $8 - 8.7;
var $20 = $15 + Math.exp($16 * $16 * -.15) * 6;
return $20 + ($value * .04 + .6) * .001 * Math.pow($8, 4);
}
function _freq2bark($freq) {
var $4 = $freq < 0 ? 0 : $freq * .001;
var $8 = Math.atan($4 * .76) * 13;
return $8 + Math.atan($4 * $4 / 56.25) * 3.5;
}
function _fill_buffer($gfc, $mfbuf, $in_buffer, $nsamples, $n_in, $n_out) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 16 | 0;
var $2 = $gfc + 84032 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $gfc + 76 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 * 576 & -1;
var $7 = $gfc + 72 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = _isResamplingNecessary($1);
var $10 = ($9 | 0) == 0;
if ($10) {
label = 5;
break;
} else {
var $ch_0 = 0;
label = 3;
break;
}
case 3:
var $ch_0;
var $11 = $mfbuf + ($ch_0 << 2) | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $12 + ($3 << 2) | 0;
var $14 = $in_buffer + ($ch_0 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = _fill_buffer_resample($gfc, $13, $6, $15, $nsamples, $n_in, $ch_0);
var $17 = $ch_0 + 1 | 0;
var $18 = ($17 | 0) < ($8 | 0);
if ($18) {
var $ch_0 = $17;
label = 3;
break;
} else {
label = 4;
break;
}
case 4:
HEAP32[$n_out >> 2] = $16;
label = 8;
break;
case 5:
var $21 = ($6 | 0) < ($nsamples | 0);
var $22 = $21 ? $6 : $nsamples;
var $23 = $22 << 2;
var $ch_1 = 0;
label = 6;
break;
case 6:
var $ch_1;
var $25 = $mfbuf + ($ch_1 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $26 + ($3 << 2) | 0;
var $28 = $27;
var $29 = $in_buffer + ($ch_1 << 2) | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $30;
_memcpy($28, $31, $23);
var $32 = $ch_1 + 1 | 0;
var $33 = ($32 | 0) < ($8 | 0);
if ($33) {
var $ch_1 = $32;
label = 6;
break;
} else {
label = 7;
break;
}
case 7:
HEAP32[$n_out >> 2] = $22;
HEAP32[$n_in >> 2] = $22;
label = 8;
break;
case 8:
return;
}
}
function _has_MMX() {
return 0;
}
function _has_3DNow() {
return 0;
}
function _has_SSE() {
return 0;
}
function _has_SSE2() {
return 0;
}
function _disable_FPE() {
return;
}
function _gcd($i, $j) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($j | 0) == 0;
if ($1) {
var $i_tr_lcssa = $i;
label = 4;
break;
} else {
var $i_tr5 = $i;
var $j_tr6 = $j;
label = 3;
break;
}
case 3:
var $j_tr6;
var $i_tr5;
var $2 = ($i_tr5 | 0) % ($j_tr6 | 0);
var $3 = ($2 | 0) == 0;
if ($3) {
var $i_tr_lcssa = $j_tr6;
label = 4;
break;
} else {
var $i_tr5 = $j_tr6;
var $j_tr6 = $2;
label = 3;
break;
}
case 4:
var $i_tr_lcssa;
return $i_tr_lcssa;
}
}
function _fast_log2($x) {
var $1 = (HEAPF32[tempDoublePtr >> 2] = $x, HEAP32[tempDoublePtr >> 2]);
var $8 = ($1 & 16383 | 0) * 6103515625e-14;
var $10 = $1 >>> 14 & 511;
return (($1 >>> 23 & 255) - 127 | 0) + ((1 - $8) * HEAPF32[5314464 + ($10 << 2) >> 2] + $8 * HEAPF32[5314464 + ($10 + 1 << 2) >> 2]);
}
function _fill_buffer_resample($gfc, $outbuf, $desired_len, $inbuf, $len, $num_used, $ch) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 60 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 | 0;
var $4 = $gfc + 64 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 | 0;
var $7 = $3 / $6;
var $8 = _gcd($5, $2);
var $9 = ($5 | 0) / ($8 | 0) & -1;
var $10 = ($9 | 0) > 320;
var $_ = $10 ? 320 : $9;
var $11 = $7 + .5;
var $12 = Math.floor($11);
var $13 = $7 - $12;
var $14 = Math.abs($13);
var $15 = $14 < 1e-4;
var $16 = 1 / $7;
var $17 = $16;
var $18 = $17 > 1;
var $fcn_0 = $18 ? 1 : $17;
var $19 = $15 ? 32 : 31;
var $20 = $19 + 1 | 0;
var $21 = $gfc + 12 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = ($22 | 0) == 0;
if ($23) {
label = 3;
break;
} else {
var $j_1 = 0;
label = 15;
break;
}
case 3:
var $25 = _calloc($20, 4);
var $26 = $25;
var $27 = $gfc + 37180 | 0;
HEAP32[$27 >> 2] = $26;
var $28 = _calloc($20, 4);
var $29 = $28;
var $30 = $gfc + 37184 | 0;
HEAP32[$30 >> 2] = $29;
var $31 = $_ << 1;
var $32 = ($31 | 0) < 0;
if ($32) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $33 = $gfc + 37164 | 0;
var $34 = $33;
HEAP32[$34 >> 2] = 0;
HEAP32[$34 + 4 >> 2] = 0;
HEAP32[$34 + 8 >> 2] = 0;
HEAP32[$34 + 12 >> 2] = 0;
var $j_0_lcssa = 0;
label = 14;
break;
case 5:
var $35 = ($9 | 0) < 320;
var $36 = $9 << 1;
var $_op_op160 = $36 | 1;
var $37 = $35 ? $_op_op160 : 641;
var $i_0144 = 0;
label = 6;
break;
case 6:
var $i_0144;
var $39 = _calloc($20, 4);
var $40 = $39;
var $41 = $gfc + 37188 + ($i_0144 << 2) | 0;
HEAP32[$41 >> 2] = $40;
var $42 = $i_0144 + 1 | 0;
var $exitcond159 = ($42 | 0) == ($37 | 0);
if ($exitcond159) {
label = 7;
break;
} else {
var $i_0144 = $42;
label = 6;
break;
}
case 7:
var $43 = $gfc + 37164 | 0;
var $44 = ($31 | 0) < 0;
var $45 = $43;
HEAP32[$45 >> 2] = 0;
HEAP32[$45 + 4 >> 2] = 0;
HEAP32[$45 + 8 >> 2] = 0;
HEAP32[$45 + 12 >> 2] = 0;
if ($44) {
var $j_0_lcssa = 0;
label = 14;
break;
} else {
label = 8;
break;
}
case 8:
var $46 = $_ | 0;
var $47 = $46 * 2;
var $48 = ($9 | 0) < 320;
var $49 = $9 << 1;
var $_op161_op162 = $49 | 1;
var $50 = $48 ? $_op161_op162 : 641;
var $j_0139 = 0;
label = 9;
break;
case 9:
var $j_0139;
var $52 = $j_0139 - $_ | 0;
var $53 = $52 | 0;
var $54 = $53 / $47;
var $55 = $54;
var $56 = $gfc + 37188 + ($j_0139 << 2) | 0;
var $sum_0136 = 0;
var $i_1137 = 0;
label = 10;
break;
case 10:
var $i_1137;
var $sum_0136;
var $58 = $i_1137 | 0;
var $59 = $58 - $55;
var $60 = _blackman($59, $fcn_0, $19);
var $61 = HEAP32[$56 >> 2];
var $62 = $61 + ($i_1137 << 2) | 0;
HEAPF32[$62 >> 2] = $60;
var $63 = $sum_0136 + $60;
var $64 = $i_1137 + 1 | 0;
var $65 = ($64 | 0) > ($19 | 0);
if ($65) {
label = 11;
break;
} else {
var $sum_0136 = $63;
var $i_1137 = $64;
label = 10;
break;
}
case 11:
var $66 = $gfc + 37188 + ($j_0139 << 2) | 0;
var $i_2138 = 0;
label = 12;
break;
case 12:
var $i_2138;
var $68 = HEAP32[$66 >> 2];
var $69 = $68 + ($i_2138 << 2) | 0;
var $70 = HEAPF32[$69 >> 2];
var $71 = $70 / $63;
HEAPF32[$69 >> 2] = $71;
var $72 = $i_2138 + 1 | 0;
var $73 = ($72 | 0) > ($19 | 0);
if ($73) {
label = 13;
break;
} else {
var $i_2138 = $72;
label = 12;
break;
}
case 13:
var $75 = $j_0139 + 1 | 0;
var $exitcond157 = ($75 | 0) == ($50 | 0);
if ($exitcond157) {
var $j_0_lcssa = $50;
label = 14;
break;
} else {
var $j_0139 = $75;
label = 9;
break;
}
case 14:
var $j_0_lcssa;
HEAP32[$21 >> 2] = 1;
var $j_1 = $j_0_lcssa;
label = 15;
break;
case 15:
var $j_1;
var $77 = $gfc + 37180 + ($ch << 2) | 0;
var $78 = HEAP32[$77 >> 2];
var $79 = ($desired_len | 0) > 0;
if ($79) {
label = 16;
break;
} else {
var $j_3 = $j_1;
var $k_0_lcssa = 0;
label = 24;
break;
}
case 16:
var $80 = $gfc + 37164 + ($ch << 3) | 0;
var $81 = $19 >>> 1;
var $82 = $19 - $81 | 0;
var $83 = $19 & 1;
var $84 = $83 | 0;
var $85 = $84 * .5;
var $86 = $_ | 0;
var $k_0130 = 0;
label = 17;
break;
case 17:
var $k_0130;
var $88 = $k_0130 | 0;
var $89 = $7 * $88;
var $90 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$80 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$80 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $91 = $89 - $90;
var $92 = Math.floor($91);
var $93 = $92 & -1;
var $94 = $82 + $93 | 0;
var $95 = ($94 | 0) < ($len | 0);
if ($95) {
label = 18;
break;
} else {
var $j_3 = $93;
var $k_0_lcssa = $k_0130;
label = 24;
break;
}
case 18:
var $97 = $93 | 0;
var $98 = $85 + $97;
var $99 = $91 - $98;
var $100 = $99;
var $101 = $100 * 2;
var $102 = $86 * $101;
var $103 = $86 + $102;
var $104 = $103;
var $105 = $104 + .5;
var $106 = Math.floor($105);
var $107 = $106 & -1;
var $108 = $93 - $81 | 0;
var $109 = $gfc + 37188 + ($107 << 2) | 0;
var $110 = HEAP32[$109 >> 2];
var $i_3128 = 0;
var $xvalue_0129 = 0;
label = 19;
break;
case 19:
var $xvalue_0129;
var $i_3128;
var $112 = $108 + $i_3128 | 0;
var $113 = ($112 | 0) < 0;
if ($113) {
label = 20;
break;
} else {
label = 21;
break;
}
case 20:
var $115 = $112 + $20 | 0;
var $116 = $78 + ($115 << 2) | 0;
var $_in = $116;
label = 22;
break;
case 21:
var $118 = $inbuf + ($112 << 2) | 0;
var $_in = $118;
label = 22;
break;
case 22:
var $_in;
var $120 = HEAPF32[$_in >> 2];
var $121 = $110 + ($i_3128 << 2) | 0;
var $122 = HEAPF32[$121 >> 2];
var $123 = $120 * $122;
var $124 = $xvalue_0129 + $123;
var $125 = $i_3128 + 1 | 0;
var $126 = ($125 | 0) > ($19 | 0);
if ($126) {
label = 23;
break;
} else {
var $i_3128 = $125;
var $xvalue_0129 = $124;
label = 19;
break;
}
case 23:
var $128 = $outbuf + ($k_0130 << 2) | 0;
HEAPF32[$128 >> 2] = $124;
var $129 = $k_0130 + 1 | 0;
var $130 = ($129 | 0) < ($desired_len | 0);
if ($130) {
var $k_0130 = $129;
label = 17;
break;
} else {
var $j_3 = $93;
var $k_0_lcssa = $129;
label = 24;
break;
}
case 24:
var $k_0_lcssa;
var $j_3;
var $131 = $19 >>> 1;
var $132 = $19 - $131 | 0;
var $133 = $132 + $j_3 | 0;
var $134 = ($133 | 0) > ($len | 0);
var $len_ = $134 ? $len : $133;
HEAP32[$num_used >> 2] = $len_;
var $135 = $len_ | 0;
var $136 = $k_0_lcssa | 0;
var $137 = $7 * $136;
var $138 = $135 - $137;
var $139 = $gfc + 37164 + ($ch << 3) | 0;
var $140 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$139 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$139 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $141 = $140 + $138;
HEAPF64[tempDoublePtr >> 3] = $141, HEAP32[$139 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$139 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $142 = HEAP32[$num_used >> 2];
var $143 = ($142 | 0) < ($20 | 0);
if ($143) {
label = 27;
break;
} else {
label = 25;
break;
}
case 25:
var $_neg120 = $19 ^ -1;
var $i_4127 = 0;
label = 26;
break;
case 26:
var $i_4127;
var $145 = HEAP32[$num_used >> 2];
var $146 = $i_4127 + $_neg120 | 0;
var $147 = $146 + $145 | 0;
var $148 = $inbuf + ($147 << 2) | 0;
var $149 = HEAPF32[$148 >> 2];
var $150 = $78 + ($i_4127 << 2) | 0;
HEAPF32[$150 >> 2] = $149;
var $151 = $i_4127 + 1 | 0;
var $152 = ($151 | 0) < ($20 | 0);
if ($152) {
var $i_4127 = $151;
label = 26;
break;
} else {
label = 33;
break;
}
case 27:
var $154 = $20 - $142 | 0;
var $155 = ($154 | 0) > 0;
if ($155) {
label = 28;
break;
} else {
var $i_5_lcssa163 = 0;
label = 30;
break;
}
case 28:
var $156 = $19 + 1 | 0;
var $157 = $156 - $142 | 0;
var $i_5123 = 0;
label = 31;
break;
case 29:
var $158 = ($157 | 0) < ($20 | 0);
if ($158) {
var $i_5_lcssa163 = $157;
label = 30;
break;
} else {
label = 33;
break;
}
case 30:
var $i_5_lcssa163;
var $159 = $19 + 1 | 0;
var $160 = $159 - $i_5_lcssa163 | 0;
var $j_4121 = 0;
var $i_6122 = $i_5_lcssa163;
label = 32;
break;
case 31:
var $i_5123;
var $162 = HEAP32[$num_used >> 2];
var $163 = $162 + $i_5123 | 0;
var $164 = $78 + ($163 << 2) | 0;
var $165 = HEAPF32[$164 >> 2];
var $166 = $78 + ($i_5123 << 2) | 0;
HEAPF32[$166 >> 2] = $165;
var $167 = $i_5123 + 1 | 0;
var $exitcond150 = ($167 | 0) == ($157 | 0);
if ($exitcond150) {
label = 29;
break;
} else {
var $i_5123 = $167;
label = 31;
break;
}
case 32:
var $i_6122;
var $j_4121;
var $169 = $inbuf + ($j_4121 << 2) | 0;
var $170 = HEAPF32[$169 >> 2];
var $171 = $78 + ($i_6122 << 2) | 0;
HEAPF32[$171 >> 2] = $170;
var $172 = $i_6122 + 1 | 0;
var $173 = $j_4121 + 1 | 0;
var $exitcond = ($173 | 0) == ($160 | 0);
if ($exitcond) {
label = 33;
break;
} else {
var $j_4121 = $173;
var $i_6122 = $172;
label = 32;
break;
}
case 33:
return $k_0_lcssa;
}
}
_fill_buffer_resample["X"] = 1;
function _lame_report_def($format, $args) {
_fprintf(HEAP32[_stderr >> 2], $format, $args);
_fflush(HEAP32[_stderr >> 2]);
return;
}
function _lame_report_fnc($print_f, $format, varrp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $args = __stackBase__;
var $1 = ($print_f | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $args;
HEAP32[$3 >> 2] = varrp;
var $4 = HEAP32[$args >> 2];
FUNCTION_TABLE[$print_f]($format, $4);
label = 4;
break;
case 4:
STACKTOP = __stackBase__;
return;
}
}
function _lame_debugf($gfc, $format, varrp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $args = __stackBase__;
var $1 = ($gfc | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfc + 85828 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $args;
HEAP32[$7 >> 2] = varrp;
var $8 = HEAP32[$3 >> 2];
var $9 = HEAP32[$args >> 2];
FUNCTION_TABLE[$8]($format, $9);
label = 5;
break;
case 5:
STACKTOP = __stackBase__;
return;
}
}
function _lame_msgf($gfc, $format, varrp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $args = __stackBase__;
var $1 = ($gfc | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfc + 85824 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $args;
HEAP32[$7 >> 2] = varrp;
var $8 = HEAP32[$3 >> 2];
var $9 = HEAP32[$args >> 2];
FUNCTION_TABLE[$8]($format, $9);
label = 5;
break;
case 5:
STACKTOP = __stackBase__;
return;
}
}
function _lame_errorf($gfc, $format, varrp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $args = __stackBase__;
var $1 = ($gfc | 0) == 0;
if ($1) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfc + 85832 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $args;
HEAP32[$7 >> 2] = varrp;
var $8 = HEAP32[$3 >> 2];
var $9 = HEAP32[$args >> 2];
FUNCTION_TABLE[$8]($format, $9);
label = 5;
break;
case 5:
STACKTOP = __stackBase__;
return;
}
}
function _init_log_table() {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $_b = HEAP8[5327192];
if ($_b) {
label = 4;
break;
} else {
var $j_04 = 0;
label = 3;
break;
}
case 3:
var $j_04;
var $1 = $j_04 | 0;
var $2 = $1 * .001953125;
var $3 = $2 + 1;
var $4 = $3;
var $5 = Math.log($4);
var $6 = $5 / .6931471805599453;
var $7 = $6;
var $8 = 5314464 + ($j_04 << 2) | 0;
HEAPF32[$8 >> 2] = $7;
var $9 = $j_04 + 1 | 0;
var $exitcond = ($9 | 0) == 513;
if ($exitcond) {
label = 4;
break;
} else {
var $j_04 = $9;
label = 3;
break;
}
case 4:
HEAP8[5327192] = 1;
return;
}
}
function _blackman($x, $fcn, $l) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $fcn;
var $2 = $1 * 3.141592653589793;
var $3 = $2;
var $4 = $l | 0;
var $5 = $x / $4;
var $6 = $5 < 0;
var $_014 = $6 ? 0 : $5;
var $7 = $_014 > 1;
var $_1 = $7 ? 1 : $_014;
var $8 = $_1 - .5;
var $fabsf = Math.abs($8);
var $9 = $fabsf;
var $10 = $9 < 1e-9;
if ($10) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $12 = $3;
var $13 = $12 / 3.141592653589793;
var $_0_in = $13;
label = 5;
break;
case 4:
var $15 = $8;
var $16 = $_1 * 2;
var $17 = $_1 * 4;
var $18 = $16;
var $19 = $17;
var $20 = $18 * 3.141592653589793;
var $21 = $19 * 3.141592653589793;
var $22 = Math.cos($20);
var $23 = Math.cos($21);
var $24 = $22 * .5;
var $25 = $23 * .08;
var $26 = .42 - $24;
var $27 = $26 + $25;
var $28 = $27;
var $29 = $28;
var $30 = $4 * $3;
var $31 = $30 * $8;
var $32 = $31;
var $33 = Math.sin($32);
var $34 = $33 * $29;
var $35 = $l | 0;
var $36 = $35 * 3.141592653589793;
var $37 = $36 * $15;
var $38 = $34 / $37;
var $_0_in = $38;
label = 5;
break;
case 5:
var $_0_in;
var $_0 = $_0_in;
return $_0;
}
}
function _guess_scalefac_x34($xr, $xr34, $l3_xmin, $bw, $sf_min) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = _calc_scalefac($l3_xmin, $bw);
var $2 = $sf_min & 255;
var $3 = ($1 | 0) < ($2 | 0);
if ($3) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = ($1 | 0) > 254;
var $6 = $1 & 255;
var $_ = $5 ? -1 : $6;
return $_;
case 4:
return $sf_min;
}
}
function _find_scalefac_x34($xr, $xr34, $l3_xmin, $bw, $sf_min) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2048 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $did_it = __stackBase__;
var $1 = $did_it;
for (var $$dest = $1 >> 2, $$stop = $$dest + 512; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $2 = $did_it | 0;
var $sf_ok_018 = -1;
var $delsf_019 = 64;
var $seen_good_one_020 = 0;
var $i_021 = 0;
var $sf_022 = -128;
label = 3;
break;
case 3:
var $sf_022;
var $i_021;
var $seen_good_one_020;
var $delsf_019;
var $sf_ok_018;
var $4 = $sf_022 & 255;
var $5 = ($sf_022 & 255) > ($sf_min & 255);
if ($5) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $delsf_019 & 255;
var $8 = $4 + $7 | 0;
var $sf_1_in = $8;
var $seen_good_one_1 = $seen_good_one_020;
var $sf_ok_1 = $sf_ok_018;
label = 8;
break;
case 5:
var $10 = _tri_calc_sfb_noise_x34($xr, $xr34, $l3_xmin, $bw, $sf_022, $2);
var $11 = $10 << 24 >> 24 == 0;
if ($11) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $13 = $delsf_019 & 255;
var $14 = $4 - $13 | 0;
var $sf_1_in = $14;
var $seen_good_one_1 = $seen_good_one_020;
var $sf_ok_1 = $sf_ok_018;
label = 8;
break;
case 7:
var $16 = $4 + $delsf_019 | 0;
var $sf_1_in = $16;
var $seen_good_one_1 = 1;
var $sf_ok_1 = $sf_022;
label = 8;
break;
case 8:
var $sf_ok_1;
var $seen_good_one_1;
var $sf_1_in;
var $sf_1 = $sf_1_in & 255;
var $18 = $i_021 + 1 & 255;
var $phitmp = $delsf_019 >> 1;
var $exitcond = $18 << 24 >> 24 == 8;
if ($exitcond) {
label = 9;
break;
} else {
var $sf_ok_018 = $sf_ok_1;
var $delsf_019 = $phitmp;
var $seen_good_one_020 = $seen_good_one_1;
var $i_021 = $18;
var $sf_022 = $sf_1;
label = 3;
break;
}
case 9:
var $20 = $seen_good_one_1 << 24 >> 24 == 0;
var $sf_0_sf_ok_0 = $20 ? $sf_1 : $sf_ok_1;
var $21 = ($sf_0_sf_ok_0 & 255) > ($sf_min & 255);
var $sf_3 = $21 ? $sf_0_sf_ok_0 : $sf_min;
STACKTOP = __stackBase__;
return $sf_3;
}
}
function _VBR_encode_frame($gfc, $xr34orig, $l3_xmin, $max_bits) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 1464 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $sfwork_ = __stackBase__;
var $vbrsfmin_ = __stackBase__ + 624;
var $that_ = __stackBase__ + 1248;
var $max_nbits_ch = __stackBase__ + 1392;
var $max_nbits_gr = __stackBase__ + 1408;
var $use_nbits_ch = __stackBase__ + 1416;
var $use_nbits_gr = __stackBase__ + 1432;
var $f = __stackBase__ + 1440;
var $f2 = __stackBase__ + 1448;
var $f4 = __stackBase__ + 1456;
var $1 = $gfc + 76 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $gfc + 72 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $max_nbits_ch;
HEAP32[$5 >> 2] = 0;
HEAP32[$5 + 4 >> 2] = 0;
HEAP32[$5 + 8 >> 2] = 0;
HEAP32[$5 + 12 >> 2] = 0;
var $6 = $max_nbits_gr;
var $$etemp$0$0 = 0;
var $$etemp$0$1 = 0;
var $st$19$0 = $6 | 0;
HEAP32[$st$19$0 >> 2] = $$etemp$0$0;
var $st$19$1 = $6 + 4 | 0;
HEAP32[$st$19$1 >> 2] = $$etemp$0$1;
var $7 = $use_nbits_ch;
HEAP32[$7 >> 2] = HEAP32[5388104 >> 2];
HEAP32[$7 + 4 >> 2] = HEAP32[5388108 >> 2];
HEAP32[$7 + 8 >> 2] = HEAP32[5388112 >> 2];
HEAP32[$7 + 12 >> 2] = HEAP32[5388116 >> 2];
var $8 = $use_nbits_gr;
var $$etemp$1$0 = 7681;
var $$etemp$1$1 = 7681;
var $st$28$0 = $8 | 0;
HEAP32[$st$28$0 >> 2] = $$etemp$1$0;
var $st$28$1 = $8 + 4 | 0;
HEAP32[$st$28$1 >> 2] = $$etemp$1$1;
var $9 = ($2 | 0) > 0;
if ($9) {
label = 3;
break;
} else {
var $_0 = 0;
label = 136;
break;
}
case 3:
var $10 = ($4 | 0) > 0;
var $11 = $gfc + 48 | 0;
var $12 = $4 << 2;
var $gr_0469 = 0;
var $max_nbits_fr_0471 = 0;
label = 6;
break;
case 4:
var $13 = ($2 | 0) > 0;
if ($13) {
label = 5;
break;
} else {
var $use_nbits_fr_0_lcssa = 0;
label = 25;
break;
}
case 5:
var $14 = ($4 | 0) > 0;
var $gr_1459 = 0;
label = 11;
break;
case 6:
var $max_nbits_fr_0471;
var $gr_0469;
var $16 = $max_nbits_gr + ($gr_0469 << 2) | 0;
HEAP32[$16 >> 2] = 0;
if ($10) {
label = 7;
break;
} else {
var $max_nbits_fr_1_lcssa = $max_nbits_fr_0471;
label = 10;
break;
}
case 7:
var $scevgep521 = $use_nbits_ch + ($gr_0469 << 3) | 0;
var $scevgep521522 = $scevgep521;
var $_promoted467 = HEAP32[$16 >> 2];
_memset($scevgep521522, 0, $12);
var $ch_0461 = 0;
var $max_nbits_fr_1462 = $max_nbits_fr_0471;
var $18 = $_promoted467;
label = 8;
break;
case 8:
var $18;
var $max_nbits_fr_1462;
var $ch_0461;
var $19 = $max_bits + ($gr_0469 << 3) + ($ch_0461 << 2) | 0;
var $20 = HEAP32[$19 >> 2];
var $21 = $max_nbits_ch + ($gr_0469 << 3) + ($ch_0461 << 2) | 0;
HEAP32[$21 >> 2] = $20;
var $22 = HEAP32[$19 >> 2];
var $23 = $18 + $22 | 0;
var $24 = $22 + $max_nbits_fr_1462 | 0;
var $25 = HEAP32[$11 >> 2];
var $26 = ($25 | 0) < 0;
var $27 = $26 ? 36 : 16;
var $28 = $that_ + $gr_0469 * 72 + $ch_0461 * 36 + 4 | 0;
HEAP32[$28 >> 2] = $27;
var $29 = $that_ + $gr_0469 * 72 + $ch_0461 * 36 + 12 | 0;
HEAP32[$29 >> 2] = $gfc;
var $30 = $gfc + 304 + $gr_0469 * 10504 + $ch_0461 * 5252 | 0;
var $31 = $that_ + $gr_0469 * 72 + $ch_0461 * 36 + 16 | 0;
HEAP32[$31 >> 2] = $30;
var $32 = $xr34orig + $gr_0469 * 4608 + $ch_0461 * 2304 | 0;
var $33 = $that_ + $gr_0469 * 72 + $ch_0461 * 36 + 8 | 0;
HEAP32[$33 >> 2] = $32;
var $34 = HEAP32[$31 >> 2];
var $35 = $34 + 4788 | 0;
var $36 = HEAP32[$35 >> 2];
var $37 = ($36 | 0) == 2;
var $38 = $that_ + $gr_0469 * 72 + $ch_0461 * 36 | 0;
var $short_block_constrain_long_block_constrain = $37 ? 34 : 22;
HEAP32[$38 >> 2] = $short_block_constrain_long_block_constrain;
var $39 = $ch_0461 + 1 | 0;
var $exitcond518 = ($39 | 0) == ($4 | 0);
if ($exitcond518) {
label = 9;
break;
} else {
var $ch_0461 = $39;
var $max_nbits_fr_1462 = $24;
var $18 = $23;
label = 8;
break;
}
case 9:
HEAP32[$16 >> 2] = $23;
var $max_nbits_fr_1_lcssa = $24;
label = 10;
break;
case 10:
var $max_nbits_fr_1_lcssa;
var $41 = $gr_0469 + 1 | 0;
var $exitcond523 = ($41 | 0) == ($2 | 0);
if ($exitcond523) {
label = 4;
break;
} else {
var $gr_0469 = $41;
var $max_nbits_fr_0471 = $max_nbits_fr_1_lcssa;
label = 6;
break;
}
case 11:
var $gr_1459;
if ($14) {
var $ch_1455 = 0;
label = 14;
break;
} else {
label = 17;
break;
}
case 12:
var $42 = ($2 | 0) > 0;
if ($42) {
label = 13;
break;
} else {
var $use_nbits_fr_0_lcssa = 0;
label = 25;
break;
}
case 13:
var $43 = ($4 | 0) > 0;
var $gr_2448 = 0;
var $use_nbits_fr_0450 = 0;
label = 18;
break;
case 14:
var $ch_1455;
var $44 = $max_bits + ($gr_1459 << 3) + ($ch_1455 << 2) | 0;
var $45 = HEAP32[$44 >> 2];
var $46 = ($45 | 0) > 0;
if ($46) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $48 = $that_ + $gr_1459 * 72 + $ch_1455 * 36 | 0;
var $49 = $sfwork_ + $gr_1459 * 312 + $ch_1455 * 156 | 0;
var $50 = $vbrsfmin_ + $gr_1459 * 312 + $ch_1455 * 156 | 0;
var $51 = $l3_xmin + $gr_1459 * 312 + $ch_1455 * 156 | 0;
var $52 = _block_sf($48, $51, $49, $50);
var $53 = $48 | 0;
var $54 = HEAP32[$53 >> 2];
FUNCTION_TABLE[$54]($48, $49, $50, $52);
_bitcount($48);
label = 16;
break;
case 16:
var $56 = $ch_1455 + 1 | 0;
var $exitcond514 = ($56 | 0) == ($4 | 0);
if ($exitcond514) {
label = 17;
break;
} else {
var $ch_1455 = $56;
label = 14;
break;
}
case 17:
var $57 = $gr_1459 + 1 | 0;
var $exitcond515 = ($57 | 0) == ($2 | 0);
if ($exitcond515) {
label = 12;
break;
} else {
var $gr_1459 = $57;
label = 11;
break;
}
case 18:
var $use_nbits_fr_0450;
var $gr_2448;
var $59 = $use_nbits_gr + ($gr_2448 << 2) | 0;
HEAP32[$59 >> 2] = 0;
if ($43) {
label = 19;
break;
} else {
label = 24;
break;
}
case 19:
var $_promoted445 = HEAP32[$59 >> 2];
var $ch_2441 = 0;
var $61 = $_promoted445;
label = 20;
break;
case 20:
var $61;
var $ch_2441;
var $62 = $max_bits + ($gr_2448 << 3) + ($ch_2441 << 2) | 0;
var $63 = HEAP32[$62 >> 2];
var $64 = ($63 | 0) > 0;
if ($64) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
var $66 = $that_ + $gr_2448 * 72 + $ch_2441 * 36 | 0;
var $67 = $that_ + $gr_2448 * 72 + $ch_2441 * 36 + 16 | 0;
var $68 = HEAP32[$67 >> 2];
var $69 = $68 + 2304 | 0;
var $70 = $69;
for (var $$dest = $70 >> 2, $$stop = $$dest + 576; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0;
}
var $71 = _quantizeAndCountBits($66);
label = 22;
break;
case 22:
var $73 = _reduce_bit_usage($gfc, $gr_2448, $ch_2441);
var $74 = $use_nbits_ch + ($gr_2448 << 3) + ($ch_2441 << 2) | 0;
HEAP32[$74 >> 2] = $73;
var $75 = $61 + $73 | 0;
var $76 = $ch_2441 + 1 | 0;
var $exitcond510 = ($76 | 0) == ($4 | 0);
if ($exitcond510) {
label = 23;
break;
} else {
var $ch_2441 = $76;
var $61 = $75;
label = 20;
break;
}
case 23:
HEAP32[$59 >> 2] = $75;
label = 24;
break;
case 24:
var $78 = HEAP32[$59 >> 2];
var $79 = $78 + $use_nbits_fr_0450 | 0;
var $80 = $gr_2448 + 1 | 0;
var $exitcond512 = ($80 | 0) == ($2 | 0);
if ($exitcond512) {
var $use_nbits_fr_0_lcssa = $79;
label = 25;
break;
} else {
var $gr_2448 = $80;
var $use_nbits_fr_0450 = $79;
label = 18;
break;
}
case 25:
var $use_nbits_fr_0_lcssa;
var $81 = ($use_nbits_fr_0_lcssa | 0) > ($max_nbits_fr_1_lcssa | 0);
if ($81) {
label = 32;
break;
} else {
label = 26;
break;
}
case 26:
var $82 = ($2 | 0) > 0;
if ($82) {
label = 27;
break;
} else {
var $_0 = $use_nbits_fr_0_lcssa;
label = 136;
break;
}
case 27:
var $83 = ($4 | 0) > 0;
var $ok_0435 = 1;
var $gr_3436 = 0;
label = 28;
break;
case 28:
var $gr_3436;
var $ok_0435;
var $85 = $use_nbits_gr + ($gr_3436 << 2) | 0;
var $86 = HEAP32[$85 >> 2];
var $87 = ($86 | 0) > 7680;
var $_ok_0 = $87 ? 0 : $ok_0435;
if ($83) {
var $ok_2428 = $_ok_0;
var $ch_3429 = 0;
label = 29;
break;
} else {
var $ok_2_lcssa = $_ok_0;
label = 30;
break;
}
case 29:
var $ch_3429;
var $ok_2428;
var $88 = $use_nbits_ch + ($gr_3436 << 3) + ($ch_3429 << 2) | 0;
var $89 = HEAP32[$88 >> 2];
var $90 = ($89 | 0) > 4095;
var $_ok_2 = $90 ? 0 : $ok_2428;
var $91 = $ch_3429 + 1 | 0;
var $exitcond507 = ($91 | 0) == ($4 | 0);
if ($exitcond507) {
var $ok_2_lcssa = $_ok_2;
label = 30;
break;
} else {
var $ok_2428 = $_ok_2;
var $ch_3429 = $91;
label = 29;
break;
}
case 30:
var $ok_2_lcssa;
var $92 = $gr_3436 + 1 | 0;
var $exitcond508 = ($92 | 0) == ($2 | 0);
if ($exitcond508) {
label = 31;
break;
} else {
var $ok_0435 = $ok_2_lcssa;
var $gr_3436 = $92;
label = 28;
break;
}
case 31:
var $93 = ($ok_2_lcssa | 0) == 0;
if ($93) {
label = 32;
break;
} else {
var $_0 = $use_nbits_fr_0_lcssa;
label = 136;
break;
}
case 32:
var $94 = ($2 | 0) > 0;
if ($94) {
label = 33;
break;
} else {
var $sum_fr_0_lcssa = 0;
label = 63;
break;
}
case 33:
var $95 = ($4 | 0) > 0;
var $96 = $f;
var $97 = ($4 | 0) > 0;
var $98 = ($4 | 0) > 0;
var $99 = ($4 | 0) > 1;
var $100 = ($4 | 0) > 0;
var $sum_fr_0420 = 0;
var $gr_4421 = 0;
label = 34;
break;
case 34:
var $gr_4421;
var $sum_fr_0420;
var $102 = $max_nbits_gr + ($gr_4421 << 2) | 0;
HEAP32[$102 >> 2] = 0;
if ($95) {
label = 35;
break;
} else {
label = 62;
break;
}
case 35:
var $_promoted402 = HEAP32[$102 >> 2];
var $ch_4398 = 0;
var $104 = $_promoted402;
label = 36;
break;
case 36:
var $104;
var $ch_4398;
var $105 = $use_nbits_ch + ($gr_4421 << 3) + ($ch_4398 << 2) | 0;
var $106 = HEAP32[$105 >> 2];
var $107 = ($106 | 0) > 4095;
var $108 = $max_nbits_ch + ($gr_4421 << 3) + ($ch_4398 << 2) | 0;
var $_ = $107 ? 4095 : $106;
HEAP32[$108 >> 2] = $_;
var $109 = $_ + $104 | 0;
var $110 = $ch_4398 + 1 | 0;
var $exitcond499 = ($110 | 0) == ($4 | 0);
if ($exitcond499) {
label = 37;
break;
} else {
var $ch_4398 = $110;
var $104 = $109;
label = 36;
break;
}
case 37:
HEAP32[$102 >> 2] = $109;
var $112 = ($109 | 0) > 7680;
if ($112) {
label = 38;
break;
} else {
label = 62;
break;
}
case 38:
var $$etemp$2$0 = 0;
var $$etemp$2$1 = 0;
var $st$2$0 = $96 | 0;
HEAP32[$st$2$0 >> 2] = $$etemp$2$0;
var $st$2$1 = $96 + 4 | 0;
HEAP32[$st$2$1 >> 2] = $$etemp$2$1;
if ($97) {
var $ch_5405 = 0;
var $s_0406 = 0;
label = 39;
break;
} else {
var $s_0_lcssa = 0;
label = 43;
break;
}
case 39:
var $s_0406;
var $ch_5405;
var $114 = $max_nbits_ch + ($gr_4421 << 3) + ($ch_5405 << 2) | 0;
var $115 = HEAP32[$114 >> 2];
var $116 = ($115 | 0) > 0;
if ($116) {
label = 40;
break;
} else {
label = 41;
break;
}
case 40:
var $118 = $115 | 0;
var $119 = Math.sqrt($118);
var $120 = Math.sqrt($119);
var $121 = $120;
var $122 = $f + ($ch_5405 << 2) | 0;
HEAPF32[$122 >> 2] = $121;
var $123 = $s_0406 + $121;
var $s_1 = $123;
label = 42;
break;
case 41:
var $125 = $f + ($ch_5405 << 2) | 0;
HEAPF32[$125 >> 2] = 0;
var $s_1 = $s_0406;
label = 42;
break;
case 42:
var $s_1;
var $127 = $ch_5405 + 1 | 0;
var $exitcond500 = ($127 | 0) == ($4 | 0);
if ($exitcond500) {
var $s_0_lcssa = $s_1;
label = 43;
break;
} else {
var $ch_5405 = $127;
var $s_0406 = $s_1;
label = 39;
break;
}
case 43:
var $s_0_lcssa;
if ($98) {
label = 44;
break;
} else {
label = 49;
break;
}
case 44:
var $128 = $s_0_lcssa > 0;
var $ch_6410 = 0;
label = 45;
break;
case 45:
var $ch_6410;
if ($128) {
label = 46;
break;
} else {
label = 47;
break;
}
case 46:
var $131 = $f + ($ch_6410 << 2) | 0;
var $132 = HEAPF32[$131 >> 2];
var $133 = $132 * 7680;
var $134 = $133 / $s_0_lcssa;
var $135 = $134 & -1;
var $136 = $max_nbits_ch + ($gr_4421 << 3) + ($ch_6410 << 2) | 0;
HEAP32[$136 >> 2] = $135;
label = 48;
break;
case 47:
var $138 = $max_nbits_ch + ($gr_4421 << 3) + ($ch_6410 << 2) | 0;
HEAP32[$138 >> 2] = 0;
label = 48;
break;
case 48:
var $140 = $ch_6410 + 1 | 0;
var $exitcond501 = ($140 | 0) == ($4 | 0);
if ($exitcond501) {
label = 49;
break;
} else {
var $ch_6410 = $140;
label = 45;
break;
}
case 49:
if ($99) {
label = 50;
break;
} else {
label = 58;
break;
}
case 50:
var $142 = $max_nbits_ch + ($gr_4421 << 3) | 0;
var $143 = HEAP32[$142 >> 2];
var $144 = $use_nbits_ch + ($gr_4421 << 3) | 0;
var $145 = HEAP32[$144 >> 2];
var $146 = $145 + 32 | 0;
var $147 = ($143 | 0) > ($146 | 0);
if ($147) {
label = 51;
break;
} else {
label = 52;
break;
}
case 51:
var $149 = $max_nbits_ch + ($gr_4421 << 3) + 4 | 0;
var $150 = HEAP32[$149 >> 2];
var $151 = $150 + $143 | 0;
var $152 = HEAP32[$144 >> 2];
var $_neg319 = -32 - $152 | 0;
var $153 = $_neg319 + $151 | 0;
HEAP32[$149 >> 2] = $153;
var $154 = HEAP32[$144 >> 2];
var $155 = $154 + 32 | 0;
HEAP32[$142 >> 2] = $155;
label = 52;
break;
case 52:
var $157 = $max_nbits_ch + ($gr_4421 << 3) + 4 | 0;
var $158 = HEAP32[$157 >> 2];
var $159 = $use_nbits_ch + ($gr_4421 << 3) + 4 | 0;
var $160 = HEAP32[$159 >> 2];
var $161 = $160 + 32 | 0;
var $162 = ($158 | 0) > ($161 | 0);
if ($162) {
label = 53;
break;
} else {
label = 54;
break;
}
case 53:
var $164 = HEAP32[$142 >> 2];
var $165 = $164 + $158 | 0;
var $166 = HEAP32[$159 >> 2];
var $_neg321 = -32 - $166 | 0;
var $167 = $_neg321 + $165 | 0;
HEAP32[$142 >> 2] = $167;
var $168 = HEAP32[$159 >> 2];
var $169 = $168 + 32 | 0;
HEAP32[$157 >> 2] = $169;
label = 54;
break;
case 54:
var $171 = HEAP32[$142 >> 2];
var $172 = ($171 | 0) > 4095;
if ($172) {
label = 55;
break;
} else {
label = 56;
break;
}
case 55:
HEAP32[$142 >> 2] = 4095;
label = 56;
break;
case 56:
var $175 = HEAP32[$157 >> 2];
var $176 = ($175 | 0) > 4095;
if ($176) {
label = 57;
break;
} else {
label = 58;
break;
}
case 57:
HEAP32[$157 >> 2] = 4095;
label = 58;
break;
case 58:
HEAP32[$102 >> 2] = 0;
if ($100) {
label = 59;
break;
} else {
label = 62;
break;
}
case 59:
var $_promoted417 = HEAP32[$102 >> 2];
var $ch_7414 = 0;
var $180 = $_promoted417;
label = 60;
break;
case 60:
var $180;
var $ch_7414;
var $181 = $max_nbits_ch + ($gr_4421 << 3) + ($ch_7414 << 2) | 0;
var $182 = HEAP32[$181 >> 2];
var $183 = $180 + $182 | 0;
var $184 = $ch_7414 + 1 | 0;
var $exitcond503 = ($184 | 0) == ($4 | 0);
if ($exitcond503) {
label = 61;
break;
} else {
var $ch_7414 = $184;
var $180 = $183;
label = 60;
break;
}
case 61:
HEAP32[$102 >> 2] = $183;
label = 62;
break;
case 62:
var $185 = HEAP32[$102 >> 2];
var $186 = $185 + $sum_fr_0420 | 0;
var $187 = $gr_4421 + 1 | 0;
var $exitcond505 = ($187 | 0) == ($2 | 0);
if ($exitcond505) {
var $sum_fr_0_lcssa = $186;
label = 63;
break;
} else {
var $sum_fr_0420 = $186;
var $gr_4421 = $187;
label = 34;
break;
}
case 63:
var $sum_fr_0_lcssa;
var $188 = ($sum_fr_0_lcssa | 0) > ($max_nbits_fr_1_lcssa | 0);
if ($188) {
label = 66;
break;
} else {
label = 64;
break;
}
case 64:
var $189 = ($2 | 0) > 0;
if ($189) {
label = 65;
break;
} else {
var $sum_fr_1_lcssa = 0;
var $ok_4_lcssa = 0;
label = 113;
break;
}
case 65:
var $190 = ($4 | 0) > 0;
var $sum_fr_1362 = 0;
var $ok_4363 = 1;
var $gr_9364 = 0;
label = 109;
break;
case 66:
var $192 = $f2;
var $$etemp$3$0 = 0;
var $$etemp$3$1 = 0;
var $st$3$0 = $192 | 0;
HEAP32[$st$3$0 >> 2] = $$etemp$3$0;
var $st$3$1 = $192 + 4 | 0;
HEAP32[$st$3$1 >> 2] = $$etemp$3$1;
var $193 = ($2 | 0) > 0;
if ($193) {
var $gr_5393 = 0;
var $s3_0394 = 0;
label = 69;
break;
} else {
var $sum_fr_1_lcssa = 0;
var $ok_4_lcssa = 0;
label = 113;
break;
}
case 67:
var $194 = ($2 | 0) > 0;
if ($194) {
label = 68;
break;
} else {
var $sum_fr_1_lcssa = 0;
var $ok_4_lcssa = 0;
label = 113;
break;
}
case 68:
var $195 = $s3_1 > 0;
var $196 = $max_nbits_fr_1_lcssa | 0;
var $gr_6390 = 0;
label = 73;
break;
case 69:
var $s3_0394;
var $gr_5393;
var $197 = $max_nbits_gr + ($gr_5393 << 2) | 0;
var $198 = HEAP32[$197 >> 2];
var $199 = ($198 | 0) > 0;
if ($199) {
label = 70;
break;
} else {
label = 71;
break;
}
case 70:
var $201 = $198 | 0;
var $202 = Math.sqrt($201);
var $203 = $202;
var $204 = $f2 + ($gr_5393 << 2) | 0;
HEAPF32[$204 >> 2] = $203;
var $205 = $s3_0394 + $203;
var $s3_1 = $205;
label = 72;
break;
case 71:
var $207 = $f2 + ($gr_5393 << 2) | 0;
HEAPF32[$207 >> 2] = 0;
var $s3_1 = $s3_0394;
label = 72;
break;
case 72:
var $s3_1;
var $209 = $gr_5393 + 1 | 0;
var $exitcond497 = ($209 | 0) == ($2 | 0);
if ($exitcond497) {
label = 67;
break;
} else {
var $gr_5393 = $209;
var $s3_0394 = $s3_1;
label = 69;
break;
}
case 73:
var $gr_6390;
if ($195) {
label = 74;
break;
} else {
label = 75;
break;
}
case 74:
var $212 = $f2 + ($gr_6390 << 2) | 0;
var $213 = HEAPF32[$212 >> 2];
var $214 = $196 * $213;
var $215 = $214 / $s3_1;
var $216 = $215 & -1;
var $217 = $max_nbits_gr + ($gr_6390 << 2) | 0;
HEAP32[$217 >> 2] = $216;
label = 76;
break;
case 75:
var $219 = $max_nbits_gr + ($gr_6390 << 2) | 0;
HEAP32[$219 >> 2] = 0;
label = 76;
break;
case 76:
var $221 = $gr_6390 + 1 | 0;
var $exitcond496 = ($221 | 0) == ($2 | 0);
if ($exitcond496) {
label = 77;
break;
} else {
var $gr_6390 = $221;
label = 73;
break;
}
case 77:
var $222 = ($2 | 0) > 1;
if ($222) {
label = 80;
break;
} else {
label = 78;
break;
}
case 78:
var $223 = ($2 | 0) > 0;
if ($223) {
label = 79;
break;
} else {
var $sum_fr_1_lcssa = 0;
var $ok_4_lcssa = 0;
label = 113;
break;
}
case 79:
var $224 = $f4;
var $225 = ($4 | 0) > 0;
var $226 = ($4 | 0) > 0;
var $227 = ($4 | 0) > 1;
var $228 = ($4 | 0) > 0;
var $gr_8382 = 0;
label = 88;
break;
case 80:
var $230 = $max_nbits_gr | 0;
var $231 = HEAP32[$230 >> 2];
var $232 = $use_nbits_gr | 0;
var $233 = HEAP32[$232 >> 2];
var $234 = $233 + 125 | 0;
var $235 = ($231 | 0) > ($234 | 0);
if ($235) {
label = 81;
break;
} else {
label = 82;
break;
}
case 81:
var $237 = $max_nbits_gr + 4 | 0;
var $238 = HEAP32[$237 >> 2];
var $239 = $238 + $231 | 0;
var $240 = HEAP32[$232 >> 2];
var $_neg323 = -125 - $240 | 0;
var $241 = $_neg323 + $239 | 0;
HEAP32[$237 >> 2] = $241;
var $242 = HEAP32[$232 >> 2];
var $243 = $242 + 125 | 0;
HEAP32[$230 >> 2] = $243;
label = 82;
break;
case 82:
var $245 = $max_nbits_gr + 4 | 0;
var $246 = HEAP32[$245 >> 2];
var $247 = $use_nbits_gr + 4 | 0;
var $248 = HEAP32[$247 >> 2];
var $249 = $248 + 125 | 0;
var $250 = ($246 | 0) > ($249 | 0);
if ($250) {
label = 83;
break;
} else {
label = 84;
break;
}
case 83:
var $252 = HEAP32[$230 >> 2];
var $253 = $252 + $246 | 0;
var $254 = HEAP32[$247 >> 2];
var $_neg325 = -125 - $254 | 0;
var $255 = $_neg325 + $253 | 0;
HEAP32[$230 >> 2] = $255;
var $256 = HEAP32[$247 >> 2];
var $257 = $256 + 125 | 0;
HEAP32[$245 >> 2] = $257;
label = 84;
break;
case 84:
var $258 = ($2 | 0) > 0;
if ($258) {
var $gr_7387 = 0;
label = 85;
break;
} else {
var $sum_fr_1_lcssa = 0;
var $ok_4_lcssa = 0;
label = 113;
break;
}
case 85:
var $gr_7387;
var $259 = $max_nbits_gr + ($gr_7387 << 2) | 0;
var $260 = HEAP32[$259 >> 2];
var $261 = ($260 | 0) > 7680;
if ($261) {
label = 86;
break;
} else {
label = 87;
break;
}
case 86:
HEAP32[$259 >> 2] = 7680;
label = 87;
break;
case 87:
var $264 = $gr_7387 + 1 | 0;
var $exitcond495 = ($264 | 0) == ($2 | 0);
if ($exitcond495) {
label = 78;
break;
} else {
var $gr_7387 = $264;
label = 85;
break;
}
case 88:
var $gr_8382;
var $$etemp$4$0 = 0;
var $$etemp$4$1 = 0;
var $st$3$0 = $224 | 0;
HEAP32[$st$3$0 >> 2] = $$etemp$4$0;
var $st$3$1 = $224 + 4 | 0;
HEAP32[$st$3$1 >> 2] = $$etemp$4$1;
if ($225) {
var $ch_8369 = 0;
var $s5_0370 = 0;
label = 89;
break;
} else {
var $s5_0_lcssa = 0;
label = 93;
break;
}
case 89:
var $s5_0370;
var $ch_8369;
var $266 = $max_nbits_ch + ($gr_8382 << 3) + ($ch_8369 << 2) | 0;
var $267 = HEAP32[$266 >> 2];
var $268 = ($267 | 0) > 0;
if ($268) {
label = 90;
break;
} else {
label = 91;
break;
}
case 90:
var $270 = $267 | 0;
var $271 = Math.sqrt($270);
var $272 = $271;
var $273 = $f4 + ($ch_8369 << 2) | 0;
HEAPF32[$273 >> 2] = $272;
var $274 = $s5_0370 + $272;
var $s5_1 = $274;
label = 92;
break;
case 91:
var $276 = $f4 + ($ch_8369 << 2) | 0;
HEAPF32[$276 >> 2] = 0;
var $s5_1 = $s5_0370;
label = 92;
break;
case 92:
var $s5_1;
var $278 = $ch_8369 + 1 | 0;
var $exitcond491 = ($278 | 0) == ($4 | 0);
if ($exitcond491) {
var $s5_0_lcssa = $s5_1;
label = 93;
break;
} else {
var $ch_8369 = $278;
var $s5_0370 = $s5_1;
label = 89;
break;
}
case 93:
var $s5_0_lcssa;
if ($226) {
label = 94;
break;
} else {
label = 99;
break;
}
case 94:
var $279 = $s5_0_lcssa > 0;
var $280 = $max_nbits_gr + ($gr_8382 << 2) | 0;
var $ch_9374 = 0;
label = 95;
break;
case 95:
var $ch_9374;
if ($279) {
label = 96;
break;
} else {
label = 97;
break;
}
case 96:
var $283 = HEAP32[$280 >> 2];
var $284 = $283 | 0;
var $285 = $f4 + ($ch_9374 << 2) | 0;
var $286 = HEAPF32[$285 >> 2];
var $287 = $284 * $286;
var $288 = $287 / $s5_0_lcssa;
var $289 = $288 & -1;
var $290 = $max_nbits_ch + ($gr_8382 << 3) + ($ch_9374 << 2) | 0;
HEAP32[$290 >> 2] = $289;
label = 98;
break;
case 97:
var $292 = $max_nbits_ch + ($gr_8382 << 3) + ($ch_9374 << 2) | 0;
HEAP32[$292 >> 2] = 0;
label = 98;
break;
case 98:
var $294 = $ch_9374 + 1 | 0;
var $exitcond492 = ($294 | 0) == ($4 | 0);
if ($exitcond492) {
label = 99;
break;
} else {
var $ch_9374 = $294;
label = 95;
break;
}
case 99:
if ($227) {
label = 100;
break;
} else {
label = 108;
break;
}
case 100:
var $296 = $max_nbits_ch + ($gr_8382 << 3) | 0;
var $297 = HEAP32[$296 >> 2];
var $298 = $use_nbits_ch + ($gr_8382 << 3) | 0;
var $299 = HEAP32[$298 >> 2];
var $300 = $299 + 32 | 0;
var $301 = ($297 | 0) > ($300 | 0);
if ($301) {
label = 101;
break;
} else {
label = 102;
break;
}
case 101:
var $303 = $max_nbits_ch + ($gr_8382 << 3) + 4 | 0;
var $304 = HEAP32[$303 >> 2];
var $305 = $304 + $297 | 0;
var $306 = HEAP32[$298 >> 2];
var $_neg327 = -32 - $306 | 0;
var $307 = $_neg327 + $305 | 0;
HEAP32[$303 >> 2] = $307;
var $308 = HEAP32[$298 >> 2];
var $309 = $308 + 32 | 0;
HEAP32[$296 >> 2] = $309;
label = 102;
break;
case 102:
var $311 = $max_nbits_ch + ($gr_8382 << 3) + 4 | 0;
var $312 = HEAP32[$311 >> 2];
var $313 = $use_nbits_ch + ($gr_8382 << 3) + 4 | 0;
var $314 = HEAP32[$313 >> 2];
var $315 = $314 + 32 | 0;
var $316 = ($312 | 0) > ($315 | 0);
if ($316) {
label = 103;
break;
} else {
label = 104;
break;
}
case 103:
var $318 = HEAP32[$296 >> 2];
var $319 = $318 + $312 | 0;
var $320 = HEAP32[$313 >> 2];
var $_neg329 = -32 - $320 | 0;
var $321 = $_neg329 + $319 | 0;
HEAP32[$296 >> 2] = $321;
var $322 = HEAP32[$313 >> 2];
var $323 = $322 + 32 | 0;
HEAP32[$311 >> 2] = $323;
label = 104;
break;
case 104:
if ($228) {
var $ch_10379 = 0;
label = 105;
break;
} else {
label = 108;
break;
}
case 105:
var $ch_10379;
var $324 = $max_nbits_ch + ($gr_8382 << 3) + ($ch_10379 << 2) | 0;
var $325 = HEAP32[$324 >> 2];
var $326 = ($325 | 0) > 4095;
if ($326) {
label = 106;
break;
} else {
label = 107;
break;
}
case 106:
HEAP32[$324 >> 2] = 4095;
label = 107;
break;
case 107:
var $329 = $ch_10379 + 1 | 0;
var $exitcond493 = ($329 | 0) == ($4 | 0);
if ($exitcond493) {
label = 108;
break;
} else {
var $ch_10379 = $329;
label = 105;
break;
}
case 108:
var $330 = $gr_8382 + 1 | 0;
var $exitcond494 = ($330 | 0) == ($2 | 0);
if ($exitcond494) {
label = 64;
break;
} else {
var $gr_8382 = $330;
label = 88;
break;
}
case 109:
var $gr_9364;
var $ok_4363;
var $sum_fr_1362;
if ($190) {
var $ok_5354 = $ok_4363;
var $ch_11355 = 0;
var $sum_gr_0356 = 0;
label = 110;
break;
} else {
var $ok_5_lcssa = $ok_4363;
var $sum_gr_0_lcssa = 0;
label = 111;
break;
}
case 110:
var $sum_gr_0356;
var $ch_11355;
var $ok_5354;
var $331 = $max_nbits_ch + ($gr_9364 << 3) + ($ch_11355 << 2) | 0;
var $332 = HEAP32[$331 >> 2];
var $333 = $332 + $sum_gr_0356 | 0;
var $334 = ($332 | 0) > 4095;
var $_ok_5 = $334 ? 0 : $ok_5354;
var $335 = $ch_11355 + 1 | 0;
var $exitcond488 = ($335 | 0) == ($4 | 0);
if ($exitcond488) {
var $ok_5_lcssa = $_ok_5;
var $sum_gr_0_lcssa = $333;
label = 111;
break;
} else {
var $ok_5354 = $_ok_5;
var $ch_11355 = $335;
var $sum_gr_0356 = $333;
label = 110;
break;
}
case 111:
var $sum_gr_0_lcssa;
var $ok_5_lcssa;
var $336 = $sum_gr_0_lcssa + $sum_fr_1362 | 0;
var $337 = ($sum_gr_0_lcssa | 0) > 7680;
var $_ok_5318 = $337 ? 0 : $ok_5_lcssa;
var $338 = $gr_9364 + 1 | 0;
var $exitcond490 = ($338 | 0) == ($2 | 0);
if ($exitcond490) {
label = 112;
break;
} else {
var $sum_fr_1362 = $336;
var $ok_4363 = $_ok_5318;
var $gr_9364 = $338;
label = 109;
break;
}
case 112:
var $phitmp = ($_ok_5318 | 0) == 0;
var $sum_fr_1_lcssa = $336;
var $ok_4_lcssa = $phitmp;
label = 113;
break;
case 113:
var $ok_4_lcssa;
var $sum_fr_1_lcssa;
var $339 = ($sum_fr_1_lcssa | 0) > ($max_nbits_fr_1_lcssa | 0);
var $340 = $339 | $ok_4_lcssa;
var $341 = ($2 | 0) > 0;
var $or_cond = $340 & $341;
if ($or_cond) {
label = 114;
break;
} else {
label = 116;
break;
}
case 114:
var $342 = ($4 | 0) > 0;
var $343 = $4 << 2;
var $gr_10351 = 0;
label = 115;
break;
case 115:
var $gr_10351;
if ($342) {
label = 117;
break;
} else {
label = 118;
break;
}
case 116:
var $344 = ($4 | 0) > 0;
if ($344) {
var $ch_13344 = 0;
label = 121;
break;
} else {
label = 119;
break;
}
case 117:
var $scevgep484 = $max_bits + ($gr_10351 << 3) | 0;
var $scevgep = $max_nbits_ch + ($gr_10351 << 3) | 0;
var $scevgep484485 = $scevgep484;
var $scevgep483 = $scevgep;
_memcpy($scevgep483, $scevgep484485, $343);
label = 118;
break;
case 118:
var $346 = $gr_10351 + 1 | 0;
var $exitcond486 = ($346 | 0) == ($2 | 0);
if ($exitcond486) {
label = 116;
break;
} else {
var $gr_10351 = $346;
label = 115;
break;
}
case 119:
var $347 = ($2 | 0) > 0;
if ($347) {
label = 120;
break;
} else {
var $use_nbits_fr_1_lcssa = 0;
label = 134;
break;
}
case 120:
var $348 = ($4 | 0) > 0;
var $gr_11341 = 0;
label = 122;
break;
case 121:
var $ch_13344;
var $349 = $gfc + 21328 + ($ch_13344 << 4) | 0;
var $350 = $ch_13344 + 1 | 0;
var $exitcond481 = ($350 | 0) == ($4 | 0);
var $351 = $349;
HEAP32[$351 >> 2] = 0;
HEAP32[$351 + 4 >> 2] = 0;
HEAP32[$351 + 8 >> 2] = 0;
HEAP32[$351 + 12 >> 2] = 0;
if ($exitcond481) {
label = 119;
break;
} else {
var $ch_13344 = $350;
label = 121;
break;
}
case 122:
var $gr_11341;
if ($348) {
var $ch_14337 = 0;
label = 125;
break;
} else {
label = 126;
break;
}
case 123:
var $352 = ($2 | 0) > 0;
if ($352) {
label = 124;
break;
} else {
var $use_nbits_fr_1_lcssa = 0;
label = 134;
break;
}
case 124:
var $353 = ($4 | 0) > 0;
var $gr_12331 = 0;
var $use_nbits_fr_1333 = 0;
label = 127;
break;
case 125:
var $ch_14337;
var $354 = $gfc + 304 + $gr_11341 * 10504 + $ch_14337 * 5252 + 4784 | 0;
HEAP32[$354 >> 2] = 0;
var $355 = $ch_14337 + 1 | 0;
var $exitcond479 = ($355 | 0) == ($4 | 0);
if ($exitcond479) {
label = 126;
break;
} else {
var $ch_14337 = $355;
label = 125;
break;
}
case 126:
var $356 = $gr_11341 + 1 | 0;
var $exitcond480 = ($356 | 0) == ($2 | 0);
if ($exitcond480) {
label = 123;
break;
} else {
var $gr_11341 = $356;
label = 122;
break;
}
case 127:
var $use_nbits_fr_1333;
var $gr_12331;
var $358 = $use_nbits_gr + ($gr_12331 << 2) | 0;
HEAP32[$358 >> 2] = 0;
if ($353) {
label = 128;
break;
} else {
label = 133;
break;
}
case 128:
var $_promoted = HEAP32[$358 >> 2];
var $ch_15330 = 0;
var $360 = $_promoted;
label = 129;
break;
case 129:
var $360;
var $ch_15330;
var $361 = $use_nbits_ch + ($gr_12331 << 3) + ($ch_15330 << 2) | 0;
HEAP32[$361 >> 2] = 0;
var $362 = $max_bits + ($gr_12331 << 3) + ($ch_15330 << 2) | 0;
var $363 = HEAP32[$362 >> 2];
var $364 = ($363 | 0) > 0;
if ($364) {
label = 130;
break;
} else {
label = 131;
break;
}
case 130:
var $366 = $that_ + $gr_12331 * 72 + $ch_15330 * 36 | 0;
var $367 = $sfwork_ + $gr_12331 * 312 + $ch_15330 * 156 | 0;
var $368 = $vbrsfmin_ + $gr_12331 * 312 + $ch_15330 * 156 | 0;
var $369 = $that_ + $gr_12331 * 72 + $ch_15330 * 36 + 16 | 0;
var $370 = HEAP32[$369 >> 2];
var $371 = $370 + 4780 | 0;
var $372 = HEAP32[$371 >> 2];
_cutDistribution($367, $367, $372);
var $373 = $max_nbits_ch + ($gr_12331 << 3) + ($ch_15330 << 2) | 0;
var $374 = HEAP32[$373 >> 2];
_outOfBitsStrategy($366, $367, $368, $374);
label = 131;
break;
case 131:
var $376 = _reduce_bit_usage($gfc, $gr_12331, $ch_15330);
HEAP32[$361 >> 2] = $376;
var $377 = $360 + $376 | 0;
var $378 = $ch_15330 + 1 | 0;
var $exitcond = ($378 | 0) == ($4 | 0);
if ($exitcond) {
label = 132;
break;
} else {
var $ch_15330 = $378;
var $360 = $377;
label = 129;
break;
}
case 132:
HEAP32[$358 >> 2] = $377;
label = 133;
break;
case 133:
var $380 = HEAP32[$358 >> 2];
var $381 = $380 + $use_nbits_fr_1333 | 0;
var $382 = $gr_12331 + 1 | 0;
var $exitcond477 = ($382 | 0) == ($2 | 0);
if ($exitcond477) {
var $use_nbits_fr_1_lcssa = $381;
label = 134;
break;
} else {
var $gr_12331 = $382;
var $use_nbits_fr_1333 = $381;
label = 127;
break;
}
case 134:
var $use_nbits_fr_1_lcssa;
var $383 = ($use_nbits_fr_1_lcssa | 0) > ($max_nbits_fr_1_lcssa | 0);
if ($383) {
label = 135;
break;
} else {
var $_0 = $use_nbits_fr_1_lcssa;
label = 136;
break;
}
case 135:
_lame_errorf($gfc, 5384732, (tempInt = STACKTOP, STACKTOP = STACKTOP + 8 | 0, HEAP32[tempInt >> 2] = $max_nbits_fr_1_lcssa, HEAP32[tempInt + 4 >> 2] = $use_nbits_fr_1_lcssa, tempInt));
_exit(-1);
case 136:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_VBR_encode_frame["X"] = 1;
function _cutDistribution($sfwork, $sf_out, $cut) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $j_08 = 39;
var $i_09 = 0;
label = 3;
break;
case 3:
var $i_09;
var $j_08;
var $2 = $sfwork + ($i_09 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) < ($cut | 0);
var $5 = $4 ? $3 : $cut;
var $6 = $sf_out + ($i_09 << 2) | 0;
HEAP32[$6 >> 2] = $5;
var $7 = $j_08 - 1 | 0;
var $8 = $i_09 + 1 | 0;
var $9 = ($7 | 0) == 0;
if ($9) {
label = 4;
break;
} else {
var $j_08 = $7;
var $i_09 = $8;
label = 3;
break;
}
case 4:
return;
}
}
function _sfDepth($sfwork) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_05 = 0;
var $j_06 = 39;
var $m_07 = 0;
label = 3;
break;
case 3:
var $m_07;
var $j_06;
var $i_05;
var $2 = $sfwork + ($i_05 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = 255 - $3 | 0;
var $5 = ($m_07 | 0) < ($4 | 0);
var $_m_0 = $5 ? $4 : $m_07;
var $6 = $j_06 - 1 | 0;
var $7 = $i_05 + 1 | 0;
var $8 = ($6 | 0) == 0;
if ($8) {
label = 4;
break;
} else {
var $i_05 = $7;
var $j_06 = $6;
var $m_07 = $_m_0;
label = 3;
break;
}
case 4:
return $_m_0;
}
}
function _flattenDistribution($sfwork, $sf_out, $dm, $k, $p) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($dm | 0) > 0;
if ($1) {
var $j_027 = 39;
var $sfmax_028 = 0;
var $i_029 = 0;
label = 3;
break;
} else {
var $j_132 = 39;
var $sfmax_233 = 0;
var $i_134 = 0;
label = 6;
break;
}
case 3:
var $i_029;
var $sfmax_028;
var $j_027;
var $2 = $sfwork + ($i_029 << 2) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $p - $3 | 0;
var $5 = $4 * $k & -1;
var $6 = ($5 | 0) / ($dm | 0) & -1;
var $7 = $6 + $3 | 0;
var $8 = ($7 | 0) < 0;
if ($8) {
var $x_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $10 = ($7 | 0) > 255;
var $_ = $10 ? 255 : $7;
var $x_0 = $_;
label = 5;
break;
case 5:
var $x_0;
var $12 = $sf_out + ($i_029 << 2) | 0;
HEAP32[$12 >> 2] = $x_0;
var $13 = ($sfmax_028 | 0) < ($x_0 | 0);
var $x_0_sfmax_0 = $13 ? $x_0 : $sfmax_028;
var $14 = $j_027 - 1 | 0;
var $15 = $i_029 + 1 | 0;
var $16 = ($14 | 0) == 0;
if ($16) {
var $sfmax_4 = $x_0_sfmax_0;
label = 7;
break;
} else {
var $j_027 = $14;
var $sfmax_028 = $x_0_sfmax_0;
var $i_029 = $15;
label = 3;
break;
}
case 6:
var $i_134;
var $sfmax_233;
var $j_132;
var $17 = $sfwork + ($i_134 << 2) | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $sf_out + ($i_134 << 2) | 0;
HEAP32[$19 >> 2] = $18;
var $20 = ($sfmax_233 | 0) < ($18 | 0);
var $_sfmax_2 = $20 ? $18 : $sfmax_233;
var $21 = $j_132 - 1 | 0;
var $22 = $i_134 + 1 | 0;
var $23 = ($21 | 0) == 0;
if ($23) {
var $sfmax_4 = $_sfmax_2;
label = 7;
break;
} else {
var $j_132 = $21;
var $sfmax_233 = $_sfmax_2;
var $i_134 = $22;
label = 6;
break;
}
case 7:
var $sfmax_4;
return $sfmax_4;
}
}
function _short_block_constrain($that, $vbrsf, $vbrsfmin, $vbrmax) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 156 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $sf_temp = __stackBase__;
var $1 = $that + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $that + 12 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $that + 20 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $2 + 4864 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) > 0;
if ($9) {
var $delta_051 = 0;
var $maxover1_052 = 0;
var $maxover0_053 = 0;
var $sfb_054 = 0;
label = 3;
break;
} else {
var $delta_0_lcssa = 0;
var $maxover1_0_lcssa = 0;
var $maxover0_0_lcssa = 0;
label = 4;
break;
}
case 3:
var $sfb_054;
var $maxover0_053;
var $maxover1_052;
var $delta_051;
var $10 = $vbrsf + ($sfb_054 << 2) | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $vbrmax - $11 | 0;
var $13 = ($delta_051 | 0) < ($12 | 0);
var $_delta_0 = $13 ? $12 : $delta_051;
var $14 = $sfb_054 + 5314272 | 0;
var $15 = HEAP8[$14];
var $16 = $15 & 255;
var $17 = $16 << 1;
var $_neg47 = $12 - 56 | 0;
var $18 = $_neg47 - $17 | 0;
var $19 = $16 << 2;
var $_neg49 = $12 - 56 | 0;
var $20 = $_neg49 - $19 | 0;
var $21 = ($maxover0_053 | 0) < ($18 | 0);
var $maxover0_1 = $21 ? $18 : $maxover0_053;
var $22 = ($maxover1_052 | 0) < ($20 | 0);
var $_maxover1_0 = $22 ? $20 : $maxover1_052;
var $23 = $sfb_054 + 1 | 0;
var $exitcond57 = ($23 | 0) == ($8 | 0);
if ($exitcond57) {
var $delta_0_lcssa = $_delta_0;
var $maxover1_0_lcssa = $_maxover1_0;
var $maxover0_0_lcssa = $maxover0_1;
label = 4;
break;
} else {
var $delta_051 = $_delta_0;
var $maxover1_052 = $_maxover1_0;
var $maxover0_053 = $maxover0_1;
var $sfb_054 = $23;
label = 3;
break;
}
case 4:
var $maxover0_0_lcssa;
var $maxover1_0_lcssa;
var $delta_0_lcssa;
var $24 = $4 + 28 | 0;
var $25 = HEAP32[$24 >> 2];
var $26 = ($25 | 0) == 2;
if ($26) {
label = 5;
break;
} else {
var $mover_0 = $maxover0_0_lcssa;
label = 6;
break;
}
case 5:
var $28 = ($maxover0_0_lcssa | 0) < ($maxover1_0_lcssa | 0);
var $29 = $28 ? $maxover0_0_lcssa : $maxover1_0_lcssa;
var $mover_0 = $29;
label = 6;
break;
case 6:
var $mover_0;
var $31 = ($delta_0_lcssa | 0) > ($mover_0 | 0);
var $mover_0_delta_0 = $31 ? $mover_0 : $delta_0_lcssa;
var $32 = $vbrmax - $mover_0_delta_0 | 0;
var $33 = ($maxover0_0_lcssa | 0) == ($mover_0 | 0);
if ($33) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $35 = $2 + 4836 | 0;
HEAP32[$35 >> 2] = 0;
label = 10;
break;
case 8:
var $37 = ($maxover1_0_lcssa | 0) == ($mover_0 | 0);
if ($37) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $39 = $2 + 4836 | 0;
HEAP32[$39 >> 2] = 1;
label = 10;
break;
case 10:
var $41 = ($32 | 0) < ($6 | 0);
var $_ = $41 ? $6 : $32;
var $42 = $2 + 4780 | 0;
HEAP32[$42 >> 2] = $_;
var $43 = ($_ | 0) < 0;
if ($43) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
HEAP32[$42 >> 2] = 0;
var $sfb_150 = 0;
label = 14;
break;
case 12:
var $46 = ($_ | 0) > 255;
if ($46) {
label = 13;
break;
} else {
var $sfb_150 = 0;
label = 14;
break;
}
case 13:
HEAP32[$42 >> 2] = 255;
var $sfb_150 = 0;
label = 14;
break;
case 14:
var $sfb_150;
var $48 = $vbrsf + ($sfb_150 << 2) | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = $49 - $_ | 0;
var $51 = $sf_temp + ($sfb_150 << 2) | 0;
HEAP32[$51 >> 2] = $50;
var $52 = $sfb_150 + 1 | 0;
var $exitcond = ($52 | 0) == 39;
if ($exitcond) {
label = 15;
break;
} else {
var $sfb_150 = $52;
label = 14;
break;
}
case 15:
var $54 = $that + 24 | 0;
var $55 = $sf_temp | 0;
_set_subblock_gain($2, $54, $55);
_set_scalefacs($2, $vbrsfmin, $55, 5314272);
STACKTOP = __stackBase__;
return;
}
}
_short_block_constrain["X"] = 1;
function _long_block_constrain($that, $vbrsf, $vbrsfmin, $vbrmax) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 156 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $sf_temp = __stackBase__;
var $1 = $that + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $that + 12 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $that + 20 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $2 + 4864 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $4 + 76 | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($10 | 0) == 2;
var $12 = $11 ? 5314432 : 5314408;
var $13 = ($8 | 0) > 0;
if ($13) {
var $delta_0115 = 0;
var $maxover1p_0116 = 0;
var $maxover0p_0117 = 0;
var $maxover1_0118 = 0;
var $maxover0_0119 = 0;
var $sfb_0120 = 0;
label = 3;
break;
} else {
var $delta_0_lcssa = 0;
var $maxover1p_0_lcssa = 0;
var $maxover0p_0_lcssa = 0;
var $maxover1_0_lcssa = 0;
var $maxover0_0_lcssa = 0;
label = 4;
break;
}
case 3:
var $sfb_0120;
var $maxover0_0119;
var $maxover1_0118;
var $maxover0p_0117;
var $maxover1p_0116;
var $delta_0115;
var $14 = $vbrsf + ($sfb_0120 << 2) | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $vbrmax - $15 | 0;
var $17 = ($delta_0115 | 0) < ($16 | 0);
var $_delta_0 = $17 ? $16 : $delta_0115;
var $18 = $sfb_0120 + 5314432 | 0;
var $19 = HEAP8[$18];
var $20 = $19 & 255;
var $21 = $20 << 1;
var $22 = $16 - $21 | 0;
var $23 = $20 << 2;
var $24 = $16 - $23 | 0;
var $25 = $12 + $sfb_0120 | 0;
var $26 = HEAP8[$25];
var $27 = $26 & 255;
var $28 = 5257016 + ($sfb_0120 << 2) | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $27 + $29 | 0;
var $31 = $30 << 1;
var $32 = $16 - $31 | 0;
var $33 = $30 << 2;
var $34 = $16 - $33 | 0;
var $35 = ($maxover0_0119 | 0) < ($22 | 0);
var $maxover0_1 = $35 ? $22 : $maxover0_0119;
var $36 = ($maxover1_0118 | 0) < ($24 | 0);
var $_maxover1_0 = $36 ? $24 : $maxover1_0118;
var $37 = ($maxover0p_0117 | 0) < ($32 | 0);
var $maxover0p_1 = $37 ? $32 : $maxover0p_0117;
var $38 = ($maxover1p_0116 | 0) < ($34 | 0);
var $_maxover1p_0 = $38 ? $34 : $maxover1p_0116;
var $39 = $sfb_0120 + 1 | 0;
var $exitcond125 = ($39 | 0) == ($8 | 0);
if ($exitcond125) {
var $delta_0_lcssa = $_delta_0;
var $maxover1p_0_lcssa = $_maxover1p_0;
var $maxover0p_0_lcssa = $maxover0p_1;
var $maxover1_0_lcssa = $_maxover1_0;
var $maxover0_0_lcssa = $maxover0_1;
label = 4;
break;
} else {
var $delta_0115 = $_delta_0;
var $maxover1p_0116 = $_maxover1p_0;
var $maxover0p_0117 = $maxover0p_1;
var $maxover1_0118 = $_maxover1_0;
var $maxover0_0119 = $maxover0_1;
var $sfb_0120 = $39;
label = 3;
break;
}
case 4:
var $maxover0_0_lcssa;
var $maxover1_0_lcssa;
var $maxover0p_0_lcssa;
var $maxover1p_0_lcssa;
var $delta_0_lcssa;
var $40 = $vbrmax - $maxover0p_0_lcssa | 0;
var $41 = ($40 | 0) < ($6 | 0);
var $_ = $41 ? $6 : $40;
var $sfb_1 = 0;
label = 5;
break;
case 5:
var $sfb_1;
var $43 = ($sfb_1 | 0) < ($8 | 0);
if ($43) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
var $45 = $vbrsfmin + ($sfb_1 << 2) | 0;
var $46 = HEAP32[$45 >> 2];
var $47 = $_ - $46 | 0;
var $48 = 5257016 + ($sfb_1 << 2) | 0;
var $49 = HEAP32[$48 >> 2];
var $50 = $49 << 1;
var $51 = $47 - $50 | 0;
var $52 = ($51 | 0) < 1;
var $53 = $sfb_1 + 1 | 0;
if ($52) {
var $vm1p_1 = $maxover1_0_lcssa;
var $vm0p_0106 = $maxover0_0_lcssa;
label = 10;
break;
} else {
var $sfb_1 = $53;
label = 5;
break;
}
case 7:
var $55 = $vbrmax - $maxover1p_0_lcssa | 0;
var $56 = ($55 | 0) < ($6 | 0);
var $_104 = $56 ? $6 : $55;
var $sfb_2 = 0;
label = 8;
break;
case 8:
var $sfb_2;
var $58 = ($sfb_2 | 0) < ($8 | 0);
if ($58) {
label = 9;
break;
} else {
var $vm1p_1 = $maxover1p_0_lcssa;
var $vm0p_0106 = $maxover0p_0_lcssa;
label = 10;
break;
}
case 9:
var $60 = $vbrsfmin + ($sfb_2 << 2) | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = $_104 - $61 | 0;
var $63 = 5257016 + ($sfb_2 << 2) | 0;
var $64 = HEAP32[$63 >> 2];
var $65 = $64 << 2;
var $66 = $62 - $65 | 0;
var $67 = ($66 | 0) < 1;
var $68 = $sfb_2 + 1 | 0;
if ($67) {
var $vm1p_1 = $maxover1_0_lcssa;
var $vm0p_0106 = $maxover0p_0_lcssa;
label = 10;
break;
} else {
var $sfb_2 = $68;
label = 8;
break;
}
case 10:
var $vm0p_0106;
var $vm1p_1;
var $69 = $4 + 28 | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = ($70 | 0) == 2;
var $maxover1p_2_maxover0_0_maxover0p_0 = $71 ? $vm1p_1 : $vm0p_0106;
var $maxover1_0_maxover0_0 = $71 ? $maxover1_0_lcssa : $maxover0_0_lcssa;
var $72 = ($maxover0_0_lcssa | 0) < ($vm0p_0106 | 0);
var $73 = $72 ? $maxover0_0_lcssa : $vm0p_0106;
var $74 = ($73 | 0) < ($maxover1_0_maxover0_0 | 0);
var $75 = $74 ? $73 : $maxover1_0_maxover0_0;
var $76 = ($75 | 0) < ($maxover1p_2_maxover0_0_maxover0p_0 | 0);
var $77 = $76 ? $75 : $maxover1p_2_maxover0_0_maxover0p_0;
var $78 = ($delta_0_lcssa | 0) > ($77 | 0);
var $delta_2 = $78 ? $77 : $delta_0_lcssa;
var $79 = $vbrmax - $delta_2 | 0;
var $80 = ($79 | 0) < ($6 | 0);
var $_105 = $80 ? $6 : $79;
var $81 = ($maxover0_0_lcssa | 0) == ($77 | 0);
if ($81) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $83 = $2 + 4836 | 0;
HEAP32[$83 >> 2] = 0;
var $84 = $2 + 4832 | 0;
HEAP32[$84 >> 2] = 0;
var $max_rangep_0 = 5314432;
label = 18;
break;
case 12:
var $86 = ($vm0p_0106 | 0) == ($77 | 0);
if ($86) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
var $88 = $2 + 4836 | 0;
HEAP32[$88 >> 2] = 0;
var $89 = $2 + 4832 | 0;
HEAP32[$89 >> 2] = 1;
var $max_rangep_0 = $12;
label = 18;
break;
case 14:
var $91 = ($maxover1_0_maxover0_0 | 0) == ($77 | 0);
if ($91) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $93 = $2 + 4836 | 0;
HEAP32[$93 >> 2] = 1;
var $94 = $2 + 4832 | 0;
HEAP32[$94 >> 2] = 0;
var $max_rangep_0 = 5314432;
label = 18;
break;
case 16:
var $96 = ($maxover1p_2_maxover0_0_maxover0p_0 | 0) == ($77 | 0);
if ($96) {
label = 17;
break;
} else {
var $max_rangep_0 = $12;
label = 18;
break;
}
case 17:
var $98 = $2 + 4836 | 0;
HEAP32[$98 >> 2] = 1;
var $99 = $2 + 4832 | 0;
HEAP32[$99 >> 2] = 1;
var $max_rangep_0 = $12;
label = 18;
break;
case 18:
var $max_rangep_0;
var $101 = $2 + 4780 | 0;
HEAP32[$101 >> 2] = $_105;
var $102 = ($_105 | 0) < 0;
if ($102) {
label = 19;
break;
} else {
label = 20;
break;
}
case 19:
HEAP32[$101 >> 2] = 0;
var $sfb_3112 = 0;
label = 22;
break;
case 20:
var $105 = ($_105 | 0) > 255;
if ($105) {
label = 21;
break;
} else {
var $sfb_3112 = 0;
label = 22;
break;
}
case 21:
HEAP32[$101 >> 2] = 255;
var $sfb_3112 = 0;
label = 22;
break;
case 22:
var $sfb_3112;
var $107 = $vbrsf + ($sfb_3112 << 2) | 0;
var $108 = HEAP32[$107 >> 2];
var $109 = $108 - $_105 | 0;
var $110 = $sf_temp + ($sfb_3112 << 2) | 0;
HEAP32[$110 >> 2] = $109;
var $111 = $sfb_3112 + 1 | 0;
var $exitcond = ($111 | 0) == 39;
if ($exitcond) {
label = 23;
break;
} else {
var $sfb_3112 = $111;
label = 22;
break;
}
case 23:
var $113 = $sf_temp | 0;
_set_scalefacs($2, $vbrsfmin, $113, $max_rangep_0);
STACKTOP = __stackBase__;
return;
}
}
_long_block_constrain["X"] = 1;
function _block_sf($that, $l3_xmin, $vbrsf, $vbrsfmin) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $that + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $that + 8 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $2 + 5208 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $2 + 4864 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $that + 20 | 0;
var $10 = $that + 4 | 0;
var $11 = $9;
HEAP32[$11 >> 2] = 0;
HEAP32[$11 + 4 >> 2] = 0;
HEAP32[$11 + 8 >> 2] = 0;
HEAP32[$11 + 12 >> 2] = 0;
var $i_074 = 0;
var $j_075 = 0;
var $m_o_076 = -1;
var $sfb_077 = 0;
var $maxsf_078 = 0;
label = 5;
break;
case 3:
var $12 = ($57 | 0) < 39;
if ($12) {
label = 4;
break;
} else {
label = 15;
break;
}
case 4:
var $13 = $maxsf_3 & 255;
var $sfb_173 = $57;
label = 14;
break;
case 5:
var $maxsf_078;
var $sfb_077;
var $m_o_076;
var $j_075;
var $i_074;
var $15 = $2 + 4872 + ($sfb_077 << 2) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $6 - $j_075 | 0;
var $18 = $17 + 1 | 0;
var $19 = $16 >>> 0 > $18 >>> 0;
var $_ = $19 ? $18 : $16;
var $20 = $4 + ($j_075 << 2) | 0;
var $21 = _vec_max_c($20, $_);
var $22 = _find_lowest_scalefac($21);
var $23 = $22 & 255;
var $24 = $vbrsfmin + ($sfb_077 << 2) | 0;
HEAP32[$24 >> 2] = $23;
var $25 = HEAP32[$9 >> 2];
var $26 = ($25 | 0) < ($23 | 0);
if ($26) {
label = 6;
break;
} else {
label = 7;
break;
}
case 6:
HEAP32[$9 >> 2] = $23;
label = 7;
break;
case 7:
var $29 = $that + 24 + ($i_074 << 2) | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = ($30 | 0) < ($23 | 0);
if ($31) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
HEAP32[$29 >> 2] = $23;
label = 9;
break;
case 9:
var $34 = $i_074 + 1 | 0;
var $35 = $34 >>> 0 > 2;
var $_69 = $35 ? 0 : $34;
var $36 = ($sfb_077 | 0) < ($8 | 0);
var $37 = $16 >>> 0 > 2;
var $or_cond = $36 & $37;
if ($or_cond) {
label = 10;
break;
} else {
label = 12;
break;
}
case 10:
var $39 = $sfb_077 + ($2 + 5212) | 0;
var $40 = HEAP8[$39];
var $41 = $40 << 24 >> 24 == 0;
if ($41) {
var $m2_0 = -1;
var $maxsf_3 = -1;
var $m_o_1 = $m_o_076;
label = 13;
break;
} else {
label = 11;
break;
}
case 11:
var $43 = HEAP32[$10 >> 2];
var $44 = $2 + ($j_075 << 2) | 0;
var $45 = $l3_xmin + ($sfb_077 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $47 = FUNCTION_TABLE[$43]($44, $20, $46, $_, $22);
var $48 = $47 & 255;
var $49 = ($maxsf_078 & 255) < ($47 & 255);
var $_maxsf_0 = $49 ? $47 : $maxsf_078;
var $50 = ($m_o_076 | 0) >= ($48 | 0);
var $51 = $47 << 24 >> 24 == -1;
var $or_cond70 = $50 | $51;
var $m_o_0_ = $or_cond70 ? $m_o_076 : $48;
var $m2_0 = $47;
var $maxsf_3 = $_maxsf_0;
var $m_o_1 = $m_o_0_;
label = 13;
break;
case 12:
var $53 = ($maxsf_078 & 255) < ($22 & 255);
var $_maxsf_071 = $53 ? $22 : $maxsf_078;
var $m2_0 = $_maxsf_071;
var $maxsf_3 = $_maxsf_071;
var $m_o_1 = $m_o_076;
label = 13;
break;
case 13:
var $m_o_1;
var $maxsf_3;
var $m2_0;
var $55 = $m2_0 & 255;
var $56 = $vbrsf + ($sfb_077 << 2) | 0;
HEAP32[$56 >> 2] = $55;
var $57 = $sfb_077 + 1 | 0;
var $58 = $16 + $j_075 | 0;
var $59 = $58 >>> 0 > $6 >>> 0;
if ($59) {
label = 3;
break;
} else {
var $i_074 = $_69;
var $j_075 = $58;
var $m_o_076 = $m_o_1;
var $sfb_077 = $57;
var $maxsf_078 = $maxsf_3;
label = 5;
break;
}
case 14:
var $sfb_173;
var $61 = $vbrsf + ($sfb_173 << 2) | 0;
HEAP32[$61 >> 2] = $13;
var $62 = $vbrsfmin + ($sfb_173 << 2) | 0;
HEAP32[$62 >> 2] = 0;
var $63 = $sfb_173 + 1 | 0;
var $exitcond79 = ($63 | 0) == 39;
if ($exitcond79) {
label = 15;
break;
} else {
var $sfb_173 = $63;
label = 14;
break;
}
case 15:
var $64 = ($m_o_1 | 0) > -1;
if ($64) {
var $sfb_272 = 0;
label = 16;
break;
} else {
var $maxsf_4 = $maxsf_3;
label = 20;
break;
}
case 16:
var $sfb_272;
var $66 = $vbrsf + ($sfb_272 << 2) | 0;
var $67 = HEAP32[$66 >> 2];
var $68 = ($67 | 0) == 255;
if ($68) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
HEAP32[$66 >> 2] = $m_o_1;
label = 18;
break;
case 18:
var $71 = $sfb_272 + 1 | 0;
var $exitcond = ($71 | 0) == 39;
if ($exitcond) {
label = 19;
break;
} else {
var $sfb_272 = $71;
label = 16;
break;
}
case 19:
var $72 = $m_o_1 & 255;
var $maxsf_4 = $72;
label = 20;
break;
case 20:
var $maxsf_4;
var $74 = $maxsf_4 & 255;
return $74;
}
}
_block_sf["X"] = 1;
function _quantizeAndCountBits($that) {
_quantize_x34($that);
var $3 = $that + 16 | 0;
var $5 = _noquant_count_bits(HEAP32[$that + 12 >> 2], HEAP32[$3 >> 2], 0);
HEAP32[HEAP32[$3 >> 2] + 4768 >> 2] = $5;
return HEAP32[HEAP32[$3 >> 2] + 4768 >> 2];
}
function _reduce_bit_usage($gfc, $gr, $ch) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfc + 304 | 0;
_best_scalefac_store($gfc, $gr, $ch, $1);
var $2 = $gfc + 36 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 1;
if ($4) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $6 = $gfc + 304 + $gr * 10504 + $ch * 5252 | 0;
_best_huffman_divide($gfc, $6);
label = 4;
break;
case 4:
var $8 = $gfc + 304 + $gr * 10504 + $ch * 5252 + 4768 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = $gfc + 304 + $gr * 10504 + $ch * 5252 + 4844 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $11 + $9 | 0;
return $12;
}
}
function _outOfBitsStrategy($that, $sfwork, $vbrsfmin, $target) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 156 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $wrk = __stackBase__;
var $1 = _sfDepth($sfwork);
var $2 = $that + 16 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 + 4780 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $wrk | 0;
var $bi_0_in = $1;
var $bi_ok_0 = -1;
var $bu_0 = 0;
var $bo_0 = $1;
label = 3;
break;
case 3:
var $bo_0;
var $bu_0;
var $bi_ok_0;
var $bi_0_in;
var $bi_0 = ($bi_0_in | 0) / 2 & -1;
var $8 = _flattenDistribution($sfwork, $6, $1, $bi_0, $5);
var $9 = _tryThatOne($that, $6, $vbrsfmin, $8);
var $10 = ($9 | 0) > ($target | 0);
var $11 = $bi_0 - 1 | 0;
var $12 = $bi_0 + 1 | 0;
var $bo_1 = $10 ? $bo_0 : $11;
var $bu_1 = $10 ? $12 : $bu_0;
var $bi_ok_1 = $10 ? $bi_ok_0 : $bi_0;
var $13 = ($bu_1 | 0) > ($bo_1 | 0);
var $14 = $bu_1 + $bo_1 | 0;
if ($13) {
label = 4;
break;
} else {
var $bi_0_in = $14;
var $bi_ok_0 = $bi_ok_1;
var $bu_0 = $bu_1;
var $bo_0 = $bo_1;
label = 3;
break;
}
case 4:
var $16 = ($bi_ok_1 | 0) > -1;
if ($16) {
label = 5;
break;
} else {
label = 7;
break;
}
case 5:
var $18 = ($bi_0 | 0) == ($bi_ok_1 | 0);
if ($18) {
label = 13;
break;
} else {
label = 6;
break;
}
case 6:
var $20 = _flattenDistribution($sfwork, $6, $1, $bi_ok_1, $5);
var $21 = _tryThatOne($that, $6, $vbrsfmin, $20);
label = 13;
break;
case 7:
var $23 = $5 + 255 | 0;
var $bo5_0 = 255;
var $bu4_0 = $5;
var $bi_ok3_0 = -1;
var $bi2_0_in = $23;
label = 8;
break;
case 8:
var $bi2_0_in;
var $bi_ok3_0;
var $bu4_0;
var $bo5_0;
var $bi2_0 = ($bi2_0_in | 0) / 2 & -1;
var $25 = _flattenDistribution($sfwork, $6, $1, $1, $bi2_0);
var $26 = _tryThatOne($that, $6, $vbrsfmin, $25);
var $27 = ($26 | 0) > ($target | 0);
var $28 = $bi2_0 - 1 | 0;
var $29 = $bi2_0 + 1 | 0;
var $bi_ok3_1 = $27 ? $bi_ok3_0 : $bi2_0;
var $bu4_1 = $27 ? $29 : $bu4_0;
var $bo5_1 = $27 ? $bo5_0 : $28;
var $30 = ($bu4_1 | 0) > ($bo5_1 | 0);
var $31 = $bu4_1 + $bo5_1 | 0;
if ($30) {
label = 9;
break;
} else {
var $bo5_0 = $bo5_1;
var $bu4_0 = $bu4_1;
var $bi_ok3_0 = $bi_ok3_1;
var $bi2_0_in = $31;
label = 8;
break;
}
case 9:
var $33 = ($bi_ok3_1 | 0) > -1;
if ($33) {
label = 10;
break;
} else {
label = 12;
break;
}
case 10:
var $35 = ($bi2_0 | 0) == ($bi_ok3_1 | 0);
if ($35) {
label = 13;
break;
} else {
label = 11;
break;
}
case 11:
var $37 = _flattenDistribution($sfwork, $6, $1, $1, $bi_ok3_1);
var $38 = _tryThatOne($that, $6, $vbrsfmin, $37);
label = 13;
break;
case 12:
_searchGlobalStepsizeMax($that, $6, $vbrsfmin, $target);
label = 13;
break;
case 13:
STACKTOP = __stackBase__;
return;
}
}
_outOfBitsStrategy["X"] = 1;
function _tryThatOne($that, $sftemp, $vbrsfmin, $vbrmax) {
var $1 = $that + 16 | 0;
var $4 = HEAPF32[HEAP32[$1 >> 2] + 4764 >> 2];
FUNCTION_TABLE[HEAP32[$that >> 2]]($that, $sftemp, $vbrsfmin, $vbrmax);
_bitcount($that);
var $7 = _quantizeAndCountBits($that);
var $8 = HEAP32[$1 >> 2];
var $11 = HEAP32[$8 + 4844 >> 2] + $7 | 0;
HEAPF32[$8 + 4764 >> 2] = $4;
return $11;
}
function _searchGlobalStepsizeMax($that, $sfwork, $vbrsfmin, $target) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $that + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 4780 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) > 512;
if ($5) {
var $curr_0_lcssa = $4;
var $gain_ok_0_lcssa = 1024;
label = 9;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $2 + 4844 | 0;
var $gain_ok_0_ph31 = 1024;
var $l_0_ph32 = $4;
var $r_0_ph33 = 512;
label = 4;
break;
case 4:
var $r_0_ph33;
var $l_0_ph32;
var $gain_ok_0_ph31;
var $gain_ok_026 = $gain_ok_0_ph31;
var $r_027 = $r_0_ph33;
label = 5;
break;
case 5:
var $r_027;
var $gain_ok_026;
var $8 = $r_027 + $l_0_ph32 | 0;
var $9 = $8 >> 1;
var $10 = $9 - $4 | 0;
var $11 = _tryGlobalStepsize($that, $sfwork, $vbrsfmin, $10);
var $12 = ($11 | 0) == 0;
if ($12) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $14 = HEAP32[$6 >> 2];
var $15 = $14 + $11 | 0;
var $16 = ($15 | 0) < ($target | 0);
if ($16) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $18 = $9 - 1 | 0;
var $19 = ($l_0_ph32 | 0) > ($18 | 0);
if ($19) {
label = 11;
break;
} else {
var $gain_ok_026 = $9;
var $r_027 = $18;
label = 5;
break;
}
case 8:
var $20 = $9 + 1 | 0;
var $21 = ($gain_ok_026 | 0) == 1024;
var $_gain_ok_0 = $21 ? $9 : $gain_ok_026;
var $22 = ($20 | 0) > ($r_027 | 0);
if ($22) {
var $curr_0_lcssa = $9;
var $gain_ok_0_lcssa = $_gain_ok_0;
label = 9;
break;
} else {
var $gain_ok_0_ph31 = $_gain_ok_0;
var $l_0_ph32 = $20;
var $r_0_ph33 = $r_027;
label = 4;
break;
}
case 9:
var $gain_ok_0_lcssa;
var $curr_0_lcssa;
var $23 = ($gain_ok_0_lcssa | 0) == ($curr_0_lcssa | 0);
if ($23) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
var $25 = $gain_ok_0_lcssa - $4 | 0;
var $26 = _tryGlobalStepsize($that, $sfwork, $vbrsfmin, $25);
label = 11;
break;
case 11:
return;
}
}
function _tryGlobalStepsize($that, $sfwork, $vbrsfmin, $delta) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 156 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $sftemp = __stackBase__;
var $1 = $that + 16 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 4764 | 0;
var $4 = HEAPF32[$3 >> 2];
var $i_021 = 0;
var $vbrmax_022 = 0;
label = 3;
break;
case 3:
var $vbrmax_022;
var $i_021;
var $6 = $sfwork + ($i_021 << 2) | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $7 + $delta | 0;
var $9 = $vbrsfmin + ($i_021 << 2) | 0;
var $10 = HEAP32[$9 >> 2];
var $11 = ($8 | 0) < ($10 | 0);
var $_ = $11 ? $10 : $8;
var $12 = ($_ | 0) > 255;
var $gain_1 = $12 ? 255 : $_;
var $13 = ($vbrmax_022 | 0) < ($gain_1 | 0);
var $gain_1_vbrmax_0 = $13 ? $gain_1 : $vbrmax_022;
var $14 = $sftemp + ($i_021 << 2) | 0;
HEAP32[$14 >> 2] = $gain_1;
var $15 = $i_021 + 1 | 0;
var $exitcond = ($15 | 0) == 39;
if ($exitcond) {
label = 4;
break;
} else {
var $i_021 = $15;
var $vbrmax_022 = $gain_1_vbrmax_0;
label = 3;
break;
}
case 4:
var $17 = $that | 0;
var $18 = HEAP32[$17 >> 2];
var $19 = $sftemp | 0;
FUNCTION_TABLE[$18]($that, $19, $vbrsfmin, $gain_1_vbrmax_0);
_bitcount($that);
var $20 = _quantizeAndCountBits($that);
var $21 = HEAP32[$1 >> 2];
var $22 = $21 + 4764 | 0;
HEAPF32[$22 >> 2] = $4;
STACKTOP = __stackBase__;
return $20;
}
}
function _bitcount($that) {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $that + 12 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $that + 16 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = _scale_bitcount($2, $4);
var $6 = ($5 | 0) == 0;
if ($6) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
STACKTOP = __stackBase__;
return;
case 4:
var $9 = HEAP32[$1 >> 2];
_lame_errorf($9, 5386640, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
_exit(-1);
}
}
function _k_34_4($x, $l3) {
var $2 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$x >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$x + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + 8388608;
HEAPF64[tempDoublePtr >> 3] = $2, HEAP32[$x >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$x + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $4 = (HEAPF32[tempDoublePtr >> 2] = $2, HEAP32[tempDoublePtr >> 2]);
var $5 = $x + 8 | 0;
var $7 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$5 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$5 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + 8388608;
HEAPF64[tempDoublePtr >> 3] = $7, HEAP32[$5 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$5 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $9 = (HEAPF32[tempDoublePtr >> 2] = $7, HEAP32[tempDoublePtr >> 2]);
var $10 = $x + 16 | 0;
var $12 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$10 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$10 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + 8388608;
HEAPF64[tempDoublePtr >> 3] = $12, HEAP32[$10 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$10 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $14 = (HEAPF32[tempDoublePtr >> 2] = $12, HEAP32[tempDoublePtr >> 2]);
var $15 = $x + 24 | 0;
var $17 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$15 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$15 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + 8388608;
HEAPF64[tempDoublePtr >> 3] = $17, HEAP32[$15 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$15 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $19 = (HEAPF32[tempDoublePtr >> 2] = $17, HEAP32[tempDoublePtr >> 2]);
var $27 = (HEAPF32[tempDoublePtr >> 2] = (HEAP32[tempDoublePtr >> 2] = HEAP32[$x >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$x + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + HEAPF32[5349760 + ($4 - 1258291200 << 2) >> 2], HEAP32[tempDoublePtr >> 2]);
var $35 = (HEAPF32[tempDoublePtr >> 2] = (HEAP32[tempDoublePtr >> 2] = HEAP32[$5 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$5 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + HEAPF32[5349760 + ($9 - 1258291200 << 2) >> 2], HEAP32[tempDoublePtr >> 2]);
var $43 = (HEAPF32[tempDoublePtr >> 2] = (HEAP32[tempDoublePtr >> 2] = HEAP32[$10 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$10 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]) + HEAPF32[5349760 + ($14 - 1258291200 << 2) >> 2], HEAP32[tempDoublePtr >> 2]);
var $50 = (HEAPF32[tempDoublePtr >> 2] = $17 + HEAPF32[5349760 + ($19 - 1258291200 << 2) >> 2], HEAP32[tempDoublePtr >> 2]);
HEAP32[$l3 >> 2] = $27 - 1258291200 | 0;
HEAP32[$l3 + 4 >> 2] = $35 - 1258291200 | 0;
HEAP32[$l3 + 8 >> 2] = $43 - 1258291200 | 0;
HEAP32[$l3 + 12 >> 2] = $50 - 1258291200 | 0;
return;
}
_k_34_4["X"] = 1;
function _vec_max_c($xr34, $bw) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bw >>> 2;
var $2 = $bw & 3;
var $3 = ($1 | 0) == 0;
if ($3) {
var $xfsf_0_lcssa = 0;
var $_0_lcssa = $xr34;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $bw & -4;
var $xfsf_024 = 0;
var $i_025 = $1;
var $_026 = $xr34;
label = 4;
break;
case 4:
var $_026;
var $i_025;
var $xfsf_024;
var $6 = $i_025 - 1 | 0;
var $7 = HEAPF32[$_026 >> 2];
var $8 = $xfsf_024 < $7;
var $xfsf_1 = $8 ? $7 : $xfsf_024;
var $9 = $_026 + 4 | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $xfsf_1 < $10;
var $xfsf_2 = $11 ? $10 : $xfsf_1;
var $12 = $_026 + 8 | 0;
var $13 = HEAPF32[$12 >> 2];
var $14 = $xfsf_2 < $13;
var $xfsf_3 = $14 ? $13 : $xfsf_2;
var $15 = $_026 + 12 | 0;
var $16 = HEAPF32[$15 >> 2];
var $17 = $xfsf_3 < $16;
var $xfsf_4 = $17 ? $16 : $xfsf_3;
var $18 = $_026 + 16 | 0;
var $19 = ($6 | 0) == 0;
if ($19) {
label = 5;
break;
} else {
var $xfsf_024 = $xfsf_4;
var $i_025 = $6;
var $_026 = $18;
label = 4;
break;
}
case 5:
var $scevgep = $xr34 + ($4 << 2) | 0;
var $xfsf_0_lcssa = $xfsf_4;
var $_0_lcssa = $scevgep;
label = 6;
break;
case 6:
var $_0_lcssa;
var $xfsf_0_lcssa;
if (($2 | 0) == 3) {
label = 7;
break;
} else if (($2 | 0) == 2) {
var $xfsf_5 = $xfsf_0_lcssa;
label = 9;
break;
} else if (($2 | 0) == 1) {
var $xfsf_6 = $xfsf_0_lcssa;
label = 11;
break;
} else {
var $xfsf_7 = $xfsf_0_lcssa;
label = 13;
break;
}
case 7:
var $22 = $_0_lcssa + 8 | 0;
var $23 = HEAPF32[$22 >> 2];
var $24 = $xfsf_0_lcssa < $23;
if ($24) {
label = 8;
break;
} else {
var $xfsf_5 = $xfsf_0_lcssa;
label = 9;
break;
}
case 8:
var $xfsf_5 = $23;
label = 9;
break;
case 9:
var $xfsf_5;
var $27 = $_0_lcssa + 4 | 0;
var $28 = HEAPF32[$27 >> 2];
var $29 = $xfsf_5 < $28;
if ($29) {
label = 10;
break;
} else {
var $xfsf_6 = $xfsf_5;
label = 11;
break;
}
case 10:
var $xfsf_6 = $28;
label = 11;
break;
case 11:
var $xfsf_6;
var $32 = HEAPF32[$_0_lcssa >> 2];
var $33 = $xfsf_6 < $32;
if ($33) {
label = 12;
break;
} else {
var $xfsf_7 = $xfsf_6;
label = 13;
break;
}
case 12:
var $xfsf_7 = $32;
label = 13;
break;
case 13:
var $xfsf_7;
return $xfsf_7;
}
}
_vec_max_c["X"] = 1;
function _find_lowest_scalefac($xr34) {
var $3 = HEAPF32[5326676 >> 2] * $xr34 > 8206;
var $sf_1 = $3 ? -64 : 64;
var $8 = HEAPF32[5326164 + (($sf_1 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_1 = ($8 ? 32 : -32) + $sf_1 & 255;
var $13 = HEAPF32[5326164 + (($sf_1_in_1 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_2 = ($13 ? 16 : -16) + $sf_1_in_1 & 255;
var $18 = HEAPF32[5326164 + (($sf_1_in_2 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_3 = ($18 ? 8 : -8) + $sf_1_in_2 & 255;
var $23 = HEAPF32[5326164 + (($sf_1_in_3 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_4 = ($23 ? 4 : -4) + $sf_1_in_3 & 255;
var $28 = HEAPF32[5326164 + (($sf_1_in_4 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_5 = ($28 ? 2 : -2) + $sf_1_in_4 & 255;
var $33 = HEAPF32[5326164 + (($sf_1_in_5 & 255) << 2) >> 2] * $xr34 > 8206;
var $sf_1_in_6 = ($33 ? 1 : -1) + $sf_1_in_5 & 255;
return HEAPF32[5326164 + (($sf_1_in_6 & 255) << 2) >> 2] * $xr34 > 8206 ? $33 ? $28 ? $23 ? $18 ? $13 ? $8 ? $3 ? -1 : -128 : $sf_1 : $sf_1_in_1 : $sf_1_in_2 : $sf_1_in_3 : $sf_1_in_4 : $sf_1_in_5 : $sf_1_in_6;
}
_find_lowest_scalefac["X"] = 1;
function _set_subblock_gain($cod_info, $mingain_s, $sf) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4836 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
var $4 = $3 ? 1 : 2;
var $5 = $cod_info + 4864 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $6 >>> 0 < 18;
var $_ = $7 ? $6 : 18;
var $8 = 15 << $4;
var $9 = 7 << $4;
var $10 = $cod_info + 4780 | 0;
var $min_sbg_091 = 7;
var $i_092 = 0;
label = 3;
break;
case 3:
var $i_092;
var $min_sbg_091;
var $11 = $i_092 >>> 0 < $_ >>> 0;
if ($11) {
var $minsf_080 = 1e3;
var $maxsf1_081 = 0;
var $sfb_082 = $i_092;
label = 4;
break;
} else {
var $minsf_0_lcssa = 1e3;
var $maxsf1_0_lcssa = 0;
var $sfb_0_lcssa = $i_092;
label = 5;
break;
}
case 4:
var $sfb_082;
var $maxsf1_081;
var $minsf_080;
var $12 = $sf + ($sfb_082 << 2) | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = -$13 | 0;
var $15 = ($maxsf1_081 | 0) < ($14 | 0);
var $_maxsf1_0 = $15 ? $14 : $maxsf1_081;
var $16 = ($minsf_080 | 0) > ($14 | 0);
var $minsf_1 = $16 ? $14 : $minsf_080;
var $17 = $sfb_082 + 3 | 0;
var $18 = $17 >>> 0 < $_ >>> 0;
if ($18) {
var $minsf_080 = $minsf_1;
var $maxsf1_081 = $_maxsf1_0;
var $sfb_082 = $17;
label = 4;
break;
} else {
var $minsf_0_lcssa = $minsf_1;
var $maxsf1_0_lcssa = $_maxsf1_0;
var $sfb_0_lcssa = $17;
label = 5;
break;
}
case 5:
var $sfb_0_lcssa;
var $maxsf1_0_lcssa;
var $minsf_0_lcssa;
var $19 = $sfb_0_lcssa >>> 0 < 39;
if ($19) {
var $minsf_285 = $minsf_0_lcssa;
var $maxsf2_086 = 0;
var $sfb_187 = $sfb_0_lcssa;
label = 6;
break;
} else {
var $minsf_2_lcssa = $minsf_0_lcssa;
var $maxsf2_0_lcssa = 0;
label = 7;
break;
}
case 6:
var $sfb_187;
var $maxsf2_086;
var $minsf_285;
var $20 = $sf + ($sfb_187 << 2) | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = -$21 | 0;
var $23 = ($maxsf2_086 | 0) < ($22 | 0);
var $_maxsf2_0 = $23 ? $22 : $maxsf2_086;
var $24 = ($minsf_285 | 0) > ($22 | 0);
var $minsf_3 = $24 ? $22 : $minsf_285;
var $25 = $sfb_187 + 3 | 0;
var $26 = $25 >>> 0 < 39;
if ($26) {
var $minsf_285 = $minsf_3;
var $maxsf2_086 = $_maxsf2_0;
var $sfb_187 = $25;
label = 6;
break;
} else {
var $minsf_2_lcssa = $minsf_3;
var $maxsf2_0_lcssa = $_maxsf2_0;
label = 7;
break;
}
case 7:
var $maxsf2_0_lcssa;
var $minsf_2_lcssa;
var $27 = $maxsf1_0_lcssa - $8 | 0;
var $28 = $maxsf2_0_lcssa - $9 | 0;
var $29 = ($27 | 0) > ($28 | 0);
var $30 = $29 ? $27 : $28;
var $31 = ($minsf_2_lcssa | 0) > 0;
if ($31) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $33 = $minsf_2_lcssa >> 3;
var $34 = $cod_info + 4808 + ($i_092 << 2) | 0;
HEAP32[$34 >> 2] = $33;
label = 10;
break;
case 9:
var $36 = $cod_info + 4808 + ($i_092 << 2) | 0;
HEAP32[$36 >> 2] = 0;
label = 10;
break;
case 10:
var $38 = ($30 | 0) > 0;
if ($38) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $40 = $cod_info + 4808 + ($i_092 << 2) | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $30 + 7 | 0;
var $43 = $42 >> 3;
var $44 = ($41 | 0) > ($43 | 0);
var $45 = $44 ? $41 : $43;
HEAP32[$40 >> 2] = $45;
label = 12;
break;
case 12:
var $47 = $cod_info + 4808 + ($i_092 << 2) | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = ($48 | 0) > 0;
if ($49) {
label = 13;
break;
} else {
label = 18;
break;
}
case 13:
var $51 = $mingain_s + ($i_092 << 2) | 0;
var $52 = HEAP32[$51 >> 2];
var $53 = HEAP32[$10 >> 2];
var $54 = $48 << 3;
var $55 = $53 - $54 | 0;
var $56 = ($52 | 0) > ($55 | 0);
if ($56) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $58 = $53 - $52 | 0;
var $59 = $58 >> 3;
HEAP32[$47 >> 2] = $59;
var $61 = $59;
label = 16;
break;
case 15:
var $_pr = HEAP32[$47 >> 2];
var $61 = $_pr;
label = 16;
break;
case 16:
var $61;
var $62 = ($61 | 0) > 7;
if ($62) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
HEAP32[$47 >> 2] = 7;
label = 18;
break;
case 18:
var $64 = HEAP32[$47 >> 2];
var $65 = ($min_sbg_091 | 0) > ($64 | 0);
var $_min_sbg_0 = $65 ? $64 : $min_sbg_091;
var $66 = $i_092 + 1 | 0;
var $exitcond = ($66 | 0) == 3;
if ($exitcond) {
label = 19;
break;
} else {
var $min_sbg_091 = $_min_sbg_0;
var $i_092 = $66;
label = 3;
break;
}
case 19:
var $68 = $cod_info + 4808 | 0;
var $69 = HEAP32[$68 >> 2];
var $70 = $69 << 3;
var $71 = $cod_info + 4812 | 0;
var $72 = HEAP32[$71 >> 2];
var $73 = $72 << 3;
var $74 = $cod_info + 4816 | 0;
var $75 = HEAP32[$74 >> 2];
var $76 = $75 << 3;
var $sfb_278 = 0;
label = 20;
break;
case 20:
var $sfb_278;
var $78 = $sf + ($sfb_278 << 2) | 0;
var $79 = HEAP32[$78 >> 2];
var $80 = $79 + $70 | 0;
HEAP32[$78 >> 2] = $80;
var $81 = $sfb_278 + 1 | 0;
var $82 = $sf + ($81 << 2) | 0;
var $83 = HEAP32[$82 >> 2];
var $84 = $83 + $73 | 0;
HEAP32[$82 >> 2] = $84;
var $85 = $sfb_278 + 2 | 0;
var $86 = $sf + ($85 << 2) | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = $87 + $76 | 0;
HEAP32[$86 >> 2] = $88;
var $89 = $sfb_278 + 3 | 0;
var $90 = $89 >>> 0 < 39;
if ($90) {
var $sfb_278 = $89;
label = 20;
break;
} else {
label = 21;
break;
}
case 21:
var $92 = ($_min_sbg_0 | 0) > 0;
if ($92) {
label = 22;
break;
} else {
label = 23;
break;
}
case 22:
var $93 = $cod_info + 4808 | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = $94 - $_min_sbg_0 | 0;
HEAP32[$93 >> 2] = $95;
var $96 = $cod_info + 4812 | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = $97 - $_min_sbg_0 | 0;
HEAP32[$96 >> 2] = $98;
var $99 = $cod_info + 4816 | 0;
var $100 = HEAP32[$99 >> 2];
var $101 = $100 - $_min_sbg_0 | 0;
HEAP32[$99 >> 2] = $101;
var $102 = $_min_sbg_0 << 3;
var $103 = $cod_info + 4780 | 0;
var $104 = HEAP32[$103 >> 2];
var $105 = $104 - $102 | 0;
HEAP32[$103 >> 2] = $105;
label = 23;
break;
case 23:
return;
}
}
_set_subblock_gain["X"] = 1;
function _quantize_x34($that) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 48 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $x = __stackBase__;
var $tmp_l3 = __stackBase__ + 32;
var $1 = $that + 8 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $that + 16 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $4 + 4836 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = ($6 | 0) == 0;
var $8 = $7 ? 2 : 4;
var $9 = $4 + 2304 | 0;
var $10 = $4 + 5208 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = $4 + 4832 | 0;
var $13 = $4 + 4780 | 0;
var $14 = $x + 16 | 0;
var $15 = $x + 8 | 0;
var $16 = $x | 0;
var $17 = $tmp_l3 | 0;
var $18 = $tmp_l3 + 8 | 0;
var $19 = $tmp_l3 + 4 | 0;
var $20 = $x | 0;
var $21 = $x + 8 | 0;
var $22 = $x + 16 | 0;
var $23 = $x + 24 | 0;
var $24 = -2 - $11 | 0;
var $sfb_053 = 0;
var $j_054 = 0;
var $l3_055 = $9;
var $xr34_orig_056 = $2;
label = 3;
break;
case 3:
var $xr34_orig_056;
var $l3_055;
var $j_054;
var $sfb_053;
var $26 = $4 + 4608 + ($sfb_053 << 2) | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = HEAP32[$12 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
var $34 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $31 = 5257016 + ($sfb_053 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $34 = $32;
label = 5;
break;
case 5:
var $34;
var $35 = $34 + $27 | 0;
var $36 = $35 * $8 & -1;
var $37 = $4 + 5028 + ($sfb_053 << 2) | 0;
var $38 = HEAP32[$37 >> 2];
var $39 = $4 + 4808 + ($38 << 2) | 0;
var $40 = HEAP32[$39 >> 2];
var $41 = $40 << 3;
var $42 = HEAP32[$13 >> 2];
var $sum = $41 + $36 | 0;
var $43 = $42 - $sum | 0;
var $44 = $43 & 255;
var $45 = 5326164 + ($44 << 2) | 0;
var $46 = HEAPF32[$45 >> 2];
var $47 = $4 + 4872 + ($sfb_053 << 2) | 0;
var $48 = HEAP32[$47 >> 2];
var $49 = $11 - $j_054 | 0;
var $50 = $49 + 1 | 0;
var $51 = $48 + $j_054 | 0;
var $52 = $sfb_053 + 1 | 0;
var $53 = $48 >>> 0 <= $50 >>> 0;
var $54 = $53 ? $48 : $50;
var $55 = $54 & 3;
var $56 = $54 >>> 2;
var $57 = ($56 | 0) == 0;
if ($57) {
var $l3_1_lcssa = $l3_055;
var $xr34_orig_1_lcssa = $xr34_orig_056;
label = 9;
break;
} else {
label = 6;
break;
}
case 6:
var $58 = $48 ^ -1;
var $59 = $24 + $j_054 | 0;
var $60 = $59 >>> 0 < $58 >>> 0;
var $umax = $60 ? $58 : $59;
var $61 = $umax & -4;
var $62 = $61 ^ -4;
var $scevgep = $xr34_orig_056 + ($62 << 2) | 0;
var $l3_149 = $l3_055;
var $i_050 = $56;
var $xr34_orig_151 = $xr34_orig_056;
label = 7;
break;
case 7:
var $xr34_orig_151;
var $i_050;
var $l3_149;
var $64 = $i_050 - 1 | 0;
var $65 = HEAPF32[$xr34_orig_151 >> 2];
var $66 = $46 * $65;
var $67 = $66;
HEAPF64[tempDoublePtr >> 3] = $67, HEAP32[$20 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$20 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $68 = $xr34_orig_151 + 4 | 0;
var $69 = HEAPF32[$68 >> 2];
var $70 = $46 * $69;
var $71 = $70;
HEAPF64[tempDoublePtr >> 3] = $71, HEAP32[$21 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$21 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $72 = $xr34_orig_151 + 8 | 0;
var $73 = HEAPF32[$72 >> 2];
var $74 = $46 * $73;
var $75 = $74;
HEAPF64[tempDoublePtr >> 3] = $75, HEAP32[$22 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$22 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $76 = $xr34_orig_151 + 12 | 0;
var $77 = HEAPF32[$76 >> 2];
var $78 = $46 * $77;
var $79 = $78;
HEAPF64[tempDoublePtr >> 3] = $79, HEAP32[$23 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$23 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
_k_34_4($20, $l3_149);
var $80 = $l3_149 + 16 | 0;
var $81 = $xr34_orig_151 + 16 | 0;
var $82 = ($64 | 0) == 0;
if ($82) {
label = 8;
break;
} else {
var $l3_149 = $80;
var $i_050 = $64;
var $xr34_orig_151 = $81;
label = 7;
break;
}
case 8:
var $scevgep58 = $l3_055 + ($62 << 2) | 0;
var $l3_1_lcssa = $scevgep58;
var $xr34_orig_1_lcssa = $scevgep;
label = 9;
break;
case 9:
var $xr34_orig_1_lcssa;
var $l3_1_lcssa;
var $84 = ($55 | 0) == 0;
if ($84) {
var $xr34_orig_0_be = $xr34_orig_1_lcssa;
var $l3_0_be = $l3_1_lcssa;
label = 19;
break;
} else {
label = 10;
break;
}
case 10:
var $86 = $x;
HEAP32[$86 >> 2] = 0;
HEAP32[$86 + 4 >> 2] = 0;
HEAP32[$86 + 8 >> 2] = 0;
HEAP32[$86 + 12 >> 2] = 0;
HEAP32[$86 + 16 >> 2] = 0;
HEAP32[$86 + 20 >> 2] = 0;
HEAP32[$86 + 24 >> 2] = 0;
HEAP32[$86 + 28 >> 2] = 0;
if (($55 | 0) == 3) {
label = 11;
break;
} else if (($55 | 0) == 2) {
label = 12;
break;
} else if (($55 | 0) == 1) {
label = 13;
break;
} else {
label = 14;
break;
}
case 11:
var $88 = $xr34_orig_1_lcssa + 8 | 0;
var $89 = HEAPF32[$88 >> 2];
var $90 = $46 * $89;
var $91 = $90;
HEAPF64[tempDoublePtr >> 3] = $91, HEAP32[$14 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$14 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 12;
break;
case 12:
var $93 = $xr34_orig_1_lcssa + 4 | 0;
var $94 = HEAPF32[$93 >> 2];
var $95 = $46 * $94;
var $96 = $95;
HEAPF64[tempDoublePtr >> 3] = $96, HEAP32[$15 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$15 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 13;
break;
case 13:
var $98 = HEAPF32[$xr34_orig_1_lcssa >> 2];
var $99 = $46 * $98;
var $100 = $99;
HEAPF64[tempDoublePtr >> 3] = $100, HEAP32[$16 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$16 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 14;
break;
case 14:
_k_34_4($16, $17);
if (($55 | 0) == 3) {
label = 15;
break;
} else if (($55 | 0) == 2) {
label = 16;
break;
} else if (($55 | 0) == 1) {
label = 17;
break;
} else {
label = 18;
break;
}
case 15:
var $103 = HEAP32[$18 >> 2];
var $104 = $l3_1_lcssa + 8 | 0;
HEAP32[$104 >> 2] = $103;
label = 16;
break;
case 16:
var $106 = HEAP32[$19 >> 2];
var $107 = $l3_1_lcssa + 4 | 0;
HEAP32[$107 >> 2] = $106;
label = 17;
break;
case 17:
var $109 = HEAP32[$17 >> 2];
HEAP32[$l3_1_lcssa >> 2] = $109;
label = 18;
break;
case 18:
var $111 = $l3_1_lcssa + ($55 << 2) | 0;
var $112 = $xr34_orig_1_lcssa + ($55 << 2) | 0;
var $xr34_orig_0_be = $112;
var $l3_0_be = $111;
label = 19;
break;
case 19:
var $l3_0_be;
var $xr34_orig_0_be;
var $113 = $51 >>> 0 > $11 >>> 0;
if ($113) {
label = 20;
break;
} else {
var $sfb_053 = $52;
var $j_054 = $51;
var $l3_055 = $l3_0_be;
var $xr34_orig_056 = $xr34_orig_0_be;
label = 3;
break;
}
case 20:
STACKTOP = __stackBase__;
return;
}
}
_quantize_x34["X"] = 1;
function _set_scalefacs($cod_info, $vbrsfmin, $sf, $max_range) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $cod_info + 4836 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) == 0;
var $4 = $3 ? 2 : 4;
var $5 = $3 ? 1 : 2;
var $6 = $cod_info + 4860 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $cod_info + 4832 | 0;
var $9 = HEAP32[$8 >> 2];
var $10 = ($9 | 0) != 0;
var $11 = ($7 | 0) > 11;
var $or_cond64 = $10 & $11;
if ($or_cond64) {
var $sfb_059 = 11;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $12 = ($7 | 0) > 0;
if ($12) {
label = 4;
break;
} else {
var $sfb_1_lcssa63 = 0;
label = 16;
break;
}
case 4:
var $13 = $cod_info + 4780 | 0;
var $14 = $4 - 1 | 0;
var $sfb_156 = 0;
label = 7;
break;
case 5:
var $sfb_059;
var $15 = 5257016 + ($sfb_059 << 2) | 0;
var $16 = HEAP32[$15 >> 2];
var $17 = $16 * $4 & -1;
var $18 = $sf + ($sfb_059 << 2) | 0;
var $19 = HEAP32[$18 >> 2];
var $20 = $19 + $17 | 0;
HEAP32[$18 >> 2] = $20;
var $21 = $sfb_059 + 1 | 0;
var $exitcond62 = ($21 | 0) == ($7 | 0);
if ($exitcond62) {
label = 3;
break;
} else {
var $sfb_059 = $21;
label = 5;
break;
}
case 6:
var $22 = ($7 | 0) < 39;
if ($22) {
var $sfb_1_lcssa63 = $7;
label = 16;
break;
} else {
label = 17;
break;
}
case 7:
var $sfb_156;
var $24 = HEAP32[$13 >> 2];
var $25 = $cod_info + 5028 + ($sfb_156 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $cod_info + 4808 + ($26 << 2) | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = $28 << 3;
var $30 = $24 - $29 | 0;
if ($10) {
label = 8;
break;
} else {
var $35 = 0;
label = 9;
break;
}
case 8:
var $32 = 5257016 + ($sfb_156 << 2) | 0;
var $33 = HEAP32[$32 >> 2];
var $35 = $33;
label = 9;
break;
case 9:
var $35;
var $36 = $sf + ($sfb_156 << 2) | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = ($37 | 0) < 0;
if ($38) {
label = 10;
break;
} else {
label = 14;
break;
}
case 10:
var $40 = $35 * $4 & -1;
var $41 = $30 - $40 | 0;
var $42 = $vbrsfmin + ($sfb_156 << 2) | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $41 - $43 | 0;
var $45 = $14 - $37 | 0;
var $46 = $45 >> $5;
var $47 = $cod_info + 4608 + ($sfb_156 << 2) | 0;
HEAP32[$47 >> 2] = $46;
var $48 = $max_range + $sfb_156 | 0;
var $49 = HEAP8[$48];
var $50 = $49 & 255;
var $51 = ($46 | 0) > ($50 | 0);
if ($51) {
label = 11;
break;
} else {
var $54 = $46;
label = 12;
break;
}
case 11:
HEAP32[$47 >> 2] = $50;
var $54 = $50;
label = 12;
break;
case 12:
var $54;
var $55 = ($54 | 0) > 0;
var $56 = $54 << $5;
var $57 = ($56 | 0) > ($44 | 0);
var $or_cond = $55 & $57;
if ($or_cond) {
label = 13;
break;
} else {
label = 15;
break;
}
case 13:
var $59 = $44 >> $5;
HEAP32[$47 >> 2] = $59;
label = 15;
break;
case 14:
var $61 = $cod_info + 4608 + ($sfb_156 << 2) | 0;
HEAP32[$61 >> 2] = 0;
label = 15;
break;
case 15:
var $63 = $sfb_156 + 1 | 0;
var $exitcond = ($63 | 0) == ($7 | 0);
if ($exitcond) {
label = 6;
break;
} else {
var $sfb_156 = $63;
label = 7;
break;
}
case 16:
var $sfb_1_lcssa63;
var $64 = $sfb_1_lcssa63 + 1152 | 0;
var $scevgep = $cod_info + ($64 << 2) | 0;
var $scevgep61 = $scevgep;
var $65 = $sfb_1_lcssa63 << 2;
var $66 = 156 - $65 | 0;
_memset($scevgep61, 0, $66);
label = 17;
break;
case 17:
return;
}
}
_set_scalefacs["X"] = 1;
function _tri_calc_sfb_noise_x34($xr, $xr34, $l3_xmin, $bw, $sf, $did_it) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $sf & 255;
var $2 = $did_it + ($1 << 3) | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = ($3 | 0) == 0;
if ($4) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
HEAP32[$2 >> 2] = 1;
var $6 = _calc_sfb_noise_x34($xr, $xr34, $bw, $sf);
var $7 = $did_it + ($1 << 3) + 4 | 0;
HEAPF32[$7 >> 2] = $6;
label = 4;
break;
case 4:
var $9 = $did_it + ($1 << 3) + 4 | 0;
var $10 = HEAPF32[$9 >> 2];
var $11 = $10 > $l3_xmin;
if ($11) {
var $_0 = 1;
label = 14;
break;
} else {
label = 5;
break;
}
case 5:
var $cond = $sf << 24 >> 24 == -1;
if ($cond) {
label = 10;
break;
} else {
label = 6;
break;
}
case 6:
var $14 = $sf + 1 & 255;
var $15 = $14 & 255;
var $16 = $did_it + ($15 << 3) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) == 0;
if ($18) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
HEAP32[$16 >> 2] = 1;
var $20 = _calc_sfb_noise_x34($xr, $xr34, $bw, $14);
var $21 = $did_it + ($15 << 3) + 4 | 0;
HEAPF32[$21 >> 2] = $20;
label = 8;
break;
case 8:
var $23 = $did_it + ($15 << 3) + 4 | 0;
var $24 = HEAPF32[$23 >> 2];
var $25 = $24 > $l3_xmin;
if ($25) {
var $_0 = 1;
label = 14;
break;
} else {
label = 9;
break;
}
case 9:
var $27 = $sf << 24 >> 24 == 0;
if ($27) {
label = 13;
break;
} else {
label = 10;
break;
}
case 10:
var $29 = $sf - 1 & 255;
var $30 = $29 & 255;
var $31 = $did_it + ($30 << 3) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = ($32 | 0) == 0;
if ($33) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
HEAP32[$31 >> 2] = 1;
var $35 = _calc_sfb_noise_x34($xr, $xr34, $bw, $29);
var $36 = $did_it + ($30 << 3) + 4 | 0;
HEAPF32[$36 >> 2] = $35;
label = 12;
break;
case 12:
var $38 = $did_it + ($30 << 3) + 4 | 0;
var $39 = HEAPF32[$38 >> 2];
var $40 = $39 > $l3_xmin;
if ($40) {
var $_0 = 1;
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $_0 = 0;
label = 14;
break;
case 14:
var $_0;
return $_0;
}
}
_tri_calc_sfb_noise_x34["X"] = 1;
function _addVbr($v, $bitrate) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $v + 24 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 1 | 0;
HEAP32[$1 >> 2] = $3;
var $4 = $v | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 + $bitrate | 0;
HEAP32[$4 >> 2] = $6;
var $7 = $v + 4 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $8 + 1 | 0;
HEAP32[$7 >> 2] = $9;
var $10 = $v + 8 | 0;
var $11 = HEAP32[$10 >> 2];
var $12 = ($9 | 0) < ($11 | 0);
if ($12) {
label = 10;
break;
} else {
label = 3;
break;
}
case 3:
var $14 = $v + 12 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $v + 16 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($15 | 0) < ($17 | 0);
if ($18) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $20 = HEAP32[$4 >> 2];
var $21 = $v + 20 | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $22 + ($15 << 2) | 0;
HEAP32[$23 >> 2] = $20;
var $24 = HEAP32[$14 >> 2];
var $25 = $24 + 1 | 0;
HEAP32[$14 >> 2] = $25;
HEAP32[$7 >> 2] = 0;
label = 5;
break;
case 5:
var $27 = HEAP32[$14 >> 2];
var $28 = HEAP32[$16 >> 2];
var $29 = ($27 | 0) == ($28 | 0);
if ($29) {
label = 6;
break;
} else {
label = 10;
break;
}
case 6:
var $30 = HEAP32[$16 >> 2];
var $31 = ($30 | 0) > 1;
if ($31) {
label = 7;
break;
} else {
label = 9;
break;
}
case 7:
var $32 = $v + 20 | 0;
var $i_023 = 1;
label = 8;
break;
case 8:
var $i_023;
var $34 = HEAP32[$32 >> 2];
var $35 = $34 + ($i_023 << 2) | 0;
var $36 = HEAP32[$35 >> 2];
var $37 = ($i_023 | 0) / 2 & -1;
var $38 = $34 + ($37 << 2) | 0;
HEAP32[$38 >> 2] = $36;
var $39 = $i_023 + 2 | 0;
var $40 = HEAP32[$16 >> 2];
var $41 = ($39 | 0) < ($40 | 0);
if ($41) {
var $i_023 = $39;
label = 8;
break;
} else {
label = 9;
break;
}
case 9:
var $42 = HEAP32[$10 >> 2];
var $43 = $42 << 1;
HEAP32[$10 >> 2] = $43;
var $44 = HEAP32[$14 >> 2];
var $45 = ($44 | 0) / 2 & -1;
HEAP32[$14 >> 2] = $45;
label = 10;
break;
case 10:
return;
}
}
_addVbr["X"] = 1;
function _IsVbrTag($buf) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP8[$buf];
var $2 = $1 << 24 >> 24 == 88;
if ($2) {
label = 3;
break;
} else {
var $17 = 0;
var $16 = $1;
label = 7;
break;
}
case 3:
var $4 = $buf + 1 | 0;
var $5 = HEAP8[$4];
var $6 = $5 << 24 >> 24 == 105;
if ($6) {
label = 4;
break;
} else {
var $_ph = 0;
label = 6;
break;
}
case 4:
var $8 = $buf + 2 | 0;
var $9 = HEAP8[$8];
var $10 = $9 << 24 >> 24 == 110;
if ($10) {
label = 5;
break;
} else {
var $_ph = 0;
label = 6;
break;
}
case 5:
var $12 = $buf + 3 | 0;
var $13 = HEAP8[$12];
var $14 = $13 << 24 >> 24 == 103;
var $_ph = $14;
label = 6;
break;
case 6:
var $_ph;
var $_pr = HEAP8[$buf];
var $17 = $_ph;
var $16 = $_pr;
label = 7;
break;
case 7:
var $16;
var $17;
var $18 = $16 << 24 >> 24 == 73;
if ($18) {
label = 8;
break;
} else {
var $32 = 0;
label = 11;
break;
}
case 8:
var $20 = $buf + 1 | 0;
var $21 = HEAP8[$20];
var $22 = $21 << 24 >> 24 == 110;
if ($22) {
label = 9;
break;
} else {
var $32 = 0;
label = 11;
break;
}
case 9:
var $24 = $buf + 2 | 0;
var $25 = HEAP8[$24];
var $26 = $25 << 24 >> 24 == 102;
if ($26) {
label = 10;
break;
} else {
var $32 = 0;
label = 11;
break;
}
case 10:
var $28 = $buf + 3 | 0;
var $29 = HEAP8[$28];
var $30 = $29 << 24 >> 24 == 111;
var $32 = $30;
label = 11;
break;
case 11:
var $32;
var $_ = $17 | $32;
var $33 = $_ & 1;
return $33;
}
}
function _ExtractI4($buf) {
return ((HEAPU8[$buf] << 8 | HEAPU8[$buf + 1 | 0]) << 8 | HEAPU8[$buf + 2 | 0]) << 8 | HEAPU8[$buf + 3 | 0];
}
function _CRC_update_lookup($value, $crc) {
return (HEAP32[5347564 + ((($crc ^ $value) & 255) << 2) >> 2] ^ ($crc & 65535) >>> 8) & 65535;
}
function _calc_sfb_noise_x34($xr, $xr34, $bw, $sf) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 48 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $x = __stackBase__;
var $l3 = __stackBase__ + 32;
var $1 = $sf & 255;
var $2 = $1 + 116 | 0;
var $3 = 5289936 + ($2 << 2) | 0;
var $4 = HEAPF32[$3 >> 2];
var $5 = 5326164 + ($1 << 2) | 0;
var $6 = HEAPF32[$5 >> 2];
var $7 = $bw >>> 2;
var $8 = $bw & 3;
var $9 = ($7 | 0) == 0;
if ($9) {
var $_036_lcssa = $xr34;
var $xfsf_0_lcssa = 0;
var $_0_lcssa = $xr;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $10 = $x | 0;
var $11 = $x + 8 | 0;
var $12 = $x + 16 | 0;
var $13 = $x + 24 | 0;
var $14 = $l3 | 0;
var $15 = $l3 + 4 | 0;
var $16 = $l3 + 8 | 0;
var $17 = $l3 + 12 | 0;
var $18 = $bw & -4;
var $scevgep = $xr34 + ($18 << 2) | 0;
var $_03637 = $xr34;
var $xfsf_038 = 0;
var $i_039 = $7;
var $_040 = $xr;
label = 4;
break;
case 4:
var $_040;
var $i_039;
var $xfsf_038;
var $_03637;
var $20 = $i_039 - 1 | 0;
var $21 = HEAPF32[$_03637 >> 2];
var $22 = $6 * $21;
var $23 = $22;
HEAPF64[tempDoublePtr >> 3] = $23, HEAP32[$10 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$10 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $24 = $_03637 + 4 | 0;
var $25 = HEAPF32[$24 >> 2];
var $26 = $6 * $25;
var $27 = $26;
HEAPF64[tempDoublePtr >> 3] = $27, HEAP32[$11 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$11 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $28 = $_03637 + 8 | 0;
var $29 = HEAPF32[$28 >> 2];
var $30 = $6 * $29;
var $31 = $30;
HEAPF64[tempDoublePtr >> 3] = $31, HEAP32[$12 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$12 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $32 = $_03637 + 12 | 0;
var $33 = HEAPF32[$32 >> 2];
var $34 = $6 * $33;
var $35 = $34;
HEAPF64[tempDoublePtr >> 3] = $35, HEAP32[$13 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$13 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
_k_34_4($10, $14);
var $36 = HEAPF32[$_040 >> 2];
var $37 = Math.abs($36);
var $38 = HEAP32[$14 >> 2];
var $39 = 5257104 + ($38 << 2) | 0;
var $40 = HEAPF32[$39 >> 2];
var $41 = $4 * $40;
var $42 = $37 - $41;
var $43 = $42;
HEAPF64[tempDoublePtr >> 3] = $43, HEAP32[$10 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$10 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $44 = $_040 + 4 | 0;
var $45 = HEAPF32[$44 >> 2];
var $46 = Math.abs($45);
var $47 = HEAP32[$15 >> 2];
var $48 = 5257104 + ($47 << 2) | 0;
var $49 = HEAPF32[$48 >> 2];
var $50 = $4 * $49;
var $51 = $46 - $50;
var $52 = $51;
HEAPF64[tempDoublePtr >> 3] = $52, HEAP32[$11 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$11 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $53 = $_040 + 8 | 0;
var $54 = HEAPF32[$53 >> 2];
var $55 = Math.abs($54);
var $56 = HEAP32[$16 >> 2];
var $57 = 5257104 + ($56 << 2) | 0;
var $58 = HEAPF32[$57 >> 2];
var $59 = $4 * $58;
var $60 = $55 - $59;
var $61 = $60;
HEAPF64[tempDoublePtr >> 3] = $61, HEAP32[$12 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$12 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $62 = $_040 + 12 | 0;
var $63 = HEAPF32[$62 >> 2];
var $64 = Math.abs($63);
var $65 = HEAP32[$17 >> 2];
var $66 = 5257104 + ($65 << 2) | 0;
var $67 = HEAPF32[$66 >> 2];
var $68 = $4 * $67;
var $69 = $64 - $68;
var $70 = $69;
HEAPF64[tempDoublePtr >> 3] = $70, HEAP32[$13 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$13 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
var $71 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$10 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$10 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $72 = $71 * $71;
var $73 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$11 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$11 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $74 = $73 * $73;
var $75 = $72 + $74;
var $76 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$12 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$12 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $77 = $76 * $76;
var $78 = $70 * $70;
var $79 = $77 + $78;
var $80 = $75 + $79;
var $81 = $xfsf_038;
var $82 = $81 + $80;
var $83 = $82;
var $84 = $_040 + 16 | 0;
var $85 = $_03637 + 16 | 0;
var $86 = ($20 | 0) == 0;
if ($86) {
label = 5;
break;
} else {
var $_03637 = $85;
var $xfsf_038 = $83;
var $i_039 = $20;
var $_040 = $84;
label = 4;
break;
}
case 5:
var $scevgep45 = $xr + ($18 << 2) | 0;
var $_036_lcssa = $scevgep;
var $xfsf_0_lcssa = $83;
var $_0_lcssa = $scevgep45;
label = 6;
break;
case 6:
var $_0_lcssa;
var $xfsf_0_lcssa;
var $_036_lcssa;
var $88 = ($8 | 0) == 0;
if ($88) {
var $xfsf_1 = $xfsf_0_lcssa;
label = 16;
break;
} else {
label = 7;
break;
}
case 7:
var $90 = $x + 24 | 0;
var $91 = $x + 16 | 0;
var $92 = $x + 8 | 0;
var $93 = $x | 0;
var $94 = $x;
HEAP32[$94 >> 2] = 0;
HEAP32[$94 + 4 >> 2] = 0;
HEAP32[$94 + 8 >> 2] = 0;
HEAP32[$94 + 12 >> 2] = 0;
HEAP32[$94 + 16 >> 2] = 0;
HEAP32[$94 + 20 >> 2] = 0;
HEAP32[$94 + 24 >> 2] = 0;
HEAP32[$94 + 28 >> 2] = 0;
if (($8 | 0) == 3) {
label = 8;
break;
} else if (($8 | 0) == 2) {
label = 9;
break;
} else if (($8 | 0) == 1) {
label = 10;
break;
} else {
label = 11;
break;
}
case 8:
var $96 = $_036_lcssa + 8 | 0;
var $97 = HEAPF32[$96 >> 2];
var $98 = $6 * $97;
var $99 = $98;
HEAPF64[tempDoublePtr >> 3] = $99, HEAP32[$91 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$91 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 9;
break;
case 9:
var $101 = $_036_lcssa + 4 | 0;
var $102 = HEAPF32[$101 >> 2];
var $103 = $6 * $102;
var $104 = $103;
HEAPF64[tempDoublePtr >> 3] = $104, HEAP32[$92 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$92 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 10;
break;
case 10:
var $106 = HEAPF32[$_036_lcssa >> 2];
var $107 = $6 * $106;
var $108 = $107;
HEAPF64[tempDoublePtr >> 3] = $108, HEAP32[$93 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$93 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 11;
break;
case 11:
var $110 = $l3 | 0;
_k_34_4($93, $110);
var $111 = $x;
HEAP32[$111 >> 2] = 0;
HEAP32[$111 + 4 >> 2] = 0;
HEAP32[$111 + 8 >> 2] = 0;
HEAP32[$111 + 12 >> 2] = 0;
HEAP32[$111 + 16 >> 2] = 0;
HEAP32[$111 + 20 >> 2] = 0;
HEAP32[$111 + 24 >> 2] = 0;
HEAP32[$111 + 28 >> 2] = 0;
if (($8 | 0) == 3) {
label = 12;
break;
} else if (($8 | 0) == 2) {
label = 13;
break;
} else if (($8 | 0) == 1) {
label = 14;
break;
} else {
label = 15;
break;
}
case 12:
var $113 = $_0_lcssa + 8 | 0;
var $114 = HEAPF32[$113 >> 2];
var $115 = Math.abs($114);
var $116 = $l3 + 8 | 0;
var $117 = HEAP32[$116 >> 2];
var $118 = 5257104 + ($117 << 2) | 0;
var $119 = HEAPF32[$118 >> 2];
var $120 = $4 * $119;
var $121 = $115 - $120;
var $122 = $121;
HEAPF64[tempDoublePtr >> 3] = $122, HEAP32[$91 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$91 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 13;
break;
case 13:
var $124 = $_0_lcssa + 4 | 0;
var $125 = HEAPF32[$124 >> 2];
var $126 = Math.abs($125);
var $127 = $l3 + 4 | 0;
var $128 = HEAP32[$127 >> 2];
var $129 = 5257104 + ($128 << 2) | 0;
var $130 = HEAPF32[$129 >> 2];
var $131 = $4 * $130;
var $132 = $126 - $131;
var $133 = $132;
HEAPF64[tempDoublePtr >> 3] = $133, HEAP32[$92 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$92 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 14;
break;
case 14:
var $135 = HEAPF32[$_0_lcssa >> 2];
var $136 = Math.abs($135);
var $137 = HEAP32[$110 >> 2];
var $138 = 5257104 + ($137 << 2) | 0;
var $139 = HEAPF32[$138 >> 2];
var $140 = $4 * $139;
var $141 = $136 - $140;
var $142 = $141;
HEAPF64[tempDoublePtr >> 3] = $142, HEAP32[$93 >> 2] = HEAP32[tempDoublePtr >> 2], HEAP32[$93 + 4 >> 2] = HEAP32[tempDoublePtr + 4 >> 2];
label = 15;
break;
case 15:
var $144 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$93 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$93 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $145 = $144 * $144;
var $146 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$92 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$92 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $147 = $146 * $146;
var $148 = $145 + $147;
var $149 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$91 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$91 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $150 = $149 * $149;
var $151 = (HEAP32[tempDoublePtr >> 2] = HEAP32[$90 >> 2], HEAP32[tempDoublePtr + 4 >> 2] = HEAP32[$90 + 4 >> 2], HEAPF64[tempDoublePtr >> 3]);
var $152 = $151 * $151;
var $153 = $150 + $152;
var $154 = $148 + $153;
var $155 = $xfsf_0_lcssa;
var $156 = $155 + $154;
var $157 = $156;
var $xfsf_1 = $157;
label = 16;
break;
case 16:
var $xfsf_1;
STACKTOP = __stackBase__;
return $xfsf_1;
}
}
_calc_sfb_noise_x34["X"] = 1;
function _calc_scalefac($l3_xmin, $bw) {
return (_log10($l3_xmin / ($bw | 0)) * 5.799142360687256 - .5 & -1) + 210 | 0;
}
function _AddVbrFrame($gfc) {
_addVbr($gfc + 85756 | 0, HEAP32[5348684 + (HEAP32[$gfc + 16 >> 2] << 6) + (HEAP32[$gfc + 84740 >> 2] << 2) >> 2]);
return;
}
function _GetVbrTag($pTagData, $buf) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $pTagData + 8 | 0;
HEAP32[$1 >> 2] = 0;
var $2 = $buf + 1 | 0;
var $3 = HEAP8[$2];
var $4 = $3 & 255;
var $5 = $4 & 6;
var $6 = ($5 | 0) == 2;
if ($6) {
label = 3;
break;
} else {
var $_0 = 0;
label = 25;
break;
}
case 3:
var $8 = $4 >>> 3;
var $9 = $8 & 1;
var $10 = $buf + 2 | 0;
var $11 = HEAP8[$10];
var $12 = $11 & 255;
var $13 = $12 >>> 2;
var $14 = $13 & 3;
var $15 = $buf + 3 | 0;
var $16 = HEAP8[$15];
var $17 = $12 >>> 4;
var $18 = 5348684 + ($9 << 6) + ($17 << 2) | 0;
var $19 = HEAP32[$18 >> 2];
var $_mask = $4 & 240;
var $20 = ($_mask | 0) == 224;
if ($20) {
label = 4;
break;
} else {
label = 5;
break;
}
case 4:
var $22 = 5256828 + ($14 << 2) | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = $pTagData + 4 | 0;
HEAP32[$24 >> 2] = $23;
label = 6;
break;
case 5:
var $26 = 5256796 + ($9 << 4) + ($14 << 2) | 0;
var $27 = HEAP32[$26 >> 2];
var $28 = $pTagData + 4 | 0;
HEAP32[$28 >> 2] = $27;
label = 6;
break;
case 6:
var $30 = ($9 | 0) == 0;
var $_mask61 = $16 & -64;
var $31 = $_mask61 << 24 >> 24 != -64;
if ($30) {
label = 10;
break;
} else {
label = 7;
break;
}
case 7:
if ($31) {
label = 8;
break;
} else {
label = 9;
break;
}
case 8:
var $34 = $buf + 36 | 0;
var $_060 = $34;
label = 13;
break;
case 9:
var $36 = $buf + 21 | 0;
var $_060 = $36;
label = 13;
break;
case 10:
if ($31) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $39 = $buf + 21 | 0;
var $_060 = $39;
label = 13;
break;
case 12:
var $41 = $buf + 13 | 0;
var $_060 = $41;
label = 13;
break;
case 13:
var $_060;
var $43 = _IsVbrTag($_060);
var $44 = ($43 | 0) == 0;
if ($44) {
var $_0 = 0;
label = 25;
break;
} else {
label = 14;
break;
}
case 14:
var $46 = $_060 + 4 | 0;
var $47 = $pTagData | 0;
HEAP32[$47 >> 2] = $9;
var $48 = _ExtractI4($46);
HEAP32[$1 >> 2] = $48;
var $49 = $_060 + 8 | 0;
var $50 = $48 & 1;
var $51 = ($50 | 0) == 0;
if ($51) {
var $_1 = $49;
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $53 = _ExtractI4($49);
var $54 = $pTagData + 12 | 0;
HEAP32[$54 >> 2] = $53;
var $55 = $_060 + 12 | 0;
var $_1 = $55;
label = 16;
break;
case 16:
var $_1;
var $57 = $48 & 2;
var $58 = ($57 | 0) == 0;
if ($58) {
var $_2 = $_1;
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $60 = _ExtractI4($_1);
var $61 = $pTagData + 16 | 0;
HEAP32[$61 >> 2] = $60;
var $62 = $_1 + 4 | 0;
var $_2 = $62;
label = 18;
break;
case 18:
var $_2;
var $64 = $48 & 4;
var $65 = ($64 | 0) == 0;
if ($65) {
var $_3 = $_2;
label = 22;
break;
} else {
label = 19;
break;
}
case 19:
var $67 = $pTagData + 24 | 0;
var $68 = ($67 | 0) == 0;
if ($68) {
label = 21;
break;
} else {
var $i_062 = 0;
label = 20;
break;
}
case 20:
var $i_062;
var $69 = $_2 + $i_062 | 0;
var $70 = HEAP8[$69];
var $71 = $i_062 + ($pTagData + 24) | 0;
HEAP8[$71] = $70;
var $72 = $i_062 + 1 | 0;
var $exitcond = ($72 | 0) == 100;
if ($exitcond) {
label = 21;
break;
} else {
var $i_062 = $72;
label = 20;
break;
}
case 21:
var $73 = $_2 + 100 | 0;
var $_3 = $73;
label = 22;
break;
case 22:
var $_3;
var $75 = $pTagData + 20 | 0;
HEAP32[$75 >> 2] = -1;
var $76 = $48 & 8;
var $77 = ($76 | 0) == 0;
if ($77) {
var $_4 = $_3;
label = 24;
break;
} else {
label = 23;
break;
}
case 23:
var $79 = _ExtractI4($_3);
HEAP32[$75 >> 2] = $79;
var $80 = $_3 + 4 | 0;
var $_4 = $80;
label = 24;
break;
case 24:
var $_4;
var $82 = -$9 | 0;
var $83 = $82 & 72e3;
var $84 = $83 + 72e3 | 0;
var $85 = $19 * $84 & -1;
var $86 = $pTagData + 4 | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = ($85 | 0) / ($87 | 0) & -1;
var $89 = $pTagData + 124 | 0;
HEAP32[$89 >> 2] = $88;
var $90 = $_4 + 21 | 0;
var $91 = HEAP8[$90];
var $92 = $91 & 255;
var $93 = $92 << 4;
var $94 = $_4 + 22 | 0;
var $95 = HEAP8[$94];
var $96 = $95 & 255;
var $97 = $96 >>> 4;
var $98 = $97 | $93;
var $99 = $96 << 8;
var $100 = $99 & 3840;
var $101 = $_4 + 23 | 0;
var $102 = HEAP8[$101];
var $103 = $102 & 255;
var $104 = $100 | $103;
var $105 = $98 >>> 0 > 3e3;
var $_ = $105 ? -1 : $98;
var $106 = $104 >>> 0 > 3e3;
var $enc_padding_0 = $106 ? -1 : $104;
var $107 = $pTagData + 128 | 0;
HEAP32[$107 >> 2] = $_;
var $108 = $pTagData + 132 | 0;
HEAP32[$108 >> 2] = $enc_padding_0;
var $_0 = 1;
label = 25;
break;
case 25:
var $_0;
return $_0;
}
}
_GetVbrTag["X"] = 1;
function _InitVbrTag($gfp) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2880 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $buffer = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 16 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 1;
if ($5) {
var $kbps_header_0 = 128;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $7 = $2 + 64 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) < 16e3;
var $_ = $9 ? 32 : 64;
var $kbps_header_0 = $_;
label = 4;
break;
case 4:
var $kbps_header_0;
var $11 = $2 + 104 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
label = 5;
break;
} else {
var $kbps_header_1 = $kbps_header_0;
label = 6;
break;
}
case 5:
var $15 = $2 + 120 | 0;
var $16 = HEAP32[$15 >> 2];
var $kbps_header_1 = $16;
label = 6;
break;
case 6:
var $kbps_header_1;
var $18 = HEAP32[$3 >> 2];
var $19 = $18 * 72e3 & -1;
var $20 = $19 + 72e3 | 0;
var $21 = $20 * $kbps_header_1 & -1;
var $22 = $2 + 64 | 0;
var $23 = HEAP32[$22 >> 2];
var $24 = ($21 | 0) / ($23 | 0) & -1;
var $25 = $2 + 24 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $26 + 156 | 0;
var $28 = $2 + 85788 | 0;
HEAP32[$28 >> 2] = $24;
var $29 = ($24 | 0) < ($27 | 0);
var $30 = ($24 | 0) > 2880;
var $or_cond = $29 | $30;
if ($or_cond) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $32 = $2 + 156 | 0;
HEAP32[$32 >> 2] = 0;
var $_0 = 0;
label = 14;
break;
case 8:
var $34 = $2 + 85780 | 0;
HEAP32[$34 >> 2] = 0;
var $35 = $2 + 85784 | 0;
HEAP32[$35 >> 2] = 0;
var $36 = $2 + 85756 | 0;
HEAP32[$36 >> 2] = 0;
var $37 = $2 + 85760 | 0;
HEAP32[$37 >> 2] = 0;
var $38 = $2 + 85764 | 0;
HEAP32[$38 >> 2] = 1;
var $39 = $2 + 85768 | 0;
HEAP32[$39 >> 2] = 0;
var $40 = $2 + 85776 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = ($41 | 0) == 0;
if ($42) {
label = 9;
break;
} else {
label = 12;
break;
}
case 9:
var $44 = _malloc(1600);
var $45 = $44;
HEAP32[$40 >> 2] = $45;
var $46 = ($44 | 0) == 0;
var $47 = $2 + 85772 | 0;
if ($46) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
HEAP32[$47 >> 2] = 400;
label = 12;
break;
case 11:
HEAP32[$47 >> 2] = 0;
_lame_errorf($2, 5384688, (tempInt = STACKTOP, STACKTOP = STACKTOP + 1 | 0, STACKTOP = STACKTOP + 3 >> 2 << 2, HEAP32[tempInt >> 2] = 0, tempInt));
var $50 = $2 + 156 | 0;
HEAP32[$50 >> 2] = 0;
var $_0 = -1;
label = 14;
break;
case 12:
var $52 = $buffer | 0;
_memset($52, 0, 2880);
_setLameTagFrameHeader($2, $52);
var $53 = HEAP32[$28 >> 2];
var $54 = ($53 | 0) == 0;
if ($54) {
var $_0 = 0;
label = 14;
break;
} else {
var $i_029 = 0;
label = 13;
break;
}
case 13:
var $i_029;
var $55 = $buffer + $i_029 | 0;
var $56 = HEAP8[$55];
_add_dummy_byte($2, $56, 1);
var $57 = $i_029 + 1 | 0;
var $exitcond = ($57 | 0) == ($53 | 0);
if ($exitcond) {
var $_0 = 0;
label = 14;
break;
} else {
var $i_029 = $57;
label = 13;
break;
}
case 14:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_InitVbrTag["X"] = 1;
function _setLameTagFrameHeader($gfc, $buffer) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
HEAP8[$buffer] = -1;
var $1 = $buffer + 1 | 0;
var $2 = HEAP8[$1];
var $3 = $2 << 3;
var $4 = $3 | 7;
HEAP8[$1] = $4;
var $5 = $4 << 1;
var $6 = $gfc + 64 | 0;
var $7 = HEAP32[$6 >> 2];
var $not_ = ($7 | 0) > 15999;
var $8 = $not_ & 1;
var $9 = $5 | $8;
HEAP8[$1] = $9;
var $10 = $9 & 255;
var $11 = $10 << 1;
var $12 = $gfc + 16 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = $13 & 1;
var $_masked = $11 & 62;
var $15 = $_masked | $14;
var $16 = $15 << 2;
var $17 = $16 | 1;
var $18 = $17 & 255;
HEAP8[$1] = $18;
var $19 = $17 << 1;
var $20 = $gfc + 160 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = ($21 | 0) == 0;
var $23 = $22 & 1;
var $24 = $19 | $23;
var $25 = $24 & 255;
HEAP8[$1] = $25;
var $26 = $buffer + 2 | 0;
var $27 = HEAP8[$26];
var $28 = $27 & 255;
var $29 = $28 << 4;
var $30 = $gfc + 84740 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $31 & 15;
var $33 = $29 | $32;
var $34 = $33 & 255;
HEAP8[$26] = $34;
var $35 = $33 << 2;
var $36 = $gfc + 20 | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = $37 & 3;
var $_masked60 = $35 & 124;
var $39 = $_masked60 | $38;
var $40 = $39 << 1;
var $41 = $40 & 255;
HEAP8[$26] = $41;
var $42 = $39 << 2;
var $43 = $gfc + 172 | 0;
var $44 = HEAP32[$43 >> 2];
var $45 = $44 & 1;
var $46 = $42 | $45;
var $47 = $46 & 255;
HEAP8[$26] = $47;
var $48 = $buffer + 3 | 0;
var $49 = HEAP8[$48];
var $50 = $49 & 255;
var $51 = $50 << 2;
var $52 = $gfc + 180 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = $53 & 3;
var $55 = $51 | $54;
var $56 = $55 & 255;
HEAP8[$48] = $56;
var $57 = $55 << 2;
var $58 = $gfc + 84752 | 0;
var $59 = HEAP32[$58 >> 2];
var $60 = $59 & 3;
var $61 = $57 | $60;
var $62 = $61 & 255;
HEAP8[$48] = $62;
var $63 = $61 << 1;
var $64 = $gfc + 164 | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = $65 & 1;
var $67 = $63 | $66;
var $68 = $67 & 255;
HEAP8[$48] = $68;
var $69 = $67 << 1;
var $70 = $gfc + 168 | 0;
var $71 = HEAP32[$70 >> 2];
var $72 = $71 & 1;
var $73 = $69 | $72;
var $74 = $73 & 255;
HEAP8[$48] = $74;
var $75 = $73 << 2;
var $76 = $gfc + 176 | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = $77 & 3;
var $79 = $75 | $78;
var $80 = $79 & 255;
HEAP8[$48] = $80;
HEAP8[$buffer] = -1;
var $81 = HEAP8[$1];
var $82 = $81 & -15;
var $83 = HEAP32[$12 >> 2];
var $84 = ($83 | 0) == 1;
if ($84) {
var $bitrate_0 = 128;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $86 = HEAP32[$6 >> 2];
var $87 = ($86 | 0) < 16e3;
var $_ = $87 ? 32 : 64;
var $bitrate_0 = $_;
label = 4;
break;
case 4:
var $bitrate_0;
var $89 = $gfc + 104 | 0;
var $90 = HEAP32[$89 >> 2];
var $91 = ($90 | 0) == 0;
if ($91) {
label = 5;
break;
} else {
var $bitrate_1 = $bitrate_0;
label = 6;
break;
}
case 5:
var $93 = $gfc + 120 | 0;
var $94 = HEAP32[$93 >> 2];
var $bitrate_1 = $94;
label = 6;
break;
case 6:
var $bitrate_1;
var $96 = $gfc + 152 | 0;
var $97 = HEAP32[$96 >> 2];
var $98 = ($97 | 0) == 0;
if ($98) {
label = 7;
break;
} else {
var $bbyte_0 = 0;
label = 8;
break;
}
case 7:
var $100 = HEAP32[$12 >> 2];
var $101 = HEAP32[$6 >> 2];
var $102 = _BitrateIndex($bitrate_1, $100, $101);
var $103 = $102 << 28;
var $phitmp = $103 >> 24;
var $bbyte_0 = $phitmp;
label = 8;
break;
case 8:
var $bbyte_0;
var $105 = HEAP32[$12 >> 2];
var $106 = ($105 | 0) == 1;
var $storemerge61_v = $106 ? 10 : 2;
var $storemerge61 = $storemerge61_v | $82;
HEAP8[$1] = $storemerge61;
var $_pn_in_in = HEAP8[$26];
var $_pn_in = $_pn_in_in & 13;
var $_pn = $_pn_in & 255;
var $storemerge_in = $_pn | $bbyte_0;
var $storemerge = $storemerge_in & 255;
HEAP8[$26] = $storemerge;
return;
}
}
_setLameTagFrameHeader["X"] = 1;
function _UpdateMusicCRC($crc, $buffer, $size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($size | 0) > 0;
if ($1) {
var $i_06 = 0;
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $i_06;
var $2 = $buffer + $i_06 | 0;
var $3 = HEAP8[$2];
var $4 = $3 & 255;
var $5 = HEAP16[$crc >> 1];
var $6 = _CRC_update_lookup($4, $5);
HEAP16[$crc >> 1] = $6;
var $7 = $i_06 + 1 | 0;
var $exitcond = ($7 | 0) == ($size | 0);
if ($exitcond) {
label = 4;
break;
} else {
var $i_06 = $7;
label = 3;
break;
}
case 4:
return;
}
}
function _get_lame_version() {
return 5384648;
}
function _get_lame_short_version() {
return 5384648;
}
function _get_lame_very_short_version() {
return 5386588;
}
function _get_lame_tag_encoder_short_version() {
return 5385568;
}
function _get_psy_version() {
return 5385200;
}
function _get_lame_url() {
return 5384668;
}
function _get_lame_os_bitness() {
return 5383868;
}
function _CreateI4($buf, $nValue) {
HEAP8[$buf] = $nValue >>> 24 & 255;
HEAP8[$buf + 1 | 0] = $nValue >>> 16 & 255;
HEAP8[$buf + 2 | 0] = $nValue >>> 8 & 255;
HEAP8[$buf + 3 | 0] = $nValue & 255;
return;
}
function _CreateI2($buf, $nValue) {
HEAP8[$buf] = $nValue >>> 8 & 255;
HEAP8[$buf + 1 | 0] = $nValue & 255;
return;
}
function _get_lame_version_numerical($lvp) {
HEAP32[$lvp >> 2] = 3;
HEAP32[$lvp + 4 >> 2] = 99;
HEAP32[$lvp + 8 >> 2] = 0;
HEAP32[$lvp + 12 >> 2] = 0;
HEAP32[$lvp + 16 >> 2] = 1;
HEAP32[$lvp + 20 >> 2] = 0;
HEAP32[$lvp + 24 >> 2] = 0;
HEAP32[$lvp + 28 >> 2] = 0;
HEAP32[$lvp + 32 >> 2] = 5384244;
return;
}
function _lame_get_lametag_frame($gfp, $buffer, $size) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 100 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $btToc = __stackBase__;
var $1 = ($gfp | 0) == 0;
if ($1) {
var $_0 = 0;
label = 21;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $gfp + 288 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) == 0;
if ($5) {
var $_0 = 0;
label = 21;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $4 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = ($8 | 0) == -487877;
if ($9) {
label = 5;
break;
} else {
var $_0 = 0;
label = 21;
break;
}
case 5:
var $11 = $4 + 156 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
var $_0 = 0;
label = 21;
break;
} else {
label = 6;
break;
}
case 6:
var $15 = $4 + 85756 | 0;
var $16 = $4 + 85768 | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = ($17 | 0) < 1;
if ($18) {
var $_0 = 0;
label = 21;
break;
} else {
label = 7;
break;
}
case 7:
var $20 = $4 + 85788 | 0;
var $21 = HEAP32[$20 >> 2];
var $22 = $21 >>> 0 > $size >>> 0;
if ($22) {
var $_0 = $21;
label = 21;
break;
} else {
label = 8;
break;
}
case 8:
var $24 = ($buffer | 0) == 0;
if ($24) {
var $_0 = 0;
label = 21;
break;
} else {
label = 9;
break;
}
case 9:
_memset($buffer, 0, $21);
_setLameTagFrameHeader($4, $buffer);
var $26 = $btToc | 0;
_memset($26, 0, 100);
var $27 = $4 + 152 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = ($28 | 0) == 0;
if ($29) {
label = 11;
break;
} else {
var $i_070 = 1;
label = 10;
break;
}
case 10:
var $i_070;
var $30 = $i_070 * 255 & -1;
var $31 = ($30 | 0) / 100 & -1;
var $32 = $31 & 255;
var $33 = $btToc + $i_070 | 0;
HEAP8[$33] = $32;
var $34 = $i_070 + 1 | 0;
var $exitcond71 = ($34 | 0) == 100;
if ($exitcond71) {
label = 12;
break;
} else {
var $i_070 = $34;
label = 10;
break;
}
case 11:
_Xing_seek_table($15, $26);
label = 12;
break;
case 12:
var $36 = $4 + 24 | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = $4 + 160 | 0;
var $39 = HEAP32[$38 >> 2];
var $40 = ($39 | 0) == 0;
var $41 = $37 - 2 | 0;
var $nStreamIndex_0 = $40 ? $37 : $41;
var $42 = $4 + 104 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = ($43 | 0) == 0;
var $45 = $nStreamIndex_0 + 1 | 0;
var $46 = $buffer + $nStreamIndex_0 | 0;
if ($44) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
HEAP8[$46] = 73;
var $48 = $nStreamIndex_0 + 2 | 0;
var $49 = $buffer + $45 | 0;
HEAP8[$49] = 110;
var $50 = $nStreamIndex_0 + 3 | 0;
var $51 = $buffer + $48 | 0;
HEAP8[$51] = 102;
var $52 = $buffer + $50 | 0;
HEAP8[$52] = 111;
label = 15;
break;
case 14:
HEAP8[$46] = 88;
var $54 = $nStreamIndex_0 + 2 | 0;
var $55 = $buffer + $45 | 0;
HEAP8[$55] = 105;
var $56 = $nStreamIndex_0 + 3 | 0;
var $57 = $buffer + $54 | 0;
HEAP8[$57] = 110;
var $58 = $buffer + $56 | 0;
HEAP8[$58] = 103;
label = 15;
break;
case 15:
var $nStreamIndex_1 = $nStreamIndex_0 + 4 | 0;
var $60 = $buffer + $nStreamIndex_1 | 0;
_CreateI4($60, 15);
var $61 = $nStreamIndex_0 + 8 | 0;
var $62 = $buffer + $61 | 0;
var $63 = $4 + 85780 | 0;
var $64 = HEAP32[$63 >> 2];
_CreateI4($62, $64);
var $65 = $nStreamIndex_0 + 12 | 0;
var $66 = $4 + 85784 | 0;
var $67 = HEAP32[$66 >> 2];
var $68 = HEAP32[$20 >> 2];
var $69 = $68 + $67 | 0;
var $70 = $buffer + $65 | 0;
_CreateI4($70, $69);
var $71 = $nStreamIndex_0 + 16 | 0;
var $72 = $buffer + $71 | 0;
_memcpy($72, $26, 100);
var $73 = $nStreamIndex_0 + 116 | 0;
var $74 = HEAP32[$38 >> 2];
var $75 = ($74 | 0) == 0;
if ($75) {
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
_CRC_writeheader($4, $buffer);
label = 17;
break;
case 17:
var $77 = ($73 | 0) == 0;
if ($77) {
var $crc_0_lcssa = 0;
label = 20;
break;
} else {
label = 18;
break;
}
case 18:
var $78 = $nStreamIndex_0 + 116 | 0;
var $crc_067 = 0;
var $i1_068 = 0;
label = 19;
break;
case 19:
var $i1_068;
var $crc_067;
var $80 = $buffer + $i1_068 | 0;
var $81 = HEAP8[$80];
var $82 = $81 & 255;
var $83 = _CRC_update_lookup($82, $crc_067);
var $84 = $i1_068 + 1 | 0;
var $exitcond = ($84 | 0) == ($78 | 0);
if ($exitcond) {
var $crc_0_lcssa = $83;
label = 20;
break;
} else {
var $crc_067 = $83;
var $i1_068 = $84;
label = 19;
break;
}
case 20:
var $crc_0_lcssa;
var $85 = $buffer + $73 | 0;
_PutLameVBR($gfp, $69, $85, $crc_0_lcssa);
var $86 = HEAP32[$20 >> 2];
var $_0 = $86;
label = 21;
break;
case 21:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
_lame_get_lametag_frame["X"] = 1;
function _Xing_seek_table($v, $t) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $v + 12 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = ($2 | 0) < 1;
if ($3) {
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $4 = $v + 20 | 0;
var $5 = $v | 0;
var $i_012 = 1;
label = 4;
break;
case 4:
var $i_012;
var $7 = $i_012 | 0;
var $8 = $7 / 100;
var $9 = HEAP32[$1 >> 2];
var $10 = $9 | 0;
var $11 = $8 * $10;
var $floorf = Math.floor($11);
var $12 = $floorf & -1;
var $13 = $9 - 1 | 0;
var $14 = ($12 | 0) > ($13 | 0);
var $_ = $14 ? $13 : $12;
var $15 = HEAP32[$4 >> 2];
var $16 = $15 + ($_ << 2) | 0;
var $17 = HEAP32[$16 >> 2];
var $18 = $17 | 0;
var $19 = HEAP32[$5 >> 2];
var $20 = $19 | 0;
var $21 = $18;
var $22 = $21 * 256;
var $23 = $20;
var $24 = $22 / $23;
var $25 = $24 & -1;
var $26 = ($25 | 0) > 255;
var $27 = $25 & 255;
var $28 = $26 ? -1 : $27;
var $29 = $t + $i_012 | 0;
HEAP8[$29] = $28;
var $30 = $i_012 + 1 | 0;
var $exitcond = ($30 | 0) == 100;
if ($exitcond) {
label = 5;
break;
} else {
var $i_012 = $30;
label = 4;
break;
}
case 5:
return;
}
}
function _PutLameVBR($gfp, $nMusicLength, $pbtStreamBuffer, $crc) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 84756 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = $2 + 84760 | 0;
var $6 = HEAP32[$5 >> 2];
var $7 = $gfp + 164 | 0;
var $8 = HEAP32[$7 >> 2];
var $9 = $8 * -10 & -1;
var $10 = $9 + 100 | 0;
var $11 = $gfp + 44 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = $10 - $12 | 0;
var $14 = $2 + 52 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 | 0;
var $17 = $16 / 100;
var $18 = $17 + .5;
var $19 = $18 > 255;
if ($19) {
var $22 = -1;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $phitmp = $18 >= 0 ? Math.floor($18) : Math.ceil($18);
var $22 = $phitmp;
label = 4;
break;
case 4:
var $22;
var $23 = $2 + 28 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $2 + 96 | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = ($26 | 0) != 0;
var $28 = $gfp + 72 | 0;
var $29 = HEAP32[$28 >> 2];
var $30 = $gfp + 76 | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = $2 + 208 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = $2 + 104 | 0;
var $35 = HEAP32[$34 >> 2];
if (($35 | 0) == 3) {
label = 5;
break;
} else if (($35 | 0) == 0) {
label = 6;
break;
} else {
label = 7;
break;
}
case 5:
var $37 = $2 + 108 | 0;
var $nABRBitrate_0_in = $37;
label = 8;
break;
case 6:
var $39 = $2 + 120 | 0;
var $nABRBitrate_0_in = $39;
label = 8;
break;
case 7:
var $41 = $2 + 112 | 0;
var $42 = HEAP32[$41 >> 2];
var $43 = $2 + 16 | 0;
var $44 = HEAP32[$43 >> 2];
var $45 = 5348684 + ($44 << 6) + ($42 << 2) | 0;
var $nABRBitrate_0_in = $45;
label = 8;
break;
case 8:
var $nABRBitrate_0_in;
var $nABRBitrate_0 = HEAP32[$nABRBitrate_0_in >> 2];
var $47 = HEAP32[$34 >> 2];
var $48 = $47 >>> 0 < 7;
if ($48) {
label = 9;
break;
} else {
var $nVBR_0 = 0;
label = 10;
break;
}
case 9:
var $50 = $47 + 5388120 | 0;
var $51 = HEAP8[$50];
var $nVBR_0 = $51;
label = 10;
break;
case 10:
var $nVBR_0;
var $53 = $2 + 128 | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = ($54 | 0) == 0;
if ($55) {
var $nRadioReplayGain_0 = 0;
label = 14;
break;
} else {
label = 11;
break;
}
case 11:
var $57 = $2 + 85684 | 0;
var $58 = HEAP32[$57 >> 2];
var $59 = ($58 | 0) > 510;
var $_ = $59 ? 510 : $58;
var $60 = ($_ | 0) < -510;
var $RadioGain_1 = $60 ? -510 : $_;
var $61 = ($RadioGain_1 | 0) > -1;
if ($61) {
label = 12;
break;
} else {
label = 13;
break;
}
case 12:
var $63 = $RadioGain_1 | 11264;
var $nRadioReplayGain_0 = $63;
label = 14;
break;
case 13:
var $65 = -$RadioGain_1 | 0;
var $66 = $65 | 11776;
var $nRadioReplayGain_0 = $66;
label = 14;
break;
case 14:
var $nRadioReplayGain_0;
var $68 = $2 + 132 | 0;
var $69 = HEAP32[$68 >> 2];
var $70 = ($69 | 0) == 0;
if ($70) {
var $nPeakSignalAmplitude_0 = 0;
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $72 = $2 + 85680 | 0;
var $73 = HEAPF32[$72 >> 2];
var $74 = $73;
var $75 = $74 / 32767;
var $76 = $75 * 8388608;
var $77 = $76 + .5;
var $78 = $77 & -1;
var $ispos = ($78 | 0) > -1;
var $neg = -$78 | 0;
var $79 = $ispos ? $78 : $neg;
var $nPeakSignalAmplitude_0 = $79;
label = 16;
break;
case 16:
var $nPeakSignalAmplitude_0;
var $81 = ($29 | 0) == -1;
if ($81) {
var $bNoGapPrevious_1 = 0;
var $bNoGapMore_0 = 0;
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $83 = ($31 | 0) > 0;
var $84 = $29 - 1 | 0;
var $85 = ($31 | 0) < ($84 | 0);
var $_5 = $85 ? 64 : 0;
var $phitmp6 = $83 & 1;
var $phitmp7 = $phitmp6 << 7;
var $bNoGapPrevious_1 = $phitmp7;
var $bNoGapMore_0 = $_5;
label = 18;
break;
case 18:
var $bNoGapMore_0;
var $bNoGapPrevious_1;
var $87 = $33 & 255;
var $88 = $33 + 16 | 0;
var $89 = $27 & 1;
var $90 = $89 << 5;
var $91 = $88 + $90 | 0;
var $92 = $91 + $bNoGapMore_0 | 0;
var $93 = $92 + $bNoGapPrevious_1 | 0;
var $94 = $93 & 255;
var $95 = ($13 | 0) < 0;
var $_2 = $95 ? 0 : $13;
var $96 = $2 + 180 | 0;
var $97 = HEAP32[$96 >> 2];
if (($97 | 0) == 0) {
label = 19;
break;
} else if (($97 | 0) == 2) {
label = 20;
break;
} else if (($97 | 0) == 1) {
label = 21;
break;
} else if (($97 | 0) == 3) {
var $nStereoMode_0 = 0;
label = 23;
break;
} else {
label = 22;
break;
}
case 19:
var $nStereoMode_0 = 4;
label = 23;
break;
case 20:
var $nStereoMode_0 = 8;
label = 23;
break;
case 21:
var $101 = $2 + 80 | 0;
var $102 = HEAP32[$101 >> 2];
var $103 = ($102 | 0) == 0;
var $_3 = $103 ? 12 : 16;
var $nStereoMode_0 = $_3;
label = 23;
break;
case 22:
var $nStereoMode_0 = 28;
label = 23;
break;
case 23:
var $nStereoMode_0;
var $106 = $2 + 60 | 0;
var $107 = HEAP32[$106 >> 2];
var $108 = ($107 | 0) < 32001;
if ($108) {
var $nSourceFreq_0 = 0;
label = 26;
break;
} else {
label = 24;
break;
}
case 24:
var $110 = ($107 | 0) == 48e3;
if ($110) {
var $nSourceFreq_0 = 128;
label = 26;
break;
} else {
label = 25;
break;
}
case 25:
var $112 = ($107 | 0) > 48e3;
var $_4 = $112 ? 192 : 64;
var $nSourceFreq_0 = $_4;
label = 26;
break;
case 26:
var $nSourceFreq_0;
var $114 = $2 + 184 | 0;
var $115 = HEAP32[$114 >> 2];
var $_off = $115 - 2 | 0;
var $switch = $_off >>> 0 < 2;
if ($switch) {
label = 34;
break;
} else {
label = 27;
break;
}
case 27:
var $117 = HEAP32[$14 >> 2];
var $118 = ($117 | 0) == -1;
if ($118) {
label = 28;
break;
} else {
label = 29;
break;
}
case 28:
var $120 = $2 + 56 | 0;
var $121 = HEAP32[$120 >> 2];
var $122 = ($121 | 0) == -1;
if ($122) {
label = 34;
break;
} else {
label = 29;
break;
}
case 29:
var $124 = $2 + 144 | 0;
var $125 = HEAP32[$124 >> 2];
var $126 = ($125 | 0) == 0;
if ($126) {
label = 31;
break;
} else {
label = 30;
break;
}
case 30:
var $128 = $2 + 120 | 0;
var $129 = HEAP32[$128 >> 2];
var $130 = ($129 | 0) < 320;
if ($130) {
label = 34;
break;
} else {
label = 31;
break;
}
case 31:
var $132 = $2 + 220 | 0;
var $133 = HEAP32[$132 >> 2];
var $134 = ($133 | 0) == 0;
if ($134) {
label = 32;
break;
} else {
label = 34;
break;
}
case 32:
var $136 = $2 + 212 | 0;
var $137 = HEAP32[$136 >> 2];
var $138 = ($137 | 0) != 0;
var $139 = ($87 | 0) == 0;
var $or_cond = $138 | $139;
if ($or_cond) {
label = 34;
break;
} else {
label = 33;
break;
}
case 33:
var $141 = HEAP32[$106 >> 2];
var $142 = ($141 | 0) < 32001;
if ($142) {
label = 34;
break;
} else {
var $bNonOptimal_0 = 0;
label = 35;
break;
}
case 34:
var $bNonOptimal_0 = 32;
label = 35;
break;
case 35:
var $bNonOptimal_0;
var $145 = $nStereoMode_0 + $24 | 0;
var $146 = $145 + $nSourceFreq_0 | 0;
var $147 = $146 + $bNonOptimal_0 | 0;
var $148 = $147 & 255;
var $149 = $2 + 85748 | 0;
var $150 = HEAP16[$149 >> 1];
_CreateI4($pbtStreamBuffer, $_2);
var $151 = $pbtStreamBuffer + 4 | 0;
for (var $$src = 5385568, $$dest = $151, $$stop = $$src + 9; $$src < $$stop; $$src++, $$dest++) {
HEAP8[$$dest] = HEAP8[$$src];
}
var $152 = $pbtStreamBuffer + 13 | 0;
HEAP8[$152] = $nVBR_0;
var $153 = $pbtStreamBuffer + 14 | 0;
HEAP8[$153] = $22;
var $154 = $pbtStreamBuffer + 15 | 0;
_CreateI4($154, $nPeakSignalAmplitude_0);
var $155 = $pbtStreamBuffer + 19 | 0;
var $156 = $nRadioReplayGain_0 & 65535;
_CreateI2($155, $156);
var $157 = $pbtStreamBuffer + 21 | 0;
_CreateI2($157, 0);
var $158 = $pbtStreamBuffer + 23 | 0;
HEAP8[$158] = $94;
var $159 = ($nABRBitrate_0 | 0) > 254;
if ($159) {
label = 36;
break;
} else {
label = 37;
break;
}
case 36:
var $161 = $pbtStreamBuffer + 24 | 0;
HEAP8[$161] = -1;
label = 38;
break;
case 37:
var $163 = $nABRBitrate_0 & 255;
var $164 = $pbtStreamBuffer + 24 | 0;
HEAP8[$164] = $163;
label = 38;
break;
case 38:
var $166 = $4 >>> 4;
var $167 = $166 & 255;
var $168 = $pbtStreamBuffer + 25 | 0;
HEAP8[$168] = $167;
var $169 = $4 << 4;
var $170 = $6 >>> 8;
var $171 = $170 + $169 | 0;
var $172 = $171 & 255;
var $173 = $pbtStreamBuffer + 26 | 0;
HEAP8[$173] = $172;
var $174 = $6 & 255;
var $175 = $pbtStreamBuffer + 27 | 0;
HEAP8[$175] = $174;
var $176 = $pbtStreamBuffer + 28 | 0;
HEAP8[$176] = $148;
var $177 = $pbtStreamBuffer + 29 | 0;
HEAP8[$177] = 0;
var $178 = $pbtStreamBuffer + 30 | 0;
var $179 = $2 + 100 | 0;
var $180 = HEAP32[$179 >> 2];
_CreateI2($178, $180);
var $181 = $pbtStreamBuffer + 32 | 0;
_CreateI4($181, $nMusicLength);
var $182 = $pbtStreamBuffer + 36 | 0;
var $183 = $150 & 65535;
_CreateI2($182, $183);
var $i_08 = 0;
var $_09 = $crc;
label = 39;
break;
case 39:
var $_09;
var $i_08;
var $185 = $pbtStreamBuffer + $i_08 | 0;
var $186 = HEAP8[$185];
var $187 = $186 & 255;
var $188 = _CRC_update_lookup($187, $_09);
var $189 = $i_08 + 1 | 0;
var $exitcond = ($189 | 0) == 38;
if ($exitcond) {
label = 40;
break;
} else {
var $i_08 = $189;
var $_09 = $188;
label = 39;
break;
}
case 40:
var $191 = $pbtStreamBuffer + 38 | 0;
var $192 = $188 & 65535;
_CreateI2($191, $192);
return;
}
}
_PutLameVBR["X"] = 1;
function _PutVbrTag($gfp, $fpStream) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 2880 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $buffer = __stackBase__;
var $1 = $gfp + 288 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 + 85768 | 0;
var $4 = HEAP32[$3 >> 2];
var $5 = ($4 | 0) < 1;
if ($5) {
var $_0 = -1;
label = 8;
break;
} else {
label = 3;
break;
}
case 3:
var $7 = _fseek($fpStream, 0, 2);
var $8 = _ftell($fpStream);
var $9 = ($8 | 0) == 0;
if ($9) {
var $_0 = -1;
label = 8;
break;
} else {
label = 4;
break;
}
case 4:
var $11 = _skipId3v2($fpStream);
var $12 = ($11 | 0) < 0;
if ($12) {
var $_0 = $11;
label = 8;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = _fseek($fpStream, $11, 0);
var $15 = $buffer | 0;
var $16 = _lame_get_lametag_frame($gfp, $15, 2880);
var $17 = $16 >>> 0 > 2880;
if ($17) {
var $_0 = -1;
label = 8;
break;
} else {
label = 6;
break;
}
case 6:
var $19 = ($16 | 0) == 0;
if ($19) {
var $_0 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $21 = _fwrite($15, $16, 1, $fpStream);
var $not_ = ($21 | 0) != 1;
var $_ = $not_ << 31 >> 31;
var $_0 = $_;
label = 8;
break;
case 8:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _skipId3v2($fpStream) {
var label = 0;
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 12 | 0;
label = 2;
while (1) switch (label) {
case 2:
var $id3v2Header = __stackBase__;
var $1 = _fseek($fpStream, 0, 0);
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
var $_0 = -2;
label = 6;
break;
}
case 3:
var $4 = $id3v2Header | 0;
var $5 = _fread($4, 1, 10, $fpStream);
var $6 = ($5 | 0) == 10;
if ($6) {
label = 4;
break;
} else {
var $_0 = -3;
label = 6;
break;
}
case 4:
var $8 = _strncmp($4, 5386636, 3);
var $9 = ($8 | 0) == 0;
if ($9) {
label = 5;
break;
} else {
var $_0 = 0;
label = 6;
break;
}
case 5:
var $11 = $id3v2Header + 6 | 0;
var $12 = HEAP8[$11];
var $13 = $12 & 255;
var $14 = $13 << 21;
var $15 = $14 & 266338304;
var $16 = $id3v2Header + 7 | 0;
var $17 = HEAP8[$16];
var $18 = $17 & 255;
var $19 = $18 << 14;
var $20 = $19 & 2080768;
var $21 = $20 | $15;
var $22 = $id3v2Header + 8 | 0;
var $23 = HEAP8[$22];
var $24 = $23 & 255;
var $25 = $24 << 7;
var $26 = $25 & 16256;
var $27 = $21 | $26;
var $28 = $id3v2Header + 9 | 0;
var $29 = HEAP8[$28];
var $30 = $29 & 255;
var $31 = $30 & 127;
var $32 = $27 | $31;
var $33 = $32 + 10 | 0;
var $_0 = $33;
label = 6;
break;
case 6:
var $_0;
STACKTOP = __stackBase__;
return $_0;
}
}
function _malloc($bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bytes >>> 0 < 245;
if ($1) {
label = 3;
break;
} else {
label = 28;
break;
}
case 3:
var $3 = $bytes >>> 0 < 11;
if ($3) {
var $8 = 16;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $5 = $bytes + 11 | 0;
var $6 = $5 & -8;
var $8 = $6;
label = 5;
break;
case 5:
var $8;
var $9 = $8 >>> 3;
var $10 = HEAP32[5387504 >> 2];
var $11 = $10 >>> ($9 >>> 0);
var $12 = $11 & 3;
var $13 = ($12 | 0) == 0;
if ($13) {
label = 12;
break;
} else {
label = 6;
break;
}
case 6:
var $15 = $11 & 1;
var $16 = $15 ^ 1;
var $17 = $16 + $9 | 0;
var $18 = $17 << 1;
var $19 = 5387544 + ($18 << 2) | 0;
var $20 = $19;
var $_sum106 = $18 + 2 | 0;
var $21 = 5387544 + ($_sum106 << 2) | 0;
var $22 = HEAP32[$21 >> 2];
var $23 = $22 + 8 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = ($20 | 0) == ($24 | 0);
if ($25) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $27 = 1 << $17;
var $28 = $27 ^ -1;
var $29 = $10 & $28;
HEAP32[5387504 >> 2] = $29;
label = 11;
break;
case 8:
var $31 = $24;
var $32 = HEAP32[5387520 >> 2];
var $33 = $31 >>> 0 < $32 >>> 0;
if ($33) {
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
HEAP32[$21 >> 2] = $24;
var $35 = $24 + 12 | 0;
HEAP32[$35 >> 2] = $20;
label = 11;
break;
case 10:
_abort();
case 11:
var $38 = $17 << 3;
var $39 = $38 | 3;
var $40 = $22 + 4 | 0;
HEAP32[$40 >> 2] = $39;
var $41 = $22;
var $_sum107108 = $38 | 4;
var $42 = $41 + $_sum107108 | 0;
var $43 = $42;
var $44 = HEAP32[$43 >> 2];
var $45 = $44 | 1;
HEAP32[$43 >> 2] = $45;
var $46 = $23;
var $mem_0 = $46;
label = 39;
break;
case 12:
var $48 = HEAP32[5387512 >> 2];
var $49 = $8 >>> 0 > $48 >>> 0;
if ($49) {
label = 13;
break;
} else {
var $nb_0 = $8;
label = 31;
break;
}
case 13:
var $51 = ($11 | 0) == 0;
if ($51) {
label = 26;
break;
} else {
label = 14;
break;
}
case 14:
var $53 = $11 << $9;
var $54 = 2 << $9;
var $55 = -$54 | 0;
var $56 = $54 | $55;
var $57 = $53 & $56;
var $58 = -$57 | 0;
var $59 = $57 & $58;
var $60 = $59 - 1 | 0;
var $61 = $60 >>> 12;
var $62 = $61 & 16;
var $63 = $60 >>> ($62 >>> 0);
var $64 = $63 >>> 5;
var $65 = $64 & 8;
var $66 = $65 | $62;
var $67 = $63 >>> ($65 >>> 0);
var $68 = $67 >>> 2;
var $69 = $68 & 4;
var $70 = $66 | $69;
var $71 = $67 >>> ($69 >>> 0);
var $72 = $71 >>> 1;
var $73 = $72 & 2;
var $74 = $70 | $73;
var $75 = $71 >>> ($73 >>> 0);
var $76 = $75 >>> 1;
var $77 = $76 & 1;
var $78 = $74 | $77;
var $79 = $75 >>> ($77 >>> 0);
var $80 = $78 + $79 | 0;
var $81 = $80 << 1;
var $82 = 5387544 + ($81 << 2) | 0;
var $83 = $82;
var $_sum100 = $81 + 2 | 0;
var $84 = 5387544 + ($_sum100 << 2) | 0;
var $85 = HEAP32[$84 >> 2];
var $86 = $85 + 8 | 0;
var $87 = HEAP32[$86 >> 2];
var $88 = ($83 | 0) == ($87 | 0);
if ($88) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $90 = 1 << $80;
var $91 = $90 ^ -1;
var $92 = $10 & $91;
HEAP32[5387504 >> 2] = $92;
label = 19;
break;
case 16:
var $94 = $87;
var $95 = HEAP32[5387520 >> 2];
var $96 = $94 >>> 0 < $95 >>> 0;
if ($96) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
HEAP32[$84 >> 2] = $87;
var $98 = $87 + 12 | 0;
HEAP32[$98 >> 2] = $83;
label = 19;
break;
case 18:
_abort();
case 19:
var $101 = $80 << 3;
var $102 = $101 - $8 | 0;
var $103 = $8 | 3;
var $104 = $85 + 4 | 0;
HEAP32[$104 >> 2] = $103;
var $105 = $85;
var $106 = $105 + $8 | 0;
var $107 = $106;
var $108 = $102 | 1;
var $_sum101102 = $8 | 4;
var $109 = $105 + $_sum101102 | 0;
var $110 = $109;
HEAP32[$110 >> 2] = $108;
var $111 = $105 + $101 | 0;
var $112 = $111;
HEAP32[$112 >> 2] = $102;
var $113 = HEAP32[5387512 >> 2];
var $114 = ($113 | 0) == 0;
if ($114) {
label = 25;
break;
} else {
label = 20;
break;
}
case 20:
var $116 = HEAP32[5387524 >> 2];
var $117 = $113 >>> 3;
var $118 = $117 << 1;
var $119 = 5387544 + ($118 << 2) | 0;
var $120 = $119;
var $121 = HEAP32[5387504 >> 2];
var $122 = 1 << $117;
var $123 = $121 & $122;
var $124 = ($123 | 0) == 0;
if ($124) {
label = 21;
break;
} else {
label = 22;
break;
}
case 21:
var $126 = $121 | $122;
HEAP32[5387504 >> 2] = $126;
var $F4_0 = $120;
label = 24;
break;
case 22:
var $_sum105 = $118 + 2 | 0;
var $128 = 5387544 + ($_sum105 << 2) | 0;
var $129 = HEAP32[$128 >> 2];
var $130 = $129;
var $131 = HEAP32[5387520 >> 2];
var $132 = $130 >>> 0 < $131 >>> 0;
if ($132) {
label = 23;
break;
} else {
var $F4_0 = $129;
label = 24;
break;
}
case 23:
_abort();
case 24:
var $F4_0;
var $_sum104 = $118 + 2 | 0;
var $135 = 5387544 + ($_sum104 << 2) | 0;
HEAP32[$135 >> 2] = $116;
var $136 = $F4_0 + 12 | 0;
HEAP32[$136 >> 2] = $116;
var $137 = $116 + 8 | 0;
HEAP32[$137 >> 2] = $F4_0;
var $138 = $116 + 12 | 0;
HEAP32[$138 >> 2] = $120;
label = 25;
break;
case 25:
HEAP32[5387512 >> 2] = $102;
HEAP32[5387524 >> 2] = $107;
var $140 = $86;
var $mem_0 = $140;
label = 39;
break;
case 26:
var $142 = HEAP32[5387508 >> 2];
var $143 = ($142 | 0) == 0;
if ($143) {
var $nb_0 = $8;
label = 31;
break;
} else {
label = 27;
break;
}
case 27:
var $145 = _tmalloc_small($8);
var $146 = ($145 | 0) == 0;
if ($146) {
var $nb_0 = $8;
label = 31;
break;
} else {
var $mem_0 = $145;
label = 39;
break;
}
case 28:
var $148 = $bytes >>> 0 > 4294967231;
if ($148) {
var $nb_0 = -1;
label = 31;
break;
} else {
label = 29;
break;
}
case 29:
var $150 = $bytes + 11 | 0;
var $151 = $150 & -8;
var $152 = HEAP32[5387508 >> 2];
var $153 = ($152 | 0) == 0;
if ($153) {
var $nb_0 = $151;
label = 31;
break;
} else {
label = 30;
break;
}
case 30:
var $155 = _tmalloc_large($151);
var $156 = ($155 | 0) == 0;
if ($156) {
var $nb_0 = $151;
label = 31;
break;
} else {
var $mem_0 = $155;
label = 39;
break;
}
case 31:
var $nb_0;
var $158 = HEAP32[5387512 >> 2];
var $159 = $nb_0 >>> 0 > $158 >>> 0;
if ($159) {
label = 36;
break;
} else {
label = 32;
break;
}
case 32:
var $161 = $158 - $nb_0 | 0;
var $162 = HEAP32[5387524 >> 2];
var $163 = $161 >>> 0 > 15;
if ($163) {
label = 33;
break;
} else {
label = 34;
break;
}
case 33:
var $165 = $162;
var $166 = $165 + $nb_0 | 0;
var $167 = $166;
HEAP32[5387524 >> 2] = $167;
HEAP32[5387512 >> 2] = $161;
var $168 = $161 | 1;
var $_sum98 = $nb_0 + 4 | 0;
var $169 = $165 + $_sum98 | 0;
var $170 = $169;
HEAP32[$170 >> 2] = $168;
var $171 = $165 + $158 | 0;
var $172 = $171;
HEAP32[$172 >> 2] = $161;
var $173 = $nb_0 | 3;
var $174 = $162 + 4 | 0;
HEAP32[$174 >> 2] = $173;
label = 35;
break;
case 34:
HEAP32[5387512 >> 2] = 0;
HEAP32[5387524 >> 2] = 0;
var $176 = $158 | 3;
var $177 = $162 + 4 | 0;
HEAP32[$177 >> 2] = $176;
var $178 = $162;
var $_sum97 = $158 + 4 | 0;
var $179 = $178 + $_sum97 | 0;
var $180 = $179;
var $181 = HEAP32[$180 >> 2];
var $182 = $181 | 1;
HEAP32[$180 >> 2] = $182;
label = 35;
break;
case 35:
var $184 = $162 + 8 | 0;
var $185 = $184;
var $mem_0 = $185;
label = 39;
break;
case 36:
var $187 = HEAP32[5387516 >> 2];
var $188 = $nb_0 >>> 0 < $187 >>> 0;
if ($188) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
var $190 = $187 - $nb_0 | 0;
HEAP32[5387516 >> 2] = $190;
var $191 = HEAP32[5387528 >> 2];
var $192 = $191;
var $193 = $192 + $nb_0 | 0;
var $194 = $193;
HEAP32[5387528 >> 2] = $194;
var $195 = $190 | 1;
var $_sum = $nb_0 + 4 | 0;
var $196 = $192 + $_sum | 0;
var $197 = $196;
HEAP32[$197 >> 2] = $195;
var $198 = $nb_0 | 3;
var $199 = $191 + 4 | 0;
HEAP32[$199 >> 2] = $198;
var $200 = $191 + 8 | 0;
var $201 = $200;
var $mem_0 = $201;
label = 39;
break;
case 38:
var $203 = _sys_alloc($nb_0);
var $mem_0 = $203;
label = 39;
break;
case 39:
var $mem_0;
return $mem_0;
}
}
_malloc["X"] = 1;
function _tmalloc_small($nb) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5387508 >> 2];
var $2 = -$1 | 0;
var $3 = $1 & $2;
var $4 = $3 - 1 | 0;
var $5 = $4 >>> 12;
var $6 = $5 & 16;
var $7 = $4 >>> ($6 >>> 0);
var $8 = $7 >>> 5;
var $9 = $8 & 8;
var $10 = $9 | $6;
var $11 = $7 >>> ($9 >>> 0);
var $12 = $11 >>> 2;
var $13 = $12 & 4;
var $14 = $10 | $13;
var $15 = $11 >>> ($13 >>> 0);
var $16 = $15 >>> 1;
var $17 = $16 & 2;
var $18 = $14 | $17;
var $19 = $15 >>> ($17 >>> 0);
var $20 = $19 >>> 1;
var $21 = $20 & 1;
var $22 = $18 | $21;
var $23 = $19 >>> ($21 >>> 0);
var $24 = $22 + $23 | 0;
var $25 = 5387808 + ($24 << 2) | 0;
var $26 = HEAP32[$25 >> 2];
var $27 = $26 + 4 | 0;
var $28 = HEAP32[$27 >> 2];
var $29 = $28 & -8;
var $30 = $29 - $nb | 0;
var $t_0 = $26;
var $v_0 = $26;
var $rsize_0 = $30;
label = 3;
break;
case 3:
var $rsize_0;
var $v_0;
var $t_0;
var $32 = $t_0 + 16 | 0;
var $33 = HEAP32[$32 >> 2];
var $34 = ($33 | 0) == 0;
if ($34) {
label = 4;
break;
} else {
var $39 = $33;
label = 5;
break;
}
case 4:
var $36 = $t_0 + 20 | 0;
var $37 = HEAP32[$36 >> 2];
var $38 = ($37 | 0) == 0;
if ($38) {
label = 6;
break;
} else {
var $39 = $37;
label = 5;
break;
}
case 5:
var $39;
var $40 = $39 + 4 | 0;
var $41 = HEAP32[$40 >> 2];
var $42 = $41 & -8;
var $43 = $42 - $nb | 0;
var $44 = $43 >>> 0 < $rsize_0 >>> 0;
var $_rsize_0 = $44 ? $43 : $rsize_0;
var $_v_0 = $44 ? $39 : $v_0;
var $t_0 = $39;
var $v_0 = $_v_0;
var $rsize_0 = $_rsize_0;
label = 3;
break;
case 6:
var $46 = $v_0;
var $47 = HEAP32[5387520 >> 2];
var $48 = $46 >>> 0 < $47 >>> 0;
if ($48) {
label = 50;
break;
} else {
label = 7;
break;
}
case 7:
var $50 = $46 + $nb | 0;
var $51 = $50;
var $52 = $46 >>> 0 < $50 >>> 0;
if ($52) {
label = 8;
break;
} else {
label = 50;
break;
}
case 8:
var $54 = $v_0 + 24 | 0;
var $55 = HEAP32[$54 >> 2];
var $56 = $v_0 + 12 | 0;
var $57 = HEAP32[$56 >> 2];
var $58 = ($57 | 0) == ($v_0 | 0);
if ($58) {
label = 12;
break;
} else {
label = 9;
break;
}
case 9:
var $60 = $v_0 + 8 | 0;
var $61 = HEAP32[$60 >> 2];
var $62 = $61;
var $63 = $62 >>> 0 < $47 >>> 0;
if ($63) {
label = 11;
break;
} else {
label = 10;
break;
}
case 10:
var $65 = $61 + 12 | 0;
HEAP32[$65 >> 2] = $57;
var $66 = $57 + 8 | 0;
HEAP32[$66 >> 2] = $61;
var $R_1 = $57;
label = 20;
break;
case 11:
_abort();
case 12:
var $69 = $v_0 + 20 | 0;
var $70 = HEAP32[$69 >> 2];
var $71 = ($70 | 0) == 0;
if ($71) {
label = 13;
break;
} else {
var $R_0 = $70;
var $RP_0 = $69;
label = 14;
break;
}
case 13:
var $73 = $v_0 + 16 | 0;
var $74 = HEAP32[$73 >> 2];
var $75 = ($74 | 0) == 0;
if ($75) {
var $R_1 = 0;
label = 20;
break;
} else {
var $R_0 = $74;
var $RP_0 = $73;
label = 14;
break;
}
case 14:
var $RP_0;
var $R_0;
var $76 = $R_0 + 20 | 0;
var $77 = HEAP32[$76 >> 2];
var $78 = ($77 | 0) == 0;
if ($78) {
label = 15;
break;
} else {
var $CP_0 = $76;
label = 16;
break;
}
case 15:
var $80 = $R_0 + 16 | 0;
var $81 = HEAP32[$80 >> 2];
var $82 = ($81 | 0) == 0;
if ($82) {
label = 17;
break;
} else {
var $CP_0 = $80;
label = 16;
break;
}
case 16:
var $CP_0;
var $83 = HEAP32[$CP_0 >> 2];
var $R_0 = $83;
var $RP_0 = $CP_0;
label = 14;
break;
case 17:
var $85 = $RP_0;
var $86 = HEAP32[5387520 >> 2];
var $87 = $85 >>> 0 < $86 >>> 0;
if ($87) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
HEAP32[$RP_0 >> 2] = 0;
var $R_1 = $R_0;
label = 20;
break;
case 19:
_abort();
case 20:
var $R_1;
var $91 = ($55 | 0) == 0;
if ($91) {
label = 40;
break;
} else {
label = 21;
break;
}
case 21:
var $93 = $v_0 + 28 | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = 5387808 + ($94 << 2) | 0;
var $96 = HEAP32[$95 >> 2];
var $97 = ($v_0 | 0) == ($96 | 0);
if ($97) {
label = 22;
break;
} else {
label = 24;
break;
}
case 22:
HEAP32[$95 >> 2] = $R_1;
var $cond = ($R_1 | 0) == 0;
if ($cond) {
label = 23;
break;
} else {
label = 30;
break;
}
case 23:
var $99 = HEAP32[$93 >> 2];
var $100 = 1 << $99;
var $101 = $100 ^ -1;
var $102 = HEAP32[5387508 >> 2];
var $103 = $102 & $101;
HEAP32[5387508 >> 2] = $103;
label = 40;
break;
case 24:
var $105 = $55;
var $106 = HEAP32[5387520 >> 2];
var $107 = $105 >>> 0 < $106 >>> 0;
if ($107) {
label = 28;
break;
} else {
label = 25;
break;
}
case 25:
var $109 = $55 + 16 | 0;
var $110 = HEAP32[$109 >> 2];
var $111 = ($110 | 0) == ($v_0 | 0);
if ($111) {
label = 26;
break;
} else {
label = 27;
break;
}
case 26:
HEAP32[$109 >> 2] = $R_1;
label = 29;
break;
case 27:
var $114 = $55 + 20 | 0;
HEAP32[$114 >> 2] = $R_1;
label = 29;
break;
case 28:
_abort();
case 29:
var $117 = ($R_1 | 0) == 0;
if ($117) {
label = 40;
break;
} else {
label = 30;
break;
}
case 30:
var $119 = $R_1;
var $120 = HEAP32[5387520 >> 2];
var $121 = $119 >>> 0 < $120 >>> 0;
if ($121) {
label = 39;
break;
} else {
label = 31;
break;
}
case 31:
var $123 = $R_1 + 24 | 0;
HEAP32[$123 >> 2] = $55;
var $124 = $v_0 + 16 | 0;
var $125 = HEAP32[$124 >> 2];
var $126 = ($125 | 0) == 0;
if ($126) {
label = 35;
break;
} else {
label = 32;
break;
}
case 32:
var $128 = $125;
var $129 = HEAP32[5387520 >> 2];
var $130 = $128 >>> 0 < $129 >>> 0;
if ($130) {
label = 34;
break;
} else {
label = 33;
break;
}
case 33:
var $132 = $R_1 + 16 | 0;
HEAP32[$132 >> 2] = $125;
var $133 = $125 + 24 | 0;
HEAP32[$133 >> 2] = $R_1;
label = 35;
break;
case 34:
_abort();
case 35:
var $136 = $v_0 + 20 | 0;
var $137 = HEAP32[$136 >> 2];
var $138 = ($137 | 0) == 0;
if ($138) {
label = 40;
break;
} else {
label = 36;
break;
}
case 36:
var $140 = $137;
var $141 = HEAP32[5387520 >> 2];
var $142 = $140 >>> 0 < $141 >>> 0;
if ($142) {
label = 38;
break;
} else {
label = 37;
break;
}
case 37:
var $144 = $R_1 + 20 | 0;
HEAP32[$144 >> 2] = $137;
var $145 = $137 + 24 | 0;
HEAP32[$145 >> 2] = $R_1;
label = 40;
break;
case 38:
_abort();
case 39:
_abort();
case 40:
var $149 = $rsize_0 >>> 0 < 16;
if ($149) {
label = 41;
break;
} else {
label = 42;
break;
}
case 41:
var $151 = $rsize_0 + $nb | 0;
var $152 = $151 | 3;
var $153 = $v_0 + 4 | 0;
HEAP32[$153 >> 2] = $152;
var $_sum4 = $151 + 4 | 0;
var $154 = $46 + $_sum4 | 0;
var $155 = $154;
var $156 = HEAP32[$155 >> 2];
var $157 = $156 | 1;
HEAP32[$155 >> 2] = $157;
label = 49;
break;
case 42:
var $159 = $nb | 3;
var $160 = $v_0 + 4 | 0;
HEAP32[$160 >> 2] = $159;
var $161 = $rsize_0 | 1;
var $_sum = $nb + 4 | 0;
var $162 = $46 + $_sum | 0;
var $163 = $162;
HEAP32[$163 >> 2] = $161;
var $_sum1 = $rsize_0 + $nb | 0;
var $164 = $46 + $_sum1 | 0;
var $165 = $164;
HEAP32[$165 >> 2] = $rsize_0;
var $166 = HEAP32[5387512 >> 2];
var $167 = ($166 | 0) == 0;
if ($167) {
label = 48;
break;
} else {
label = 43;
break;
}
case 43:
var $169 = HEAP32[5387524 >> 2];
var $170 = $166 >>> 3;
var $171 = $170 << 1;
var $172 = 5387544 + ($171 << 2) | 0;
var $173 = $172;
var $174 = HEAP32[5387504 >> 2];
var $175 = 1 << $170;
var $176 = $174 & $175;
var $177 = ($176 | 0) == 0;
if ($177) {
label = 44;
break;
} else {
label = 45;
break;
}
case 44:
var $179 = $174 | $175;
HEAP32[5387504 >> 2] = $179;
var $F1_0 = $173;
label = 47;
break;
case 45:
var $_sum3 = $171 + 2 | 0;
var $181 = 5387544 + ($_sum3 << 2) | 0;
var $182 = HEAP32[$181 >> 2];
var $183 = $182;
var $184 = HEAP32[5387520 >> 2];
var $185 = $183 >>> 0 < $184 >>> 0;
if ($185) {
label = 46;
break;
} else {
var $F1_0 = $182;
label = 47;
break;
}
case 46:
_abort();
case 47:
var $F1_0;
var $_sum2 = $171 + 2 | 0;
var $188 = 5387544 + ($_sum2 << 2) | 0;
HEAP32[$188 >> 2] = $169;
var $189 = $F1_0 + 12 | 0;
HEAP32[$189 >> 2] = $169;
var $190 = $169 + 8 | 0;
HEAP32[$190 >> 2] = $F1_0;
var $191 = $169 + 12 | 0;
HEAP32[$191 >> 2] = $173;
label = 48;
break;
case 48:
HEAP32[5387512 >> 2] = $rsize_0;
HEAP32[5387524 >> 2] = $51;
label = 49;
break;
case 49:
var $194 = $v_0 + 8 | 0;
var $195 = $194;
return $195;
case 50:
_abort();
}
}
_tmalloc_small["X"] = 1;
function _sys_alloc($nb) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = HEAP32[5387944 >> 2];
var $6 = $5 & 4;
var $7 = ($6 | 0) == 0;
if ($7) {
label = 5;
break;
} else {
var $tsize_125 = 0;
label = 24;
break;
}
case 5:
var $9 = HEAP32[5387528 >> 2];
var $10 = ($9 | 0) == 0;
if ($10) {
label = 7;
break;
} else {
label = 6;
break;
}
case 6:
var $12 = $9;
var $13 = _segment_holding($12);
var $14 = ($13 | 0) == 0;
if ($14) {
label = 7;
break;
} else {
label = 12;
break;
}
case 7:
var $15 = _sbrk(0);
var $16 = ($15 | 0) == -1;
if ($16) {
var $tsize_0121720_ph = 0;
label = 22;
break;
} else {
label = 8;
break;
}
case 8:
var $18 = HEAP32[5292256 >> 2];
var $19 = $nb + 47 | 0;
var $20 = $19 + $18 | 0;
var $21 = -$18 | 0;
var $22 = $20 & $21;
var $23 = $15;
var $24 = HEAP32[5292252 >> 2];
var $25 = $24 - 1 | 0;
var $26 = $25 & $23;
var $27 = ($26 | 0) == 0;
if ($27) {
var $asize_0 = $22;
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $29 = $25 + $23 | 0;
var $30 = -$24 | 0;
var $31 = $29 & $30;
var $32 = $22 - $23 | 0;
var $33 = $32 + $31 | 0;
var $asize_0 = $33;
label = 10;
break;
case 10:
var $asize_0;
var $35 = $asize_0 >>> 0 < 2147483647;
if ($35) {
label = 11;
break;
} else {
var $tsize_0121720_ph = 0;
label = 22;
break;
}
case 11:
var $37 = _sbrk($asize_0);
var $38 = ($37 | 0) == ($15 | 0);
var $asize_0_ = $38 ? $asize_0 : 0;
var $_ = $38 ? $15 : -1;
var $tbase_0 = $_;
var $tsize_0 = $asize_0_;
var $br_0 = $37;
var $asize_1 = $asize_0;
label = 14;
break;
case 12:
var $40 = HEAP32[5387516 >> 2];
var $41 = HEAP32[5292256 >> 2];
var $42 = $nb + 47 | 0;
var $43 = $42 - $40 | 0;
var $44 = $43 + $41 | 0;
var $45 = -$41 | 0;
var $46 = $44 & $45;
var $47 = $46 >>> 0 < 2147483647;
if ($47) {
label = 13;
break;
} else {
var $tsize_0121720_ph = 0;
label = 22;
break;
}
case 13:
var $49 = _sbrk($46);
var $50 = $13 | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = $13 + 4 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = $51 + $53 | 0;
var $55 = ($49 | 0) == ($54 | 0);
var $_1 = $55 ? $46 : 0;
var $_2 = $55 ? $49 : -1;
var $tbase_0 = $_2;
var $tsize_0 = $_1;
var $br_0 = $49;
var $asize_1 = $46;
label = 14;
break;
case 14:
var $asize_1;
var $br_0;
var $tsize_0;
var $tbase_0;
var $57 = -$asize_1 | 0;
var $58 = ($tbase_0 | 0) == -1;
if ($58) {
label = 15;
break;
} else {
var $tsize_229 = $tsize_0;
var $tbase_230 = $tbase_0;
label = 27;
break;
}
case 15:
var $60 = ($br_0 | 0) != -1;
var $61 = $asize_1 >>> 0 < 2147483647;
var $or_cond = $60 & $61;
if ($or_cond) {
label = 16;
break;
} else {
var $asize_2 = $asize_1;
label = 21;
break;
}
case 16:
var $63 = $nb + 48 | 0;
var $64 = $asize_1 >>> 0 < $63 >>> 0;
if ($64) {
label = 17;
break;
} else {
var $asize_2 = $asize_1;
label = 21;
break;
}
case 17:
var $66 = HEAP32[5292256 >> 2];
var $67 = $nb + 47 | 0;
var $68 = $67 - $asize_1 | 0;
var $69 = $68 + $66 | 0;
var $70 = -$66 | 0;
var $71 = $69 & $70;
var $72 = $71 >>> 0 < 2147483647;
if ($72) {
label = 18;
break;
} else {
var $asize_2 = $asize_1;
label = 21;
break;
}
case 18:
var $74 = _sbrk($71);
var $75 = ($74 | 0) == -1;
if ($75) {
label = 20;
break;
} else {
label = 19;
break;
}
case 19:
var $77 = $71 + $asize_1 | 0;
var $asize_2 = $77;
label = 21;
break;
case 20:
var $79 = _sbrk($57);
var $tsize_0121720_ph = $tsize_0;
label = 22;
break;
case 21:
var $asize_2;
var $81 = ($br_0 | 0) == -1;
if ($81) {
label = 23;
break;
} else {
var $tsize_229 = $asize_2;
var $tbase_230 = $br_0;
label = 27;
break;
}
case 22:
var $tsize_0121720_ph;
var $82 = HEAP32[5387944 >> 2];
var $83 = $82 | 4;
HEAP32[5387944 >> 2] = $83;
var $tsize_125 = $tsize_0121720_ph;
label = 24;
break;
case 23:
var $84 = HEAP32[5387944 >> 2];
var $85 = $84 | 4;
HEAP32[5387944 >> 2] = $85;
var $tsize_125 = $tsize_0;
label = 24;
break;
case 24:
var $tsize_125;
var $86 = HEAP32[5292256 >> 2];
var $87 = $nb + 47 | 0;
var $88 = $87 + $86 | 0;
var $89 = -$86 | 0;
var $90 = $88 & $89;
var $91 = $90 >>> 0 < 2147483647;
if ($91) {
label = 25;
break;
} else {
label = 48;
break;
}
case 25:
var $93 = _sbrk($90);
var $94 = _sbrk(0);
var $notlhs = ($93 | 0) != -1;
var $notrhs = ($94 | 0) != -1;
var $or_cond3_not = $notrhs & $notlhs;
var $95 = $93 >>> 0 < $94 >>> 0;
var $or_cond4 = $or_cond3_not & $95;
if ($or_cond4) {
label = 26;
break;
} else {
label = 48;
break;
}
case 26:
var $96 = $94;
var $97 = $93;
var $98 = $96 - $97 | 0;
var $99 = $nb + 40 | 0;
var $100 = $98 >>> 0 > $99 >>> 0;
var $_tsize_1 = $100 ? $98 : $tsize_125;
var $_tbase_1 = $100 ? $93 : -1;
var $101 = ($_tbase_1 | 0) == -1;
if ($101) {
label = 48;
break;
} else {
var $tsize_229 = $_tsize_1;
var $tbase_230 = $_tbase_1;
label = 27;
break;
}
case 27:
var $tbase_230;
var $tsize_229;
var $102 = HEAP32[5387936 >> 2];
var $103 = $102 + $tsize_229 | 0;
HEAP32[5387936 >> 2] = $103;
var $104 = HEAP32[5387940 >> 2];
var $105 = $103 >>> 0 > $104 >>> 0;
if ($105) {
label = 28;
break;
} else {
label = 29;
break;
}
case 28:
HEAP32[5387940 >> 2] = $103;
label = 29;
break;
case 29:
var $108 = HEAP32[5387528 >> 2];
var $109 = ($108 | 0) == 0;
if ($109) {
label = 30;
break;
} else {
var $sp_042 = 5387948;
label = 33;
break;
}
case 30:
var $111 = HEAP32[5387520 >> 2];
var $112 = ($111 | 0) == 0;
var $113 = $tbase_230 >>> 0 < $111 >>> 0;
var $or_cond5 = $112 | $113;
if ($or_cond5) {
label = 31;
break;
} else {
label = 32;
break;
}
case 31:
HEAP32[5387520 >> 2] = $tbase_230;
label = 32;
break;
case 32:
HEAP32[5387948 >> 2] = $tbase_230;
HEAP32[5387952 >> 2] = $tsize_229;
HEAP32[5387960 >> 2] = 0;
var $116 = HEAP32[5292248 >> 2];
HEAP32[5387540 >> 2] = $116;
HEAP32[5387536 >> 2] = -1;
_init_bins();
var $117 = $tbase_230;
var $118 = $tsize_229 - 40 | 0;
_init_top($117, $118);
label = 46;
break;
case 33:
var $sp_042;
var $119 = $sp_042 | 0;
var $120 = HEAP32[$119 >> 2];
var $121 = $sp_042 + 4 | 0;
var $122 = HEAP32[$121 >> 2];
var $123 = $120 + $122 | 0;
var $124 = ($tbase_230 | 0) == ($123 | 0);
if ($124) {
label = 35;
break;
} else {
label = 34;
break;
}
case 34:
var $126 = $sp_042 + 8 | 0;
var $127 = HEAP32[$126 >> 2];
var $128 = ($127 | 0) == 0;
if ($128) {
label = 38;
break;
} else {
var $sp_042 = $127;
label = 33;
break;
}
case 35:
var $129 = $sp_042 + 12 | 0;
var $130 = HEAP32[$129 >> 2];
var $131 = $130 & 8;
var $132 = ($131 | 0) == 0;
if ($132) {
label = 36;
break;
} else {
label = 38;
break;
}
case 36:
var $134 = HEAP32[5387528 >> 2];
var $135 = $134;
var $136 = $135 >>> 0 >= $120 >>> 0;
var $137 = $135 >>> 0 < $123 >>> 0;
var $or_cond31 = $136 & $137;
if ($or_cond31) {
label = 37;
break;
} else {
label = 38;
break;
}
case 37:
var $139 = $122 + $tsize_229 | 0;
HEAP32[$121 >> 2] = $139;
var $140 = HEAP32[5387528 >> 2];
var $141 = HEAP32[5387516 >> 2];
var $142 = $141 + $tsize_229 | 0;
_init_top($140, $142);
label = 46;
break;
case 38:
var $143 = HEAP32[5387520 >> 2];
var $144 = $tbase_230 >>> 0 < $143 >>> 0;
if ($144) {
label = 39;
break;
} else {
label = 40;
break;
}
case 39:
HEAP32[5387520 >> 2] = $tbase_230;
label = 40;
break;
case 40:
var $146 = $tbase_230 + $tsize_229 | 0;
var $sp_135 = 5387948;
label = 41;
break;
case 41:
var $sp_135;
var $148 = $sp_135 | 0;
var $149 = HEAP32[$148 >> 2];
var $150 = ($149 | 0) == ($146 | 0);
if ($150) {
label = 43;
break;
} else {
label = 42;
break;
}
case 42:
var $152 = $sp_135 + 8 | 0;
var $153 = HEAP32[$152 >> 2];
var $154 = ($153 | 0) == 0;
if ($154) {
label = 45;
break;
} else {
var $sp_135 = $153;
label = 41;
break;
}
case 43:
var $155 = $sp_135 + 12 | 0;
var $156 = HEAP32[$155 >> 2];
var $157 = $156 & 8;
var $158 = ($157 | 0) == 0;
if ($158) {
label = 44;
break;
} else {
label = 45;
break;
}
case 44:
HEAP32[$148 >> 2] = $tbase_230;
var $160 = $sp_135 + 4 | 0;
var $161 = HEAP32[$160 >> 2];
var $162 = $161 + $tsize_229 | 0;
HEAP32[$160 >> 2] = $162;
var $163 = _prepend_alloc($tbase_230, $149, $nb);
var $_0 = $163;
label = 49;
break;
case 45:
_add_segment($tbase_230, $tsize_229);
label = 46;
break;
case 46:
var $165 = HEAP32[5387516 >> 2];
var $166 = $165 >>> 0 > $nb >>> 0;
if ($166) {
label = 47;
break;
} else {
label = 48;
break;
}
case 47:
var $168 = $165 - $nb | 0;
HEAP32[5387516 >> 2] = $168;
var $169 = HEAP32[5387528 >> 2];
var $170 = $169;
var $171 = $170 + $nb | 0;
var $172 = $171;
HEAP32[5387528 >> 2] = $172;
var $173 = $168 | 1;
var $_sum = $nb + 4 | 0;
var $174 = $170 + $_sum | 0;
var $175 = $174;
HEAP32[$175 >> 2] = $173;
var $176 = $nb | 3;
var $177 = $169 + 4 | 0;
HEAP32[$177 >> 2] = $176;
var $178 = $169 + 8 | 0;
var $179 = $178;
var $_0 = $179;
label = 49;
break;
case 48:
var $180 = ___errno_location();
HEAP32[$180 >> 2] = 12;
var $_0 = 0;
label = 49;
break;
case 49:
var $_0;
return $_0;
}
}
_sys_alloc["X"] = 1;
function _tmalloc_large($nb) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = -$nb | 0;
var $2 = $nb >>> 8;
var $3 = ($2 | 0) == 0;
if ($3) {
var $idx_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $5 = $nb >>> 0 > 16777215;
if ($5) {
var $idx_0 = 31;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $7 = $2 + 1048320 | 0;
var $8 = $7 >>> 16;
var $9 = $8 & 8;
var $10 = $2 << $9;
var $11 = $10 + 520192 | 0;
var $12 = $11 >>> 16;
var $13 = $12 & 4;
var $14 = $13 | $9;
var $15 = $10 << $13;
var $16 = $15 + 245760 | 0;
var $17 = $16 >>> 16;
var $18 = $17 & 2;
var $19 = $14 | $18;
var $20 = 14 - $19 | 0;
var $21 = $15 << $18;
var $22 = $21 >>> 15;
var $23 = $20 + $22 | 0;
var $24 = $23 << 1;
var $25 = $23 + 7 | 0;
var $26 = $nb >>> ($25 >>> 0);
var $27 = $26 & 1;
var $28 = $27 | $24;
var $idx_0 = $28;
label = 5;
break;
case 5:
var $idx_0;
var $30 = 5387808 + ($idx_0 << 2) | 0;
var $31 = HEAP32[$30 >> 2];
var $32 = ($31 | 0) == 0;
if ($32) {
var $v_2 = 0;
var $rsize_2 = $1;
var $t_1 = 0;
label = 12;
break;
} else {
label = 6;
break;
}
case 6:
var $34 = ($idx_0 | 0) == 31;
if ($34) {
var $39 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $36 = $idx_0 >>> 1;
var $37 = 25 - $36 | 0;
var $39 = $37;
label = 8;
break;
case 8:
var $39;
var $40 = $nb << $39;
var $v_0 = 0;
var $rsize_0 = $1;
var $t_0 = $31;
var $sizebits_0 = $40;
var $rst_0 = 0;
label = 9;
break;
case 9:
var $rst_0;
var $sizebits_0;
var $t_0;
var $rsize_0;
var $v_0;
var $42 = $t_0 + 4 | 0;
var $43 = HEAP32[$42 >> 2];
var $44 = $43 & -8;
var $45 = $44 - $nb | 0;
var $46 = $45 >>> 0 < $rsize_0 >>> 0;
if ($46) {
label = 10;
break;
} else {
var $v_1 = $v_0;
var $rsize_1 = $rsize_0;
label = 11;
break;
}
case 10:
var $48 = ($44 | 0) == ($nb | 0);
if ($48) {
var $v_2 = $t_0;
var $rsize_2 = $45;
var $t_1 = $t_0;
label = 12;
break;
} else {
var $v_1 = $t_0;
var $rsize_1 = $45;
label = 11;
break;
}
case 11:
var $rsize_1;
var $v_1;
var $50 = $t_0 + 20 | 0;
var $51 = HEAP32[$50 >> 2];
var $52 = $sizebits_0 >>> 31;
var $53 = $t_0 + 16 + ($52 << 2) | 0;
var $54 = HEAP32[$53 >> 2];
var $55 = ($51 | 0) == 0;
var $56 = ($51 | 0) == ($54 | 0);
var $or_cond = $55 | $56;
var $rst_1 = $or_cond ? $rst_0 : $51;
var $57 = ($54 | 0) == 0;
var $58 = $sizebits_0 << 1;
if ($57) {
var $v_2 = $v_1;
var $rsize_2 = $rsize_1;
var $t_1 = $rst_1;
label = 12;
break;
} else {
var $v_0 = $v_1;
var $rsize_0 = $rsize_1;
var $t_0 = $54;
var $sizebits_0 = $58;
var $rst_0 = $rst_1;
label = 9;
break;
}
case 12:
var $t_1;
var $rsize_2;
var $v_2;
var $59 = ($t_1 | 0) == 0;
var $60 = ($v_2 | 0) == 0;
var $or_cond19 = $59 & $60;
if ($or_cond19) {
label = 13;
break;
} else {
var $t_2_ph = $t_1;
label = 15;
break;
}
case 13:
var $62 = 2 << $idx_0;
var $63 = -$62 | 0;
var $64 = $62 | $63;
var $65 = HEAP32[5387508 >> 2];
var $66 = $65 & $64;
var $67 = ($66 | 0) == 0;
if ($67) {
var $t_2_ph = $t_1;
label = 15;
break;
} else {
label = 14;
break;
}
case 14:
var $69 = -$66 | 0;
var $70 = $66 & $69;
var $71 = $70 - 1 | 0;
var $72 = $71 >>> 12;
var $73 = $72 & 16;
var $74 = $71 >>> ($73 >>> 0);
var $75 = $74 >>> 5;
var $76 = $75 & 8;
var $77 = $76 | $73;
var $78 = $74 >>> ($76 >>> 0);
var $79 = $78 >>> 2;
var $80 = $79 & 4;
var $81 = $77 | $80;
var $82 = $78 >>> ($80 >>> 0);
var $83 = $82 >>> 1;
var $84 = $83 & 2;
var $85 = $81 | $84;
var $86 = $82 >>> ($84 >>> 0);
var $87 = $86 >>> 1;
var $88 = $87 & 1;
var $89 = $85 | $88;
var $90 = $86 >>> ($88 >>> 0);
var $91 = $89 + $90 | 0;
var $92 = 5387808 + ($91 << 2) | 0;
var $93 = HEAP32[$92 >> 2];
var $t_2_ph = $93;
label = 15;
break;
case 15:
var $t_2_ph;
var $94 = ($t_2_ph | 0) == 0;
if ($94) {
var $rsize_3_lcssa = $rsize_2;
var $v_3_lcssa = $v_2;
label = 18;
break;
} else {
var $t_224 = $t_2_ph;
var $rsize_325 = $rsize_2;
var $v_326 = $v_2;
label = 16;
break;
}
case 16:
var $v_326;
var $rsize_325;
var $t_224;
var $95 = $t_224 + 4 | 0;
var $96 = HEAP32[$95 >> 2];
var $97 = $96 & -8;
var $98 = $97 - $nb | 0;
var $99 = $98 >>> 0 < $rsize_325 >>> 0;
var $_rsize_3 = $99 ? $98 : $rsize_325;
var $t_2_v_3 = $99 ? $t_224 : $v_326;
var $100 = $t_224 + 16 | 0;
var $101 = HEAP32[$100 >> 2];
var $102 = ($101 | 0) == 0;
if ($102) {
label = 17;
break;
} else {
var $t_224 = $101;
var $rsize_325 = $_rsize_3;
var $v_326 = $t_2_v_3;
label = 16;
break;
}
case 17:
var $103 = $t_224 + 20 | 0;
var $104 = HEAP32[$103 >> 2];
var $105 = ($104 | 0) == 0;
if ($105) {
var $rsize_3_lcssa = $_rsize_3;
var $v_3_lcssa = $t_2_v_3;
label = 18;
break;
} else {
var $t_224 = $104;
var $rsize_325 = $_rsize_3;
var $v_326 = $t_2_v_3;
label = 16;
break;
}
case 18:
var $v_3_lcssa;
var $rsize_3_lcssa;
var $106 = ($v_3_lcssa | 0) == 0;
if ($106) {
var $_0 = 0;
label = 81;
break;
} else {
label = 19;
break;
}
case 19:
var $108 = HEAP32[5387512 >> 2];
var $109 = $108 - $nb | 0;
var $110 = $rsize_3_lcssa >>> 0 < $109 >>> 0;
if ($110) {
label = 20;
break;
} else {
var $_0 = 0;
label = 81;
break;
}
case 20:
var $112 = $v_3_lcssa;
var $113 = HEAP32[5387520 >> 2];
var $114 = $112 >>> 0 < $113 >>> 0;
if ($114) {
label = 80;
break;
} else {
label = 21;
break;
}
case 21:
var $116 = $112 + $nb | 0;
var $117 = $116;
var $118 = $112 >>> 0 < $116 >>> 0;
if ($118) {
label = 22;
break;
} else {
label = 80;
break;
}
case 22:
var $120 = $v_3_lcssa + 24 | 0;
var $121 = HEAP32[$120 >> 2];
var $122 = $v_3_lcssa + 12 | 0;
var $123 = HEAP32[$122 >> 2];
var $124 = ($123 | 0) == ($v_3_lcssa | 0);
if ($124) {
label = 26;
break;
} else {
label = 23;
break;
}
case 23:
var $126 = $v_3_lcssa + 8 | 0;
var $127 = HEAP32[$126 >> 2];
var $128 = $127;
var $129 = $128 >>> 0 < $113 >>> 0;
if ($129) {
label = 25;
break;
} else {
label = 24;
break;
}
case 24:
var $131 = $127 + 12 | 0;
HEAP32[$131 >> 2] = $123;
var $132 = $123 + 8 | 0;
HEAP32[$132 >> 2] = $127;
var $R_1 = $123;
label = 34;
break;
case 25:
_abort();
case 26:
var $135 = $v_3_lcssa + 20 | 0;
var $136 = HEAP32[$135 >> 2];
var $137 = ($136 | 0) == 0;
if ($137) {
label = 27;
break;
} else {
var $R_0 = $136;
var $RP_0 = $135;
label = 28;
break;
}
case 27:
var $139 = $v_3_lcssa + 16 | 0;
var $140 = HEAP32[$139 >> 2];
var $141 = ($140 | 0) == 0;
if ($141) {
var $R_1 = 0;
label = 34;
break;
} else {
var $R_0 = $140;
var $RP_0 = $139;
label = 28;
break;
}
case 28:
var $RP_0;
var $R_0;
var $142 = $R_0 + 20 | 0;
var $143 = HEAP32[$142 >> 2];
var $144 = ($143 | 0) == 0;
if ($144) {
label = 29;
break;
} else {
var $CP_0 = $142;
label = 30;
break;
}
case 29:
var $146 = $R_0 + 16 | 0;
var $147 = HEAP32[$146 >> 2];
var $148 = ($147 | 0) == 0;
if ($148) {
label = 31;
break;
} else {
var $CP_0 = $146;
label = 30;
break;
}
case 30:
var $CP_0;
var $149 = HEAP32[$CP_0 >> 2];
var $R_0 = $149;
var $RP_0 = $CP_0;
label = 28;
break;
case 31:
var $151 = $RP_0;
var $152 = HEAP32[5387520 >> 2];
var $153 = $151 >>> 0 < $152 >>> 0;
if ($153) {
label = 33;
break;
} else {
label = 32;
break;
}
case 32:
HEAP32[$RP_0 >> 2] = 0;
var $R_1 = $R_0;
label = 34;
break;
case 33:
_abort();
case 34:
var $R_1;
var $157 = ($121 | 0) == 0;
if ($157) {
label = 54;
break;
} else {
label = 35;
break;
}
case 35:
var $159 = $v_3_lcssa + 28 | 0;
var $160 = HEAP32[$159 >> 2];
var $161 = 5387808 + ($160 << 2) | 0;
var $162 = HEAP32[$161 >> 2];
var $163 = ($v_3_lcssa | 0) == ($162 | 0);
if ($163) {
label = 36;
break;
} else {
label = 38;
break;
}
case 36:
HEAP32[$161 >> 2] = $R_1;
var $cond = ($R_1 | 0) == 0;
if ($cond) {
label = 37;
break;
} else {
label = 44;
break;
}
case 37:
var $165 = HEAP32[$159 >> 2];
var $166 = 1 << $165;
var $167 = $166 ^ -1;
var $168 = HEAP32[5387508 >> 2];
var $169 = $168 & $167;
HEAP32[5387508 >> 2] = $169;
label = 54;
break;
case 38:
var $171 = $121;
var $172 = HEAP32[5387520 >> 2];
var $173 = $171 >>> 0 < $172 >>> 0;
if ($173) {
label = 42;
break;
} else {
label = 39;
break;
}
case 39:
var $175 = $121 + 16 | 0;
var $176 = HEAP32[$175 >> 2];
var $177 = ($176 | 0) == ($v_3_lcssa | 0);
if ($177) {
label = 40;
break;
} else {
label = 41;
break;
}
case 40:
HEAP32[$175 >> 2] = $R_1;
label = 43;
break;
case 41:
var $180 = $121 + 20 | 0;
HEAP32[$180 >> 2] = $R_1;
label = 43;
break;
case 42:
_abort();
case 43:
var $183 = ($R_1 | 0) == 0;
if ($183) {
label = 54;
break;
} else {
label = 44;
break;
}
case 44:
var $185 = $R_1;
var $186 = HEAP32[5387520 >> 2];
var $187 = $185 >>> 0 < $186 >>> 0;
if ($187) {
label = 53;
break;
} else {
label = 45;
break;
}
case 45:
var $189 = $R_1 + 24 | 0;
HEAP32[$189 >> 2] = $121;
var $190 = $v_3_lcssa + 16 | 0;
var $191 = HEAP32[$190 >> 2];
var $192 = ($191 | 0) == 0;
if ($192) {
label = 49;
break;
} else {
label = 46;
break;
}
case 46:
var $194 = $191;
var $195 = HEAP32[5387520 >> 2];
var $196 = $194 >>> 0 < $195 >>> 0;
if ($196) {
label = 48;
break;
} else {
label = 47;
break;
}
case 47:
var $198 = $R_1 + 16 | 0;
HEAP32[$198 >> 2] = $191;
var $199 = $191 + 24 | 0;
HEAP32[$199 >> 2] = $R_1;
label = 49;
break;
case 48:
_abort();
case 49:
var $202 = $v_3_lcssa + 20 | 0;
var $203 = HEAP32[$202 >> 2];
var $204 = ($203 | 0) == 0;
if ($204) {
label = 54;
break;
} else {
label = 50;
break;
}
case 50:
var $206 = $203;
var $207 = HEAP32[5387520 >> 2];
var $208 = $206 >>> 0 < $207 >>> 0;
if ($208) {
label = 52;
break;
} else {
label = 51;
break;
}
case 51:
var $210 = $R_1 + 20 | 0;
HEAP32[$210 >> 2] = $203;
var $211 = $203 + 24 | 0;
HEAP32[$211 >> 2] = $R_1;
label = 54;
break;
case 52:
_abort();
case 53:
_abort();
case 54:
var $215 = $rsize_3_lcssa >>> 0 < 16;
if ($215) {
label = 55;
break;
} else {
label = 56;
break;
}
case 55:
var $217 = $rsize_3_lcssa + $nb | 0;
var $218 = $217 | 3;
var $219 = $v_3_lcssa + 4 | 0;
HEAP32[$219 >> 2] = $218;
var $_sum18 = $217 + 4 | 0;
var $220 = $112 + $_sum18 | 0;
var $221 = $220;
var $222 = HEAP32[$221 >> 2];
var $223 = $222 | 1;
HEAP32[$221 >> 2] = $223;
label = 79;
break;
case 56:
var $225 = $nb | 3;
var $226 = $v_3_lcssa + 4 | 0;
HEAP32[$226 >> 2] = $225;
var $227 = $rsize_3_lcssa | 1;
var $_sum = $nb + 4 | 0;
var $228 = $112 + $_sum | 0;
var $229 = $228;
HEAP32[$229 >> 2] = $227;
var $_sum1 = $rsize_3_lcssa + $nb | 0;
var $230 = $112 + $_sum1 | 0;
var $231 = $230;
HEAP32[$231 >> 2] = $rsize_3_lcssa;
var $232 = $rsize_3_lcssa >>> 3;
var $233 = $rsize_3_lcssa >>> 0 < 256;
if ($233) {
label = 57;
break;
} else {
label = 62;
break;
}
case 57:
var $235 = $232 << 1;
var $236 = 5387544 + ($235 << 2) | 0;
var $237 = $236;
var $238 = HEAP32[5387504 >> 2];
var $239 = 1 << $232;
var $240 = $238 & $239;
var $241 = ($240 | 0) == 0;
if ($241) {
label = 58;
break;
} else {
label = 59;
break;
}
case 58:
var $243 = $238 | $239;
HEAP32[5387504 >> 2] = $243;
var $F5_0 = $237;
label = 61;
break;
case 59:
var $_sum17 = $235 + 2 | 0;
var $245 = 5387544 + ($_sum17 << 2) | 0;
var $246 = HEAP32[$245 >> 2];
var $247 = $246;
var $248 = HEAP32[5387520 >> 2];
var $249 = $247 >>> 0 < $248 >>> 0;
if ($249) {
label = 60;
break;
} else {
var $F5_0 = $246;
label = 61;
break;
}
case 60:
_abort();
case 61:
var $F5_0;
var $_sum14 = $235 + 2 | 0;
var $252 = 5387544 + ($_sum14 << 2) | 0;
HEAP32[$252 >> 2] = $117;
var $253 = $F5_0 + 12 | 0;
HEAP32[$253 >> 2] = $117;
var $_sum15 = $nb + 8 | 0;
var $254 = $112 + $_sum15 | 0;
var $255 = $254;
HEAP32[$255 >> 2] = $F5_0;
var $_sum16 = $nb + 12 | 0;
var $256 = $112 + $_sum16 | 0;
var $257 = $256;
HEAP32[$257 >> 2] = $237;
label = 79;
break;
case 62:
var $259 = $116;
var $260 = $rsize_3_lcssa >>> 8;
var $261 = ($260 | 0) == 0;
if ($261) {
var $I7_0 = 0;
label = 65;
break;
} else {
label = 63;
break;
}
case 63:
var $263 = $rsize_3_lcssa >>> 0 > 16777215;
if ($263) {
var $I7_0 = 31;
label = 65;
break;
} else {
label = 64;
break;
}
case 64:
var $265 = $260 + 1048320 | 0;
var $266 = $265 >>> 16;
var $267 = $266 & 8;
var $268 = $260 << $267;
var $269 = $268 + 520192 | 0;
var $270 = $269 >>> 16;
var $271 = $270 & 4;
var $272 = $271 | $267;
var $273 = $268 << $271;
var $274 = $273 + 245760 | 0;
var $275 = $274 >>> 16;
var $276 = $275 & 2;
var $277 = $272 | $276;
var $278 = 14 - $277 | 0;
var $279 = $273 << $276;
var $280 = $279 >>> 15;
var $281 = $278 + $280 | 0;
var $282 = $281 << 1;
var $283 = $281 + 7 | 0;
var $284 = $rsize_3_lcssa >>> ($283 >>> 0);
var $285 = $284 & 1;
var $286 = $285 | $282;
var $I7_0 = $286;
label = 65;
break;
case 65:
var $I7_0;
var $288 = 5387808 + ($I7_0 << 2) | 0;
var $_sum2 = $nb + 28 | 0;
var $289 = $112 + $_sum2 | 0;
var $290 = $289;
HEAP32[$290 >> 2] = $I7_0;
var $_sum3 = $nb + 16 | 0;
var $291 = $112 + $_sum3 | 0;
var $_sum4 = $nb + 20 | 0;
var $292 = $112 + $_sum4 | 0;
var $293 = $292;
HEAP32[$293 >> 2] = 0;
var $294 = $291;
HEAP32[$294 >> 2] = 0;
var $295 = HEAP32[5387508 >> 2];
var $296 = 1 << $I7_0;
var $297 = $295 & $296;
var $298 = ($297 | 0) == 0;
if ($298) {
label = 66;
break;
} else {
label = 67;
break;
}
case 66:
var $300 = $295 | $296;
HEAP32[5387508 >> 2] = $300;
HEAP32[$288 >> 2] = $259;
var $301 = $288;
var $_sum5 = $nb + 24 | 0;
var $302 = $112 + $_sum5 | 0;
var $303 = $302;
HEAP32[$303 >> 2] = $301;
var $_sum6 = $nb + 12 | 0;
var $304 = $112 + $_sum6 | 0;
var $305 = $304;
HEAP32[$305 >> 2] = $259;
var $_sum7 = $nb + 8 | 0;
var $306 = $112 + $_sum7 | 0;
var $307 = $306;
HEAP32[$307 >> 2] = $259;
label = 79;
break;
case 67:
var $309 = HEAP32[$288 >> 2];
var $310 = ($I7_0 | 0) == 31;
if ($310) {
var $315 = 0;
label = 69;
break;
} else {
label = 68;
break;
}
case 68:
var $312 = $I7_0 >>> 1;
var $313 = 25 - $312 | 0;
var $315 = $313;
label = 69;
break;
case 69:
var $315;
var $316 = $rsize_3_lcssa << $315;
var $K12_0 = $316;
var $T_0 = $309;
label = 70;
break;
case 70:
var $T_0;
var $K12_0;
var $318 = $T_0 + 4 | 0;
var $319 = HEAP32[$318 >> 2];
var $320 = $319 & -8;
var $321 = ($320 | 0) == ($rsize_3_lcssa | 0);
if ($321) {
label = 75;
break;
} else {
label = 71;
break;
}
case 71:
var $323 = $K12_0 >>> 31;
var $324 = $T_0 + 16 + ($323 << 2) | 0;
var $325 = HEAP32[$324 >> 2];
var $326 = ($325 | 0) == 0;
var $327 = $K12_0 << 1;
if ($326) {
label = 72;
break;
} else {
var $K12_0 = $327;
var $T_0 = $325;
label = 70;
break;
}
case 72:
var $329 = $324;
var $330 = HEAP32[5387520 >> 2];
var $331 = $329 >>> 0 < $330 >>> 0;
if ($331) {
label = 74;
break;
} else {
label = 73;
break;
}
case 73:
HEAP32[$324 >> 2] = $259;
var $_sum11 = $nb + 24 | 0;
var $333 = $112 + $_sum11 | 0;
var $334 = $333;
HEAP32[$334 >> 2] = $T_0;
var $_sum12 = $nb + 12 | 0;
var $335 = $112 + $_sum12 | 0;
var $336 = $335;
HEAP32[$336 >> 2] = $259;
var $_sum13 = $nb + 8 | 0;
var $337 = $112 + $_sum13 | 0;
var $338 = $337;
HEAP32[$338 >> 2] = $259;
label = 79;
break;
case 74:
_abort();
case 75:
var $341 = $T_0 + 8 | 0;
var $342 = HEAP32[$341 >> 2];
var $343 = $T_0;
var $344 = HEAP32[5387520 >> 2];
var $345 = $343 >>> 0 < $344 >>> 0;
if ($345) {
label = 78;
break;
} else {
label = 76;
break;
}
case 76:
var $347 = $342;
var $348 = $347 >>> 0 < $344 >>> 0;
if ($348) {
label = 78;
break;
} else {
label = 77;
break;
}
case 77:
var $350 = $342 + 12 | 0;
HEAP32[$350 >> 2] = $259;
HEAP32[$341 >> 2] = $259;
var $_sum8 = $nb + 8 | 0;
var $351 = $112 + $_sum8 | 0;
var $352 = $351;
HEAP32[$352 >> 2] = $342;
var $_sum9 = $nb + 12 | 0;
var $353 = $112 + $_sum9 | 0;
var $354 = $353;
HEAP32[$354 >> 2] = $T_0;
var $_sum10 = $nb + 24 | 0;
var $355 = $112 + $_sum10 | 0;
var $356 = $355;
HEAP32[$356 >> 2] = 0;
label = 79;
break;
case 78:
_abort();
case 79:
var $358 = $v_3_lcssa + 8 | 0;
var $359 = $358;
var $_0 = $359;
label = 81;
break;
case 80:
_abort();
case 81:
var $_0;
return $_0;
}
}
_tmalloc_large["X"] = 1;
function _sys_trim($pad) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = $pad >>> 0 < 4294967232;
if ($5) {
label = 5;
break;
} else {
var $released_2 = 0;
label = 14;
break;
}
case 5:
var $7 = HEAP32[5387528 >> 2];
var $8 = ($7 | 0) == 0;
if ($8) {
var $released_2 = 0;
label = 14;
break;
} else {
label = 6;
break;
}
case 6:
var $10 = $pad + 40 | 0;
var $11 = HEAP32[5387516 >> 2];
var $12 = $11 >>> 0 > $10 >>> 0;
if ($12) {
label = 7;
break;
} else {
label = 12;
break;
}
case 7:
var $14 = HEAP32[5292256 >> 2];
var $_neg = -40 - $pad | 0;
var $15 = $_neg - 1 | 0;
var $16 = $15 + $11 | 0;
var $17 = $16 + $14 | 0;
var $18 = Math.floor(($17 >>> 0) / ($14 >>> 0));
var $19 = $18 - 1 | 0;
var $20 = $19 * $14 & -1;
var $21 = $7;
var $22 = _segment_holding($21);
var $23 = $22 + 12 | 0;
var $24 = HEAP32[$23 >> 2];
var $25 = $24 & 8;
var $26 = ($25 | 0) == 0;
if ($26) {
label = 8;
break;
} else {
label = 12;
break;
}
case 8:
var $28 = _sbrk(0);
var $29 = $22 | 0;
var $30 = HEAP32[$29 >> 2];
var $31 = $22 + 4 | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $30 + $32 | 0;
var $34 = ($28 | 0) == ($33 | 0);
if ($34) {
label = 9;
break;
} else {
label = 12;
break;
}
case 9:
var $36 = -2147483648 - $14 | 0;
var $37 = $20 >>> 0 > 2147483646;
var $_ = $37 ? $36 : $20;
var $38 = -$_ | 0;
var $39 = _sbrk($38);
var $40 = _sbrk(0);
var $41 = ($39 | 0) != -1;
var $42 = $40 >>> 0 < $28 >>> 0;
var $or_cond = $41 & $42;
if ($or_cond) {
label = 10;
break;
} else {
label = 12;
break;
}
case 10:
var $44 = $28;
var $45 = $40;
var $46 = $44 - $45 | 0;
var $47 = ($28 | 0) == ($40 | 0);
if ($47) {
label = 12;
break;
} else {
label = 11;
break;
}
case 11:
var $49 = $22 + 4 | 0;
var $50 = HEAP32[$49 >> 2];
var $51 = $50 - $46 | 0;
HEAP32[$49 >> 2] = $51;
var $52 = HEAP32[5387936 >> 2];
var $53 = $52 - $46 | 0;
HEAP32[5387936 >> 2] = $53;
var $54 = HEAP32[5387528 >> 2];
var $55 = HEAP32[5387516 >> 2];
var $56 = $55 - $46 | 0;
_init_top($54, $56);
var $phitmp = ($28 | 0) != ($40 | 0);
var $released_2 = $phitmp;
label = 14;
break;
case 12:
var $57 = HEAP32[5387516 >> 2];
var $58 = HEAP32[5387532 >> 2];
var $59 = $57 >>> 0 > $58 >>> 0;
if ($59) {
label = 13;
break;
} else {
var $released_2 = 0;
label = 14;
break;
}
case 13:
HEAP32[5387532 >> 2] = -1;
var $released_2 = 0;
label = 14;
break;
case 14:
var $released_2;
var $62 = $released_2 & 1;
return $62;
}
}
_sys_trim["X"] = 1;
function _free($mem) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($mem | 0) == 0;
if ($1) {
label = 130;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $mem - 8 | 0;
var $4 = $3;
var $5 = HEAP32[5387520 >> 2];
var $6 = $3 >>> 0 < $5 >>> 0;
if ($6) {
label = 129;
break;
} else {
label = 4;
break;
}
case 4:
var $8 = $mem - 4 | 0;
var $9 = $8;
var $10 = HEAP32[$9 >> 2];
var $11 = $10 & 3;
var $12 = ($11 | 0) == 1;
if ($12) {
label = 129;
break;
} else {
label = 5;
break;
}
case 5:
var $14 = $10 & -8;
var $_sum = $14 - 8 | 0;
var $15 = $mem + $_sum | 0;
var $16 = $15;
var $17 = $10 & 1;
var $18 = ($17 | 0) == 0;
if ($18) {
label = 6;
break;
} else {
var $p_0 = $4;
var $psize_0 = $14;
label = 50;
break;
}
case 6:
var $20 = $3;
var $21 = HEAP32[$20 >> 2];
var $22 = ($11 | 0) == 0;
if ($22) {
label = 130;
break;
} else {
label = 7;
break;
}
case 7:
var $_sum216 = -8 - $21 | 0;
var $24 = $mem + $_sum216 | 0;
var $25 = $24;
var $26 = $21 + $14 | 0;
var $27 = $24 >>> 0 < $5 >>> 0;
if ($27) {
label = 129;
break;
} else {
label = 8;
break;
}
case 8:
var $29 = HEAP32[5387524 >> 2];
var $30 = ($25 | 0) == ($29 | 0);
if ($30) {
label = 48;
break;
} else {
label = 9;
break;
}
case 9:
var $32 = $21 >>> 3;
var $33 = $21 >>> 0 < 256;
if ($33) {
label = 10;
break;
} else {
label = 16;
break;
}
case 10:
var $_sum250 = $_sum216 + 8 | 0;
var $35 = $mem + $_sum250 | 0;
var $36 = $35;
var $37 = HEAP32[$36 >> 2];
var $_sum251 = $_sum216 + 12 | 0;
var $38 = $mem + $_sum251 | 0;
var $39 = $38;
var $40 = HEAP32[$39 >> 2];
var $41 = ($37 | 0) == ($40 | 0);
if ($41) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $43 = 1 << $32;
var $44 = $43 ^ -1;
var $45 = HEAP32[5387504 >> 2];
var $46 = $45 & $44;
HEAP32[5387504 >> 2] = $46;
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
case 12:
var $48 = $32 << 1;
var $49 = 5387544 + ($48 << 2) | 0;
var $50 = $49;
var $51 = ($37 | 0) != ($50 | 0);
var $52 = $37;
var $53 = $52 >>> 0 < $5 >>> 0;
var $or_cond = $51 & $53;
if ($or_cond) {
label = 15;
break;
} else {
label = 13;
break;
}
case 13:
var $55 = ($40 | 0) == ($50 | 0);
var $56 = $40;
var $57 = $56 >>> 0 >= $5 >>> 0;
var $or_cond263 = $55 | $57;
if ($or_cond263) {
label = 14;
break;
} else {
label = 15;
break;
}
case 14:
var $58 = $37 + 12 | 0;
HEAP32[$58 >> 2] = $40;
var $59 = $40 + 8 | 0;
HEAP32[$59 >> 2] = $37;
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
case 15:
_abort();
case 16:
var $61 = $24;
var $_sum242 = $_sum216 + 24 | 0;
var $62 = $mem + $_sum242 | 0;
var $63 = $62;
var $64 = HEAP32[$63 >> 2];
var $_sum243 = $_sum216 + 12 | 0;
var $65 = $mem + $_sum243 | 0;
var $66 = $65;
var $67 = HEAP32[$66 >> 2];
var $68 = ($67 | 0) == ($61 | 0);
if ($68) {
label = 20;
break;
} else {
label = 17;
break;
}
case 17:
var $_sum249 = $_sum216 + 8 | 0;
var $70 = $mem + $_sum249 | 0;
var $71 = $70;
var $72 = HEAP32[$71 >> 2];
var $73 = $72;
var $74 = $73 >>> 0 < $5 >>> 0;
if ($74) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
var $76 = $72 + 12 | 0;
HEAP32[$76 >> 2] = $67;
var $77 = $67 + 8 | 0;
HEAP32[$77 >> 2] = $72;
var $R_1 = $67;
label = 28;
break;
case 19:
_abort();
case 20:
var $_sum245 = $_sum216 + 20 | 0;
var $80 = $mem + $_sum245 | 0;
var $81 = $80;
var $82 = HEAP32[$81 >> 2];
var $83 = ($82 | 0) == 0;
if ($83) {
label = 21;
break;
} else {
var $R_0 = $82;
var $RP_0 = $81;
label = 22;
break;
}
case 21:
var $_sum244 = $_sum216 + 16 | 0;
var $85 = $mem + $_sum244 | 0;
var $86 = $85;
var $87 = HEAP32[$86 >> 2];
var $88 = ($87 | 0) == 0;
if ($88) {
var $R_1 = 0;
label = 28;
break;
} else {
var $R_0 = $87;
var $RP_0 = $86;
label = 22;
break;
}
case 22:
var $RP_0;
var $R_0;
var $89 = $R_0 + 20 | 0;
var $90 = HEAP32[$89 >> 2];
var $91 = ($90 | 0) == 0;
if ($91) {
label = 23;
break;
} else {
var $CP_0 = $89;
label = 24;
break;
}
case 23:
var $93 = $R_0 + 16 | 0;
var $94 = HEAP32[$93 >> 2];
var $95 = ($94 | 0) == 0;
if ($95) {
label = 25;
break;
} else {
var $CP_0 = $93;
label = 24;
break;
}
case 24:
var $CP_0;
var $96 = HEAP32[$CP_0 >> 2];
var $R_0 = $96;
var $RP_0 = $CP_0;
label = 22;
break;
case 25:
var $98 = $RP_0;
var $99 = HEAP32[5387520 >> 2];
var $100 = $98 >>> 0 < $99 >>> 0;
if ($100) {
label = 27;
break;
} else {
label = 26;
break;
}
case 26:
HEAP32[$RP_0 >> 2] = 0;
var $R_1 = $R_0;
label = 28;
break;
case 27:
_abort();
case 28:
var $R_1;
var $104 = ($64 | 0) == 0;
if ($104) {
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
} else {
label = 29;
break;
}
case 29:
var $_sum246 = $_sum216 + 28 | 0;
var $106 = $mem + $_sum246 | 0;
var $107 = $106;
var $108 = HEAP32[$107 >> 2];
var $109 = 5387808 + ($108 << 2) | 0;
var $110 = HEAP32[$109 >> 2];
var $111 = ($61 | 0) == ($110 | 0);
if ($111) {
label = 30;
break;
} else {
label = 32;
break;
}
case 30:
HEAP32[$109 >> 2] = $R_1;
var $cond = ($R_1 | 0) == 0;
if ($cond) {
label = 31;
break;
} else {
label = 38;
break;
}
case 31:
var $113 = HEAP32[$107 >> 2];
var $114 = 1 << $113;
var $115 = $114 ^ -1;
var $116 = HEAP32[5387508 >> 2];
var $117 = $116 & $115;
HEAP32[5387508 >> 2] = $117;
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
case 32:
var $119 = $64;
var $120 = HEAP32[5387520 >> 2];
var $121 = $119 >>> 0 < $120 >>> 0;
if ($121) {
label = 36;
break;
} else {
label = 33;
break;
}
case 33:
var $123 = $64 + 16 | 0;
var $124 = HEAP32[$123 >> 2];
var $125 = ($124 | 0) == ($61 | 0);
if ($125) {
label = 34;
break;
} else {
label = 35;
break;
}
case 34:
HEAP32[$123 >> 2] = $R_1;
label = 37;
break;
case 35:
var $128 = $64 + 20 | 0;
HEAP32[$128 >> 2] = $R_1;
label = 37;
break;
case 36:
_abort();
case 37:
var $131 = ($R_1 | 0) == 0;
if ($131) {
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
} else {
label = 38;
break;
}
case 38:
var $133 = $R_1;
var $134 = HEAP32[5387520 >> 2];
var $135 = $133 >>> 0 < $134 >>> 0;
if ($135) {
label = 47;
break;
} else {
label = 39;
break;
}
case 39:
var $137 = $R_1 + 24 | 0;
HEAP32[$137 >> 2] = $64;
var $_sum247 = $_sum216 + 16 | 0;
var $138 = $mem + $_sum247 | 0;
var $139 = $138;
var $140 = HEAP32[$139 >> 2];
var $141 = ($140 | 0) == 0;
if ($141) {
label = 43;
break;
} else {
label = 40;
break;
}
case 40:
var $143 = $140;
var $144 = HEAP32[5387520 >> 2];
var $145 = $143 >>> 0 < $144 >>> 0;
if ($145) {
label = 42;
break;
} else {
label = 41;
break;
}
case 41:
var $147 = $R_1 + 16 | 0;
HEAP32[$147 >> 2] = $140;
var $148 = $140 + 24 | 0;
HEAP32[$148 >> 2] = $R_1;
label = 43;
break;
case 42:
_abort();
case 43:
var $_sum248 = $_sum216 + 20 | 0;
var $151 = $mem + $_sum248 | 0;
var $152 = $151;
var $153 = HEAP32[$152 >> 2];
var $154 = ($153 | 0) == 0;
if ($154) {
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
} else {
label = 44;
break;
}
case 44:
var $156 = $153;
var $157 = HEAP32[5387520 >> 2];
var $158 = $156 >>> 0 < $157 >>> 0;
if ($158) {
label = 46;
break;
} else {
label = 45;
break;
}
case 45:
var $160 = $R_1 + 20 | 0;
HEAP32[$160 >> 2] = $153;
var $161 = $153 + 24 | 0;
HEAP32[$161 >> 2] = $R_1;
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
case 46:
_abort();
case 47:
_abort();
case 48:
var $_sum217 = $14 - 4 | 0;
var $165 = $mem + $_sum217 | 0;
var $166 = $165;
var $167 = HEAP32[$166 >> 2];
var $168 = $167 & 3;
var $169 = ($168 | 0) == 3;
if ($169) {
label = 49;
break;
} else {
var $p_0 = $25;
var $psize_0 = $26;
label = 50;
break;
}
case 49:
HEAP32[5387512 >> 2] = $26;
var $171 = HEAP32[$166 >> 2];
var $172 = $171 & -2;
HEAP32[$166 >> 2] = $172;
var $173 = $26 | 1;
var $_sum240 = $_sum216 + 4 | 0;
var $174 = $mem + $_sum240 | 0;
var $175 = $174;
HEAP32[$175 >> 2] = $173;
var $176 = $15;
HEAP32[$176 >> 2] = $26;
label = 130;
break;
case 50:
var $psize_0;
var $p_0;
var $178 = $p_0;
var $179 = $178 >>> 0 < $15 >>> 0;
if ($179) {
label = 51;
break;
} else {
label = 129;
break;
}
case 51:
var $_sum239 = $14 - 4 | 0;
var $181 = $mem + $_sum239 | 0;
var $182 = $181;
var $183 = HEAP32[$182 >> 2];
var $184 = $183 & 1;
var $185 = ($184 | 0) == 0;
if ($185) {
label = 129;
break;
} else {
label = 52;
break;
}
case 52:
var $187 = $183 & 2;
var $188 = ($187 | 0) == 0;
if ($188) {
label = 53;
break;
} else {
label = 103;
break;
}
case 53:
var $190 = HEAP32[5387528 >> 2];
var $191 = ($16 | 0) == ($190 | 0);
if ($191) {
label = 54;
break;
} else {
label = 58;
break;
}
case 54:
var $193 = HEAP32[5387516 >> 2];
var $194 = $193 + $psize_0 | 0;
HEAP32[5387516 >> 2] = $194;
HEAP32[5387528 >> 2] = $p_0;
var $195 = $194 | 1;
var $196 = $p_0 + 4 | 0;
HEAP32[$196 >> 2] = $195;
var $197 = HEAP32[5387524 >> 2];
var $198 = ($p_0 | 0) == ($197 | 0);
if ($198) {
label = 55;
break;
} else {
label = 56;
break;
}
case 55:
HEAP32[5387524 >> 2] = 0;
HEAP32[5387512 >> 2] = 0;
label = 56;
break;
case 56:
var $201 = HEAP32[5387532 >> 2];
var $202 = $194 >>> 0 > $201 >>> 0;
if ($202) {
label = 57;
break;
} else {
label = 130;
break;
}
case 57:
var $204 = _sys_trim(0);
label = 130;
break;
case 58:
var $206 = HEAP32[5387524 >> 2];
var $207 = ($16 | 0) == ($206 | 0);
if ($207) {
label = 59;
break;
} else {
label = 60;
break;
}
case 59:
var $209 = HEAP32[5387512 >> 2];
var $210 = $209 + $psize_0 | 0;
HEAP32[5387512 >> 2] = $210;
HEAP32[5387524 >> 2] = $p_0;
var $211 = $210 | 1;
var $212 = $p_0 + 4 | 0;
HEAP32[$212 >> 2] = $211;
var $213 = $178 + $210 | 0;
var $214 = $213;
HEAP32[$214 >> 2] = $210;
label = 130;
break;
case 60:
var $216 = $183 & -8;
var $217 = $216 + $psize_0 | 0;
var $218 = $183 >>> 3;
var $219 = $183 >>> 0 < 256;
if ($219) {
label = 61;
break;
} else {
label = 69;
break;
}
case 61:
var $221 = $mem + $14 | 0;
var $222 = $221;
var $223 = HEAP32[$222 >> 2];
var $_sum237238 = $14 | 4;
var $224 = $mem + $_sum237238 | 0;
var $225 = $224;
var $226 = HEAP32[$225 >> 2];
var $227 = ($223 | 0) == ($226 | 0);
if ($227) {
label = 62;
break;
} else {
label = 63;
break;
}
case 62:
var $229 = 1 << $218;
var $230 = $229 ^ -1;
var $231 = HEAP32[5387504 >> 2];
var $232 = $231 & $230;
HEAP32[5387504 >> 2] = $232;
label = 101;
break;
case 63:
var $234 = $218 << 1;
var $235 = 5387544 + ($234 << 2) | 0;
var $236 = $235;
var $237 = ($223 | 0) == ($236 | 0);
if ($237) {
label = 65;
break;
} else {
label = 64;
break;
}
case 64:
var $239 = $223;
var $240 = HEAP32[5387520 >> 2];
var $241 = $239 >>> 0 < $240 >>> 0;
if ($241) {
label = 68;
break;
} else {
label = 65;
break;
}
case 65:
var $243 = ($226 | 0) == ($236 | 0);
if ($243) {
label = 67;
break;
} else {
label = 66;
break;
}
case 66:
var $245 = $226;
var $246 = HEAP32[5387520 >> 2];
var $247 = $245 >>> 0 < $246 >>> 0;
if ($247) {
label = 68;
break;
} else {
label = 67;
break;
}
case 67:
var $248 = $223 + 12 | 0;
HEAP32[$248 >> 2] = $226;
var $249 = $226 + 8 | 0;
HEAP32[$249 >> 2] = $223;
label = 101;
break;
case 68:
_abort();
case 69:
var $251 = $15;
var $_sum219 = $14 + 16 | 0;
var $252 = $mem + $_sum219 | 0;
var $253 = $252;
var $254 = HEAP32[$253 >> 2];
var $_sum220221 = $14 | 4;
var $255 = $mem + $_sum220221 | 0;
var $256 = $255;
var $257 = HEAP32[$256 >> 2];
var $258 = ($257 | 0) == ($251 | 0);
if ($258) {
label = 73;
break;
} else {
label = 70;
break;
}
case 70:
var $260 = $mem + $14 | 0;
var $261 = $260;
var $262 = HEAP32[$261 >> 2];
var $263 = $262;
var $264 = HEAP32[5387520 >> 2];
var $265 = $263 >>> 0 < $264 >>> 0;
if ($265) {
label = 72;
break;
} else {
label = 71;
break;
}
case 71:
var $267 = $262 + 12 | 0;
HEAP32[$267 >> 2] = $257;
var $268 = $257 + 8 | 0;
HEAP32[$268 >> 2] = $262;
var $R7_1 = $257;
label = 81;
break;
case 72:
_abort();
case 73:
var $_sum223 = $14 + 12 | 0;
var $271 = $mem + $_sum223 | 0;
var $272 = $271;
var $273 = HEAP32[$272 >> 2];
var $274 = ($273 | 0) == 0;
if ($274) {
label = 74;
break;
} else {
var $R7_0 = $273;
var $RP9_0 = $272;
label = 75;
break;
}
case 74:
var $_sum222 = $14 + 8 | 0;
var $276 = $mem + $_sum222 | 0;
var $277 = $276;
var $278 = HEAP32[$277 >> 2];
var $279 = ($278 | 0) == 0;
if ($279) {
var $R7_1 = 0;
label = 81;
break;
} else {
var $R7_0 = $278;
var $RP9_0 = $277;
label = 75;
break;
}
case 75:
var $RP9_0;
var $R7_0;
var $280 = $R7_0 + 20 | 0;
var $281 = HEAP32[$280 >> 2];
var $282 = ($281 | 0) == 0;
if ($282) {
label = 76;
break;
} else {
var $CP10_0 = $280;
label = 77;
break;
}
case 76:
var $284 = $R7_0 + 16 | 0;
var $285 = HEAP32[$284 >> 2];
var $286 = ($285 | 0) == 0;
if ($286) {
label = 78;
break;
} else {
var $CP10_0 = $284;
label = 77;
break;
}
case 77:
var $CP10_0;
var $287 = HEAP32[$CP10_0 >> 2];
var $R7_0 = $287;
var $RP9_0 = $CP10_0;
label = 75;
break;
case 78:
var $289 = $RP9_0;
var $290 = HEAP32[5387520 >> 2];
var $291 = $289 >>> 0 < $290 >>> 0;
if ($291) {
label = 80;
break;
} else {
label = 79;
break;
}
case 79:
HEAP32[$RP9_0 >> 2] = 0;
var $R7_1 = $R7_0;
label = 81;
break;
case 80:
_abort();
case 81:
var $R7_1;
var $295 = ($254 | 0) == 0;
if ($295) {
label = 101;
break;
} else {
label = 82;
break;
}
case 82:
var $_sum232 = $14 + 20 | 0;
var $297 = $mem + $_sum232 | 0;
var $298 = $297;
var $299 = HEAP32[$298 >> 2];
var $300 = 5387808 + ($299 << 2) | 0;
var $301 = HEAP32[$300 >> 2];
var $302 = ($251 | 0) == ($301 | 0);
if ($302) {
label = 83;
break;
} else {
label = 85;
break;
}
case 83:
HEAP32[$300 >> 2] = $R7_1;
var $cond261 = ($R7_1 | 0) == 0;
if ($cond261) {
label = 84;
break;
} else {
label = 91;
break;
}
case 84:
var $304 = HEAP32[$298 >> 2];
var $305 = 1 << $304;
var $306 = $305 ^ -1;
var $307 = HEAP32[5387508 >> 2];
var $308 = $307 & $306;
HEAP32[5387508 >> 2] = $308;
label = 101;
break;
case 85:
var $310 = $254;
var $311 = HEAP32[5387520 >> 2];
var $312 = $310 >>> 0 < $311 >>> 0;
if ($312) {
label = 89;
break;
} else {
label = 86;
break;
}
case 86:
var $314 = $254 + 16 | 0;
var $315 = HEAP32[$314 >> 2];
var $316 = ($315 | 0) == ($251 | 0);
if ($316) {
label = 87;
break;
} else {
label = 88;
break;
}
case 87:
HEAP32[$314 >> 2] = $R7_1;
label = 90;
break;
case 88:
var $319 = $254 + 20 | 0;
HEAP32[$319 >> 2] = $R7_1;
label = 90;
break;
case 89:
_abort();
case 90:
var $322 = ($R7_1 | 0) == 0;
if ($322) {
label = 101;
break;
} else {
label = 91;
break;
}
case 91:
var $324 = $R7_1;
var $325 = HEAP32[5387520 >> 2];
var $326 = $324 >>> 0 < $325 >>> 0;
if ($326) {
label = 100;
break;
} else {
label = 92;
break;
}
case 92:
var $328 = $R7_1 + 24 | 0;
HEAP32[$328 >> 2] = $254;
var $_sum233 = $14 + 8 | 0;
var $329 = $mem + $_sum233 | 0;
var $330 = $329;
var $331 = HEAP32[$330 >> 2];
var $332 = ($331 | 0) == 0;
if ($332) {
label = 96;
break;
} else {
label = 93;
break;
}
case 93:
var $334 = $331;
var $335 = HEAP32[5387520 >> 2];
var $336 = $334 >>> 0 < $335 >>> 0;
if ($336) {
label = 95;
break;
} else {
label = 94;
break;
}
case 94:
var $338 = $R7_1 + 16 | 0;
HEAP32[$338 >> 2] = $331;
var $339 = $331 + 24 | 0;
HEAP32[$339 >> 2] = $R7_1;
label = 96;
break;
case 95:
_abort();
case 96:
var $_sum234 = $14 + 12 | 0;
var $342 = $mem + $_sum234 | 0;
var $343 = $342;
var $344 = HEAP32[$343 >> 2];
var $345 = ($344 | 0) == 0;
if ($345) {
label = 101;
break;
} else {
label = 97;
break;
}
case 97:
var $347 = $344;
var $348 = HEAP32[5387520 >> 2];
var $349 = $347 >>> 0 < $348 >>> 0;
if ($349) {
label = 99;
break;
} else {
label = 98;
break;
}
case 98:
var $351 = $R7_1 + 20 | 0;
HEAP32[$351 >> 2] = $344;
var $352 = $344 + 24 | 0;
HEAP32[$352 >> 2] = $R7_1;
label = 101;
break;
case 99:
_abort();
case 100:
_abort();
case 101:
var $356 = $217 | 1;
var $357 = $p_0 + 4 | 0;
HEAP32[$357 >> 2] = $356;
var $358 = $178 + $217 | 0;
var $359 = $358;
HEAP32[$359 >> 2] = $217;
var $360 = HEAP32[5387524 >> 2];
var $361 = ($p_0 | 0) == ($360 | 0);
if ($361) {
label = 102;
break;
} else {
var $psize_1 = $217;
label = 104;
break;
}
case 102:
HEAP32[5387512 >> 2] = $217;
label = 130;
break;
case 103:
var $364 = $183 & -2;
HEAP32[$182 >> 2] = $364;
var $365 = $psize_0 | 1;
var $366 = $p_0 + 4 | 0;
HEAP32[$366 >> 2] = $365;
var $367 = $178 + $psize_0 | 0;
var $368 = $367;
HEAP32[$368 >> 2] = $psize_0;
var $psize_1 = $psize_0;
label = 104;
break;
case 104:
var $psize_1;
var $370 = $psize_1 >>> 3;
var $371 = $psize_1 >>> 0 < 256;
if ($371) {
label = 105;
break;
} else {
label = 110;
break;
}
case 105:
var $373 = $370 << 1;
var $374 = 5387544 + ($373 << 2) | 0;
var $375 = $374;
var $376 = HEAP32[5387504 >> 2];
var $377 = 1 << $370;
var $378 = $376 & $377;
var $379 = ($378 | 0) == 0;
if ($379) {
label = 106;
break;
} else {
label = 107;
break;
}
case 106:
var $381 = $376 | $377;
HEAP32[5387504 >> 2] = $381;
var $F16_0 = $375;
label = 109;
break;
case 107:
var $_sum231 = $373 + 2 | 0;
var $383 = 5387544 + ($_sum231 << 2) | 0;
var $384 = HEAP32[$383 >> 2];
var $385 = $384;
var $386 = HEAP32[5387520 >> 2];
var $387 = $385 >>> 0 < $386 >>> 0;
if ($387) {
label = 108;
break;
} else {
var $F16_0 = $384;
label = 109;
break;
}
case 108:
_abort();
case 109:
var $F16_0;
var $_sum230 = $373 + 2 | 0;
var $390 = 5387544 + ($_sum230 << 2) | 0;
HEAP32[$390 >> 2] = $p_0;
var $391 = $F16_0 + 12 | 0;
HEAP32[$391 >> 2] = $p_0;
var $392 = $p_0 + 8 | 0;
HEAP32[$392 >> 2] = $F16_0;
var $393 = $p_0 + 12 | 0;
HEAP32[$393 >> 2] = $375;
label = 130;
break;
case 110:
var $395 = $p_0;
var $396 = $psize_1 >>> 8;
var $397 = ($396 | 0) == 0;
if ($397) {
var $I18_0 = 0;
label = 113;
break;
} else {
label = 111;
break;
}
case 111:
var $399 = $psize_1 >>> 0 > 16777215;
if ($399) {
var $I18_0 = 31;
label = 113;
break;
} else {
label = 112;
break;
}
case 112:
var $401 = $396 + 1048320 | 0;
var $402 = $401 >>> 16;
var $403 = $402 & 8;
var $404 = $396 << $403;
var $405 = $404 + 520192 | 0;
var $406 = $405 >>> 16;
var $407 = $406 & 4;
var $408 = $407 | $403;
var $409 = $404 << $407;
var $410 = $409 + 245760 | 0;
var $411 = $410 >>> 16;
var $412 = $411 & 2;
var $413 = $408 | $412;
var $414 = 14 - $413 | 0;
var $415 = $409 << $412;
var $416 = $415 >>> 15;
var $417 = $414 + $416 | 0;
var $418 = $417 << 1;
var $419 = $417 + 7 | 0;
var $420 = $psize_1 >>> ($419 >>> 0);
var $421 = $420 & 1;
var $422 = $421 | $418;
var $I18_0 = $422;
label = 113;
break;
case 113:
var $I18_0;
var $424 = 5387808 + ($I18_0 << 2) | 0;
var $425 = $p_0 + 28 | 0;
var $I18_0_c = $I18_0;
HEAP32[$425 >> 2] = $I18_0_c;
var $426 = $p_0 + 20 | 0;
HEAP32[$426 >> 2] = 0;
var $427 = $p_0 + 16 | 0;
HEAP32[$427 >> 2] = 0;
var $428 = HEAP32[5387508 >> 2];
var $429 = 1 << $I18_0;
var $430 = $428 & $429;
var $431 = ($430 | 0) == 0;
if ($431) {
label = 114;
break;
} else {
label = 115;
break;
}
case 114:
var $433 = $428 | $429;
HEAP32[5387508 >> 2] = $433;
HEAP32[$424 >> 2] = $395;
var $434 = $p_0 + 24 | 0;
var $_c = $424;
HEAP32[$434 >> 2] = $_c;
var $435 = $p_0 + 12 | 0;
HEAP32[$435 >> 2] = $p_0;
var $436 = $p_0 + 8 | 0;
HEAP32[$436 >> 2] = $p_0;
label = 127;
break;
case 115:
var $438 = HEAP32[$424 >> 2];
var $439 = ($I18_0 | 0) == 31;
if ($439) {
var $444 = 0;
label = 117;
break;
} else {
label = 116;
break;
}
case 116:
var $441 = $I18_0 >>> 1;
var $442 = 25 - $441 | 0;
var $444 = $442;
label = 117;
break;
case 117:
var $444;
var $445 = $psize_1 << $444;
var $K19_0 = $445;
var $T_0 = $438;
label = 118;
break;
case 118:
var $T_0;
var $K19_0;
var $447 = $T_0 + 4 | 0;
var $448 = HEAP32[$447 >> 2];
var $449 = $448 & -8;
var $450 = ($449 | 0) == ($psize_1 | 0);
if ($450) {
label = 123;
break;
} else {
label = 119;
break;
}
case 119:
var $452 = $K19_0 >>> 31;
var $453 = $T_0 + 16 + ($452 << 2) | 0;
var $454 = HEAP32[$453 >> 2];
var $455 = ($454 | 0) == 0;
var $456 = $K19_0 << 1;
if ($455) {
label = 120;
break;
} else {
var $K19_0 = $456;
var $T_0 = $454;
label = 118;
break;
}
case 120:
var $458 = $453;
var $459 = HEAP32[5387520 >> 2];
var $460 = $458 >>> 0 < $459 >>> 0;
if ($460) {
label = 122;
break;
} else {
label = 121;
break;
}
case 121:
HEAP32[$453 >> 2] = $395;
var $462 = $p_0 + 24 | 0;
var $T_0_c227 = $T_0;
HEAP32[$462 >> 2] = $T_0_c227;
var $463 = $p_0 + 12 | 0;
HEAP32[$463 >> 2] = $p_0;
var $464 = $p_0 + 8 | 0;
HEAP32[$464 >> 2] = $p_0;
label = 127;
break;
case 122:
_abort();
case 123:
var $467 = $T_0 + 8 | 0;
var $468 = HEAP32[$467 >> 2];
var $469 = $T_0;
var $470 = HEAP32[5387520 >> 2];
var $471 = $469 >>> 0 < $470 >>> 0;
if ($471) {
label = 126;
break;
} else {
label = 124;
break;
}
case 124:
var $473 = $468;
var $474 = $473 >>> 0 < $470 >>> 0;
if ($474) {
label = 126;
break;
} else {
label = 125;
break;
}
case 125:
var $476 = $468 + 12 | 0;
HEAP32[$476 >> 2] = $395;
HEAP32[$467 >> 2] = $395;
var $477 = $p_0 + 8 | 0;
var $_c226 = $468;
HEAP32[$477 >> 2] = $_c226;
var $478 = $p_0 + 12 | 0;
var $T_0_c = $T_0;
HEAP32[$478 >> 2] = $T_0_c;
var $479 = $p_0 + 24 | 0;
HEAP32[$479 >> 2] = 0;
label = 127;
break;
case 126:
_abort();
case 127:
var $481 = HEAP32[5387536 >> 2];
var $482 = $481 - 1 | 0;
HEAP32[5387536 >> 2] = $482;
var $483 = ($482 | 0) == 0;
if ($483) {
label = 128;
break;
} else {
label = 130;
break;
}
case 128:
_release_unused_segments();
label = 130;
break;
case 129:
_abort();
case 130:
return;
}
}
_free["X"] = 1;
function _malloc_footprint() {
return HEAP32[5387936 >> 2];
}
function _malloc_max_footprint() {
return HEAP32[5387940 >> 2];
}
function _release_unused_segments() {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $sp_0_in = 5387956;
label = 3;
break;
case 3:
var $sp_0_in;
var $sp_0 = HEAP32[$sp_0_in >> 2];
var $2 = ($sp_0 | 0) == 0;
var $3 = $sp_0 + 8 | 0;
if ($2) {
label = 4;
break;
} else {
var $sp_0_in = $3;
label = 3;
break;
}
case 4:
HEAP32[5387536 >> 2] = -1;
return;
}
}
function _calloc($n_elements, $elem_size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($n_elements | 0) == 0;
if ($1) {
var $req_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $elem_size * $n_elements & -1;
var $4 = $elem_size | $n_elements;
var $5 = $4 >>> 0 > 65535;
if ($5) {
label = 4;
break;
} else {
var $req_0 = $3;
label = 5;
break;
}
case 4:
var $7 = Math.floor(($3 >>> 0) / ($n_elements >>> 0));
var $8 = ($7 | 0) == ($elem_size | 0);
var $_ = $8 ? $3 : -1;
var $req_0 = $_;
label = 5;
break;
case 5:
var $req_0;
var $10 = _malloc($req_0);
var $11 = ($10 | 0) == 0;
if ($11) {
label = 8;
break;
} else {
label = 6;
break;
}
case 6:
var $13 = $10 - 4 | 0;
var $14 = $13;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 & 3;
var $17 = ($16 | 0) == 0;
if ($17) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
_memset($10, 0, $req_0);
label = 8;
break;
case 8:
return $10;
}
}
Module["_calloc"] = _calloc;
function _realloc($oldmem, $bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($oldmem | 0) == 0;
if ($1) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $3 = _malloc($bytes);
var $_0 = $3;
label = 5;
break;
case 4:
var $5 = _internal_realloc($oldmem, $bytes);
var $_0 = $5;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
Module["_realloc"] = _realloc;
function _memalign($alignment, $bytes) {
return _internal_memalign($alignment, $bytes);
}
function _internal_memalign($alignment, $bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $alignment >>> 0 < 9;
if ($1) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $3 = _malloc($bytes);
var $_0 = $3;
label = 25;
break;
case 4:
var $5 = $alignment >>> 0 < 16;
var $_alignment = $5 ? 16 : $alignment;
var $6 = $_alignment - 1 | 0;
var $7 = $6 & $_alignment;
var $8 = ($7 | 0) == 0;
if ($8) {
var $_1 = $_alignment;
label = 6;
break;
} else {
var $a_0 = 16;
label = 5;
break;
}
case 5:
var $a_0;
var $9 = $a_0 >>> 0 < $_alignment >>> 0;
var $10 = $a_0 << 1;
if ($9) {
var $a_0 = $10;
label = 5;
break;
} else {
var $_1 = $a_0;
label = 6;
break;
}
case 6:
var $_1;
var $11 = -64 - $_1 | 0;
var $12 = $11 >>> 0 > $bytes >>> 0;
if ($12) {
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $14 = ___errno_location();
HEAP32[$14 >> 2] = 12;
var $_0 = 0;
label = 25;
break;
case 8:
var $16 = $bytes >>> 0 < 11;
if ($16) {
var $21 = 16;
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $18 = $bytes + 11 | 0;
var $19 = $18 & -8;
var $21 = $19;
label = 10;
break;
case 10:
var $21;
var $22 = $_1 + 12 | 0;
var $23 = $22 + $21 | 0;
var $24 = _malloc($23);
var $25 = ($24 | 0) == 0;
if ($25) {
var $_0 = 0;
label = 25;
break;
} else {
label = 11;
break;
}
case 11:
var $27 = $24 - 8 | 0;
var $28 = $24;
var $29 = ($28 >>> 0) % ($_1 >>> 0);
var $30 = ($29 | 0) == 0;
if ($30) {
var $leader_1 = 0;
var $p_0_in = $27;
label = 17;
break;
} else {
label = 12;
break;
}
case 12:
var $_sum3 = $_1 - 1 | 0;
var $32 = $24 + $_sum3 | 0;
var $33 = $32;
var $34 = -$_1 | 0;
var $35 = $33 & $34;
var $36 = $35;
var $37 = $36 - 8 | 0;
var $38 = $37;
var $39 = $27;
var $40 = $38 - $39 | 0;
var $41 = $40 >>> 0 > 15;
if ($41) {
var $45 = $37;
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $_sum4 = $_1 - 8 | 0;
var $43 = $36 + $_sum4 | 0;
var $45 = $43;
label = 14;
break;
case 14:
var $45;
var $46 = $45;
var $47 = $46 - $39 | 0;
var $48 = $24 - 4 | 0;
var $49 = $48;
var $50 = HEAP32[$49 >> 2];
var $51 = $50 & -8;
var $52 = $51 - $47 | 0;
var $53 = $50 & 3;
var $54 = ($53 | 0) == 0;
if ($54) {
label = 15;
break;
} else {
label = 16;
break;
}
case 15:
var $56 = $27;
var $57 = HEAP32[$56 >> 2];
var $58 = $57 + $47 | 0;
var $59 = $45;
HEAP32[$59 >> 2] = $58;
var $60 = $45 + 4 | 0;
var $61 = $60;
HEAP32[$61 >> 2] = $52;
var $leader_1 = 0;
var $p_0_in = $45;
label = 17;
break;
case 16:
var $63 = $45 + 4 | 0;
var $64 = $63;
var $65 = HEAP32[$64 >> 2];
var $66 = $65 & 1;
var $67 = $52 | $66;
var $68 = $67 | 2;
HEAP32[$64 >> 2] = $68;
var $_sum5 = $52 + 4 | 0;
var $69 = $45 + $_sum5 | 0;
var $70 = $69;
var $71 = HEAP32[$70 >> 2];
var $72 = $71 | 1;
HEAP32[$70 >> 2] = $72;
var $73 = HEAP32[$49 >> 2];
var $74 = $73 & 1;
var $75 = $47 | $74;
var $76 = $75 | 2;
HEAP32[$49 >> 2] = $76;
var $_sum7 = $47 - 4 | 0;
var $77 = $24 + $_sum7 | 0;
var $78 = $77;
var $79 = HEAP32[$78 >> 2];
var $80 = $79 | 1;
HEAP32[$78 >> 2] = $80;
var $leader_1 = $24;
var $p_0_in = $45;
label = 17;
break;
case 17:
var $p_0_in;
var $leader_1;
var $82 = $p_0_in + 4 | 0;
var $83 = $82;
var $84 = HEAP32[$83 >> 2];
var $85 = $84 & 3;
var $86 = ($85 | 0) == 0;
if ($86) {
var $trailer_0 = 0;
label = 20;
break;
} else {
label = 18;
break;
}
case 18:
var $88 = $84 & -8;
var $89 = $21 + 16 | 0;
var $90 = $88 >>> 0 > $89 >>> 0;
if ($90) {
label = 19;
break;
} else {
var $trailer_0 = 0;
label = 20;
break;
}
case 19:
var $92 = $88 - $21 | 0;
var $93 = $84 & 1;
var $94 = $21 | $93;
var $95 = $94 | 2;
HEAP32[$83 >> 2] = $95;
var $_sum1 = $21 | 4;
var $96 = $p_0_in + $_sum1 | 0;
var $97 = $96;
var $98 = $92 | 3;
HEAP32[$97 >> 2] = $98;
var $_sum2 = $88 | 4;
var $99 = $p_0_in + $_sum2 | 0;
var $100 = $99;
var $101 = HEAP32[$100 >> 2];
var $102 = $101 | 1;
HEAP32[$100 >> 2] = $102;
var $_sum = $21 + 8 | 0;
var $103 = $p_0_in + $_sum | 0;
var $trailer_0 = $103;
label = 20;
break;
case 20:
var $trailer_0;
var $105 = ($leader_1 | 0) == 0;
if ($105) {
label = 22;
break;
} else {
label = 21;
break;
}
case 21:
_free($leader_1);
label = 22;
break;
case 22:
var $108 = ($trailer_0 | 0) == 0;
if ($108) {
label = 24;
break;
} else {
label = 23;
break;
}
case 23:
_free($trailer_0);
label = 24;
break;
case 24:
var $111 = $p_0_in + 8 | 0;
var $_0 = $111;
label = 25;
break;
case 25:
var $_0;
return $_0;
}
}
_internal_memalign["X"] = 1;
function _independent_calloc($n_elements, $elem_size, $chunks) {
var __stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 4 | 0;
var $sz = __stackBase__;
HEAP32[$sz >> 2] = $elem_size;
var $1 = _ialloc($n_elements, $sz, 3, $chunks);
STACKTOP = __stackBase__;
return $1;
}
function _ialloc($n_elements, $sizes, $opts, $chunks) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = ($chunks | 0) == 0;
var $6 = ($n_elements | 0) == 0;
if ($5) {
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
if ($6) {
var $_0 = $chunks;
label = 30;
break;
} else {
var $marray_0 = $chunks;
var $array_size_0 = 0;
label = 10;
break;
}
case 6:
if ($6) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $10 = _malloc(0);
var $11 = $10;
var $_0 = $11;
label = 30;
break;
case 8:
var $13 = $n_elements << 2;
var $14 = $13 >>> 0 < 11;
if ($14) {
var $marray_0 = 0;
var $array_size_0 = 16;
label = 10;
break;
} else {
label = 9;
break;
}
case 9:
var $16 = $13 + 11 | 0;
var $17 = $16 & -8;
var $marray_0 = 0;
var $array_size_0 = $17;
label = 10;
break;
case 10:
var $array_size_0;
var $marray_0;
var $19 = $opts & 1;
var $20 = ($19 | 0) == 0;
if ($20) {
label = 11;
break;
} else {
label = 12;
break;
}
case 11:
var $21 = ($n_elements | 0) == 0;
if ($21) {
var $element_size_0 = 0;
var $contents_size_1 = 0;
label = 18;
break;
} else {
var $contents_size_07 = 0;
var $i_08 = 0;
label = 15;
break;
}
case 12:
var $23 = HEAP32[$sizes >> 2];
var $24 = $23 >>> 0 < 11;
if ($24) {
var $29 = 16;
label = 14;
break;
} else {
label = 13;
break;
}
case 13:
var $26 = $23 + 11 | 0;
var $27 = $26 & -8;
var $29 = $27;
label = 14;
break;
case 14:
var $29;
var $30 = $29 * $n_elements & -1;
var $element_size_0 = $29;
var $contents_size_1 = $30;
label = 18;
break;
case 15:
var $i_08;
var $contents_size_07;
var $31 = $sizes + ($i_08 << 2) | 0;
var $32 = HEAP32[$31 >> 2];
var $33 = $32 >>> 0 < 11;
if ($33) {
var $38 = 16;
label = 17;
break;
} else {
label = 16;
break;
}
case 16:
var $35 = $32 + 11 | 0;
var $36 = $35 & -8;
var $38 = $36;
label = 17;
break;
case 17:
var $38;
var $39 = $38 + $contents_size_07 | 0;
var $40 = $i_08 + 1 | 0;
var $41 = ($40 | 0) == ($n_elements | 0);
if ($41) {
var $element_size_0 = 0;
var $contents_size_1 = $39;
label = 18;
break;
} else {
var $contents_size_07 = $39;
var $i_08 = $40;
label = 15;
break;
}
case 18:
var $contents_size_1;
var $element_size_0;
var $42 = $array_size_0 - 4 | 0;
var $43 = $42 + $contents_size_1 | 0;
var $44 = _malloc($43);
var $45 = ($44 | 0) == 0;
if ($45) {
var $_0 = 0;
label = 30;
break;
} else {
label = 19;
break;
}
case 19:
var $47 = $44 - 8 | 0;
var $48 = $44 - 4 | 0;
var $49 = $48;
var $50 = HEAP32[$49 >> 2];
var $51 = $50 & -8;
var $52 = $opts & 2;
var $53 = ($52 | 0) == 0;
if ($53) {
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
var $55 = -4 - $array_size_0 | 0;
var $56 = $55 + $51 | 0;
_memset($44, 0, $56);
label = 21;
break;
case 21:
var $58 = ($marray_0 | 0) == 0;
if ($58) {
label = 22;
break;
} else {
var $marray_1 = $marray_0;
var $remainder_size_0 = $51;
label = 23;
break;
}
case 22:
var $60 = $51 - $contents_size_1 | 0;
var $61 = $44 + $contents_size_1 | 0;
var $62 = $61;
var $63 = $60 | 3;
var $_sum2 = $contents_size_1 - 4 | 0;
var $64 = $44 + $_sum2 | 0;
var $65 = $64;
HEAP32[$65 >> 2] = $63;
var $marray_1 = $62;
var $remainder_size_0 = $contents_size_1;
label = 23;
break;
case 23:
var $remainder_size_0;
var $marray_1;
HEAP32[$marray_1 >> 2] = $44;
var $67 = $n_elements - 1 | 0;
var $68 = ($67 | 0) == 0;
if ($68) {
var $p_0_in_lcssa = $47;
var $remainder_size_1_lcssa = $remainder_size_0;
label = 29;
break;
} else {
label = 24;
break;
}
case 24:
var $69 = ($element_size_0 | 0) == 0;
var $p_0_in3 = $47;
var $remainder_size_14 = $remainder_size_0;
var $i_15 = 0;
label = 25;
break;
case 25:
var $i_15;
var $remainder_size_14;
var $p_0_in3;
if ($69) {
label = 26;
break;
} else {
var $size_0 = $element_size_0;
label = 28;
break;
}
case 26:
var $72 = $sizes + ($i_15 << 2) | 0;
var $73 = HEAP32[$72 >> 2];
var $74 = $73 >>> 0 < 11;
if ($74) {
var $size_0 = 16;
label = 28;
break;
} else {
label = 27;
break;
}
case 27:
var $76 = $73 + 11 | 0;
var $77 = $76 & -8;
var $size_0 = $77;
label = 28;
break;
case 28:
var $size_0;
var $79 = $remainder_size_14 - $size_0 | 0;
var $80 = $size_0 | 3;
var $81 = $p_0_in3 + 4 | 0;
var $82 = $81;
HEAP32[$82 >> 2] = $80;
var $83 = $p_0_in3 + $size_0 | 0;
var $84 = $i_15 + 1 | 0;
var $_sum = $size_0 + 8 | 0;
var $85 = $p_0_in3 + $_sum | 0;
var $86 = $marray_1 + ($84 << 2) | 0;
HEAP32[$86 >> 2] = $85;
var $87 = ($84 | 0) == ($67 | 0);
if ($87) {
var $p_0_in_lcssa = $83;
var $remainder_size_1_lcssa = $79;
label = 29;
break;
} else {
var $p_0_in3 = $83;
var $remainder_size_14 = $79;
var $i_15 = $84;
label = 25;
break;
}
case 29:
var $remainder_size_1_lcssa;
var $p_0_in_lcssa;
var $88 = $remainder_size_1_lcssa | 3;
var $89 = $p_0_in_lcssa + 4 | 0;
var $90 = $89;
HEAP32[$90 >> 2] = $88;
var $_0 = $marray_1;
label = 30;
break;
case 30:
var $_0;
return $_0;
}
}
_ialloc["X"] = 1;
function _independent_comalloc($n_elements, $sizes, $chunks) {
return _ialloc($n_elements, $sizes, 0, $chunks);
}
function _valloc($bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = HEAP32[5292252 >> 2];
var $6 = _memalign($5, $bytes);
return $6;
}
}
function _pvalloc($bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = HEAP32[5292252 >> 2];
var $6 = $bytes - 1 | 0;
var $7 = $6 + $5 | 0;
var $8 = -$5 | 0;
var $9 = $7 & $8;
var $10 = _memalign($5, $9);
return $10;
}
}
function _malloc_trim($pad) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = _sys_trim($pad);
return $5;
}
}
function _mallinfo($agg_result) {
_internal_mallinfo($agg_result);
return;
}
function _internal_mallinfo($agg_result) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = HEAP32[5387528 >> 2];
var $6 = ($5 | 0) == 0;
if ($6) {
var $nm_sroa_8_0 = 0;
var $nm_sroa_0_0 = 0;
var $nm_sroa_1_0 = 0;
var $nm_sroa_3_0 = 0;
var $nm_sroa_4_0 = 0;
var $nm_sroa_7_0 = 0;
var $nm_sroa_6_0 = 0;
label = 17;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = HEAP32[5387516 >> 2];
var $9 = $8 + 40 | 0;
var $10 = HEAP32[5387528 >> 2];
var $nfree_08 = 1;
var $mfree_09 = $9;
var $sum_010 = $9;
var $s_011 = 5387948;
label = 6;
break;
case 6:
var $s_011;
var $sum_010;
var $mfree_09;
var $nfree_08;
var $12 = $s_011 | 0;
var $13 = HEAP32[$12 >> 2];
var $14 = $13 + 8 | 0;
var $15 = $14;
var $16 = $15 & 7;
var $17 = ($16 | 0) == 0;
if ($17) {
var $22 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $19 = -$15 | 0;
var $20 = $19 & 7;
var $22 = $20;
label = 8;
break;
case 8:
var $22;
var $23 = $13 + $22 | 0;
var $24 = HEAP32[$12 >> 2];
var $25 = $23 >>> 0 < $24 >>> 0;
if ($25) {
var $nfree_1_lcssa = $nfree_08;
var $mfree_1_lcssa = $mfree_09;
var $sum_1_lcssa = $sum_010;
label = 15;
break;
} else {
label = 9;
break;
}
case 9:
var $26 = $s_011 + 4 | 0;
var $27 = HEAP32[$26 >> 2];
var $nfree_12 = $nfree_08;
var $mfree_13 = $mfree_09;
var $sum_14 = $sum_010;
var $q_0_in5 = $23;
var $29 = $24;
label = 10;
break;
case 10:
var $29;
var $q_0_in5;
var $sum_14;
var $mfree_13;
var $nfree_12;
var $q_0 = $q_0_in5;
var $30 = $29 + $27 | 0;
var $31 = $q_0_in5 >>> 0 >= $30 >>> 0;
var $32 = ($q_0 | 0) == ($10 | 0);
var $or_cond = $31 | $32;
if ($or_cond) {
var $nfree_1_lcssa = $nfree_12;
var $mfree_1_lcssa = $mfree_13;
var $sum_1_lcssa = $sum_14;
label = 15;
break;
} else {
label = 11;
break;
}
case 11:
var $34 = $q_0_in5 + 4 | 0;
var $35 = $34;
var $36 = HEAP32[$35 >> 2];
var $37 = ($36 | 0) == 7;
if ($37) {
var $nfree_1_lcssa = $nfree_12;
var $mfree_1_lcssa = $mfree_13;
var $sum_1_lcssa = $sum_14;
label = 15;
break;
} else {
label = 12;
break;
}
case 12:
var $39 = $36 & -8;
var $40 = $39 + $sum_14 | 0;
var $41 = $36 & 3;
var $42 = ($41 | 0) == 1;
if ($42) {
label = 13;
break;
} else {
var $mfree_2 = $mfree_13;
var $nfree_2 = $nfree_12;
label = 14;
break;
}
case 13:
var $44 = $39 + $mfree_13 | 0;
var $45 = $nfree_12 + 1 | 0;
var $mfree_2 = $44;
var $nfree_2 = $45;
label = 14;
break;
case 14:
var $nfree_2;
var $mfree_2;
var $47 = HEAP32[$35 >> 2];
var $48 = $47 & -8;
var $49 = $q_0_in5 + $48 | 0;
var $50 = HEAP32[$12 >> 2];
var $51 = $49 >>> 0 < $50 >>> 0;
if ($51) {
var $nfree_1_lcssa = $nfree_2;
var $mfree_1_lcssa = $mfree_2;
var $sum_1_lcssa = $40;
label = 15;
break;
} else {
var $nfree_12 = $nfree_2;
var $mfree_13 = $mfree_2;
var $sum_14 = $40;
var $q_0_in5 = $49;
var $29 = $50;
label = 10;
break;
}
case 15:
var $sum_1_lcssa;
var $mfree_1_lcssa;
var $nfree_1_lcssa;
var $52 = $s_011 + 8 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = ($53 | 0) == 0;
if ($54) {
label = 16;
break;
} else {
var $nfree_08 = $nfree_1_lcssa;
var $mfree_09 = $mfree_1_lcssa;
var $sum_010 = $sum_1_lcssa;
var $s_011 = $53;
label = 6;
break;
}
case 16:
var $56 = HEAP32[5387936 >> 2];
var $57 = $56 - $sum_1_lcssa | 0;
var $58 = HEAP32[5387940 >> 2];
var $59 = $56 - $mfree_1_lcssa | 0;
var $60 = HEAP32[5387516 >> 2];
var $nm_sroa_8_0 = $60;
var $nm_sroa_0_0 = $sum_1_lcssa;
var $nm_sroa_1_0 = $nfree_1_lcssa;
var $nm_sroa_3_0 = $57;
var $nm_sroa_4_0 = $58;
var $nm_sroa_7_0 = $mfree_1_lcssa;
var $nm_sroa_6_0 = $59;
label = 17;
break;
case 17:
var $nm_sroa_6_0;
var $nm_sroa_7_0;
var $nm_sroa_4_0;
var $nm_sroa_3_0;
var $nm_sroa_1_0;
var $nm_sroa_0_0;
var $nm_sroa_8_0;
var $nm_sroa_0_0__idx = $agg_result | 0;
HEAP32[$nm_sroa_0_0__idx >> 2] = $nm_sroa_0_0;
var $nm_sroa_1_4__idx24 = $agg_result + 4 | 0;
HEAP32[$nm_sroa_1_4__idx24 >> 2] = $nm_sroa_1_0;
var $nm_sroa_2_8__idx = $agg_result + 8 | 0;
var $62 = $nm_sroa_2_8__idx;
var $$etemp$0$0 = 0;
var $$etemp$0$1 = 0;
var $st$15$0 = $62 | 0;
HEAP32[$st$15$0 >> 2] = $$etemp$0$0;
var $st$15$1 = $62 + 4 | 0;
HEAP32[$st$15$1 >> 2] = $$etemp$0$1;
var $nm_sroa_3_16__idx26 = $agg_result + 16 | 0;
HEAP32[$nm_sroa_3_16__idx26 >> 2] = $nm_sroa_3_0;
var $nm_sroa_4_20__idx27 = $agg_result + 20 | 0;
HEAP32[$nm_sroa_4_20__idx27 >> 2] = $nm_sroa_4_0;
var $nm_sroa_5_24__idx28 = $agg_result + 24 | 0;
HEAP32[$nm_sroa_5_24__idx28 >> 2] = 0;
var $nm_sroa_6_28__idx29 = $agg_result + 28 | 0;
HEAP32[$nm_sroa_6_28__idx29 >> 2] = $nm_sroa_6_0;
var $nm_sroa_7_32__idx30 = $agg_result + 32 | 0;
HEAP32[$nm_sroa_7_32__idx30 >> 2] = $nm_sroa_7_0;
var $nm_sroa_8_36__idx31 = $agg_result + 36 | 0;
HEAP32[$nm_sroa_8_36__idx31 >> 2] = $nm_sroa_8_0;
return;
}
}
_internal_mallinfo["X"] = 1;
function _malloc_stats() {
_internal_malloc_stats();
return;
}
function _internal_malloc_stats() {
var label = 0;
var __stackBase__ = STACKTOP;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
var $5 = HEAP32[5387528 >> 2];
var $6 = ($5 | 0) == 0;
if ($6) {
var $used_3 = 0;
var $fp_0 = 0;
var $maxfp_0 = 0;
label = 16;
break;
} else {
label = 5;
break;
}
case 5:
var $8 = HEAP32[5387940 >> 2];
var $9 = HEAP32[5387936 >> 2];
var $10 = HEAP32[5387516 >> 2];
var $_neg2 = $9 - 40 | 0;
var $11 = $_neg2 - $10 | 0;
var $12 = HEAP32[5387528 >> 2];
var $used_05 = $11;
var $s_06 = 5387948;
label = 6;
break;
case 6:
var $s_06;
var $used_05;
var $14 = $s_06 | 0;
var $15 = HEAP32[$14 >> 2];
var $16 = $15 + 8 | 0;
var $17 = $16;
var $18 = $17 & 7;
var $19 = ($18 | 0) == 0;
if ($19) {
var $24 = 0;
label = 8;
break;
} else {
label = 7;
break;
}
case 7:
var $21 = -$17 | 0;
var $22 = $21 & 7;
var $24 = $22;
label = 8;
break;
case 8:
var $24;
var $25 = $15 + $24 | 0;
var $26 = HEAP32[$14 >> 2];
var $27 = $25 >>> 0 < $26 >>> 0;
if ($27) {
var $used_1_lcssa = $used_05;
label = 15;
break;
} else {
label = 9;
break;
}
case 9:
var $28 = $s_06 + 4 | 0;
var $29 = HEAP32[$28 >> 2];
var $used_13 = $used_05;
var $q_0_in4 = $25;
var $31 = $26;
label = 10;
break;
case 10:
var $31;
var $q_0_in4;
var $used_13;
var $q_0 = $q_0_in4;
var $32 = $31 + $29 | 0;
var $33 = $q_0_in4 >>> 0 >= $32 >>> 0;
var $34 = ($q_0 | 0) == ($12 | 0);
var $or_cond = $33 | $34;
if ($or_cond) {
var $used_1_lcssa = $used_13;
label = 15;
break;
} else {
label = 11;
break;
}
case 11:
var $36 = $q_0_in4 + 4 | 0;
var $37 = $36;
var $38 = HEAP32[$37 >> 2];
var $39 = ($38 | 0) == 7;
if ($39) {
var $used_1_lcssa = $used_13;
label = 15;
break;
} else {
label = 12;
break;
}
case 12:
var $41 = $38 & 3;
var $42 = ($41 | 0) == 1;
if ($42) {
label = 13;
break;
} else {
var $used_2 = $used_13;
label = 14;
break;
}
case 13:
var $44 = $38 & -8;
var $45 = $used_13 - $44 | 0;
var $used_2 = $45;
label = 14;
break;
case 14:
var $used_2;
var $47 = HEAP32[$37 >> 2];
var $48 = $47 & -8;
var $49 = $q_0_in4 + $48 | 0;
var $50 = HEAP32[$14 >> 2];
var $51 = $49 >>> 0 < $50 >>> 0;
if ($51) {
var $used_1_lcssa = $used_2;
label = 15;
break;
} else {
var $used_13 = $used_2;
var $q_0_in4 = $49;
var $31 = $50;
label = 10;
break;
}
case 15:
var $used_1_lcssa;
var $52 = $s_06 + 8 | 0;
var $53 = HEAP32[$52 >> 2];
var $54 = ($53 | 0) == 0;
if ($54) {
var $used_3 = $used_1_lcssa;
var $fp_0 = $9;
var $maxfp_0 = $8;
label = 16;
break;
} else {
var $used_05 = $used_1_lcssa;
var $s_06 = $53;
label = 6;
break;
}
case 16:
var $maxfp_0;
var $fp_0;
var $used_3;
var $55 = HEAP32[_stderr >> 2];
var $56 = _fprintf($55, 5384576, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $maxfp_0, tempInt));
var $57 = HEAP32[_stderr >> 2];
var $58 = _fprintf($57, 5386532, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $fp_0, tempInt));
var $59 = HEAP32[_stderr >> 2];
var $60 = _fprintf($59, 5385540, (tempInt = STACKTOP, STACKTOP = STACKTOP + 4 | 0, HEAP32[tempInt >> 2] = $used_3, tempInt));
STACKTOP = __stackBase__;
return;
}
}
_internal_malloc_stats["X"] = 1;
function _mallopt($param_number, $value) {
return _change_mparam($param_number, $value);
}
function _change_mparam($param_number, $value) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
_init_mparams();
label = 4;
break;
case 4:
if (($param_number | 0) == -1) {
label = 5;
break;
} else if (($param_number | 0) == -2) {
label = 6;
break;
} else if (($param_number | 0) == -3) {
label = 9;
break;
} else {
var $_0 = 0;
label = 10;
break;
}
case 5:
HEAP32[5292264 >> 2] = $value;
var $_0 = 1;
label = 10;
break;
case 6:
var $7 = HEAP32[5292252 >> 2];
var $8 = $7 >>> 0 > $value >>> 0;
if ($8) {
var $_0 = 0;
label = 10;
break;
} else {
label = 7;
break;
}
case 7:
var $10 = $value - 1 | 0;
var $11 = $10 & $value;
var $12 = ($11 | 0) == 0;
if ($12) {
label = 8;
break;
} else {
var $_0 = 0;
label = 10;
break;
}
case 8:
HEAP32[5292256 >> 2] = $value;
var $_0 = 1;
label = 10;
break;
case 9:
HEAP32[5292260 >> 2] = $value;
var $_0 = 1;
label = 10;
break;
case 10:
var $_0;
return $_0;
}
}
function _internal_realloc($oldmem, $bytes) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $bytes >>> 0 > 4294967231;
if ($1) {
label = 3;
break;
} else {
label = 4;
break;
}
case 3:
var $3 = ___errno_location();
HEAP32[$3 >> 2] = 12;
var $_0 = 0;
label = 24;
break;
case 4:
var $5 = $oldmem - 8 | 0;
var $6 = $5;
var $7 = $oldmem - 4 | 0;
var $8 = $7;
var $9 = HEAP32[$8 >> 2];
var $10 = $9 & -8;
var $_sum = $10 - 8 | 0;
var $11 = $oldmem + $_sum | 0;
var $12 = $11;
var $13 = HEAP32[5387520 >> 2];
var $14 = $5 >>> 0 < $13 >>> 0;
if ($14) {
label = 17;
break;
} else {
label = 5;
break;
}
case 5:
var $16 = $9 & 3;
var $17 = ($16 | 0) != 1;
var $18 = ($_sum | 0) > -8;
var $or_cond = $17 & $18;
if ($or_cond) {
label = 6;
break;
} else {
label = 17;
break;
}
case 6:
var $_sum8 = $10 - 4 | 0;
var $20 = $oldmem + $_sum8 | 0;
var $21 = $20;
var $22 = HEAP32[$21 >> 2];
var $23 = $22 & 1;
var $24 = ($23 | 0) == 0;
if ($24) {
label = 17;
break;
} else {
label = 7;
break;
}
case 7:
var $26 = $bytes >>> 0 < 11;
if ($26) {
var $31 = 16;
label = 9;
break;
} else {
label = 8;
break;
}
case 8:
var $28 = $bytes + 11 | 0;
var $29 = $28 & -8;
var $31 = $29;
label = 9;
break;
case 9:
var $31;
var $32 = HEAP32[$8 >> 2];
var $33 = $32 & 3;
var $34 = ($33 | 0) == 0;
if ($34) {
label = 10;
break;
} else {
label = 11;
break;
}
case 10:
var $36 = _mmap_resize($6, $31);
var $newp_0 = $36;
var $extra_0 = 0;
label = 18;
break;
case 11:
var $38 = $10 >>> 0 < $31 >>> 0;
if ($38) {
label = 14;
break;
} else {
label = 12;
break;
}
case 12:
var $40 = $10 - $31 | 0;
var $41 = $40 >>> 0 > 15;
if ($41) {
label = 13;
break;
} else {
var $newp_0 = $6;
var $extra_0 = 0;
label = 18;
break;
}
case 13:
var $43 = $32 & 1;
var $44 = $31 | $43;
var $45 = $44 | 2;
HEAP32[$8 >> 2] = $45;
var $_sum4 = $31 - 4 | 0;
var $46 = $oldmem + $_sum4 | 0;
var $47 = $46;
var $48 = $40 | 3;
HEAP32[$47 >> 2] = $48;
var $49 = HEAP32[$21 >> 2];
var $50 = $49 | 1;
HEAP32[$21 >> 2] = $50;
var $51 = $oldmem + $31 | 0;
var $newp_0 = $6;
var $extra_0 = $51;
label = 18;
break;
case 14:
var $53 = HEAP32[5387528 >> 2];
var $54 = ($12 | 0) == ($53 | 0);
if ($54) {
label = 15;
break;
} else {
label = 22;
break;
}
case 15:
var $56 = HEAP32[5387516 >> 2];
var $57 = $56 + $10 | 0;
var $58 = $57 >>> 0 > $31 >>> 0;
if ($58) {
label = 16;
break;
} else {
label = 22;
break;
}
case 16:
var $60 = $57 - $31 | 0;
var $_sum1 = $31 - 8 | 0;
var $61 = $oldmem + $_sum1 | 0;
var $62 = $61;
var $63 = $32 & 1;
var $64 = $31 | $63;
var $65 = $64 | 2;
HEAP32[$8 >> 2] = $65;
var $_sum2 = $31 - 4 | 0;
var $66 = $oldmem + $_sum2 | 0;
var $67 = $66;
var $68 = $60 | 1;
HEAP32[$67 >> 2] = $68;
HEAP32[5387528 >> 2] = $62;
HEAP32[5387516 >> 2] = $60;
var $newp_0 = $6;
var $extra_0 = 0;
label = 18;
break;
case 17:
_abort();
case 18:
var $extra_0;
var $newp_0;
var $70 = ($newp_0 | 0) == 0;
if ($70) {
label = 22;
break;
} else {
label = 19;
break;
}
case 19:
var $72 = ($extra_0 | 0) == 0;
if ($72) {
label = 21;
break;
} else {
label = 20;
break;
}
case 20:
_free($extra_0);
label = 21;
break;
case 21:
var $75 = $newp_0 + 8 | 0;
var $76 = $75;
var $_0 = $76;
label = 24;
break;
case 22:
var $77 = _malloc($bytes);
var $78 = ($77 | 0) == 0;
if ($78) {
var $_0 = 0;
label = 24;
break;
} else {
label = 23;
break;
}
case 23:
var $80 = HEAP32[$8 >> 2];
var $81 = $80 & 3;
var $82 = ($81 | 0) == 0;
var $83 = $82 ? 8 : 4;
var $84 = $10 - $83 | 0;
var $85 = $84 >>> 0 < $bytes >>> 0;
var $86 = $85 ? $84 : $bytes;
_memcpy($77, $oldmem, $86);
_free($oldmem);
var $_0 = $77;
label = 24;
break;
case 24:
var $_0;
return $_0;
}
}
_internal_realloc["X"] = 1;
function _init_mparams() {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5292248 >> 2];
var $2 = ($1 | 0) == 0;
if ($2) {
label = 3;
break;
} else {
label = 6;
break;
}
case 3:
var $4 = _sysconf(8);
var $5 = $4 - 1 | 0;
var $6 = $5 & $4;
var $7 = ($6 | 0) == 0;
if ($7) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
_abort();
case 5:
HEAP32[5292256 >> 2] = $4;
HEAP32[5292252 >> 2] = $4;
HEAP32[5292260 >> 2] = -1;
HEAP32[5292264 >> 2] = 2097152;
HEAP32[5292268 >> 2] = 0;
HEAP32[5387944 >> 2] = 0;
var $10 = _time(0);
var $11 = $10 & -16;
var $12 = $11 ^ 1431655768;
HEAP32[5292248 >> 2] = $12;
label = 6;
break;
case 6:
return;
}
}
function _malloc_usable_size($mem) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($mem | 0) == 0;
if ($1) {
var $_0 = 0;
label = 5;
break;
} else {
label = 3;
break;
}
case 3:
var $3 = $mem - 4 | 0;
var $4 = $3;
var $5 = HEAP32[$4 >> 2];
var $6 = $5 & 3;
var $7 = ($6 | 0) == 1;
if ($7) {
var $_0 = 0;
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $5 & -8;
var $10 = ($6 | 0) == 0;
var $11 = $10 ? 8 : 4;
var $12 = $9 - $11 | 0;
var $_0 = $12;
label = 5;
break;
case 5:
var $_0;
return $_0;
}
}
function _mmap_resize($oldp, $nb) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $oldp + 4 | 0;
var $2 = HEAP32[$1 >> 2];
var $3 = $2 & -8;
var $4 = $nb >>> 0 < 256;
if ($4) {
var $_0 = 0;
label = 6;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = $nb + 4 | 0;
var $7 = $3 >>> 0 < $6 >>> 0;
if ($7) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $9 = $3 - $nb | 0;
var $10 = HEAP32[5292256 >> 2];
var $11 = $10 << 1;
var $12 = $9 >>> 0 > $11 >>> 0;
if ($12) {
label = 5;
break;
} else {
var $_0 = $oldp;
label = 6;
break;
}
case 5:
var $_0 = 0;
label = 6;
break;
case 6:
var $_0;
return $_0;
}
}
function _segment_holding($addr) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $sp_0 = 5387948;
label = 3;
break;
case 3:
var $sp_0;
var $2 = $sp_0 | 0;
var $3 = HEAP32[$2 >> 2];
var $4 = $3 >>> 0 > $addr >>> 0;
if ($4) {
label = 5;
break;
} else {
label = 4;
break;
}
case 4:
var $6 = $sp_0 + 4 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $3 + $7 | 0;
var $9 = $8 >>> 0 > $addr >>> 0;
if ($9) {
var $_0 = $sp_0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $11 = $sp_0 + 8 | 0;
var $12 = HEAP32[$11 >> 2];
var $13 = ($12 | 0) == 0;
if ($13) {
var $_0 = 0;
label = 6;
break;
} else {
var $sp_0 = $12;
label = 3;
break;
}
case 6:
var $_0;
return $_0;
}
}
function _init_top($p, $psize) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $p;
var $2 = $p + 8 | 0;
var $3 = $2;
var $4 = $3 & 7;
var $5 = ($4 | 0) == 0;
if ($5) {
var $10 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $7 = -$3 | 0;
var $8 = $7 & 7;
var $10 = $8;
label = 4;
break;
case 4:
var $10;
var $11 = $1 + $10 | 0;
var $12 = $11;
var $13 = $psize - $10 | 0;
HEAP32[5387528 >> 2] = $12;
HEAP32[5387516 >> 2] = $13;
var $14 = $13 | 1;
var $_sum = $10 + 4 | 0;
var $15 = $1 + $_sum | 0;
var $16 = $15;
HEAP32[$16 >> 2] = $14;
var $_sum2 = $psize + 4 | 0;
var $17 = $1 + $_sum2 | 0;
var $18 = $17;
HEAP32[$18 >> 2] = 40;
var $19 = HEAP32[5292264 >> 2];
HEAP32[5387532 >> 2] = $19;
return;
}
}
function _init_bins() {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $i_02 = 0;
label = 3;
break;
case 3:
var $i_02;
var $2 = $i_02 << 1;
var $3 = 5387544 + ($2 << 2) | 0;
var $4 = $3;
var $_sum = $2 + 3 | 0;
var $5 = 5387544 + ($_sum << 2) | 0;
HEAP32[$5 >> 2] = $4;
var $_sum1 = $2 + 2 | 0;
var $6 = 5387544 + ($_sum1 << 2) | 0;
HEAP32[$6 >> 2] = $4;
var $7 = $i_02 + 1 | 0;
var $exitcond = ($7 | 0) == 32;
if ($exitcond) {
label = 4;
break;
} else {
var $i_02 = $7;
label = 3;
break;
}
case 4:
return;
}
}
function _mmap_alloc() {
}
function _prepend_alloc($newbase, $oldbase, $nb) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = $newbase + 8 | 0;
var $2 = $1;
var $3 = $2 & 7;
var $4 = ($3 | 0) == 0;
if ($4) {
var $9 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $6 = -$2 | 0;
var $7 = $6 & 7;
var $9 = $7;
label = 4;
break;
case 4:
var $9;
var $10 = $newbase + $9 | 0;
var $11 = $oldbase + 8 | 0;
var $12 = $11;
var $13 = $12 & 7;
var $14 = ($13 | 0) == 0;
if ($14) {
var $19 = 0;
label = 6;
break;
} else {
label = 5;
break;
}
case 5:
var $16 = -$12 | 0;
var $17 = $16 & 7;
var $19 = $17;
label = 6;
break;
case 6:
var $19;
var $20 = $oldbase + $19 | 0;
var $21 = $20;
var $22 = $20;
var $23 = $10;
var $24 = $22 - $23 | 0;
var $_sum = $9 + $nb | 0;
var $25 = $newbase + $_sum | 0;
var $26 = $25;
var $27 = $24 - $nb | 0;
var $28 = $nb | 3;
var $_sum1 = $9 + 4 | 0;
var $29 = $newbase + $_sum1 | 0;
var $30 = $29;
HEAP32[$30 >> 2] = $28;
var $31 = HEAP32[5387528 >> 2];
var $32 = ($21 | 0) == ($31 | 0);
if ($32) {
label = 7;
break;
} else {
label = 8;
break;
}
case 7:
var $34 = HEAP32[5387516 >> 2];
var $35 = $34 + $27 | 0;
HEAP32[5387516 >> 2] = $35;
HEAP32[5387528 >> 2] = $26;
var $36 = $35 | 1;
var $_sum42 = $_sum + 4 | 0;
var $37 = $newbase + $_sum42 | 0;
var $38 = $37;
HEAP32[$38 >> 2] = $36;
label = 76;
break;
case 8:
var $40 = HEAP32[5387524 >> 2];
var $41 = ($21 | 0) == ($40 | 0);
if ($41) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $43 = HEAP32[5387512 >> 2];
var $44 = $43 + $27 | 0;
HEAP32[5387512 >> 2] = $44;
HEAP32[5387524 >> 2] = $26;
var $45 = $44 | 1;
var $_sum40 = $_sum + 4 | 0;
var $46 = $newbase + $_sum40 | 0;
var $47 = $46;
HEAP32[$47 >> 2] = $45;
var $_sum41 = $44 + $_sum | 0;
var $48 = $newbase + $_sum41 | 0;
var $49 = $48;
HEAP32[$49 >> 2] = $44;
label = 76;
break;
case 10:
var $_sum2 = $19 + 4 | 0;
var $51 = $oldbase + $_sum2 | 0;
var $52 = $51;
var $53 = HEAP32[$52 >> 2];
var $54 = $53 & 3;
var $55 = ($54 | 0) == 1;
if ($55) {
label = 11;
break;
} else {
var $oldfirst_0 = $21;
var $qsize_0 = $27;
label = 53;
break;
}
case 11:
var $57 = $53 & -8;
var $58 = $53 >>> 3;
var $59 = $53 >>> 0 < 256;
if ($59) {
label = 12;
break;
} else {
label = 20;
break;
}
case 12:
var $_sum3738 = $19 | 8;
var $61 = $oldbase + $_sum3738 | 0;
var $62 = $61;
var $63 = HEAP32[$62 >> 2];
var $_sum39 = $19 + 12 | 0;
var $64 = $oldbase + $_sum39 | 0;
var $65 = $64;
var $66 = HEAP32[$65 >> 2];
var $67 = ($63 | 0) == ($66 | 0);
if ($67) {
label = 13;
break;
} else {
label = 14;
break;
}
case 13:
var $69 = 1 << $58;
var $70 = $69 ^ -1;
var $71 = HEAP32[5387504 >> 2];
var $72 = $71 & $70;
HEAP32[5387504 >> 2] = $72;
label = 52;
break;
case 14:
var $74 = $58 << 1;
var $75 = 5387544 + ($74 << 2) | 0;
var $76 = $75;
var $77 = ($63 | 0) == ($76 | 0);
if ($77) {
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $79 = $63;
var $80 = HEAP32[5387520 >> 2];
var $81 = $79 >>> 0 < $80 >>> 0;
if ($81) {
label = 19;
break;
} else {
label = 16;
break;
}
case 16:
var $83 = ($66 | 0) == ($76 | 0);
if ($83) {
label = 18;
break;
} else {
label = 17;
break;
}
case 17:
var $85 = $66;
var $86 = HEAP32[5387520 >> 2];
var $87 = $85 >>> 0 < $86 >>> 0;
if ($87) {
label = 19;
break;
} else {
label = 18;
break;
}
case 18:
var $88 = $63 + 12 | 0;
HEAP32[$88 >> 2] = $66;
var $89 = $66 + 8 | 0;
HEAP32[$89 >> 2] = $63;
label = 52;
break;
case 19:
_abort();
case 20:
var $91 = $20;
var $_sum34 = $19 | 24;
var $92 = $oldbase + $_sum34 | 0;
var $93 = $92;
var $94 = HEAP32[$93 >> 2];
var $_sum5 = $19 + 12 | 0;
var $95 = $oldbase + $_sum5 | 0;
var $96 = $95;
var $97 = HEAP32[$96 >> 2];
var $98 = ($97 | 0) == ($91 | 0);
if ($98) {
label = 24;
break;
} else {
label = 21;
break;
}
case 21:
var $_sum3536 = $19 | 8;
var $100 = $oldbase + $_sum3536 | 0;
var $101 = $100;
var $102 = HEAP32[$101 >> 2];
var $103 = $102;
var $104 = HEAP32[5387520 >> 2];
var $105 = $103 >>> 0 < $104 >>> 0;
if ($105) {
label = 23;
break;
} else {
label = 22;
break;
}
case 22:
var $107 = $102 + 12 | 0;
HEAP32[$107 >> 2] = $97;
var $108 = $97 + 8 | 0;
HEAP32[$108 >> 2] = $102;
var $R_1 = $97;
label = 32;
break;
case 23:
_abort();
case 24:
var $_sum67 = $19 | 16;
var $_sum8 = $_sum67 + 4 | 0;
var $111 = $oldbase + $_sum8 | 0;
var $112 = $111;
var $113 = HEAP32[$112 >> 2];
var $114 = ($113 | 0) == 0;
if ($114) {
label = 25;
break;
} else {
var $R_0 = $113;
var $RP_0 = $112;
label = 26;
break;
}
case 25:
var $116 = $oldbase + $_sum67 | 0;
var $117 = $116;
var $118 = HEAP32[$117 >> 2];
var $119 = ($118 | 0) == 0;
if ($119) {
var $R_1 = 0;
label = 32;
break;
} else {
var $R_0 = $118;
var $RP_0 = $117;
label = 26;
break;
}
case 26:
var $RP_0;
var $R_0;
var $120 = $R_0 + 20 | 0;
var $121 = HEAP32[$120 >> 2];
var $122 = ($121 | 0) == 0;
if ($122) {
label = 27;
break;
} else {
var $CP_0 = $120;
label = 28;
break;
}
case 27:
var $124 = $R_0 + 16 | 0;
var $125 = HEAP32[$124 >> 2];
var $126 = ($125 | 0) == 0;
if ($126) {
label = 29;
break;
} else {
var $CP_0 = $124;
label = 28;
break;
}
case 28:
var $CP_0;
var $127 = HEAP32[$CP_0 >> 2];
var $R_0 = $127;
var $RP_0 = $CP_0;
label = 26;
break;
case 29:
var $129 = $RP_0;
var $130 = HEAP32[5387520 >> 2];
var $131 = $129 >>> 0 < $130 >>> 0;
if ($131) {
label = 31;
break;
} else {
label = 30;
break;
}
case 30:
HEAP32[$RP_0 >> 2] = 0;
var $R_1 = $R_0;
label = 32;
break;
case 31:
_abort();
case 32:
var $R_1;
var $135 = ($94 | 0) == 0;
if ($135) {
label = 52;
break;
} else {
label = 33;
break;
}
case 33:
var $_sum30 = $19 + 28 | 0;
var $137 = $oldbase + $_sum30 | 0;
var $138 = $137;
var $139 = HEAP32[$138 >> 2];
var $140 = 5387808 + ($139 << 2) | 0;
var $141 = HEAP32[$140 >> 2];
var $142 = ($91 | 0) == ($141 | 0);
if ($142) {
label = 34;
break;
} else {
label = 36;
break;
}
case 34:
HEAP32[$140 >> 2] = $R_1;
var $cond = ($R_1 | 0) == 0;
if ($cond) {
label = 35;
break;
} else {
label = 42;
break;
}
case 35:
var $144 = HEAP32[$138 >> 2];
var $145 = 1 << $144;
var $146 = $145 ^ -1;
var $147 = HEAP32[5387508 >> 2];
var $148 = $147 & $146;
HEAP32[5387508 >> 2] = $148;
label = 52;
break;
case 36:
var $150 = $94;
var $151 = HEAP32[5387520 >> 2];
var $152 = $150 >>> 0 < $151 >>> 0;
if ($152) {
label = 40;
break;
} else {
label = 37;
break;
}
case 37:
var $154 = $94 + 16 | 0;
var $155 = HEAP32[$154 >> 2];
var $156 = ($155 | 0) == ($91 | 0);
if ($156) {
label = 38;
break;
} else {
label = 39;
break;
}
case 38:
HEAP32[$154 >> 2] = $R_1;
label = 41;
break;
case 39:
var $159 = $94 + 20 | 0;
HEAP32[$159 >> 2] = $R_1;
label = 41;
break;
case 40:
_abort();
case 41:
var $162 = ($R_1 | 0) == 0;
if ($162) {
label = 52;
break;
} else {
label = 42;
break;
}
case 42:
var $164 = $R_1;
var $165 = HEAP32[5387520 >> 2];
var $166 = $164 >>> 0 < $165 >>> 0;
if ($166) {
label = 51;
break;
} else {
label = 43;
break;
}
case 43:
var $168 = $R_1 + 24 | 0;
HEAP32[$168 >> 2] = $94;
var $_sum3132 = $19 | 16;
var $169 = $oldbase + $_sum3132 | 0;
var $170 = $169;
var $171 = HEAP32[$170 >> 2];
var $172 = ($171 | 0) == 0;
if ($172) {
label = 47;
break;
} else {
label = 44;
break;
}
case 44:
var $174 = $171;
var $175 = HEAP32[5387520 >> 2];
var $176 = $174 >>> 0 < $175 >>> 0;
if ($176) {
label = 46;
break;
} else {
label = 45;
break;
}
case 45:
var $178 = $R_1 + 16 | 0;
HEAP32[$178 >> 2] = $171;
var $179 = $171 + 24 | 0;
HEAP32[$179 >> 2] = $R_1;
label = 47;
break;
case 46:
_abort();
case 47:
var $_sum33 = $_sum3132 + 4 | 0;
var $182 = $oldbase + $_sum33 | 0;
var $183 = $182;
var $184 = HEAP32[$183 >> 2];
var $185 = ($184 | 0) == 0;
if ($185) {
label = 52;
break;
} else {
label = 48;
break;
}
case 48:
var $187 = $184;
var $188 = HEAP32[5387520 >> 2];
var $189 = $187 >>> 0 < $188 >>> 0;
if ($189) {
label = 50;
break;
} else {
label = 49;
break;
}
case 49:
var $191 = $R_1 + 20 | 0;
HEAP32[$191 >> 2] = $184;
var $192 = $184 + 24 | 0;
HEAP32[$192 >> 2] = $R_1;
label = 52;
break;
case 50:
_abort();
case 51:
_abort();
case 52:
var $_sum9 = $57 | $19;
var $196 = $oldbase + $_sum9 | 0;
var $197 = $196;
var $198 = $57 + $27 | 0;
var $oldfirst_0 = $197;
var $qsize_0 = $198;
label = 53;
break;
case 53:
var $qsize_0;
var $oldfirst_0;
var $200 = $oldfirst_0 + 4 | 0;
var $201 = HEAP32[$200 >> 2];
var $202 = $201 & -2;
HEAP32[$200 >> 2] = $202;
var $203 = $qsize_0 | 1;
var $_sum10 = $_sum + 4 | 0;
var $204 = $newbase + $_sum10 | 0;
var $205 = $204;
HEAP32[$205 >> 2] = $203;
var $_sum11 = $qsize_0 + $_sum | 0;
var $206 = $newbase + $_sum11 | 0;
var $207 = $206;
HEAP32[$207 >> 2] = $qsize_0;
var $208 = $qsize_0 >>> 3;
var $209 = $qsize_0 >>> 0 < 256;
if ($209) {
label = 54;
break;
} else {
label = 59;
break;
}
case 54:
var $211 = $208 << 1;
var $212 = 5387544 + ($211 << 2) | 0;
var $213 = $212;
var $214 = HEAP32[5387504 >> 2];
var $215 = 1 << $208;
var $216 = $214 & $215;
var $217 = ($216 | 0) == 0;
if ($217) {
label = 55;
break;
} else {
label = 56;
break;
}
case 55:
var $219 = $214 | $215;
HEAP32[5387504 >> 2] = $219;
var $F4_0 = $213;
label = 58;
break;
case 56:
var $_sum29 = $211 + 2 | 0;
var $221 = 5387544 + ($_sum29 << 2) | 0;
var $222 = HEAP32[$221 >> 2];
var $223 = $222;
var $224 = HEAP32[5387520 >> 2];
var $225 = $223 >>> 0 < $224 >>> 0;
if ($225) {
label = 57;
break;
} else {
var $F4_0 = $222;
label = 58;
break;
}
case 57:
_abort();
case 58:
var $F4_0;
var $_sum26 = $211 + 2 | 0;
var $228 = 5387544 + ($_sum26 << 2) | 0;
HEAP32[$228 >> 2] = $26;
var $229 = $F4_0 + 12 | 0;
HEAP32[$229 >> 2] = $26;
var $_sum27 = $_sum + 8 | 0;
var $230 = $newbase + $_sum27 | 0;
var $231 = $230;
HEAP32[$231 >> 2] = $F4_0;
var $_sum28 = $_sum + 12 | 0;
var $232 = $newbase + $_sum28 | 0;
var $233 = $232;
HEAP32[$233 >> 2] = $213;
label = 76;
break;
case 59:
var $235 = $25;
var $236 = $qsize_0 >>> 8;
var $237 = ($236 | 0) == 0;
if ($237) {
var $I7_0 = 0;
label = 62;
break;
} else {
label = 60;
break;
}
case 60:
var $239 = $qsize_0 >>> 0 > 16777215;
if ($239) {
var $I7_0 = 31;
label = 62;
break;
} else {
label = 61;
break;
}
case 61:
var $241 = $236 + 1048320 | 0;
var $242 = $241 >>> 16;
var $243 = $242 & 8;
var $244 = $236 << $243;
var $245 = $244 + 520192 | 0;
var $246 = $245 >>> 16;
var $247 = $246 & 4;
var $248 = $247 | $243;
var $249 = $244 << $247;
var $250 = $249 + 245760 | 0;
var $251 = $250 >>> 16;
var $252 = $251 & 2;
var $253 = $248 | $252;
var $254 = 14 - $253 | 0;
var $255 = $249 << $252;
var $256 = $255 >>> 15;
var $257 = $254 + $256 | 0;
var $258 = $257 << 1;
var $259 = $257 + 7 | 0;
var $260 = $qsize_0 >>> ($259 >>> 0);
var $261 = $260 & 1;
var $262 = $261 | $258;
var $I7_0 = $262;
label = 62;
break;
case 62:
var $I7_0;
var $264 = 5387808 + ($I7_0 << 2) | 0;
var $_sum12 = $_sum + 28 | 0;
var $265 = $newbase + $_sum12 | 0;
var $266 = $265;
HEAP32[$266 >> 2] = $I7_0;
var $_sum13 = $_sum + 16 | 0;
var $267 = $newbase + $_sum13 | 0;
var $_sum14 = $_sum + 20 | 0;
var $268 = $newbase + $_sum14 | 0;
var $269 = $268;
HEAP32[$269 >> 2] = 0;
var $270 = $267;
HEAP32[$270 >> 2] = 0;
var $271 = HEAP32[5387508 >> 2];
var $272 = 1 << $I7_0;
var $273 = $271 & $272;
var $274 = ($273 | 0) == 0;
if ($274) {
label = 63;
break;
} else {
label = 64;
break;
}
case 63:
var $276 = $271 | $272;
HEAP32[5387508 >> 2] = $276;
HEAP32[$264 >> 2] = $235;
var $277 = $264;
var $_sum15 = $_sum + 24 | 0;
var $278 = $newbase + $_sum15 | 0;
var $279 = $278;
HEAP32[$279 >> 2] = $277;
var $_sum16 = $_sum + 12 | 0;
var $280 = $newbase + $_sum16 | 0;
var $281 = $280;
HEAP32[$281 >> 2] = $235;
var $_sum17 = $_sum + 8 | 0;
var $282 = $newbase + $_sum17 | 0;
var $283 = $282;
HEAP32[$283 >> 2] = $235;
label = 76;
break;
case 64:
var $285 = HEAP32[$264 >> 2];
var $286 = ($I7_0 | 0) == 31;
if ($286) {
var $291 = 0;
label = 66;
break;
} else {
label = 65;
break;
}
case 65:
var $288 = $I7_0 >>> 1;
var $289 = 25 - $288 | 0;
var $291 = $289;
label = 66;
break;
case 66:
var $291;
var $292 = $qsize_0 << $291;
var $K8_0 = $292;
var $T_0 = $285;
label = 67;
break;
case 67:
var $T_0;
var $K8_0;
var $294 = $T_0 + 4 | 0;
var $295 = HEAP32[$294 >> 2];
var $296 = $295 & -8;
var $297 = ($296 | 0) == ($qsize_0 | 0);
if ($297) {
label = 72;
break;
} else {
label = 68;
break;
}
case 68:
var $299 = $K8_0 >>> 31;
var $300 = $T_0 + 16 + ($299 << 2) | 0;
var $301 = HEAP32[$300 >> 2];
var $302 = ($301 | 0) == 0;
var $303 = $K8_0 << 1;
if ($302) {
label = 69;
break;
} else {
var $K8_0 = $303;
var $T_0 = $301;
label = 67;
break;
}
case 69:
var $305 = $300;
var $306 = HEAP32[5387520 >> 2];
var $307 = $305 >>> 0 < $306 >>> 0;
if ($307) {
label = 71;
break;
} else {
label = 70;
break;
}
case 70:
HEAP32[$300 >> 2] = $235;
var $_sum23 = $_sum + 24 | 0;
var $309 = $newbase + $_sum23 | 0;
var $310 = $309;
HEAP32[$310 >> 2] = $T_0;
var $_sum24 = $_sum + 12 | 0;
var $311 = $newbase + $_sum24 | 0;
var $312 = $311;
HEAP32[$312 >> 2] = $235;
var $_sum25 = $_sum + 8 | 0;
var $313 = $newbase + $_sum25 | 0;
var $314 = $313;
HEAP32[$314 >> 2] = $235;
label = 76;
break;
case 71:
_abort();
case 72:
var $317 = $T_0 + 8 | 0;
var $318 = HEAP32[$317 >> 2];
var $319 = $T_0;
var $320 = HEAP32[5387520 >> 2];
var $321 = $319 >>> 0 < $320 >>> 0;
if ($321) {
label = 75;
break;
} else {
label = 73;
break;
}
case 73:
var $323 = $318;
var $324 = $323 >>> 0 < $320 >>> 0;
if ($324) {
label = 75;
break;
} else {
label = 74;
break;
}
case 74:
var $326 = $318 + 12 | 0;
HEAP32[$326 >> 2] = $235;
HEAP32[$317 >> 2] = $235;
var $_sum20 = $_sum + 8 | 0;
var $327 = $newbase + $_sum20 | 0;
var $328 = $327;
HEAP32[$328 >> 2] = $318;
var $_sum21 = $_sum + 12 | 0;
var $329 = $newbase + $_sum21 | 0;
var $330 = $329;
HEAP32[$330 >> 2] = $T_0;
var $_sum22 = $_sum + 24 | 0;
var $331 = $newbase + $_sum22 | 0;
var $332 = $331;
HEAP32[$332 >> 2] = 0;
label = 76;
break;
case 75:
_abort();
case 76:
var $_sum1819 = $9 | 8;
var $334 = $newbase + $_sum1819 | 0;
return $334;
}
}
_prepend_alloc["X"] = 1;
function __ZNKSt9bad_alloc4whatEv($this) {
return 5385184;
}
function __ZNKSt20bad_array_new_length4whatEv($this) {
return 5386612;
}
function __ZSt15get_new_handlerv() {
return tempValue = HEAP32[5388092 >> 2], HEAP32[5388092 >> 2] = tempValue + 0, tempValue;
}
function __ZSt15set_new_handlerPFvvE($handler) {
return tempValue = HEAP32[5388092 >> 2], HEAP32[5388092 >> 2] = $handler, tempValue;
}
function __ZNSt9bad_allocC2Ev($this) {
HEAP32[$this >> 2] = 5387980;
return;
}
function __ZdlPv($ptr) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($ptr | 0) == 0;
if ($1) {
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
_free($ptr);
label = 4;
break;
case 4:
return;
}
}
function __ZdlPvRKSt9nothrow_t($ptr, $0) {
__ZdlPv($ptr);
return;
}
function __ZdaPv($ptr) {
__ZdlPv($ptr);
return;
}
function __ZdaPvRKSt9nothrow_t($ptr, $0) {
__ZdaPv($ptr);
return;
}
function __ZNSt9bad_allocD0Ev($this) {
__ZNSt9bad_allocD2Ev($this);
__ZdlPv($this);
return;
}
function __ZNSt9bad_allocD2Ev($this) {
return;
}
function __ZNSt20bad_array_new_lengthC2Ev($this) {
__ZNSt9bad_allocC2Ev($this | 0);
HEAP32[$this >> 2] = 5388004;
return;
}
function __ZNSt20bad_array_new_lengthD0Ev($this) {
__ZNSt9bad_allocD2Ev($this | 0);
__ZdlPv($this);
return;
}
function _add_segment($tbase, $tsize) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = HEAP32[5387528 >> 2];
var $2 = $1;
var $3 = _segment_holding($2);
var $4 = $3 | 0;
var $5 = HEAP32[$4 >> 2];
var $6 = $3 + 4 | 0;
var $7 = HEAP32[$6 >> 2];
var $8 = $5 + $7 | 0;
var $_sum = $7 - 47 | 0;
var $_sum1 = $7 - 39 | 0;
var $9 = $5 + $_sum1 | 0;
var $10 = $9;
var $11 = $10 & 7;
var $12 = ($11 | 0) == 0;
if ($12) {
var $17 = 0;
label = 4;
break;
} else {
label = 3;
break;
}
case 3:
var $14 = -$10 | 0;
var $15 = $14 & 7;
var $17 = $15;
label = 4;
break;
case 4:
var $17;
var $_sum2 = $_sum + $17 | 0;
var $18 = $5 + $_sum2 | 0;
var $19 = $1 + 16 | 0;
var $20 = $19;
var $21 = $18 >>> 0 < $20 >>> 0;
var $22 = $21 ? $2 : $18;
var $23 = $22 + 8 | 0;
var $24 = $23;
var $25 = $tbase;
var $26 = $tsize - 40 | 0;
_init_top($25, $26);
var $27 = $22 + 4 | 0;
var $28 = $27;
HEAP32[$28 >> 2] = 27;
HEAP32[$23 >> 2] = HEAP32[5387948 >> 2];
HEAP32[$23 + 4 >> 2] = HEAP32[5387952 >> 2];
HEAP32[$23 + 8 >> 2] = HEAP32[5387956 >> 2];
HEAP32[$23 + 12 >> 2] = HEAP32[5387960 >> 2];
HEAP32[5387948 >> 2] = $tbase;
HEAP32[5387952 >> 2] = $tsize;
HEAP32[5387960 >> 2] = 0;
HEAP32[5387956 >> 2] = $24;
var $29 = $22 + 28 | 0;
var $30 = $29;
HEAP32[$30 >> 2] = 7;
var $31 = $22 + 32 | 0;
var $32 = $31 >>> 0 < $8 >>> 0;
if ($32) {
var $33 = $30;
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $33;
var $34 = $33 + 4 | 0;
HEAP32[$34 >> 2] = 7;
var $35 = $33 + 8 | 0;
var $36 = $35;
var $37 = $36 >>> 0 < $8 >>> 0;
if ($37) {
var $33 = $34;
label = 5;
break;
} else {
label = 6;
break;
}
case 6:
var $38 = ($22 | 0) == ($2 | 0);
if ($38) {
label = 30;
break;
} else {
label = 7;
break;
}
case 7:
var $40 = $22;
var $41 = $1;
var $42 = $40 - $41 | 0;
var $43 = $2 + $42 | 0;
var $_sum3 = $42 + 4 | 0;
var $44 = $2 + $_sum3 | 0;
var $45 = $44;
var $46 = HEAP32[$45 >> 2];
var $47 = $46 & -2;
HEAP32[$45 >> 2] = $47;
var $48 = $42 | 1;
var $49 = $1 + 4 | 0;
HEAP32[$49 >> 2] = $48;
var $50 = $43;
HEAP32[$50 >> 2] = $42;
var $51 = $42 >>> 3;
var $52 = $42 >>> 0 < 256;
if ($52) {
label = 8;
break;
} else {
label = 13;
break;
}
case 8:
var $54 = $51 << 1;
var $55 = 5387544 + ($54 << 2) | 0;
var $56 = $55;
var $57 = HEAP32[5387504 >> 2];
var $58 = 1 << $51;
var $59 = $57 & $58;
var $60 = ($59 | 0) == 0;
if ($60) {
label = 9;
break;
} else {
label = 10;
break;
}
case 9:
var $62 = $57 | $58;
HEAP32[5387504 >> 2] = $62;
var $F_0 = $56;
label = 12;
break;
case 10:
var $_sum11 = $54 + 2 | 0;
var $64 = 5387544 + ($_sum11 << 2) | 0;
var $65 = HEAP32[$64 >> 2];
var $66 = $65;
var $67 = HEAP32[5387520 >> 2];
var $68 = $66 >>> 0 < $67 >>> 0;
if ($68) {
label = 11;
break;
} else {
var $F_0 = $65;
label = 12;
break;
}
case 11:
_abort();
case 12:
var $F_0;
var $_sum10 = $54 + 2 | 0;
var $71 = 5387544 + ($_sum10 << 2) | 0;
HEAP32[$71 >> 2] = $1;
var $72 = $F_0 + 12 | 0;
HEAP32[$72 >> 2] = $1;
var $73 = $1 + 8 | 0;
HEAP32[$73 >> 2] = $F_0;
var $74 = $1 + 12 | 0;
HEAP32[$74 >> 2] = $56;
label = 30;
break;
case 13:
var $76 = $1;
var $77 = $42 >>> 8;
var $78 = ($77 | 0) == 0;
if ($78) {
var $I1_0 = 0;
label = 16;
break;
} else {
label = 14;
break;
}
case 14:
var $80 = $42 >>> 0 > 16777215;
if ($80) {
var $I1_0 = 31;
label = 16;
break;
} else {
label = 15;
break;
}
case 15:
var $82 = $77 + 1048320 | 0;
var $83 = $82 >>> 16;
var $84 = $83 & 8;
var $85 = $77 << $84;
var $86 = $85 + 520192 | 0;
var $87 = $86 >>> 16;
var $88 = $87 & 4;
var $89 = $88 | $84;
var $90 = $85 << $88;
var $91 = $90 + 245760 | 0;
var $92 = $91 >>> 16;
var $93 = $92 & 2;
var $94 = $89 | $93;
var $95 = 14 - $94 | 0;
var $96 = $90 << $93;
var $97 = $96 >>> 15;
var $98 = $95 + $97 | 0;
var $99 = $98 << 1;
var $100 = $98 + 7 | 0;
var $101 = $42 >>> ($100 >>> 0);
var $102 = $101 & 1;
var $103 = $102 | $99;
var $I1_0 = $103;
label = 16;
break;
case 16:
var $I1_0;
var $105 = 5387808 + ($I1_0 << 2) | 0;
var $106 = $1 + 28 | 0;
var $I1_0_c = $I1_0;
HEAP32[$106 >> 2] = $I1_0_c;
var $107 = $1 + 20 | 0;
HEAP32[$107 >> 2] = 0;
var $108 = $1 + 16 | 0;
HEAP32[$108 >> 2] = 0;
var $109 = HEAP32[5387508 >> 2];
var $110 = 1 << $I1_0;
var $111 = $109 & $110;
var $112 = ($111 | 0) == 0;
if ($112) {
label = 17;
break;
} else {
label = 18;
break;
}
case 17:
var $114 = $109 | $110;
HEAP32[5387508 >> 2] = $114;
HEAP32[$105 >> 2] = $76;
var $115 = $1 + 24 | 0;
var $_c = $105;
HEAP32[$115 >> 2] = $_c;
var $116 = $1 + 12 | 0;
HEAP32[$116 >> 2] = $1;
var $117 = $1 + 8 | 0;
HEAP32[$117 >> 2] = $1;
label = 30;
break;
case 18:
var $119 = HEAP32[$105 >> 2];
var $120 = ($I1_0 | 0) == 31;
if ($120) {
var $125 = 0;
label = 20;
break;
} else {
label = 19;
break;
}
case 19:
var $122 = $I1_0 >>> 1;
var $123 = 25 - $122 | 0;
var $125 = $123;
label = 20;
break;
case 20:
var $125;
var $126 = $42 << $125;
var $K2_0 = $126;
var $T_0 = $119;
label = 21;
break;
case 21:
var $T_0;
var $K2_0;
var $128 = $T_0 + 4 | 0;
var $129 = HEAP32[$128 >> 2];
var $130 = $129 & -8;
var $131 = ($130 | 0) == ($42 | 0);
if ($131) {
label = 26;
break;
} else {
label = 22;
break;
}
case 22:
var $133 = $K2_0 >>> 31;
var $134 = $T_0 + 16 + ($133 << 2) | 0;
var $135 = HEAP32[$134 >> 2];
var $136 = ($135 | 0) == 0;
var $137 = $K2_0 << 1;
if ($136) {
label = 23;
break;
} else {
var $K2_0 = $137;
var $T_0 = $135;
label = 21;
break;
}
case 23:
var $139 = $134;
var $140 = HEAP32[5387520 >> 2];
var $141 = $139 >>> 0 < $140 >>> 0;
if ($141) {
label = 25;
break;
} else {
label = 24;
break;
}
case 24:
HEAP32[$134 >> 2] = $76;
var $143 = $1 + 24 | 0;
var $T_0_c7 = $T_0;
HEAP32[$143 >> 2] = $T_0_c7;
var $144 = $1 + 12 | 0;
HEAP32[$144 >> 2] = $1;
var $145 = $1 + 8 | 0;
HEAP32[$145 >> 2] = $1;
label = 30;
break;
case 25:
_abort();
case 26:
var $148 = $T_0 + 8 | 0;
var $149 = HEAP32[$148 >> 2];
var $150 = $T_0;
var $151 = HEAP32[5387520 >> 2];
var $152 = $150 >>> 0 < $151 >>> 0;
if ($152) {
label = 29;
break;
} else {
label = 27;
break;
}
case 27:
var $154 = $149;
var $155 = $154 >>> 0 < $151 >>> 0;
if ($155) {
label = 29;
break;
} else {
label = 28;
break;
}
case 28:
var $157 = $149 + 12 | 0;
HEAP32[$157 >> 2] = $76;
HEAP32[$148 >> 2] = $76;
var $158 = $1 + 8 | 0;
var $_c6 = $149;
HEAP32[$158 >> 2] = $_c6;
var $159 = $1 + 12 | 0;
var $T_0_c = $T_0;
HEAP32[$159 >> 2] = $T_0_c;
var $160 = $1 + 24 | 0;
HEAP32[$160 >> 2] = 0;
label = 30;
break;
case 29:
_abort();
case 30:
return;
}
}
_add_segment["X"] = 1;
function __Znwj($size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = ($size | 0) == 0;
var $_size = $1 ? 1 : $size;
label = 3;
break;
case 3:
var $3 = _malloc($_size);
var $4 = ($3 | 0) == 0;
if ($4) {
label = 4;
break;
} else {
label = 11;
break;
}
case 4:
var $6 = __ZSt15get_new_handlerv();
var $7 = ($6 | 0) == 0;
if ($7) {
label = 10;
break;
} else {
label = 5;
break;
}
case 5:
FUNCTION_TABLE[$6]();
label = 3;
break;
case 6:
var $lpad_loopexit$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], []);
$lpad_loopexit$1 = tempRet0;
var $lpad_phi$1 = $lpad_loopexit$1;
var $lpad_phi$0 = $lpad_loopexit$0;
label = 8;
break;
case 7:
var $lpad_nonloopexit$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], []);
$lpad_nonloopexit$1 = tempRet0;
var $lpad_phi$1 = $lpad_nonloopexit$1;
var $lpad_phi$0 = $lpad_nonloopexit$0;
label = 8;
break;
case 8:
var $lpad_phi$0;
var $lpad_phi$1;
var $10 = $lpad_phi$1;
var $11 = ($10 | 0) < 0;
if ($11) {
label = 9;
break;
} else {
label = 12;
break;
}
case 9:
var $13 = $lpad_phi$0;
___cxa_call_unexpected($13);
case 10:
var $15 = ___cxa_allocate_exception(4);
var $16 = $15;
__ZNSt9bad_allocC2Ev($16);
___cxa_throw($15, 5388064, 30);
label = 13;
break;
case 11:
return $3;
case 12:
if (HEAP32[_llvm_eh_exception.buf >> 2] == 0) {
HEAP32[_llvm_eh_exception.buf >> 2] = $lpad_phi$0;
}
throw $lpad_phi$0 + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
case 13:
}
}
function __ZnwjRKSt9nothrow_t($size, $0) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $2 = __Znwj($size);
var $p_0 = $2;
label = 4;
break;
case 3:
var $4$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], [ 0 ]);
$4$1 = tempRet0;
var $5 = $4$0;
var $6 = ___cxa_begin_catch($5);
___cxa_end_catch();
var $p_0 = 0;
label = 4;
break;
case 4:
var $p_0;
return $p_0;
case 5:
var $9$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], []);
$9$1 = tempRet0;
var $10 = $9$0;
___cxa_call_unexpected($10);
}
}
function __Znaj($size) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = __Znwj($size);
label = 3;
break;
case 3:
return $1;
case 4:
var $4$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], []);
$4$1 = tempRet0;
var $5 = $4$1;
var $6 = ($5 | 0) < 0;
if ($6) {
label = 5;
break;
} else {
label = 6;
break;
}
case 5:
var $8 = $4$0;
___cxa_call_unexpected($8);
case 6:
if (HEAP32[_llvm_eh_exception.buf >> 2] == 0) {
HEAP32[_llvm_eh_exception.buf >> 2] = $4$0;
}
throw $4$0 + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
}
}
function __ZnajRKSt9nothrow_t($size, $nothrow) {
var label = 0;
label = 2;
while (1) switch (label) {
case 2:
var $1 = __Znaj($size);
var $p_0 = $1;
label = 4;
break;
case 3:
var $3$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], [ 0 ]);
$3$1 = tempRet0;
var $4 = $3$0;
var $5 = ___cxa_begin_catch($4);
___cxa_end_catch();
var $p_0 = 0;
label = 4;
break;
case 4:
var $p_0;
return $p_0;
case 5:
var $8$0 = ___cxa_find_matching_catch(HEAP32[_llvm_eh_exception.buf >> 2], HEAP32[_llvm_eh_exception.buf + 4 >> 2], []);
$8$1 = tempRet0;
var $9 = $8$0;
___cxa_call_unexpected($9);
}
}
function __ZSt17__throw_bad_allocv() {
var $1 = ___cxa_allocate_exception(4);
__ZNSt9bad_allocC2Ev($1);
___cxa_throw($1, 5388064, 30);
}
// Warning: printing of i64 values may be slightly rounded! No deep i64 math used, so precise i64 code not included
var i64Math = null;
// === Auto-generated postamble setup entry stuff ===
Module.callMain = function callMain(args) {
var argc = args.length+1;
function pad() {
for (var i = 0; i < 4-1; i++) {
argv.push(0);
}
}
var argv = [allocate(intArrayFromString("/bin/this.program"), 'i8', ALLOC_STATIC) ];
pad();
for (var i = 0; i < argc-1; i = i + 1) {
argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_STATIC));
pad();
}
argv.push(0);
argv = allocate(argv, 'i32', ALLOC_STATIC);
var ret;
ret = Module['_main'](argc, argv, 0);
return ret;
}
function run(args) {
args = args || Module['arguments'];
if (runDependencies > 0) {
Module.printErr('run() called, but dependencies remain, so not running');
return 0;
}
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
var toRun = Module['preRun'];
Module['preRun'] = [];
for (var i = toRun.length-1; i >= 0; i--) {
toRun[i]();
}
if (runDependencies > 0) {
// a preRun added a dependency, run will be called later
return 0;
}
}
function doRun() {
var ret = 0;
calledRun = true;
if (Module['_main']) {
preMain();
ret = Module.callMain(args);
if (!Module['noExitRuntime']) {
exitRuntime();
}
}
if (Module['postRun']) {
if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
while (Module['postRun'].length > 0) {
Module['postRun'].pop()();
}
}
return ret;
}
if (Module['setStatus']) {
Module['setStatus']('Running...');
setTimeout(function() {
setTimeout(function() {
Module['setStatus']('');
}, 1);
doRun();
}, 1);
return 0;
} else {
return doRun();
}
}
Module['run'] = Module.run = run;
// {{PRE_RUN_ADDITIONS}}
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
initRuntime();
var shouldRunNow = true;
if (Module['noInitialRun']) {
shouldRunNow = false;
}
if (shouldRunNow) {
var ret = run();
}
// {{POST_RUN_ADDITIONS}}
// {{MODULE_ADDITIONS}}
// EMSCRIPTEN_GENERATED_FUNCTIONS: ["_CRC_writeheader","_lame_get_ATHlower","_id3tag_set_userinfo_ucs2","_id3tag_v1_only","_searchGenre","_id3tag_set_fieldvalue","_id3tag_set_comment_latin1","_lame_get_sfscale","_freq2bark","_lame_get_athaa_type","_encodeSideInfo2","_psymodel_init","_calc_target_bits","_hip_set_errorf","_is_lame_global_flags_valid","__ZdlPvRKSt9nothrow_t","_lame_get_VBR_mean_bitrate_kbps","_isFrameIdMatching","_recalc_divide_init","_ResvFrameEnd","_lame_get_scale","_lame_set_free_format","_lame_set_nogap_total","_sizeOfCommentNode","_lame_get_VBR_hard_min","_lame_set_VBR","_reduce_bit_usage","_sys_alloc","_malloc_aligned","_test_tag_spec_flags","_lame_set_allow_diff_short","_tri_calc_sfb_noise_x34","_lame_get_VBR_q","_lame_get_lowpasswidth","_lame_set_preset_expopts","_lame_get_mode_automs","_lame_set_ogg","_lame_get_mode","_calc_energy","_putbits_noheaders","_lame_set_highpassfreq","_lame_set_short_threshold_lrm","_lame_get_id3v2_tag","_malloc","_lame_set_findReplayGain","_init_s3_values","_lame_get_disable_reservoir","_lame_set_sfscale","_lame_get_ogg","_calc_noise_core_c","__ZNSt9bad_allocD2Ev","_calc_scalefac","__ZNSt9bad_allocD0Ev","_lame_get_VBR_quality","_quantize_x34","_penalties","_id3tag_set_textinfo_utf16","_swap_bytes","_drain_into_ancillary","__ZNSt20bad_array_new_lengthC2Ev","_isResamplingNecessary","_window_subband","_blackman","_lame_get_VBR","_lame_decode_headers","_lame_set_quant_comp_short","_lame_encode_flush_nogap","_valloc","_ix_max","_iteration_finish_one","_VBR_old_iteration_loop","_free_id3tag","_setLameTagFrameHeader","_floatcompare","_id3tag_genre_list","_decode1_headersB_clipchoice","_lame_msgf","_lame_print_config","_vbrpsy_compute_fft_l","_CBR_iteration_loop","_ATHformula","_id3tag_init","_internal_memalign","_lame_get_error_protection","_concatSep","_lame_encode_flush","_convert_partition2scalefac_l_to_s","_lame_set_mode","_VBR_encode_frame","_gcd","_filter_coef","_lame_set_force_short_blocks","_bitcount","_get_lame_url","_lame_bitrate_stereo_mode_hist","_toID3v2TagId","_lame_set_maskingadjust_short","_lame_set_athaa_loudapprox","_hip_decode1_unclipped","_quant_compare","_lame_set_short_threshold","_ms_convert","_malloc_max_footprint","_set_pinfo","_set_frame_custom2","_malloc_footprint","_lame_decode_exit","_inc_subblock_gain","_hip_decode1","_updateStats","_lame_get_in_samplerate","_lame_decode_init","_scale_bitcount","_isMultiFrame","__ZdlPv","_set_4_byte_value","_id3tag_pad_v2","_count_bit_null","_writeLoBytes","_lame_init_params_ppflt","_mallinfo","__ZdaPv","_malloc_stats","_SmpFrqIndex","_vbrpsy_compute_MS_thresholds","_init_mparams","_id3tag_set_comment","_trancate_smallspectrums","_id3tag_set_userinfo_latin1","_lame_get_allow_diff_short","_mdct_short","_id3v2_add_latin1","_convert_partition2scalefac_l","_id3tag_set_track","_internal_mallinfo","_Huffmancode","_writeChars","_fht","_convert_partition2scalefac_s","_toID3v2TagId_ucs2","_isSameDescriptorUcs2","__ZSt15set_new_handlerPFvvE","_lame_encode_buffer_interleaved_ieee_double","_ExtractI4","_lame_set_tune","_format_bitstream","_setLang","_lame_get_emphasis","_lame_set_short_threshold_s","_lame_set_substep","_lame_get_noclipScale","_quantize_lines_xrpow","_calc_noise","_block_sf","_GetTitleGain","_lame_set_noATH","_lame_init_old","_lame_get_ATHshort","_lame_set_decode_only","_toLittleEndian","_lame_set_lowpasswidth","_init_numline","_lame_set_force_ms","_cutDistribution","_independent_comalloc","_writeMainData","__ZdaPvRKSt9nothrow_t","_putheader_bits","_lame_set_errorf","_free","_lame_get_write_id3tag_automatic","_compute_ath","_lame_set_asm_optimizations","_get_klemm_noise","_init_bit_stream_w","_noquant_count_bits","_tryThatOne","_BitrateIndex","_save_gain_values","_lame_get_athaa_sensitivity","_do_gain_analysis","_IsVbrTag","_lame_get_totalframes","_lame_get_samplerate","_lame_get_noATH","_id3v2_add_ucs2","_hip_set_debugf","_vbrpsy_compute_block_type","_bitpressure_strategy","_isSameDescriptor","__ZSt15get_new_handlerv","_lame_set_num_samples","_lame_debugf","_tmalloc_large","_lame_set_analysis","_get_lame_short_version","_best_huffman_divide","_lame_set_quality","_skipId3v2","_lame_get_version","_lame_get_brate","_lame_set_msgf","_set_text_field","_id3tag_set_pad","_lame_set_athaa_type","_disable_FPE","_mdct_long","_has_SSE","__ZNKSt20bad_array_new_length4whatEv","_lookupGenre","_set_frame_pinfo","_get_framebits","_lame_get_maskingadjust","_lame_get_extension","_lame_set_copyright","_maybeLatin1","_reduce_side","_lame_get_force_ms","_lame_get_force_short_blocks","_lame_get_ReplayGain_input","_lame_set_maskingadjust","_min_int","_lame_report_def","_lame_init","_writeUcs2s","_id3tag_set_title","_GetVbrTag","_set_frame_comment","_convert_partition2scalefac","_lame_get_nogap_currentindex","_ialloc","_lame_get_substep","_huffman_coder_count1","_lame_init_params","_set_scalefacs","_NS_INTERP","_lame_print_internals","_lame_set_brate","_lame_errorf","_get_lame_version_numerical","_lame_get_quant_comp_short","_id3tag_set_fieldvalue_ucs2","_AnalyzeSamples","_id3tag_add_v2","_get_lame_version","_tryGlobalStepsize","_vbrpsy_apply_block_type","_has_SSE2","_long_block_constrain","_id3tag_space_v1","__ZNSt20bad_array_new_lengthD0Ev","_apply_preset","_lame_get_maskingadjust_short","_id3tag_v2_only","_lame_set_preset_notune","_init_log_table","_FindNearestBitrate","_VBR_new_iteration_loop","_pecalc_l","_lame_set_lowpassfreq","_lame_get_bWriteVbrTag","_init_top","_is_lame_internal_flags_valid","_lame_get_findPeakSample","_ShortHuffmancodebits","_lame_set_ReplayGain_input","_hasUcs2ByteOrderMarker","_internal_realloc","_hip_decode_exit","_lame_set_extension","_pecalc_s","_lame_set_decode_on_the_fly","_lame_get_interChRatio","_linear_int","_lame_get_ATHonly","_hip_decode_init","_freegfc","_VBR_old_prepare","_lame_set_compression_ratio","_fast_log2","_sizeOfNode","_filterYule","_lame_bitrate_hist","_id3tag_set_fieldvalue_utf16","_lame_set_num_channels","_LongHuffmancodebits","_lame_set_debugf","_lame_set_ATHonly","_lame_encode_buffer_ieee_double","_get_psy_version","_lame_mp3_tags_fid","_id3tag_set_genre","_lame_get_lametag_frame","_filterButter","_lame_bitrate_block_type_hist","_lame_set_preset","_lame_get_VBR_max_bitrate_kbps","_athAdjust","_lame_get_short_threshold_lrm","_lame_get_id3v1_tag","_hip_set_msgf","_lame_set_cwlimit","_lame_get_highpasswidth","_lame_set_ATHshort","_lame_get_exp_nspsytune","_lame_init_bitstream","_sloppyCompared","_lame_get_RadioGain","_vbrpsy_skip_masking_s","_release_unused_segments","_lame_set_VBR_min_bitrate_kbps","_lame_get_noclipGainChange","_local_ucs2_substr","_lame_get_out_samplerate","_init_outer_loop","_compute_flushbits","_lame_set_emphasis","_copy_buffer","_CRC_update_lookup","_hip_decode1_headers","_memalign","_lame_set_interChRatio","_addVbr","_lame_get_compression_ratio","_update_inbuffer_size","_optimum_bandwidth","_short_block_constrain","_init_bins","_inc_scalefac_scale","_nextUpperAlpha","_lame_encode_buffer_int","_id3tag_set_artist","_mmap_alloc","_lame_get_copyright","_getframebits","_hip_decode1_headersB","_lame_get_num_samples","_lame_get_msfix","_id3v2AddLameVersion","_set_subblock_gain","_init_xrpow_core_init","_lame_encode_buffer_interleaved_ieee_float","_set_frame_wxxx","_ResvFrameBegin","_get_lame_os_bitness","_id3tag_set_textinfo_ucs2","_guess_scalefac_x34","_s3_func","_lame_decode1_headers","_frame_id_matches","_CRC_update","_lame_get_short_threshold_s","_init_fft","_lame_encode_frame_init","_vec_max_c","_lame_set_exp_nspsytune","_ResetSampleFrequency","_calc_mask_index_l","_count_bit_noESC_from2","_count_bit_noESC_from3","_count_bit_ESC","_k_34_4","_id3tag_write_v2","_scfsi_calc","_id3tag_write_v1","_bin_search_StepSize","_lame_get_framesize","_lame_set_ATHlower","_lame_get_encoder_delay","_hip_decode","_calc_sfb_noise_x34","_lame_set_write_id3tag_automatic","_lame_decode1_headersB","_Xing_seek_table","_ATHformula_GB","_lame_get_nogap_total","_lame_set_subblock_gain","_mallopt","_lame_set_scale_right","_lame_get_quant_comp","_balance_noise","_putbits2","_lame_set_error_protection","_lame_get_padding_type","_lame_set_out_samplerate","_lame_set_ATHtype","_add_segment","_mask_add_delta","_VBR_encode_granule","_free_global_data","_InitGainAnalysis","_lame_get_strict_ISO","_lame_encode_buffer_template","_lame_get_decode_on_the_fly","__ZSt17__throw_bad_allocv","_lame_set_VBR_mean_bitrate_kbps","_ABR_iteration_loop","_hip_decode_headers","_AddVbrFrame","_calcNeeded","_best_scalefac_store","_lame_set_useTemporal","_lame_stereo_mode_hist","_vbrpsy_compute_fft_s","_lame_get_lowpassfreq","_fft_short","_local_char_pos","_lame_set_bWriteVbrTag","_fill_buffer","_do_copy_buffer","_lame_get_decode_only","_malloc_trim","_lame_set_nogap_currentindex","_init_xrpow","_outer_loop","_quantizeAndCountBits","_ATHmdct","_searchGlobalStepsizeMax","_get_lame_tag_encoder_short_version","_lame_set_VBR_hard_min","_fsqr","_lame_encode_buffer_long2","_set_frame_apic","_CreateI2","_id3v2AddAudioDuration","_lame_get_scale_left","_lame_get_ATHcurve","_get_lame_very_short_version","_flush_bitstream","_lame_set_VBR_quality","_sys_trim","_lame_decode","_compute_bark_values","_writeheader","_find_lowest_scalefac","_pvalloc","__ZNSt9bad_allocC2Ev","_fromLatin1Char","_id3tag_set_textinfo_latin1","_find_scalefac_x34","_lame_set_VBR_max_bitrate_kbps","_calcFrameLength","_lame_get_no_short_blocks","_vbrpsy_mask_add","_local_strdup_utf16_to_latin1","__ZNKSt9bad_alloc4whatEv","_add_dummy_byte","_vbrpsy_compute_masking_s","_ResvAdjust","_vbrpsy_compute_masking_l","_lame_get_free_format","_lame_get_scale_right","_stereo_demask","_id3tag_set_year","_CreateI4","_get_vbr_preset","_quantize_lines_xrpow_01","_malloc_usable_size","_choose_table_nonMMX","_get_max_frame_buffer_size_by_constraint","_id3tag_set_albumart","_isSameLang","_lame_decode1","_lame_set_scale","_change_mparam","_lame_set_disable_reservoir","_lame_set_highpasswidth","_lame_bitrate_kbps","_id3tag_set_album","_init_xrpow_core_c","_vbrpsy_calc_mask_index_s","_mpeg2_scale_bitcount","_lame_get_num_channels","_lame_get_athaa_loudapprox","_lame_set_quant_comp","_lame_set_no_short_blocks","_InitVbrTag","_PutVbrTag","_apply_vbr_preset","_local_ucs2_strlen","_free_aligned","_sfDepth","_UpdateMusicCRC","_vbrpsy_attack_detection","_lame_init_qval","_lame_copy_inbuffer","_nearestBitrateFullIndex","_analyzeResult","_count_bit_noESC","_vbrpsy_compute_loudness_approximation_l","_id3tag_set_comment_utf16","_init_mask_add_max_values","_id3tag_set_comment_ucs2","_local_ucs2_pos","_recalc_divide_sub","_max_int","_huffman_init","_findNode","_lame_block_type_hist","_lame_close","__Znwj","_iteration_init","_lame_get_mf_samples_to_encode","_lame_get_quality","_lame_get_AudiophileGain","_sloppySearchGenre","_has_MMX","_independent_calloc","_mdct_sub48","_lame_get_ReplayGain_decode","_outOfBitsStrategy","_lame_set_mode_automs","_mmap_resize","_lame_get_findReplayGain","_lame_encode_finish","_lame_encode_buffer_float","_lame_encode_buffer","_loop_break","_on_pe","_lame_get_bitrate","_prepend_alloc","_L3psycho_anal_vbr","__ZnwjRKSt9nothrow_t","_map2MP3Frequency","_lame_encode_buffer_interleaved","_flattenDistribution","_lame_get_original","_hip_set_pinfo","_calc_xmin","_lame_set_scale_left","_lame_get_highpassfreq","_lame_get_useTemporal","_apply_abr_preset","_quantize_xrpow","_local_ucs2_strdup","_lame_set_ReplayGain_decode","_lame_get_frameNum","_lame_get_PeakSample","_lame_set_athaa_sensitivity","_lame_encode_buffer_sample_t","_lame_get_VBR_min_bitrate_kbps","_lame_get_subblock_gain","_lame_set_in_samplerate","_lame_set_padding_type","_optimum_samplefreq","_lame_get_ATHtype","__Znaj","_id3tag_set_genre_utf16","_internal_malloc_stats","_tmalloc_small","_count_bits","_adjust_ATH","_lame_get_cwlimit","_psfb21_analogsilence","_lame_get_analysis","_calloc","_lame_set_msfix","_lame_set_original","_ResvMaxBits","_lame_set_findPeakSample","_lame_get_experimentalY","_lame_get_experimentalX","_lame_encode_mp3_frame","_lame_get_experimentalZ","_fill_buffer_resample","_psycho_loudness_approx","_local_strdup","_lame_set_ATHcurve","_lame_set_VBR_q","_realloc","_segment_holding","_copyV1ToV2","_sizeOfWxxxNode","_fft_long","_amp_scalefac_bands","_lame_set_experimentalY","_lame_set_experimentalX","_lame_set_experimentalZ","_lame_report_fnc","_appendNode","_mpeg1_scale_bitcount","_lame_encode_buffer_ieee_float","_lame_set_strict_ISO","_lame_encode_buffer_long","_lame_get_size_mp3buffer","_VBR_new_prepare","_PutLameVBR","__ZnajRKSt9nothrow_t","_local_strcasecmp","_lame_get_encoder_padding","_has_3DNow"]
// libmp3lame function wrappers
var BUFSIZE = 8192;
return {
STEREO: 0,
JOINT_STEREO: 1,
MONO: 3,
get_version: Module.cwrap('get_lame_version', 'string'),
init: Module.cwrap('lame_init', 'number'),
init_params: Module.cwrap('lame_init_params', 'number', [ 'number' ]),
set_mode: Module.cwrap('lame_set_mode', 'number', [ 'number', 'number' ]),
get_mode: Module.cwrap('lame_get_mode', 'number', [ 'number' ]),
set_num_samples: Module.cwrap('lame_set_num_samples', 'number', [ 'number', 'number' ]),
get_num_samples: Module.cwrap('lame_get_num_samples', 'number', [ 'number' ]),
set_num_channels: Module.cwrap('lame_set_num_channels', 'number', [ 'number', 'number' ]),
get_num_channels: Module.cwrap('lame_get_num_channels', 'number', [ 'number' ]),
set_in_samplerate: Module.cwrap('lame_set_in_samplerate', 'number', [ 'number', 'number' ]),
get_in_samplerate: Module.cwrap('lame_get_in_samplerate', 'number', [ 'number' ]),
set_out_samplerate: Module.cwrap('lame_set_out_samplerate', 'number', [ 'number', 'number' ]),
get_out_samplerate: Module.cwrap('lame_get_out_samplerate', 'number', [ 'number' ]),
set_bitrate: Module.cwrap('lame_set_brate', 'number', [ 'number', 'number' ]),
get_bitrate: Module.cwrap('lame_get_brate', 'number', [ 'number' ]),
encode_buffer_ieee_float: function(handle, channel_l, channel_r) {
var outbuf = _malloc(BUFSIZE);
var inbuf_l = _malloc(channel_l.length * 4);
var inbuf_r = _malloc(channel_r.length * 4);
for (var i=0;i<channel_l.length;i++) {
setValue(inbuf_l + (i*4), channel_l[i], 'float');
}
for (var i=0;i<channel_r.length;i++) {
setValue(inbuf_r + (i*4), channel_r[i], 'float');
}
var nread = Module.ccall('lame_encode_buffer_ieee_float', 'number', [ 'number', 'number', 'number', 'number', 'number', 'number' ], [ handle, inbuf_l, inbuf_r, channel_l.length, outbuf, BUFSIZE ]);
var arraybuf = new ArrayBuffer(nread);
var retdata = new Uint8Array(arraybuf);
retdata.set(HEAPU8.subarray(outbuf, outbuf + nread));
_free(outbuf);
_free(inbuf_l);
_free(inbuf_r);
return { size: nread, data: retdata };
},
encode_flush: function(handle) {
var outbuf = _malloc(BUFSIZE);
var nread = Module.ccall('lame_encode_flush', 'number', [ 'number', 'number', 'number' ], [ handle, outbuf, BUFSIZE ]);
var arraybuf = new ArrayBuffer(nread);
var retdata = new Uint8Array(arraybuf);
retdata.set(HEAPU8.subarray(outbuf, outbuf + nread));
_free(outbuf);
return { size: nread, data: retdata };
},
close: Module.cwrap('lame_close', 'number', [ 'number' ])
};
})();