// 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. // TODO: " u s e s t r i c t "; 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'; 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: function (low, high, op, bits) { var ander = Math.pow(2, bits)-1; if (bits < 32) { switch (op) { case 'shl': return [low << bits, (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits))]; case 'ashr': return [(((low >>> bits ) | ((high&ander) << (32 - bits))) >> 0) >>> 0, (high >> bits) >>> 0]; case 'lshr': return [((low >>> bits) | ((high&ander) << (32 - bits))) >>> 0, high >>> bits]; } } else if (bits == 32) { switch (op) { case 'shl': return [0, low]; case 'ashr': return [high, (high|0) < 0 ? ander : 0]; case 'lshr': return [high, 0]; } } else { // bits > 32 switch (op) { case 'shl': return [0, low << (bits - 32)]; case 'ashr': return [(high >> (bits - 32)) >>> 0, (high|0) < 0 ? ander : 0]; case 'lshr': return [high >>> (bits - 32) , 0]; } } abort('unknown bitshift64 op: ' + [value, op, bits]); }, 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; }, addFunction: function (func) { var ret = FUNCTION_TABLE.length; FUNCTION_TABLE.push(func); FUNCTION_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) { if (!Runtime.funcWrappers[func]) { Runtime.funcWrappers[func] = function() { FUNCTION_TABLE[func].apply(null, 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 += size;STACKTOP = ((((STACKTOP)+3)>>2)<<2);assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"); return ret; }, staticAlloc: function staticAlloc(size) { var ret = STATICTOP;STATICTOP += size;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__ = false; // Used in checking for thrown exceptions. 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; 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. Adding // // __attribute__((used)) // // to the function definition will prevent that. // // Note: Closure optimizations will minify function names, making // functions no longer callable. If you run closure (on by default // in -O2 and above), you should export the functions you will call // by calling emcc with something like // // -s EXPORTED_FUNCTIONS='["_func1","_func2"]' // // @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) { 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; } 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?)'); 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; } Module["ccall"] = ccall; // 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) { // TODO: optimize this, eval the whole function once instead of going through ccall each time return function() { return ccall(ident, 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': HEAP32[((ptr)>>2)]=value; break; case 'float': HEAPF32[((ptr)>>2)]=value; break; case 'double': (tempDoubleF64[0]=value,HEAP32[((ptr)>>2)]=tempDoubleI32[0],HEAP32[(((ptr)+(4))>>2)]=tempDoubleI32[1]); 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 (tempDoubleI32[0]=HEAP32[((ptr)>>2)],tempDoubleI32[1]=HEAP32[(((ptr)+(4))>>2)],tempDoubleF64[0]); 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 Module['ALLOC_NORMAL'] = ALLOC_NORMAL; Module['ALLOC_STACK'] = ALLOC_STACK; Module['ALLOC_STATIC'] = ALLOC_STATIC; // 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) { 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 = [_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; } 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; } assert(type, 'Must know what type to store in allocate!'); if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later setValue(ret+i, curr, type); 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 FUNCTION_TABLE; // XXX: In theory the indexes here can be equal to pointers to stacked or malloced memory. Such comparisons should // be false, but can turn out true. We should probably set the top bit to prevent such issues. 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. Adjust TOTAL_MEMORY (currently ' + TOTAL_MEMORY + ') or compile with ALLOW_MEMORY_GROWTH'); } var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 10485760; 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 = STACK_ROOT + TOTAL_STACK; var tempDoublePtr = Runtime.alignMemory(STACK_MAX, 8); var tempDoubleI8 = HEAP8.subarray(tempDoublePtr); var tempDoubleI32 = HEAP32.subarray(tempDoublePtr >> 2); var tempDoubleF32 = HEAPF32.subarray(tempDoublePtr >> 2); var tempDoubleF64 = HEAPF64.subarray(tempDoublePtr >> 3); function copyTempFloat(ptr) { // functions, because inlining this code is increases code size too much tempDoubleI8[0] = HEAP8[ptr]; tempDoubleI8[1] = HEAP8[ptr+1]; tempDoubleI8[2] = HEAP8[ptr+2]; tempDoubleI8[3] = HEAP8[ptr+3]; } function copyTempDouble(ptr) { tempDoubleI8[0] = HEAP8[ptr]; tempDoubleI8[1] = HEAP8[ptr+1]; tempDoubleI8[2] = HEAP8[ptr+2]; tempDoubleI8[3] = HEAP8[ptr+3]; tempDoubleI8[4] = HEAP8[ptr+4]; tempDoubleI8[5] = HEAP8[ptr+5]; tempDoubleI8[6] = HEAP8[ptr+6]; tempDoubleI8[7] = HEAP8[ptr+7]; } STACK_MAX = tempDoublePtr + 8; STATICTOP = alignMemoryPage(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_STATIC); function callRuntimeCallbacks(callbacks) { while(callbacks.length > 0) { var callback = callbacks.shift(); var func = callback.func; if (typeof func === 'number') { func = FUNCTION_TABLE[func]; } 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(); } function String_len(ptr) { var i = ptr; while (HEAP8[(i++)]) {}; // Note: should be |!= 0|, technically. But this helps catch bugs with undefineds return i - ptr - 1; } Module['String_len'] = String_len; // 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) { assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); chr &= 0xFF; } ret.push(String.fromCharCode(chr)); } return ret.join(''); } Module['intArrayToString'] = intArrayToString; // 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; var STRING_TABLE = []; 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 (!calledRun) run(); } } Module['removeRunDependency'] = removeRunDependency; Module["preloadedImages"] = {}; // maps url to image data Module["preloadedAudios"] = {}; // maps url to audio data // === Body === function ___main() { ; var __label__; ; return; } function _doinit() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $rv; var $1=_rump__init(1); _rump_schedule(); _tmpfs_doatt(); _kernfs_doatt(); _ffs_doatt(); _rump_unschedule(); var $2=_catgreaterthanfile(((STRING_TABLE.__str)|0), ((STRING_TABLE.__str1)|0)); var $3=_catgreaterthanfile(((STRING_TABLE.__str2)|0), ((STRING_TABLE.__str3)|0)); var $4=_makedir(((STRING_TABLE.__str4)|0), 0); var $5=_rump_pub_etfs_register(((STRING_TABLE.__str5)|0), ((STRING_TABLE.__str6)|0), 1); $rv=$5; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $8=$rv; _webout(((STRING_TABLE.__str7)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$8,tempInt)); __label__ = 7; break; case 4: var $10=_domount(((STRING_TABLE.__str8)|0), ((STRING_TABLE.__str4)|0)); var $11=(($10)|0)==0; if ($11) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: _webout(((STRING_TABLE.__str9)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 6; break; case 6: __label__ = 7; break; case 7: var $15=_makedir(((STRING_TABLE.__str10)|0), 0); var $16=_rump___sysimpl_mount50(((STRING_TABLE.__str11)|0), ((STRING_TABLE.__str10)|0), 0, 0, 0); var $17=(($16)|0)==-1; if ($17) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: _webout(((STRING_TABLE.__str12)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 9; break; case 9: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } Module["_doinit"] = _doinit; function _catgreaterthanfile($filename, $data) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $fd; var $sverrno; $2=$filename; $3=$data; var $4=$2; var $5=_rump___sysimpl_open($4, 513, 420); $fd=$5; var $6=$fd; var $7=(($6)|0)==-1; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $9=$2; var $10=___errno(); var $11=HEAP32[(($10)>>2)]; _webout(((STRING_TABLE.__str68)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$9,HEAP32[(((tempInt)+(4))>>2)]=$11,tempInt)); $1=0; __label__ = 5; break; case 4: var $13=$fd; var $14=$3; var $15=$3; var $16=_strlen($15); var $17=_rump___sysimpl_write($13, $14, $16); var $18=___errno(); var $19=HEAP32[(($18)>>2)]; $sverrno=$19; var $20=$fd; var $21=_rump___sysimpl_close($20); var $22=$sverrno; $1=$22; __label__ = 5; break; case 5: var $24=$1; STACKTOP = __stackBase__; return $24; default: assert(0, "bad label: " + __label__); } } function _makedir($dirname, $u) { ; var __label__; var $1; var $2; $1=$dirname; $2=$u; var $3=$1; var $4=_rump___sysimpl_mkdir($3); var $5=___errno(); var $6=HEAP32[(($5)>>2)]; ; return $6; } function _webout($fmt) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $va=__stackBase__; $1=$fmt; HEAP32[((_doneout)>>2)]=1; var $2=$va; HEAP32[(($2)>>2)]=arguments[_webout.length]; var $3=HEAP32[((_stderr)>>2)]; var $4=$1; var $5=HEAP32[(($va)>>2)]; var $6=_vfprintf($3, $4, $5); var $7=$va; ; STACKTOP = __stackBase__; return; } function _domount($fsname, $mp) { var __stackBase__ = STACKTOP; STACKTOP += 36; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $sverrno; var $arg=__stackBase__; var $arg1=(__stackBase__)+(4); $2=$fsname; $3=$mp; var $4=$2; var $5=_strcmp($4, ((STRING_TABLE.__str8)|0)); var $6=(($5)|0)==0; if ($6) { __label__ = 3; break; } else { __label__ = 6; break; } case 3: var $8=(($arg)|0); HEAP32[(($8)>>2)]=((STRING_TABLE.__str5)|0); var $9=$3; var $10=$arg; var $11=_rump___sysimpl_mount50(((STRING_TABLE.__str8)|0), $9, 0, $10, 4); var $12=(($11)|0)==-1; if ($12) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $14=___errno(); var $15=HEAP32[(($14)>>2)]; $sverrno=$15; var $16=$sverrno; _webout(((STRING_TABLE.__str64)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$16,tempInt)); var $17=$sverrno; $1=$17; __label__ = 13; break; case 5: __label__ = 12; break; case 6: var $20=$2; var $21=_strcmp($20, ((STRING_TABLE.__str46)|0)); var $22=(($21)|0)==0; if ($22) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $24=$arg1; HEAP32[(($24)>>2)]=0; HEAP32[((($24)+(4))>>2)]=0; HEAP32[((($24)+(8))>>2)]=0; HEAP32[((($24)+(12))>>2)]=0; HEAP32[((($24)+(16))>>2)]=0; HEAP32[((($24)+(20))>>2)]=0; HEAP32[((($24)+(24))>>2)]=0; HEAP32[((($24)+(28))>>2)]=0; var $25=(($arg1)|0); HEAP32[(($25)>>2)]=1; var $26=(($arg1+28)|0); HEAP32[(($26)>>2)]=511; var $27=$3; var $28=$arg1; var $29=_rump___sysimpl_mount50(((STRING_TABLE.__str46)|0), $27, 0, $28, 32); var $30=(($29)|0)==-1; if ($30) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $32=___errno(); var $33=HEAP32[(($32)>>2)]; $sverrno=$33; var $34=$sverrno; _webout(((STRING_TABLE.__str65)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$34,tempInt)); var $35=$sverrno; $1=$35; __label__ = 13; break; case 9: __label__ = 11; break; case 10: ___assert_func(((STRING_TABLE.__str66)|0), 328, ((STRING_TABLE.___func___domount)|0), ((STRING_TABLE.__str67)|0)); __label__ = 11; break; case 11: __label__ = 12; break; case 12: $1=0; __label__ = 13; break; case 13: var $41=$1; STACKTOP = __stackBase__; return $41; default: assert(0, "bad label: " + __label__); } } _domount["X"]=1; function _executecmd($cmd, $arg1, $arg2) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $i; var $rv; $1=$cmd; $2=$arg1; $3=$arg2; HEAP32[((_doneout)>>2)]=0; $i=0; __label__ = 3; break; case 3: var $5=$i; var $6=((_cmds+($5)*(20))|0); var $7=(($6)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8)|0)!=0; if ($9) { __label__ = 4; break; } else { __label__ = 13; break; } case 4: var $11=$1; var $12=$i; var $13=((_cmds+($12)*(20))|0); var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=_strcmp($11, $15); var $17=(($16)|0)==0; if ($17) { __label__ = 5; break; } else { __label__ = 11; break; } case 5: var $19=$i; var $20=((_cmds+($19)*(20))|0); var $21=(($20+4)|0); var $22=HEAP32[(($21)>>2)]; var $23=$2; var $24=$3; var $25=FUNCTION_TABLE[$22]($23, $24); $rv=$25; var $26=$rv; var $27=(($26)|0)!=0; if ($27) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $29=$rv; _webout(((STRING_TABLE.__str13)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$29,tempInt)); __label__ = 10; break; case 7: var $31=HEAP32[((_doneout)>>2)]; var $32=(($31)|0)!=0; if ($32) { __label__ = 9; break; } else { __label__ = 8; break; } case 8: _webout(((STRING_TABLE.__str14)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 9; break; case 9: __label__ = 10; break; case 10: __label__ = 14; break; case 11: __label__ = 12; break; case 12: var $38=$i; var $39=((($38)+(1))|0); $i=$39; __label__ = 3; break; case 13: var $41=$1; _webout(((STRING_TABLE.__str15)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$41,tempInt)); __label__ = 14; break; case 14: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } Module["_executecmd"] = _executecmd;_executecmd["X"]=1; function _printprompt($u1, $u2) { var __stackBase__ = STACKTOP; STACKTOP += 1024; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $buf=__stackBase__; $1=$u1; $2=$u2; var $3=(($buf)|0); var $4=_rump___sysimpl___getcwd($3, 1024); var $5=(($4)|0)==-1; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=(($buf)|0); var $8=_strcpy($7, ((STRING_TABLE.__str39)|0)); __label__ = 4; break; case 4: var $10=(($buf)|0); _webout(((STRING_TABLE.__str63)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$10,tempInt)); STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } function _printdir($dirname, $u) { var __stackBase__ = STACKTOP; STACKTOP += 65536; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $buf=__stackBase__; var $de; var $fd; var $dblen; var $dboff; $2=$dirname; $3=$u; var $4=$2; var $5=_strlen($4); var $6=(($5)|0)==0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $2=((STRING_TABLE.__str57)|0); __label__ = 4; break; case 4: var $9=$2; var $10=_rump___sysimpl_open($9, 0, 0); $fd=$10; var $11=$fd; var $12=(($11)|0)==-1; if ($12) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $14=___errno(); var $15=HEAP32[(($14)>>2)]; _webout(((STRING_TABLE.__str58)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$15,tempInt)); var $16=___errno(); var $17=HEAP32[(($16)>>2)]; $1=$17; __label__ = 14; break; case 6: var $19=$fd; var $20=(($buf)|0); var $21=_rump___sysimpl_getdents30($19, $20, 65536); $dblen=$21; var $22=(($21)|0)==-1; if ($22) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: _webout(((STRING_TABLE.__str59)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $24=$fd; var $25=_rump___sysimpl_close($24); var $26=___errno(); var $27=HEAP32[(($26)>>2)]; $1=$27; __label__ = 14; break; case 8: var $29=$fd; var $30=_rump___sysimpl_close($29); $dboff=0; var $31=$2; _webout(((STRING_TABLE.__str60)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$31,tempInt)); __label__ = 9; break; case 9: var $33=$dblen; var $34=$dboff; var $35=(($33)|0) > (($34)|0); if ($35) { __label__ = 10; break; } else { __label__ = 13; break; } case 10: var $37=(($buf)|0); var $38=$dboff; var $39=(($37+$38)|0); var $40=$39; $de=$40; var $41=$de; var $42=(($41+12)|0); var $43=HEAP8[($42)]; var $44=(($43)&255); var $45=(($44)|0) > 14; if ($45) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: _webout(((STRING_TABLE.__str61)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $47=___errno(); var $48=HEAP32[(($47)>>2)]; $1=$48; __label__ = 14; break; case 12: var $50=$de; var $51=(($50+8)|0); var $52=HEAP16[(($51)>>1)]; var $53=(($52)&65535); var $54=$dboff; var $55=((($54)+($53))|0); $dboff=$55; var $56=$de; var $57=(($56+12)|0); var $58=HEAP8[($57)]; var $59=(($58)&255); var $60=((STRING_TABLE._dtypetab+$59)|0); var $61=HEAP8[($60)]; var $62=(($61 << 24) >> 24); var $63=$de; var $64=(($63+13)|0); var $65=(($64)|0); _webout(((STRING_TABLE.__str62)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$62,HEAP32[(((tempInt)+(4))>>2)]=$65,tempInt)); __label__ = 9; break; case 13: $1=0; __label__ = 14; break; case 14: var $68=$1; STACKTOP = __stackBase__; return $68; default: assert(0, "bad label: " + __label__); } } _printdir["X"]=1; function _dodf($u1, $u2) { var __stackBase__ = STACKTOP; STACKTOP += 35656; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $svfs=__stackBase__; var $i; var $nn; var $sverrno; var $used=(__stackBase__)+(35648); $2=$u1; $3=$u2; var $4=(($svfs)|0); var $5=_rump___sysimpl_getvfsstat($4, 35648); $nn=$5; var $6=(($5)|0)==-1; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $8=___errno(); var $9=HEAP32[(($8)>>2)]; $sverrno=$9; _webout(((STRING_TABLE.__str51)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $10=$sverrno; $1=$10; __label__ = 9; break; case 4: _webout(((STRING_TABLE.__str52)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str53)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str54)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str55)|0),tempInt)); $i=0; __label__ = 5; break; case 5: var $13=$i; var $14=$nn; var $15=(($13)|0) < (($14)|0); if ($15) { __label__ = 6; break; } else { __label__ = 8; break; } case 6: var $17=$i; var $18=(($svfs+($17)*(2228))|0); var $19=(($18+16)|0); var $st$3$0=(($19)|0); var $20$0=HEAP32[(($st$3$0)>>2)]; var $st$3$1=(($19+4)|0); var $20$1=HEAP32[(($st$3$1)>>2)]; var $21=$i; var $22=(($svfs+($21)*(2228))|0); var $23=(($22+24)|0); var $st$10$0=(($23)|0); var $24$0=HEAP32[(($st$10$0)>>2)]; var $st$10$1=(($23+4)|0); var $24$1=HEAP32[(($st$10$1)>>2)]; var $25$0 = (i64Math.subtract($20$0,$20$1,$24$0,$24$1),i64Math.result[0]); var $25$1 = i64Math.result[1]; var $st$15$0=(($used)|0); HEAP32[(($st$15$0)>>2)]=$25$0; var $st$15$1=(($used+4)|0); HEAP32[(($st$15$1)>>2)]=$25$1; var $26=$i; var $27=(($svfs+($26)*(2228))|0); var $28=(($27+1204)|0); var $29=(($28)|0); var $30=$i; var $31=(($svfs+($30)*(2228))|0); var $32=(($31+180)|0); var $33=(($32)|0); var $34=$i; var $35=(($svfs+($34)*(2228))|0); var $36=(($35+148)|0); var $37=(($36)|0); var $38=$i; var $39=(($svfs+($38)*(2228))|0); var $40=(($39+16)|0); var $st$34$0=(($40)|0); var $41$0=HEAP32[(($st$34$0)>>2)]; var $st$34$1=(($40+4)|0); var $41$1=HEAP32[(($st$34$1)>>2)]; var $42=$i; var $43=(($svfs+($42)*(2228))|0); var $44=(($43+8)|0); var $45=HEAP32[(($44)>>2)]; var $46$0=$45; var $46$1=0; var $47$0 = (i64Math.multiply($41$0,$41$1,$46$0,$46$1),i64Math.result[0]); var $47$1 = i64Math.result[1]; var $48=$i; var $49=(($svfs+($48)*(2228))|0); var $50=(($49+32)|0); var $st$48$0=(($50)|0); var $51$0=HEAP32[(($st$48$0)>>2)]; var $st$48$1=(($50+4)|0); var $51$1=HEAP32[(($st$48$1)>>2)]; var $52=$i; var $53=(($svfs+($52)*(2228))|0); var $54=(($53+8)|0); var $55=HEAP32[(($54)>>2)]; var $56$0=$55; var $56$1=0; var $57$0 = (i64Math.multiply($51$0,$51$1,$56$0,$56$1),i64Math.result[0]); var $57$1 = i64Math.result[1]; var $st$59$0=(($used)|0); var $58$0=HEAP32[(($st$59$0)>>2)]; var $st$59$1=(($used+4)|0); var $58$1=HEAP32[(($st$59$1)>>2)]; var $59=$i; var $60=(($svfs+($59)*(2228))|0); var $61=(($60+8)|0); var $62=HEAP32[(($61)>>2)]; var $63$0=$62; var $63$1=0; var $64$0 = (i64Math.multiply($58$0,$58$1,$63$0,$63$1),i64Math.result[0]); var $64$1 = i64Math.result[1]; var $$emscripten$temp$0=((STRING_TABLE.__str56)|0); _webout($$emscripten$temp$0, (tempInt=STACKTOP,STACKTOP += 36,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$29,HEAP32[(((tempInt)+(4))>>2)]=$33,HEAP32[(((tempInt)+(8))>>2)]=$37,HEAP32[(((tempInt)+(12))>>2)]=$47$0,HEAP32[(((tempInt)+(16))>>2)]=$47$1,HEAP32[(((tempInt)+(20))>>2)]=$57$0,HEAP32[(((tempInt)+(24))>>2)]=$57$1,HEAP32[(((tempInt)+(28))>>2)]=$64$0,HEAP32[(((tempInt)+(32))>>2)]=$64$1,tempInt)); __label__ = 7; break; case 7: var $66=$i; var $67=((($66)+(1))|0); $i=$67; __label__ = 5; break; case 8: $1=0; __label__ = 9; break; case 9: var $70=$1; STACKTOP = __stackBase__; return $70; default: assert(0, "bad label: " + __label__); } } _dodf["X"]=1; function _dostat($filename, $u) { var __stackBase__ = STACKTOP; STACKTOP += 124; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $sb=__stackBase__; var $tt; $2=$filename; $3=$u; var $4=$2; var $5=_rump___sysimpl_stat50($4, $sb); var $6=(($5)|0)==-1; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _webout(((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $8=___errno(); var $9=HEAP32[(($8)>>2)]; $1=$9; __label__ = 5; break; case 4: var $11=$2; var $12=(($sb+88)|0); var $st$2$0=(($12)|0); var $13$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($12+4)|0); var $13$1=HEAP32[(($st$2$1)>>2)]; var $14=(($sb+8)|0); var $15=HEAP32[(($14)>>2)]; var $16=$15 & 511; var $17=(($sb+20)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($sb+24)|0); var $20=HEAP32[(($19)>>2)]; var $21=(($sb+28)|0); var $22=HEAP32[(($21)>>2)]; var $$emscripten$temp$0=((STRING_TABLE.__str50)|0); _webout($$emscripten$temp$0, (tempInt=STACKTOP,STACKTOP += 28,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$11,HEAP32[(((tempInt)+(4))>>2)]=$13$0,HEAP32[(((tempInt)+(8))>>2)]=$13$1,HEAP32[(((tempInt)+(12))>>2)]=$16,HEAP32[(((tempInt)+(16))>>2)]=$18,HEAP32[(((tempInt)+(20))>>2)]=$20,HEAP32[(((tempInt)+(24))>>2)]=$22,tempInt)); $1=0; __label__ = 5; break; case 5: var $24=$1; STACKTOP = __stackBase__; return $24; default: assert(0, "bad label: " + __label__); } } function _docd($dirname, $u) { ; var __label__; var $1; var $2; $1=$dirname; $2=$u; var $3=$1; var $4=_rump___sysimpl_chdir($3); var $5=___errno(); var $6=HEAP32[(($5)>>2)]; ; return $6; } function _catfile($filename, $u) { var __stackBase__ = STACKTOP; STACKTOP += 1024; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $buf=__stackBase__; var $nn; var $fd; $2=$filename; $3=$u; var $4=$2; var $5=_rump___sysimpl_open($4, 0, 0); $fd=$5; var $6=$fd; var $7=(($6)|0)==-1; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $9=$2; var $10=___errno(); var $11=HEAP32[(($10)>>2)]; _webout(((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$9,HEAP32[(((tempInt)+(4))>>2)]=$11,tempInt)); $1=0; __label__ = 8; break; case 4: __label__ = 5; break; case 5: var $14=$fd; var $15=(($buf)|0); var $16=_rump___sysimpl_read($14, $15, 1023); $nn=$16; var $17=(($16)|0) > 0; if ($17) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $19=$nn; var $20=(($buf+$19)|0); HEAP8[($20)]=0; var $21=(($buf)|0); _webout(((STRING_TABLE.__str48)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$21,tempInt)); __label__ = 5; break; case 7: _webout(((STRING_TABLE.__str45)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $23=$fd; var $24=_rump___sysimpl_close($23); $1=0; __label__ = 8; break; case 8: var $26=$1; STACKTOP = __stackBase__; return $26; default: assert(0, "bad label: " + __label__); } } function _mounttmpfs($mp, $u) { ; var __label__; var $1; var $2; $1=$mp; $2=$u; var $3=$1; var $4=_domount(((STRING_TABLE.__str46)|0), $3); ; return $4; } function _helpme($d1, $d2) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $i; $1=$d1; $2=$d2; _webout(((STRING_TABLE.__str41)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); $i=0; __label__ = 3; break; case 3: var $4=$i; var $5=((_cmds+($4)*(20))|0); var $6=(($5)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { __label__ = 12; break; } case 4: var $10=$i; var $11=((_cmds+($10)*(20))|0); var $12=(($11+8)|0); var $13=HEAP32[(($12)>>2)]; var $14=(($13)|0)==0; if ($14) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 11; break; case 6: var $17=$i; var $18=((_cmds+($17)*(20))|0); var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=$i; var $22=((_cmds+($21)*(20))|0); var $23=(($22+8)|0); var $24=HEAP32[(($23)>>2)]; _webout(((STRING_TABLE.__str42)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$20,HEAP32[(((tempInt)+(4))>>2)]=$24,tempInt)); var $25=$i; var $26=((_cmds+($25)*(20))|0); var $27=(($26+12)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28)|0)!=0; if ($29) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $31=$i; var $32=((_cmds+($31)*(20))|0); var $33=(($32+12)|0); var $34=HEAP32[(($33)>>2)]; _webout(((STRING_TABLE.__str43)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$34,tempInt)); var $35=$i; var $36=((_cmds+($35)*(20))|0); var $37=(($36+16)|0); var $38=HEAP32[(($37)>>2)]; var $39=(($38)|0)!=0; if ($39) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $41=$i; var $42=((_cmds+($41)*(20))|0); var $43=(($42+16)|0); var $44=HEAP32[(($43)>>2)]; _webout(((STRING_TABLE.__str44)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$44,tempInt)); __label__ = 9; break; case 9: _webout(((STRING_TABLE.__str45)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $48=$i; var $49=((($48)+(1))|0); $i=$49; __label__ = 3; break; case 12: STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } _helpme["X"]=1; function __arc4randbytes($p, $len) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$p; $2=$len; var $3=HEAP32[((_arc4_initialized)>>2)]; var $4=(($3)|0)!=0; if ($4) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: _arc4_init(); var $6=$1; var $7=$2; _arc4randbytes_unlocked($6, $7); __label__ = 7; break; case 4: _mutex_spin_enter(_arc4_mtx); var $9=$1; var $10=$2; _arc4randbytes_unlocked($9, $10); var $11=$2; var $12=HEAP32[((_arc4_numbytes)>>2)]; var $13=((($12)+($11))|0); HEAP32[((_arc4_numbytes)>>2)]=$13; _mutex_spin_exit(_arc4_mtx); var $14=HEAP32[((_arc4_numbytes)>>2)]; var $15=(($14)|0) > 16777216; if ($15) { __label__ = 6; break; } else { __label__ = 5; break; } case 5: var $st$0$0=((_time_uptime)|0); var $17$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_uptime+4)|0); var $17$1=HEAP32[(($st$0$1)>>2)]; var $st$4$0=((_arc4_nextreseed)|0); var $18$0=HEAP32[(($st$4$0)>>2)]; var $st$4$1=((_arc4_nextreseed+4)|0); var $18$1=HEAP32[(($st$4$1)>>2)]; var $19=($17$1|0) > ($18$1|0) || (($17$1|0) == ($18$1|0) && ($17$0>>>0) > ($18$0>>>0)); if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: _arc4_randrekey(0); __label__ = 7; break; case 7: ; return; default: assert(0, "bad label: " + __label__); } } function _arc4_init() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $n; _mutex_init(_arc4_mtx, 2, 2); _mutex_init(((_rs+8)|0), 2, 2); HEAP8[(_arc4_j)]=0; HEAP8[(_arc4_i)]=0; $n=0; __label__ = 3; break; case 3: var $2=$n; var $3=(($2)|0) < 256; if ($3) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $5=$n; var $6=(($5) & 255); var $7=$n; var $8=((_arc4_sbox+$7)|0); HEAP8[($8)]=$6; __label__ = 5; break; case 5: var $10=$n; var $11=((($10)+(1))|0); $n=$11; __label__ = 3; break; case 6: _arc4_randrekey(0); HEAP32[((_arc4_initialized)>>2)]=1; ; return; default: assert(0, "bad label: " + __label__); } } function _arc4randbytes_unlocked($p, $len) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $buf; var $i; $1=$p; $2=$len; var $3=$1; $buf=$3; $i=0; __label__ = 3; break; case 3: var $5=$i; var $6=$2; var $7=(($5)>>>0) < (($6)>>>0); if ($7) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: __label__ = 5; break; case 5: var $10=_arc4_randbyte(); var $11=$i; var $12=$buf; var $13=(($12+$11)|0); HEAP8[($13)]=$10; var $14=$i; var $15=((($14)+(1))|0); $i=$15; __label__ = 3; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } function _arc4_swap($a, $b) { ; var __label__; var $1; var $2; var $c; $1=$a; $2=$b; var $3=$1; var $4=HEAP8[($3)]; $c=$4; var $5=$2; var $6=HEAP8[($5)]; var $7=$1; HEAP8[($7)]=$6; var $8=$c; var $9=$2; HEAP8[($9)]=$8; ; return; } function _atomic_cas_32($ptr, $old, $new) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ret; $1=$ptr; $2=$old; $3=$new; var $4=$1; var $5=HEAP32[(($4)>>2)]; $ret=$5; var $6=$ret; var $7=$2; var $8=(($6)|0)==(($7)|0); if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=$3; var $11=$1; HEAP32[(($11)>>2)]=$10; __label__ = 4; break; case 4: var $13=$ret; ; return $13; default: assert(0, "bad label: " + __label__); } } function _atomic_cas_uint($ptr, $old, $new) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ret; $1=$ptr; $2=$old; $3=$new; var $4=$1; var $5=HEAP32[(($4)>>2)]; $ret=$5; var $6=$ret; var $7=$2; var $8=(($6)|0)==(($7)|0); if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=$3; var $11=$1; HEAP32[(($11)>>2)]=$10; __label__ = 4; break; case 4: var $13=$ret; ; return $13; default: assert(0, "bad label: " + __label__); } } function _atomic_cas_ulong($ptr, $old, $new) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ret; $1=$ptr; $2=$old; $3=$new; var $4=$1; var $5=HEAP32[(($4)>>2)]; $ret=$5; var $6=$ret; var $7=$2; var $8=(($6)|0)==(($7)|0); if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=$3; var $11=$1; HEAP32[(($11)>>2)]=$10; __label__ = 4; break; case 4: var $13=$ret; ; return $13; default: assert(0, "bad label: " + __label__); } } function _atomic_add_32($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_add_int($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_add_long($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_or_32($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_or_uint($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_or_ulong($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_and_32($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_and_uint($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_and_ulong($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; ; return; } function _atomic_add_32_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_add_int_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_add_long_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=((($4)+($5))|0); var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_or_32_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_or_uint_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_or_ulong_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 | $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_and_32_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_and_uint_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_and_ulong_nv($ptr, $delta) { ; var __label__; var $1; var $2; $1=$ptr; $2=$delta; var $3=$1; var $4=HEAP32[(($3)>>2)]; var $5=$2; var $6=$4 & $5; var $7=$1; HEAP32[(($7)>>2)]=$6; var $8=$1; var $9=HEAP32[(($8)>>2)]; ; return $9; } function _atomic_inc_32($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_inc_uint($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_inc_ulong($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_dec_32($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_dec_uint($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_dec_ulong($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; ; return; } function _atomic_inc_32_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_inc_uint_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_inc_ulong_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)+(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_dec_32_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_dec_uint_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_dec_ulong_nv($ptr) { ; var __label__; var $1; $1=$ptr; var $2=$1; var $3=HEAP32[(($2)>>2)]; var $4=((($3)-(1))|0); var $5=$1; HEAP32[(($5)>>2)]=$4; var $6=$1; var $7=HEAP32[(($6)>>2)]; ; return $7; } function _atomic_cas_ptr($ptr, $old, $new) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ret; $1=$ptr; $2=$old; $3=$new; var $4=$1; var $5=$4; var $6=HEAP32[(($5)>>2)]; $ret=$6; var $7=$ret; var $8=$2; var $9=(($7)|0)==(($8)|0); if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $11=$3; var $12=$1; var $13=$12; HEAP32[(($13)>>2)]=$11; __label__ = 4; break; case 4: var $15=$ret; ; return $15; default: assert(0, "bad label: " + __label__); } } function _atomic_swap_ptr($ptr, $new) { ; var __label__; var $1; var $2; var $ret; $1=$ptr; $2=$new; var $3=$1; var $4=$3; var $5=HEAP32[(($4)>>2)]; $ret=$5; var $6=$2; var $7=$1; var $8=$7; HEAP32[(($8)>>2)]=$6; var $9=$ret; ; return $9; } function __arc4random() { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $ret=__stackBase__; var $retc; var $1=$ret; $retc=$1; var $2=$retc; __arc4randbytes($2, 4); var $3=HEAP32[(($ret)>>2)]; STACKTOP = __stackBase__; return $3; } function _arc4_randbyte() { ; var __label__; var $arc4_t; var $1=HEAP8[(_arc4_i)]; var $2=(($1)&255); var $3=((($2)+(1))|0); var $4=((($3)|0))%(256); var $5=(($4) & 255); HEAP8[(_arc4_i)]=$5; var $6=HEAP8[(_arc4_j)]; var $7=(($6)&255); var $8=HEAP8[(_arc4_i)]; var $9=(($8)&255); var $10=((_arc4_sbox+$9)|0); var $11=HEAP8[($10)]; var $12=(($11)&255); var $13=((($7)+($12))|0); var $14=((($13)|0))%(256); var $15=(($14) & 255); HEAP8[(_arc4_j)]=$15; var $16=HEAP8[(_arc4_i)]; var $17=(($16)&255); var $18=((_arc4_sbox+$17)|0); var $19=HEAP8[(_arc4_j)]; var $20=(($19)&255); var $21=((_arc4_sbox+$20)|0); _arc4_swap($18, $21); var $22=HEAP8[(_arc4_i)]; var $23=(($22)&255); var $24=((_arc4_sbox+$23)|0); var $25=HEAP8[($24)]; var $26=(($25)&255); var $27=HEAP8[(_arc4_j)]; var $28=(($27)&255); var $29=((_arc4_sbox+$28)|0); var $30=HEAP8[($29)]; var $31=(($30)&255); var $32=((($26)+($31))|0); var $33=((($32)|0))%(256); var $34=(($33) & 255); $arc4_t=$34; var $35=$arc4_t; var $36=(($35)&255); var $37=((_arc4_sbox+$36)|0); var $38=HEAP8[($37)]; ; return $38; } function _clock_ymdhms_to_secs($dt) { var __stackBase__ = STACKTOP; STACKTOP += 16; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1=__stackBase__; var $2; var $secs=(__stackBase__)+(8); var $i; var $year; var $days; $2=$dt; var $3=$2; var $4=(($3)|0); var $5=HEAP16[(($4)>>1)]; var $6=(($5)&65535); $year=$6; var $7=$year; var $8=(($7)|0) < 1970; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $$emscripten$temp$0$0=-1; var $$emscripten$temp$0$1=-1; var $st$2$0=(($1)|0); HEAP32[(($st$2$0)>>2)]=$$emscripten$temp$0$0; var $st$2$1=(($1+4)|0); HEAP32[(($st$2$1)>>2)]=$$emscripten$temp$0$1; __label__ = 18; break; case 4: $days=0; $i=1970; __label__ = 5; break; case 5: var $12=$i; var $13=$year; var $14=(($12)|0) < (($13)|0); if ($14) { __label__ = 6; break; } else { __label__ = 8; break; } case 6: var $16=$i; var $17=_leapyear($16); var $18=(($17)|0)!=0; var $19=$18 ? 366 : 365; var $20=$days; var $21=((($20)+($19))|0); $days=$21; __label__ = 7; break; case 7: var $23=$i; var $24=((($23)+(1))|0); $i=$24; __label__ = 5; break; case 8: var $26=$year; var $27=_leapyear($26); var $28=(($27)|0)!=0; if ($28) { __label__ = 9; break; } else { __label__ = 11; break; } case 9: var $30=$2; var $31=(($30+2)|0); var $32=HEAP8[($31)]; var $33=(($32)&255); var $34=(($33)|0) > 2; if ($34) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $36=$days; var $37=((($36)+(1))|0); $days=$37; __label__ = 11; break; case 11: $i=1; __label__ = 12; break; case 12: var $40=$i; var $41=$2; var $42=(($41+2)|0); var $43=HEAP8[($42)]; var $44=(($43)&255); var $45=(($40)|0) < (($44)|0); if ($45) { __label__ = 13; break; } else { __label__ = 15; break; } case 13: var $47=$i; var $48=((($47)-(1))|0); var $49=((_month_days+($48<<2))|0); var $50=HEAP32[(($49)>>2)]; var $51=$days; var $52=((($51)+($50))|0); $days=$52; __label__ = 14; break; case 14: var $54=$i; var $55=((($54)+(1))|0); $i=$55; __label__ = 12; break; case 15: var $57=$2; var $58=(($57+3)|0); var $59=HEAP8[($58)]; var $60=(($59)&255); var $61=((($60)-(1))|0); var $62=$days; var $63=((($62)+($61))|0); $days=$63; var $64=$days; var $65$0=$64; var $65$1=((($64)|0) < 0 ? -1 : 0); var $$emscripten$temp$1$0=24; var $$emscripten$temp$1$1=0; var $66$0 = (i64Math.multiply($65$0,$65$1,$$emscripten$temp$1$0,$$emscripten$temp$1$1),i64Math.result[0]); var $66$1 = i64Math.result[1]; var $67=$2; var $68=(($67+5)|0); var $69=HEAP8[($68)]; var $70$0=(($69)&255); var $70$1=0; var $71$0 = (i64Math.add($66$0,$66$1,$70$0,$70$1),i64Math.result[0]); var $71$1 = i64Math.result[1]; var $$emscripten$temp$2$0=60; var $$emscripten$temp$2$1=0; var $72$0 = (i64Math.multiply($71$0,$71$1,$$emscripten$temp$2$0,$$emscripten$temp$2$1),i64Math.result[0]); var $72$1 = i64Math.result[1]; var $73=$2; var $74=(($73+6)|0); var $75=HEAP8[($74)]; var $76$0=(($75)&255); var $76$1=0; var $77$0 = (i64Math.add($72$0,$72$1,$76$0,$76$1),i64Math.result[0]); var $77$1 = i64Math.result[1]; var $$emscripten$temp$3$0=60; var $$emscripten$temp$3$1=0; var $78$0 = (i64Math.multiply($77$0,$77$1,$$emscripten$temp$3$0,$$emscripten$temp$3$1),i64Math.result[0]); var $78$1 = i64Math.result[1]; var $79=$2; var $80=(($79+7)|0); var $81=HEAP8[($80)]; var $82$0=(($81)&255); var $82$1=0; var $83$0 = (i64Math.add($78$0,$78$1,$82$0,$82$1),i64Math.result[0]); var $83$1 = i64Math.result[1]; var $st$38$0=(($secs)|0); HEAP32[(($st$38$0)>>2)]=$83$0; var $st$38$1=(($secs+4)|0); HEAP32[(($st$38$1)>>2)]=$83$1; var $st$42$0=(($secs)|0); var $84$0=HEAP32[(($st$42$0)>>2)]; var $st$42$1=(($secs+4)|0); var $84$1=HEAP32[(($st$42$1)>>2)]; var $st$46$0=(($secs)|0); var $85$0=HEAP32[(($st$46$0)>>2)]; var $st$46$1=(($secs+4)|0); var $85$1=HEAP32[(($st$46$1)>>2)]; var $86=$84$0 != $85$0 || $84$1 != $85$1; if ($86) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $$emscripten$temp$4$0=-1; var $$emscripten$temp$4$1=-1; var $st$2$0=(($1)|0); HEAP32[(($st$2$0)>>2)]=$$emscripten$temp$4$0; var $st$2$1=(($1+4)|0); HEAP32[(($st$2$1)>>2)]=$$emscripten$temp$4$1; __label__ = 18; break; case 17: var $st$0$0=(($secs)|0); var $89$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=(($secs+4)|0); var $89$1=HEAP32[(($st$0$1)>>2)]; var $st$4$0=(($1)|0); HEAP32[(($st$4$0)>>2)]=$89$0; var $st$4$1=(($1+4)|0); HEAP32[(($st$4$1)>>2)]=$89$1; __label__ = 18; break; case 18: var $st$0$0=(($1)|0); var $91$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=(($1+4)|0); var $91$1=HEAP32[(($st$0$1)>>2)]; STACKTOP = __stackBase__; return [$91$0,$91$1]; default: assert(0, "bad label: " + __label__); } } _clock_ymdhms_to_secs["X"]=1; function _arc4_randrekey($arg) { var __stackBase__ = STACKTOP; STACKTOP += 256; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $key=__stackBase__; var $n; var $ask_for_more; var $r; $1=$arg; $ask_for_more=0; var $2=HEAP32[((_arc4_initialized)>>2)]; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=$4; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _mutex_spin_enter(_arc4_mtx); __label__ = 5; break; case 4: $ask_for_more=1; var $9=(($key)|0); var $10=_rnd_extract_data($9, 16, 0); $r=$10; __label__ = 17; break; case 5: var $12=$1; var $13=(($12)|0)==0; if ($13) { __label__ = 6; break; } else { __label__ = 13; break; } case 6: var $15=HEAP32[((_arc4_randrekey_callback_pending)>>2)]; var $16=(($15)|0)!=0; if ($16) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $18=HEAP32[((_arc4_numbytes)>>2)]; var $19=(($18)|0) > 536870912; if ($19) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: _printf(((STRING_TABLE.__str69)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $21=(($key)|0); var $22=_rnd_extract_data($21, 16, 0); $r=$22; _mutex_spin_enter(((_rs+8)|0)); _rndsink_detach(_rs); _mutex_spin_exit(((_rs+8)|0)); HEAP32[((_arc4_randrekey_callback_pending)>>2)]=0; __label__ = 17; break; case 9: _mutex_spin_exit(_arc4_mtx); __label__ = 39; break; case 10: var $25=(($key)|0); var $26=_rnd_extract_data($25, 16, 1); $r=$26; var $27=$r; var $28=(($27)|0) < 16; if ($28) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: $ask_for_more=1; __label__ = 12; break; case 12: __label__ = 16; break; case 13: $ask_for_more=0; HEAP32[((_arc4_randrekey_callback_pending)>>2)]=0; var $32=HEAP32[((((_rs+40)|0))>>2)]; var $33=(($32)|0)!=16; if ($33) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: _panic(((STRING_TABLE.__str170)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 15: var $36=(($key)|0); var $37=HEAP32[((((_rs+40)|0))>>2)]; assert($37 % 1 === 0, 'memcpy given ' + $37 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($36, ((_rs+44)|0), $37, 1); var $38=HEAP32[((((_rs+40)|0))>>2)]; _memset(((_rs+44)|0), 0, $38, 1); __label__ = 16; break; case 16: __label__ = 17; break; case 17: var $41=$ask_for_more; var $42=(($41)|0)!=0; if ($42) { __label__ = 19; break; } else { __label__ = 18; break; } case 18: HEAP32[((_arc4_randrekey_callback_pending)>>2)]=0; __label__ = 22; break; case 19: var $45=HEAP32[((_arc4_randrekey_callback_pending)>>2)]; var $46=(($45)|0)!=0; if ($46) { __label__ = 21; break; } else { __label__ = 20; break; } case 20: HEAP32[((_arc4_randrekey_callback_pending)>>2)]=1; _mutex_spin_enter(((_rs+8)|0)); var $48=_strlcpy(((_rs+24)|0), ((STRING_TABLE.__str271)|0), 16); HEAP32[((((_rs+16)|0))>>2)]=2; HEAP32[((((_rs+20)|0))>>2)]=_rs; HEAP32[((((_rs+40)|0))>>2)]=16; _rndsink_attach(_rs); _mutex_spin_exit(((_rs+8)|0)); __label__ = 21; break; case 21: __label__ = 22; break; case 22: var $51=$ask_for_more; var $52=(($51)|0)!=0; if ($52) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $54=HEAP32[((_arc4_initialized)>>2)]; var $55=(($54)|0)!=0; if ($55) { __label__ = 37; break; } else { __label__ = 24; break; } case 24: $n=16; __label__ = 25; break; case 25: var $58=$n; var $59=(($58)>>>0) < 256; if ($59) { __label__ = 26; break; } else { __label__ = 28; break; } case 26: var $61=$n; var $62=((($61)|0))%(16); var $63=(($key+$62)|0); var $64=HEAP8[($63)]; var $65=$n; var $66=(($key+$65)|0); HEAP8[($66)]=$64; __label__ = 27; break; case 27: var $68=$n; var $69=((($68)+(1))|0); $n=$69; __label__ = 25; break; case 28: $n=0; __label__ = 29; break; case 29: var $72=$n; var $73=(($72)|0) < 256; if ($73) { __label__ = 30; break; } else { __label__ = 32; break; } case 30: var $75=HEAP8[(_arc4_j)]; var $76=(($75)&255); var $77=$n; var $78=((_arc4_sbox+$77)|0); var $79=HEAP8[($78)]; var $80=(($79)&255); var $81=((($76)+($80))|0); var $82=$n; var $83=(($key+$82)|0); var $84=HEAP8[($83)]; var $85=(($84)&255); var $86=((($81)+($85))|0); var $87=((($86)|0))%(256); var $88=(($87) & 255); HEAP8[(_arc4_j)]=$88; var $89=$n; var $90=((_arc4_sbox+$89)|0); var $91=HEAP8[(_arc4_j)]; var $92=(($91)&255); var $93=((_arc4_sbox+$92)|0); _arc4_swap($90, $93); __label__ = 31; break; case 31: var $95=$n; var $96=((($95)+(1))|0); $n=$96; __label__ = 29; break; case 32: var $98=HEAP8[(_arc4_j)]; HEAP8[(_arc4_i)]=$98; var $99=(($key)|0); _memset($99, 0, 256, 1); $n=0; __label__ = 33; break; case 33: var $101=$n; var $102=(($101)|0) < 1024; if ($102) { __label__ = 34; break; } else { __label__ = 36; break; } case 34: var $104=_arc4_randbyte(); __label__ = 35; break; case 35: var $106=$n; var $107=((($106)+(1))|0); $n=$107; __label__ = 33; break; case 36: var $st$0$0=((_time_uptime)|0); var $109$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_uptime+4)|0); var $109$1=HEAP32[(($st$0$1)>>2)]; var $$emscripten$temp$0$0=300; var $$emscripten$temp$0$1=0; var $110$0 = (i64Math.add($109$0,$109$1,$$emscripten$temp$0$0,$$emscripten$temp$0$1),i64Math.result[0]); var $110$1 = i64Math.result[1]; var $st$7$0=((_arc4_nextreseed)|0); HEAP32[(($st$7$0)>>2)]=$110$0; var $st$7$1=((_arc4_nextreseed+4)|0); HEAP32[(($st$7$1)>>2)]=$110$1; HEAP32[((_arc4_numbytes)>>2)]=0; __label__ = 37; break; case 37: var $112=HEAP32[((_arc4_initialized)>>2)]; var $113=(($112)|0)!=0; var $114=(($113)&1); var $115=$114; var $116=(($115)|0)!=0; if ($116) { __label__ = 38; break; } else { __label__ = 39; break; } case 38: _mutex_spin_exit(_arc4_mtx); __label__ = 39; break; case 39: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _arc4_randrekey["X"]=1; function _cprng_init() { ; var __label__; ; return; } function _assert_sleepable() { ; var __label__; ; return; } function _module_init_md() { ; var __label__; ; return; } function _cnflush() { ; var __label__; ; return; } function _rump_ttycheckoutq($tp, $wait) { ; var __label__; var $1; var $2; $1=$tp; $2=$wait; ; return 1; } function _trace_enter($code, $args, $narg) { ; var __label__; var $1; var $2; var $3; $1=$code; $2=$args; $3=$narg; ; return 0; } function _trace_exit($code, $rval, $error) { ; var __label__; var $1; var $2; var $3; $1=$code; $2=$rval; $3=$error; ; return; } function _getfstypename($fstype) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $2=$fstype; var $3=$2; if ((($3)|0) == 0) { __label__ = 3; break; } else if ((($3)|0) == 1) { __label__ = 4; break; } else if ((($3)|0) == 2) { __label__ = 5; break; } else if ((($3)|0) == 3) { __label__ = 6; break; } else if ((($3)|0) == 4) { __label__ = 7; break; } else if ((($3)|0) == 5) { __label__ = 8; break; } else if ((($3)|0) == 6) { __label__ = 9; break; } else if ((($3)|0) == 7) { __label__ = 10; break; } else if ((($3)|0) == 8) { __label__ = 11; break; } else if ((($3)|0) == 9) { __label__ = 12; break; } else if ((($3)|0) == 10) { __label__ = 13; break; } else if ((($3)|0) == 11) { __label__ = 14; break; } else if ((($3)|0) == 12) { __label__ = 15; break; } else if ((($3)|0) == 13) { __label__ = 16; break; } else if ((($3)|0) == 14) { __label__ = 17; break; } else if ((($3)|0) == 15) { __label__ = 18; break; } else if ((($3)|0) == 16) { __label__ = 19; break; } else if ((($3)|0) == 17) { __label__ = 20; break; } else if ((($3)|0) == 18) { __label__ = 21; break; } else if ((($3)|0) == 19) { __label__ = 22; break; } else if ((($3)|0) == 20) { __label__ = 23; break; } else if ((($3)|0) == 21) { __label__ = 24; break; } else if ((($3)|0) == 22) { __label__ = 25; break; } else if ((($3)|0) == 23) { __label__ = 26; break; } else if ((($3)|0) == 24) { __label__ = 27; break; } else if ((($3)|0) == 25) { __label__ = 28; break; } else if ((($3)|0) == 26) { __label__ = 29; break; } else if ((($3)|0) == 27) { __label__ = 30; break; } else if ((($3)|0) == 28) { __label__ = 31; break; } else if ((($3)|0) == 30) { __label__ = 32; break; } else if ((($3)|0) == 29) { __label__ = 33; break; } else { __label__ = 34; break; } case 3: $1=((STRING_TABLE.__str151)|0); __label__ = 35; break; case 4: $1=((STRING_TABLE.__str1152)|0); __label__ = 35; break; case 5: $1=((STRING_TABLE.__str2153)|0); __label__ = 35; break; case 6: $1=((STRING_TABLE.__str3154)|0); __label__ = 35; break; case 7: $1=((STRING_TABLE.__str4155)|0); __label__ = 35; break; case 8: $1=((STRING_TABLE.__str5156)|0); __label__ = 35; break; case 9: $1=((STRING_TABLE.__str6157)|0); __label__ = 35; break; case 10: $1=((STRING_TABLE.__str7158)|0); __label__ = 35; break; case 11: $1=((STRING_TABLE.__str8159)|0); __label__ = 35; break; case 12: $1=((STRING_TABLE.__str9160)|0); __label__ = 35; break; case 13: $1=((STRING_TABLE.__str10161)|0); __label__ = 35; break; case 14: $1=((STRING_TABLE.__str11162)|0); __label__ = 35; break; case 15: $1=((STRING_TABLE.__str12163)|0); __label__ = 35; break; case 16: $1=((STRING_TABLE.__str13164)|0); __label__ = 35; break; case 17: $1=((STRING_TABLE.__str14165)|0); __label__ = 35; break; case 18: $1=((STRING_TABLE.__str15166)|0); __label__ = 35; break; case 19: $1=((STRING_TABLE.__str16167)|0); __label__ = 35; break; case 20: $1=((STRING_TABLE.__str17168)|0); __label__ = 35; break; case 21: $1=((STRING_TABLE.__str18169)|0); __label__ = 35; break; case 22: $1=((STRING_TABLE.__str19170)|0); __label__ = 35; break; case 23: $1=((STRING_TABLE.__str20171)|0); __label__ = 35; break; case 24: $1=((STRING_TABLE.__str21172)|0); __label__ = 35; break; case 25: $1=((STRING_TABLE.__str22173)|0); __label__ = 35; break; case 26: $1=((STRING_TABLE.__str23174)|0); __label__ = 35; break; case 27: $1=((STRING_TABLE.__str24175)|0); __label__ = 35; break; case 28: $1=((STRING_TABLE.__str25176)|0); __label__ = 35; break; case 29: $1=((STRING_TABLE.__str26177)|0); __label__ = 35; break; case 30: $1=((STRING_TABLE.__str27178)|0); __label__ = 35; break; case 31: $1=((STRING_TABLE.__str28179)|0); __label__ = 35; break; case 32: $1=((__str29180)|0); __label__ = 35; break; case 33: $1=((STRING_TABLE.__str30181)|0); __label__ = 35; break; case 34: $1=((__str29180)|0); __label__ = 35; break; case 35: var $37=$1; ; return $37; default: assert(0, "bad label: " + __label__); } } _getfstypename["X"]=1; function _leapyear($year) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $rv; $1=$year; $rv=0; var $2=$1; var $3=$2 & 3; var $4=(($3)|0)==0; if ($4) { __label__ = 3; break; } else { __label__ = 8; break; } case 3: $rv=1; var $6=$1; var $7=((($6)|0))%(100); var $8=(($7)|0)==0; if ($8) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: $rv=0; var $10=$1; var $11=((($10)|0))%(400); var $12=(($11)|0)==0; if ($12) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $rv=1; __label__ = 6; break; case 6: __label__ = 7; break; case 7: __label__ = 8; break; case 8: var $17=$rv; ; return $17; default: assert(0, "bad label: " + __label__); } } function _consttime_bcmp($b1, $b2, $len) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $c1; var $c2; var $res; $1=$b1; $2=$b2; $3=$len; var $4=$1; $c1=$4; var $5=$2; $c2=$5; $res=0; __label__ = 3; break; case 3: var $7=$3; var $8=((($7)-(1))|0); $3=$8; var $9=(($7)|0)!=0; if ($9) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $11=$c1; var $12=(($11+1)|0); $c1=$12; var $13=HEAP8[($11)]; var $14=(($13 << 24) >> 24); var $15=$c2; var $16=(($15+1)|0); $c2=$16; var $17=HEAP8[($15)]; var $18=(($17 << 24) >> 24); var $19=$14 ^ $18; var $20=$res; var $21=$20 | $19; $res=$21; __label__ = 3; break; case 5: var $23=$res; ; return $23; default: assert(0, "bad label: " + __label__); } } function _clock_secs_to_ymdhms($secs$0, $secs$1, $dt) { var __stackBase__ = STACKTOP; STACKTOP += 72; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1=__stackBase__; var $2; var $mthdays=(__stackBase__)+(8); var $i; var $days=(__stackBase__)+(56); var $rsec=(__stackBase__)+(64); var $st$6$0=(($1)|0); HEAP32[(($st$6$0)>>2)]=$secs$0; var $st$6$1=(($1+4)|0); HEAP32[(($st$6$1)>>2)]=$secs$1; $2=$dt; var $3=(($mthdays)|0); var $4=$3; assert(48 % 1 === 0, 'memcpy given ' + 48 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = _month_days>>2, $$dest = $4>>2, $$stop = $$src + 12; $$src < $$stop; $$src++, $$dest++) { HEAP32[$$dest] = HEAP32[$$src] }; var $st$14$0=(($1)|0); var $5$0=HEAP32[(($st$14$0)>>2)]; var $st$14$1=(($1+4)|0); var $5$1=HEAP32[(($st$14$1)>>2)]; var $$emscripten$temp$0$0=86400; var $$emscripten$temp$0$1=0; var $6$0 = (i64Math.divide($5$0,$5$1,$$emscripten$temp$0$0,$$emscripten$temp$0$1),i64Math.result[0]); var $6$1 = i64Math.result[1]; var $st$21$0=(($days)|0); HEAP32[(($st$21$0)>>2)]=$6$0; var $st$21$1=(($days+4)|0); HEAP32[(($st$21$1)>>2)]=$6$1; var $st$25$0=(($1)|0); var $7$0=HEAP32[(($st$25$0)>>2)]; var $st$25$1=(($1+4)|0); var $7$1=HEAP32[(($st$25$1)>>2)]; var $$emscripten$temp$1$0=86400; var $$emscripten$temp$1$1=0; var $8$0 = (i64Math.modulo($7$0,$7$1,$$emscripten$temp$1$0,$$emscripten$temp$1$1),i64Math.result[0]); var $8$1 = i64Math.result[1]; var $st$32$0=(($rsec)|0); HEAP32[(($st$32$0)>>2)]=$8$0; var $st$32$1=(($rsec+4)|0); HEAP32[(($st$32$1)>>2)]=$8$1; var $st$36$0=(($days)|0); var $9$0=HEAP32[(($st$36$0)>>2)]; var $st$36$1=(($days+4)|0); var $9$1=HEAP32[(($st$36$1)>>2)]; var $$emscripten$temp$2$0=4; var $$emscripten$temp$2$1=0; var $10$0 = (i64Math.add($9$0,$9$1,$$emscripten$temp$2$0,$$emscripten$temp$2$1),i64Math.result[0]); var $10$1 = i64Math.result[1]; var $$emscripten$temp$3$0=7; var $$emscripten$temp$3$1=0; var $11$0 = (i64Math.modulo($10$0,$10$1,$$emscripten$temp$3$0,$$emscripten$temp$3$1),i64Math.result[0]); var $11$1 = i64Math.result[1]; var $12$0=$11$0; var $12=$12$0&255; var $13=$2; var $14=(($13+4)|0); HEAP8[($14)]=$12; $i=1970; __label__ = 3; break; case 3: var $st$0$0=(($days)|0); var $16$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=(($days+4)|0); var $16$1=HEAP32[(($st$0$1)>>2)]; var $17=$i; var $18=_leapyear($17); var $19=(($18)|0)!=0; var $20=$19 ? 366 : 365; var $21$0=$20; var $21$1=((($20)|0) < 0 ? -1 : 0); var $22=($16$1|0) >= ($21$1|0) && (($16$1|0) > ($21$1|0) || ($16$0>>>0) >= ($21$0>>>0)); if ($22) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $24=$i; var $25=_leapyear($24); var $26=(($25)|0)!=0; var $27=$26 ? 366 : 365; var $28$0=$27; var $28$1=((($27)|0) < 0 ? -1 : 0); var $st$6$0=(($days)|0); var $29$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($days+4)|0); var $29$1=HEAP32[(($st$6$1)>>2)]; var $30$0 = (i64Math.subtract($29$0,$29$1,$28$0,$28$1),i64Math.result[0]); var $30$1 = i64Math.result[1]; var $st$11$0=(($days)|0); HEAP32[(($st$11$0)>>2)]=$30$0; var $st$11$1=(($days+4)|0); HEAP32[(($st$11$1)>>2)]=$30$1; __label__ = 5; break; case 5: var $32=$i; var $33=((($32)+(1))|0); $i=$33; __label__ = 3; break; case 6: var $35=$i; var $36=(($35) & 65535); var $37=$2; var $38=(($37)|0); HEAP16[(($38)>>1)]=$36; var $39=$i; var $40=_leapyear($39); var $41=(($40)|0)!=0; if ($41) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $43=(($mthdays+4)|0); HEAP32[(($43)>>2)]=29; __label__ = 8; break; case 8: $i=1; __label__ = 9; break; case 9: var $st$0$0=(($days)|0); var $46$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=(($days+4)|0); var $46$1=HEAP32[(($st$0$1)>>2)]; var $47=$i; var $48=((($47)-(1))|0); var $49=(($mthdays+($48<<2))|0); var $50=HEAP32[(($49)>>2)]; var $51$0=$50; var $51$1=((($50)|0) < 0 ? -1 : 0); var $52=($46$1|0) >= ($51$1|0) && (($46$1|0) > ($51$1|0) || ($46$0>>>0) >= ($51$0>>>0)); if ($52) { __label__ = 10; break; } else { __label__ = 12; break; } case 10: var $54=$i; var $55=((($54)-(1))|0); var $56=(($mthdays+($55<<2))|0); var $57=HEAP32[(($56)>>2)]; var $58$0=$57; var $58$1=((($57)|0) < 0 ? -1 : 0); var $st$6$0=(($days)|0); var $59$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($days+4)|0); var $59$1=HEAP32[(($st$6$1)>>2)]; var $60$0 = (i64Math.subtract($59$0,$59$1,$58$0,$58$1),i64Math.result[0]); var $60$1 = i64Math.result[1]; var $st$11$0=(($days)|0); HEAP32[(($st$11$0)>>2)]=$60$0; var $st$11$1=(($days+4)|0); HEAP32[(($st$11$1)>>2)]=$60$1; __label__ = 11; break; case 11: var $62=$i; var $63=((($62)+(1))|0); $i=$63; __label__ = 9; break; case 12: var $65=$i; var $66=(($65) & 255); var $67=$2; var $68=(($67+2)|0); HEAP8[($68)]=$66; var $st$5$0=(($days)|0); var $69$0=HEAP32[(($st$5$0)>>2)]; var $st$5$1=(($days+4)|0); var $69$1=HEAP32[(($st$5$1)>>2)]; var $$emscripten$temp$4$0=1; var $$emscripten$temp$4$1=0; var $70$0 = (i64Math.add($69$0,$69$1,$$emscripten$temp$4$0,$$emscripten$temp$4$1),i64Math.result[0]); var $70$1 = i64Math.result[1]; var $71$0=$70$0; var $71=$71$0&255; var $72=$2; var $73=(($72+3)|0); HEAP8[($73)]=$71; var $st$17$0=(($rsec)|0); var $74$0=HEAP32[(($st$17$0)>>2)]; var $st$17$1=(($rsec+4)|0); var $74$1=HEAP32[(($st$17$1)>>2)]; var $$emscripten$temp$5$0=3600; var $$emscripten$temp$5$1=0; var $75$0 = (i64Math.divide($74$0,$74$1,$$emscripten$temp$5$0,$$emscripten$temp$5$1),i64Math.result[0]); var $75$1 = i64Math.result[1]; var $76$0=$75$0; var $76=$76$0&255; var $77=$2; var $78=(($77+5)|0); HEAP8[($78)]=$76; var $st$29$0=(($rsec)|0); var $79$0=HEAP32[(($st$29$0)>>2)]; var $st$29$1=(($rsec+4)|0); var $79$1=HEAP32[(($st$29$1)>>2)]; var $$emscripten$temp$6$0=3600; var $$emscripten$temp$6$1=0; var $80$0 = (i64Math.modulo($79$0,$79$1,$$emscripten$temp$6$0,$$emscripten$temp$6$1),i64Math.result[0]); var $80$1 = i64Math.result[1]; var $st$36$0=(($rsec)|0); HEAP32[(($st$36$0)>>2)]=$80$0; var $st$36$1=(($rsec+4)|0); HEAP32[(($st$36$1)>>2)]=$80$1; var $st$40$0=(($rsec)|0); var $81$0=HEAP32[(($st$40$0)>>2)]; var $st$40$1=(($rsec+4)|0); var $81$1=HEAP32[(($st$40$1)>>2)]; var $$emscripten$temp$7$0=60; var $$emscripten$temp$7$1=0; var $82$0 = (i64Math.divide($81$0,$81$1,$$emscripten$temp$7$0,$$emscripten$temp$7$1),i64Math.result[0]); var $82$1 = i64Math.result[1]; var $83$0=$82$0; var $83=$83$0&255; var $84=$2; var $85=(($84+6)|0); HEAP8[($85)]=$83; var $st$52$0=(($rsec)|0); var $86$0=HEAP32[(($st$52$0)>>2)]; var $st$52$1=(($rsec+4)|0); var $86$1=HEAP32[(($st$52$1)>>2)]; var $$emscripten$temp$8$0=60; var $$emscripten$temp$8$1=0; var $87$0 = (i64Math.modulo($86$0,$86$1,$$emscripten$temp$8$0,$$emscripten$temp$8$1),i64Math.result[0]); var $87$1 = i64Math.result[1]; var $st$59$0=(($rsec)|0); HEAP32[(($st$59$0)>>2)]=$87$0; var $st$59$1=(($rsec+4)|0); HEAP32[(($st$59$1)>>2)]=$87$1; var $st$63$0=(($rsec)|0); var $88$0=HEAP32[(($st$63$0)>>2)]; var $st$63$1=(($rsec+4)|0); var $88$1=HEAP32[(($st$63$1)>>2)]; var $89$0=$88$0; var $89=$89$0&255; var $90=$2; var $91=(($90+7)|0); HEAP8[($91)]=$89; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _clock_secs_to_ymdhms["X"]=1; function _cprng_strong_create($name, $ipl, $flags) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $c; $2=$name; $3=$ipl; $4=$flags; var $5=_kmem_zalloc(704, 2); var $6=$5; $c=$6; var $7=$c; var $8=(($7)|0)==0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 7; break; case 4: var $11=$c; var $12=(($11+572)|0); var $13=(($12)|0); var $14=$2; var $15=_strlcpy($13, $14, 16); var $16=$c; var $17=(($16)|0); var $18=$3; _mutex_init($17, 2, $18); var $19=$c; var $20=(($19+568)|0); var $21=HEAP32[(($20)>>2)]; var $22=$21 & 4; var $23=(($22)|0)!=0; if ($23) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $25=$c; var $26=(($25+4)|0); var $27=$2; _cv_init($26, $27); __label__ = 6; break; case 6: var $29=$c; var $30=(($29+16)|0); _selinit($30); var $31=$c; $1=$31; __label__ = 7; break; case 7: var $33=$1; ; return $33; default: assert(0, "bad label: " + __label__); } } function _cprng_strong($c, $p, $len, $blocking) { ; var __label__; var $1; var $2; var $3; var $4; $1=$c; $2=$p; $3=$len; $4=$blocking; var $5=$1; var $6=(($5)|0); _mutex_enter($6); var $7=$2; var $8=$3; var $9=_cprng_fast($7, $8); var $10=$1; var $11=(($10)|0); _mutex_exit($11); var $12=$3; ; return $12; } function _cprng_fast($p, $len) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $resp; var $pchar; var $res=__stackBase__; var $i; $2=$p; $3=$len; var $4=$2; $pchar=$4; __label__ = 3; break; case 3: var $6=_rumpuser_arc4random(); HEAP32[(($res)>>2)]=$6; var $7=$res; $resp=$7; $i=0; __label__ = 4; break; case 4: var $9=$i; var $10=(($9)>>>0) < 4; if ($10) { __label__ = 5; break; } else { __label__ = 9; break; } case 5: var $12=$i; var $13=$resp; var $14=(($13+$12)|0); var $15=HEAP8[($14)]; var $16=$pchar; var $17=(($16+1)|0); $pchar=$17; HEAP8[($16)]=$15; var $18=$pchar; var $19=$2; var $20=$3; var $21=(($19+$20)|0); var $22=(($18)|0)==(($21)|0); if ($22) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $24=$3; $1=$24; __label__ = 11; break; case 7: __label__ = 8; break; case 8: var $27=$i; var $28=((($27)+(1))|0); $i=$28; __label__ = 4; break; case 9: __label__ = 10; break; case 10: if (1) { __label__ = 3; break; } else { __label__ = 11; break; } case 11: var $32=$1; STACKTOP = __stackBase__; return $32; default: assert(0, "bad label: " + __label__); } } function _cprng_strong_destroy($c) { ; var __label__; var $1; $1=$c; var $2=$1; var $3=(($2)|0); _mutex_destroy($3); var $4=$1; var $5=(($4+4)|0); _cv_destroy($5); var $6=$1; var $7=$6; for (var $$dest = $7>>2, $$stop = $$dest + 176; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $8=$1; var $9=$8; _kmem_free($9, 704); ; return; } function _cprng_fast32() { ; var __label__; var $1=_rumpuser_arc4random(); ; return $1; } function _cprng_fast64() { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $ret=__stackBase__; var $ret32; var $1=$ret; $ret32=$1; var $2=_rumpuser_arc4random(); var $3=$ret32; var $4=(($3)|0); HEAP32[(($4)>>2)]=$2; var $5=_rumpuser_arc4random(); var $6=$ret32; var $7=(($6+4)|0); HEAP32[(($7)>>2)]=$5; var $st$12$0=(($ret)|0); var $8$0=HEAP32[(($st$12$0)>>2)]; var $st$12$1=(($ret+4)|0); var $8$1=HEAP32[(($st$12$1)>>2)]; STACKTOP = __stackBase__; return [$8$0,$8$1]; } function _kpause($wmesg, $intr, $timeo, $mtx) { var __stackBase__ = STACKTOP; STACKTOP += 20; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $rv; var $error=__stackBase__; var $sec=(__stackBase__)+(4); var $nsec=(__stackBase__)+(12); $2=$wmesg; var $6=(($intr)&1); $3=$6; $4=$timeo; $5=$mtx; var $7=$5; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=$5; _mutex_exit($10); __label__ = 4; break; case 4: var $12=$4; var $13=HEAP32[((_hz)>>2)]; var $14=((((($12)|0))/((($13)|0)))&-1); var $15$0=$14; var $15$1=((($14)|0) < 0 ? -1 : 0); var $st$5$0=(($sec)|0); HEAP32[(($st$5$0)>>2)]=$15$0; var $st$5$1=(($sec+4)|0); HEAP32[(($st$5$1)>>2)]=$15$1; var $16=$4; var $17=HEAP32[((_hz)>>2)]; var $18=((($16)|0))%((($17)|0)); var $19=HEAP32[((_hz)>>2)]; var $20=(((1000000000)/((($19)|0)))&-1); var $21=((($18)*($20))|0); var $22$0=$21; var $22$1=((($21)|0) < 0 ? -1 : 0); var $st$17$0=(($nsec)|0); HEAP32[(($st$17$0)>>2)]=$22$0; var $st$17$1=(($nsec+4)|0); HEAP32[(($st$17$1)>>2)]=$22$1; var $23=_rumpuser_nanosleep($sec, $nsec, $error); $rv=$23; var $24=$5; var $25=(($24)|0)!=0; if ($25) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $27=$5; _mutex_enter($27); __label__ = 6; break; case 6: var $29=$rv; var $30=(($29)|0)!=0; if ($30) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $32=HEAP32[(($error)>>2)]; $1=$32; __label__ = 9; break; case 8: $1=0; __label__ = 9; break; case 9: var $35=$1; STACKTOP = __stackBase__; return $35; default: assert(0, "bad label: " + __label__); } } _kpause["X"]=1; function _lwp_unsleep($l, $cleanup) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$l; var $3=(($cleanup)&1); $2=$3; var $4=$1; var $5=(($4+16)|0); var $6=HEAP32[(($5)>>2)]; var $7=_mutex_owned($6); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1144)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2145)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3146)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4147)|0),HEAP32[(((tempInt)+(12))>>2)]=166,tempInt)); __label__ = 5; break; case 5: var $15=$1; var $16=(($15+172)|0); var $17=HEAP32[(($16)>>2)]; var $18=(($17+4)|0); var $19=HEAP32[(($18)>>2)]; var $20=$1; var $21=$2; var $22=(($21) & 1); FUNCTION_TABLE[$19]($20, $22); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _lwp_update_creds($l) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $p; var $oldcred; $1=$l; var $2=$1; var $3=(($2+272)|0); var $4=HEAP32[(($3)>>2)]; $p=$4; var $5=$1; var $6=(($5+480)|0); var $7=HEAP32[(($6)>>2)]; $oldcred=$7; var $8=$1; var $9=(($8+292)|0); var $10=HEAP32[(($9)>>2)]; var $11=$10 & -257; HEAP32[(($9)>>2)]=$11; var $12=$p; var $13=(($12+12)|0); var $14=HEAP32[(($13)>>2)]; _mutex_enter($14); var $15=$p; var $16=(($15+48)|0); var $17=HEAP32[(($16)>>2)]; _kauth_cred_hold($17); var $18=$p; var $19=(($18+48)|0); var $20=HEAP32[(($19)>>2)]; var $21=$1; var $22=(($21+480)|0); HEAP32[(($22)>>2)]=$20; var $23=$p; var $24=(($23+12)|0); var $25=HEAP32[(($24)>>2)]; _mutex_exit($25); var $26=$oldcred; var $27=(($26)|0)!=0; if ($27) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $29=$oldcred; _kauth_cred_free($29); __label__ = 4; break; case 4: ; return; default: assert(0, "bad label: " + __label__); } } function _rump_delay($us) { var __stackBase__ = STACKTOP; STACKTOP += 20; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $sec=__stackBase__; var $nsec=(__stackBase__)+(8); var $error=(__stackBase__)+(16); $1=$us; var $2=$1; var $3=Math.floor(((($2)>>>0))/(1000000)); var $4$0=$3; var $4$1=0; var $st$9$0=(($sec)|0); HEAP32[(($st$9$0)>>2)]=$4$0; var $st$9$1=(($sec+4)|0); HEAP32[(($st$9$1)>>2)]=$4$1; var $5=$1; var $6=((($5)>>>0))%(1000000); var $7=((($6)*(1000))|0); var $8$0=$7; var $8$1=0; var $st$18$0=(($nsec)|0); HEAP32[(($st$18$0)>>2)]=$8$0; var $st$18$1=(($nsec+4)|0); HEAP32[(($st$18$1)>>2)]=$8$1; var $st$22$0=(($sec)|0); var $9$0=HEAP32[(($st$22$0)>>2)]; var $st$22$1=(($sec+4)|0); var $9$1=HEAP32[(($st$22$1)>>2)]; var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $10=$9$0 != $$emscripten$temp$0$0 || $9$1 != $$emscripten$temp$0$1; var $11=(($10)&1); var $12=(($11)|0)!=0; var $13=(($12)&1); var $14=$13; var $15=(($14)|0)!=0; if ($15) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _printf(((STRING_TABLE.__str7150)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 4; break; case 4: var $18=_rumpuser_nanosleep($sec, $nsec, $error); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _rump_tputchar($c, $flags, $tp) { ; var __label__; var $1; var $2; var $3; $1=$c; $2=$flags; $3=$tp; var $4=$1; _cnputc($4); ; return 0; } function _cnputc($c) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $error=__stackBase__; $1=$c; var $2=$1; var $3=_rumpuser_putchar($2, $error); STACKTOP = __stackBase__; return; } function _explicit_bzero($b, $len) { ; var __label__; var $1; var $2; $1=$b; $2=$len; var $3=HEAP32[((_explicit_memset_impl)>>2)]; var $4=$1; var $5=$2; var $6=FUNCTION_TABLE[$3]($4, 0, $5); ; return; } function _calc_cache_size($map, $pct, $va_pct) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $t; $1=$map; $2=$pct; $3=$va_pct; var $4=HEAP32[((_physmem)>>2)]; var $5=$2; var $6=((($4)*($5))|0); var $7=Math.floor(((($6)>>>0))/(100)); var $8=((($7<<12))|0); $t=$8; var $9=$t; var $10=$t; var $11=(($9)|0)!=(($10)|0); if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _panic(((STRING_TABLE.__str5148)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.___func___calc_cache_size)|0),tempInt)); throw "Reached an unreachable!" case 4: var $14=$t; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _xc_send_ipi($ci) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; $1=$ci; _panic(((STRING_TABLE.__str6149)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" STACKTOP = __stackBase__; return; } function _imax($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$a; $2=$b; var $3=$1; var $4=$2; var $5=(($3)|0) > (($4)|0); if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $11 = $7;__label__ = 5; break; case 4: var $9=$2; var $11 = $9;__label__ = 5; break; case 5: var $11; ; return $11; default: assert(0, "bad label: " + __label__); } } function _imin($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$a; $2=$b; var $3=$1; var $4=$2; var $5=(($3)|0) < (($4)|0); if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $11 = $7;__label__ = 5; break; case 4: var $9=$2; var $11 = $9;__label__ = 5; break; case 5: var $11; ; return $11; default: assert(0, "bad label: " + __label__); } } function _isdigit($ch) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$ch; var $2=$1; var $3=(($2)|0) >= 48; if ($3) { __label__ = 3; break; } else { var $8 = 0;__label__ = 4; break; } case 3: var $5=$1; var $6=(($5)|0) <= 57; var $8 = $6;__label__ = 4; break; case 4: var $8; var $9=(($8)&1); ; return $9; default: assert(0, "bad label: " + __label__); } } function _isascii($ch) { ; var __label__; var $1; $1=$ch; var $2=$1; var $3=$2 & -128; var $4=(($3)|0)==0; var $5=(($4)&1); ; return $5; } function _islower($ch) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$ch; var $2=$1; var $3=(($2)|0) >= 97; if ($3) { __label__ = 3; break; } else { var $8 = 0;__label__ = 4; break; } case 3: var $5=$1; var $6=(($5)|0) <= 122; var $8 = $6;__label__ = 4; break; case 4: var $8; var $9=(($8)&1); ; return $9; default: assert(0, "bad label: " + __label__); } } function _isspace($ch) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$ch; var $2=$1; var $3=(($2)|0)==32; if ($3) { var $13 = 1;__label__ = 6; break; } else { __label__ = 3; break; } case 3: var $5=$1; var $6=(($5)|0) >= 9; if ($6) { __label__ = 4; break; } else { var $11 = 0;__label__ = 5; break; } case 4: var $8=$1; var $9=(($8)|0) <= 13; var $11 = $9;__label__ = 5; break; case 5: var $11; var $13 = $11;__label__ = 6; break; case 6: var $13; var $14=(($13)&1); ; return $14; default: assert(0, "bad label: " + __label__); } } function _kheapsort($vbase, $nmemb, $size, $compar, $k) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $cnt; var $i; var $j; var $l; var $tmp; var $tmp1; var $tmp2; var $base; var $p; var $t; $2=$vbase; $3=$nmemb; $4=$size; $5=$compar; $6=$k; var $7=$2; var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=$11; var $13=(($12)|0)!=0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str182)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((__str1184)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2185)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3186)|0),HEAP32[(((tempInt)+(12))>>2)]=187,tempInt)); __label__ = 5; break; case 5: var $17=$5; var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=$21; var $23=(($22)|0)!=0; if ($23) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str182)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((__str1184)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4187)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3186)|0),HEAP32[(((tempInt)+(12))>>2)]=188,tempInt)); __label__ = 8; break; case 8: var $27=$3; var $28=(($27)>>>0) <= 1; if ($28) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $1=0; __label__ = 58; break; case 10: var $31=$4; var $32=(($31)|0)!=0; if ($32) { __label__ = 12; break; } else { __label__ = 11; break; } case 11: $1=-1; __label__ = 58; break; case 12: var $35=$2; var $36=$4; var $37=(((-$36))|0); var $38=(($35+$37)|0); $base=$38; var $39=$3; var $40=Math.floor(((($39)>>>0))/(2)); var $41=((($40)+(1))|0); $l=$41; __label__ = 13; break; case 13: var $43=$l; var $44=((($43)-(1))|0); $l=$44; var $45=(($44)|0)!=0; if ($45) { __label__ = 14; break; } else { __label__ = 27; break; } case 14: var $47=$l; $i=$47; __label__ = 15; break; case 15: var $49=$i; var $50=((($49<<1))|0); $j=$50; var $51=$3; var $52=(($50)>>>0) <= (($51)>>>0); if ($52) { __label__ = 16; break; } else { __label__ = 26; break; } case 16: var $54=$base; var $55=$j; var $56=$4; var $57=((($55)*($56))|0); var $58=(($54+$57)|0); $p=$58; var $59=$j; var $60=$3; var $61=(($59)>>>0) < (($60)>>>0); if ($61) { __label__ = 17; break; } else { __label__ = 19; break; } case 17: var $63=$5; var $64=$p; var $65=$p; var $66=$4; var $67=(($65+$66)|0); var $68=FUNCTION_TABLE[$63]($64, $67); var $69=(($68)|0) < 0; if ($69) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: var $71=$4; var $72=$p; var $73=(($72+$71)|0); $p=$73; var $74=$j; var $75=((($74)+(1))|0); $j=$75; __label__ = 19; break; case 19: var $77=$base; var $78=$i; var $79=$4; var $80=((($78)*($79))|0); var $81=(($77+$80)|0); $t=$81; var $82=$5; var $83=$p; var $84=$t; var $85=FUNCTION_TABLE[$82]($83, $84); var $86=(($85)|0) <= 0; if ($86) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 26; break; case 21: var $89=$4; $cnt=$89; __label__ = 22; break; case 22: var $91=$t; var $92=HEAP8[($91)]; $tmp=$92; var $93=$p; var $94=HEAP8[($93)]; var $95=$t; var $96=(($95+1)|0); $t=$96; HEAP8[($95)]=$94; var $97=$tmp; var $98=$p; var $99=(($98+1)|0); $p=$99; HEAP8[($98)]=$97; __label__ = 23; break; case 23: var $101=$cnt; var $102=((($101)-(1))|0); $cnt=$102; var $103=(($102)|0)!=0; if ($103) { __label__ = 22; break; } else { __label__ = 24; break; } case 24: __label__ = 25; break; case 25: var $106=$j; $i=$106; __label__ = 15; break; case 26: __label__ = 13; break; case 27: __label__ = 28; break; case 28: var $110=$3; var $111=(($110)>>>0) > 1; if ($111) { __label__ = 29; break; } else { __label__ = 57; break; } case 29: var $113=$4; $cnt=$113; var $114=$6; $tmp1=$114; var $115=$base; var $116=$3; var $117=$4; var $118=((($116)*($117))|0); var $119=(($115+$118)|0); $tmp2=$119; __label__ = 30; break; case 30: var $121=$tmp2; var $122=(($121+1)|0); $tmp2=$122; var $123=HEAP8[($121)]; var $124=$tmp1; var $125=(($124+1)|0); $tmp1=$125; HEAP8[($124)]=$123; __label__ = 31; break; case 31: var $127=$cnt; var $128=((($127)-(1))|0); $cnt=$128; var $129=(($128)|0)!=0; if ($129) { __label__ = 30; break; } else { __label__ = 32; break; } case 32: var $131=$4; $cnt=$131; var $132=$base; var $133=$3; var $134=$4; var $135=((($133)*($134))|0); var $136=(($132+$135)|0); $tmp1=$136; var $137=$base; var $138=$4; var $139=(($137+$138)|0); $tmp2=$139; __label__ = 33; break; case 33: var $141=$tmp2; var $142=(($141+1)|0); $tmp2=$142; var $143=HEAP8[($141)]; var $144=$tmp1; var $145=(($144+1)|0); $tmp1=$145; HEAP8[($144)]=$143; __label__ = 34; break; case 34: var $147=$cnt; var $148=((($147)-(1))|0); $cnt=$148; var $149=(($148)|0)!=0; if ($149) { __label__ = 33; break; } else { __label__ = 35; break; } case 35: var $151=$3; var $152=((($151)-(1))|0); $3=$152; $i=1; __label__ = 36; break; case 36: var $154=$i; var $155=((($154<<1))|0); $j=$155; var $156=$3; var $157=(($155)>>>0) <= (($156)>>>0); if ($157) { __label__ = 37; break; } else { __label__ = 45; break; } case 37: var $159=$base; var $160=$j; var $161=$4; var $162=((($160)*($161))|0); var $163=(($159+$162)|0); $p=$163; var $164=$j; var $165=$3; var $166=(($164)>>>0) < (($165)>>>0); if ($166) { __label__ = 38; break; } else { __label__ = 40; break; } case 38: var $168=$5; var $169=$p; var $170=$p; var $171=$4; var $172=(($170+$171)|0); var $173=FUNCTION_TABLE[$168]($169, $172); var $174=(($173)|0) < 0; if ($174) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: var $176=$4; var $177=$p; var $178=(($177+$176)|0); $p=$178; var $179=$j; var $180=((($179)+(1))|0); $j=$180; __label__ = 40; break; case 40: var $182=$base; var $183=$i; var $184=$4; var $185=((($183)*($184))|0); var $186=(($182+$185)|0); $t=$186; var $187=$4; $cnt=$187; var $188=$t; $tmp1=$188; var $189=$p; $tmp2=$189; __label__ = 41; break; case 41: var $191=$tmp2; var $192=(($191+1)|0); $tmp2=$192; var $193=HEAP8[($191)]; var $194=$tmp1; var $195=(($194+1)|0); $tmp1=$195; HEAP8[($194)]=$193; __label__ = 42; break; case 42: var $197=$cnt; var $198=((($197)-(1))|0); $cnt=$198; var $199=(($198)|0)!=0; if ($199) { __label__ = 41; break; } else { __label__ = 43; break; } case 43: __label__ = 44; break; case 44: var $202=$j; $i=$202; __label__ = 36; break; case 45: __label__ = 46; break; case 46: var $205=$i; $j=$205; var $206=$j; var $207=Math.floor(((($206)>>>0))/(2)); $i=$207; var $208=$base; var $209=$j; var $210=$4; var $211=((($209)*($210))|0); var $212=(($208+$211)|0); $p=$212; var $213=$base; var $214=$i; var $215=$4; var $216=((($214)*($215))|0); var $217=(($213+$216)|0); $t=$217; var $218=$j; var $219=(($218)|0)==1; if ($219) { __label__ = 48; break; } else { __label__ = 47; break; } case 47: var $221=$5; var $222=$6; var $223=$t; var $224=FUNCTION_TABLE[$221]($222, $223); var $225=(($224)|0) < 0; if ($225) { __label__ = 48; break; } else { __label__ = 52; break; } case 48: var $227=$4; $cnt=$227; var $228=$p; $tmp1=$228; var $229=$6; $tmp2=$229; __label__ = 49; break; case 49: var $231=$tmp2; var $232=(($231+1)|0); $tmp2=$232; var $233=HEAP8[($231)]; var $234=$tmp1; var $235=(($234+1)|0); $tmp1=$235; HEAP8[($234)]=$233; __label__ = 50; break; case 50: var $237=$cnt; var $238=((($237)-(1))|0); $cnt=$238; var $239=(($238)|0)!=0; if ($239) { __label__ = 49; break; } else { __label__ = 51; break; } case 51: __label__ = 56; break; case 52: var $242=$4; $cnt=$242; var $243=$p; $tmp1=$243; var $244=$t; $tmp2=$244; __label__ = 53; break; case 53: var $246=$tmp2; var $247=(($246+1)|0); $tmp2=$247; var $248=HEAP8[($246)]; var $249=$tmp1; var $250=(($249+1)|0); $tmp1=$250; HEAP8[($249)]=$248; __label__ = 54; break; case 54: var $252=$cnt; var $253=((($252)-(1))|0); $cnt=$253; var $254=(($253)|0)!=0; if ($254) { __label__ = 53; break; } else { __label__ = 55; break; } case 55: __label__ = 46; break; case 56: __label__ = 28; break; case 57: $1=0; __label__ = 58; break; case 58: var $259=$1; STACKTOP = __stackBase__; return $259; default: assert(0, "bad label: " + __label__); } } _kheapsort["X"]=1; function _inet_addr($cp) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $val=__stackBase__; $2=$cp; var $3=$2; var $4=_inet_aton($3, $val); var $5=(($4)|0)!=0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=(($val)|0); var $8=((((HEAPU8[($7)])|(HEAPU8[(($7)+(1))]<<8)|(HEAPU8[(($7)+(2))]<<16)|(HEAPU8[(($7)+(3))]<<24))|0)); $1=$8; __label__ = 5; break; case 4: var $10=_bswap32(-1); $1=$10; __label__ = 5; break; case 5: var $12=$1; STACKTOP = __stackBase__; return $12; default: assert(0, "bad label: " + __label__); } } function _inet_aton($cp, $addr) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $val; var $base; var $n; var $c; var $parts=__stackBase__; var $pp; var $digit; $2=$cp; $3=$addr; var $4=(($parts)|0); $pp=$4; var $5=$2; var $6=HEAP8[($5)]; $c=$6; __label__ = 3; break; case 3: var $8=$c; var $9=(($8)&255); var $10=_isdigit($9); var $11=(($10)|0)!=0; if ($11) { __label__ = 5; break; } else { __label__ = 4; break; } case 4: $1=0; __label__ = 53; break; case 5: $val=0; $base=10; $digit=0; var $14=$c; var $15=(($14 << 24) >> 24); var $16=(($15)|0)==48; if ($16) { __label__ = 6; break; } else { __label__ = 11; break; } case 6: var $18=$2; var $19=(($18+1)|0); $2=$19; var $20=HEAP8[($19)]; $c=$20; var $21=$c; var $22=(($21 << 24) >> 24); var $23=(($22)|0)==120; if ($23) { __label__ = 8; break; } else { __label__ = 7; break; } case 7: var $25=$c; var $26=(($25 << 24) >> 24); var $27=(($26)|0)==88; if ($27) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $base=16; var $29=$2; var $30=(($29+1)|0); $2=$30; var $31=HEAP8[($30)]; $c=$31; __label__ = 10; break; case 9: $base=8; $digit=1; __label__ = 10; break; case 10: __label__ = 11; break; case 11: __label__ = 12; break; case 12: var $36=$c; var $37=(($36 << 24) >> 24); var $38=_isascii($37); var $39=(($38)|0)!=0; if ($39) { __label__ = 13; break; } else { __label__ = 19; break; } case 13: var $41=$c; var $42=(($41)&255); var $43=_isdigit($42); var $44=(($43)|0)!=0; if ($44) { __label__ = 14; break; } else { __label__ = 19; break; } case 14: var $46=$base; var $47=(($46)|0)==8; if ($47) { __label__ = 15; break; } else { __label__ = 18; break; } case 15: var $49=$c; var $50=(($49 << 24) >> 24); var $51=(($50)|0)==56; if ($51) { __label__ = 17; break; } else { __label__ = 16; break; } case 16: var $53=$c; var $54=(($53 << 24) >> 24); var $55=(($54)|0)==57; if ($55) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: $1=0; __label__ = 53; break; case 18: var $58=$val; var $59=$base; var $60=((($58)*($59))|0); var $61=$c; var $62=(($61 << 24) >> 24); var $63=((($62)-(48))|0); var $64=((($60)+($63))|0); $val=$64; var $65=$2; var $66=(($65+1)|0); $2=$66; var $67=HEAP8[($66)]; $c=$67; $digit=1; __label__ = 25; break; case 19: var $69=$base; var $70=(($69)|0)==16; if ($70) { __label__ = 20; break; } else { __label__ = 23; break; } case 20: var $72=$c; var $73=(($72 << 24) >> 24); var $74=_isascii($73); var $75=(($74)|0)!=0; if ($75) { __label__ = 21; break; } else { __label__ = 23; break; } case 21: var $77=$c; var $78=(($77)&255); var $79=_isxdigit($78); var $80=(($79)|0)!=0; if ($80) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $82=$val; var $83=$82 << 4; var $84=$c; var $85=(($84 << 24) >> 24); var $86=((($85)+(10))|0); var $87=$c; var $88=(($87)&255); var $89=_islower($88); var $90=(($89)|0)!=0; var $91=$90 ? 97 : 65; var $92=((($86)-($91))|0); var $93=$83 | $92; $val=$93; var $94=$2; var $95=(($94+1)|0); $2=$95; var $96=HEAP8[($95)]; $c=$96; $digit=1; __label__ = 24; break; case 23: __label__ = 26; break; case 24: __label__ = 25; break; case 25: __label__ = 12; break; case 26: var $101=$c; var $102=(($101 << 24) >> 24); var $103=(($102)|0)==46; if ($103) { __label__ = 27; break; } else { __label__ = 31; break; } case 27: var $105=$pp; var $106=(($parts)|0); var $107=(($106+3)|0); var $108=(($105)>>>0) >= (($107)>>>0); if ($108) { __label__ = 29; break; } else { __label__ = 28; break; } case 28: var $110=$val; var $111=(($110)>>>0) > 255; if ($111) { __label__ = 29; break; } else { __label__ = 30; break; } case 29: $1=0; __label__ = 53; break; case 30: var $114=$val; var $115=(($114) & 255); var $116=$pp; var $117=(($116+1)|0); $pp=$117; HEAP8[($116)]=$115; var $118=$2; var $119=(($118+1)|0); $2=$119; var $120=HEAP8[($119)]; $c=$120; __label__ = 32; break; case 31: __label__ = 33; break; case 32: __label__ = 3; break; case 33: var $124=$c; var $125=(($124 << 24) >> 24); var $126=(($125)|0)!=0; if ($126) { __label__ = 34; break; } else { __label__ = 37; break; } case 34: var $128=$c; var $129=(($128 << 24) >> 24); var $130=_isascii($129); var $131=(($130)|0)!=0; if ($131) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: var $133=$c; var $134=(($133)&255); var $135=_isspace($134); var $136=(($135)|0)!=0; if ($136) { __label__ = 37; break; } else { __label__ = 36; break; } case 36: $1=0; __label__ = 53; break; case 37: var $139=$digit; var $140=(($139)|0)!=0; if ($140) { __label__ = 39; break; } else { __label__ = 38; break; } case 38: $1=0; __label__ = 53; break; case 39: var $143=$pp; var $144=(($parts)|0); var $145=$143; var $146=$144; var $147=((($145)-($146))|0); var $148=((($147)+(1))|0); $n=$148; var $149=$n; if ((($149)|0) == 1) { __label__ = 40; break; } else if ((($149)|0) == 2) { __label__ = 41; break; } else if ((($149)|0) == 3) { __label__ = 44; break; } else if ((($149)|0) == 4) { __label__ = 47; break; } else { __label__ = 50; break; } case 40: __label__ = 50; break; case 41: var $152=$val; var $153=(($152)>>>0) > 16777215; if ($153) { __label__ = 42; break; } else { __label__ = 43; break; } case 42: $1=0; __label__ = 53; break; case 43: var $156=(($parts)|0); var $157=HEAP8[($156)]; var $158=(($157)&255); var $159=$158 << 24; var $160=$val; var $161=$160 | $159; $val=$161; __label__ = 50; break; case 44: var $163=$val; var $164=(($163)>>>0) > 65535; if ($164) { __label__ = 45; break; } else { __label__ = 46; break; } case 45: $1=0; __label__ = 53; break; case 46: var $167=(($parts)|0); var $168=HEAP8[($167)]; var $169=(($168)&255); var $170=$169 << 24; var $171=(($parts+1)|0); var $172=HEAP8[($171)]; var $173=(($172)&255); var $174=$173 << 16; var $175=$170 | $174; var $176=$val; var $177=$176 | $175; $val=$177; __label__ = 50; break; case 47: var $179=$val; var $180=(($179)>>>0) > 255; if ($180) { __label__ = 48; break; } else { __label__ = 49; break; } case 48: $1=0; __label__ = 53; break; case 49: var $183=(($parts)|0); var $184=HEAP8[($183)]; var $185=(($184)&255); var $186=$185 << 24; var $187=(($parts+1)|0); var $188=HEAP8[($187)]; var $189=(($188)&255); var $190=$189 << 16; var $191=$186 | $190; var $192=(($parts+2)|0); var $193=HEAP8[($192)]; var $194=(($193)&255); var $195=$194 << 8; var $196=$191 | $195; var $197=$val; var $198=$197 | $196; $val=$198; __label__ = 50; break; case 50: var $200=$3; var $201=(($200)|0)!=0; if ($201) { __label__ = 51; break; } else { __label__ = 52; break; } case 51: var $203=$val; var $204=_bswap32($203); var $205=$3; var $206=(($205)|0); tempBigInt=$204;HEAP8[($206)]=tempBigInt&0xff;tempBigInt>>=8;HEAP8[(($206)+(1))]=tempBigInt&0xff;tempBigInt>>=8;HEAP8[(($206)+(2))]=tempBigInt&0xff;tempBigInt>>=8;HEAP8[(($206)+(3))]=tempBigInt&0xff; __label__ = 52; break; case 52: $1=1; __label__ = 53; break; case 53: var $209=$1; STACKTOP = __stackBase__; return $209; default: assert(0, "bad label: " + __label__); } } _inet_aton["X"]=1; function _isxdigit($ch) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$ch; var $2=$1; var $3=_isdigit($2); var $4=(($3)|0)!=0; if ($4) { var $20 = 1;__label__ = 8; break; } else { __label__ = 3; break; } case 3: var $6=$1; var $7=(($6)|0) >= 65; if ($7) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $9=$1; var $10=(($9)|0) <= 70; if ($10) { var $20 = 1;__label__ = 8; break; } else { __label__ = 5; break; } case 5: var $12=$1; var $13=(($12)|0) >= 97; if ($13) { __label__ = 6; break; } else { var $18 = 0;__label__ = 7; break; } case 6: var $15=$1; var $16=(($15)|0) <= 102; var $18 = $16;__label__ = 7; break; case 7: var $18; var $20 = $18;__label__ = 8; break; case 8: var $20; var $21=(($20)&1); ; return $21; default: assert(0, "bad label: " + __label__); } } // WARNING: content after a branch in a label, line: 14383 // WARNING: content after a branch in a label, line: 14546 function _cpu_intr_p() { ; var __label__; ; return 0; } function _sysctl_root_setup($clog) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $11; var $12; var $13; var $14; $14=$clog; var $15=$14; $13=0; var $16=$13; var $17=$16; var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $$emscripten$temp$0=((STRING_TABLE.__str188)|0); var $18=_sysctl_createv($15, 0, 0, 0, 512, 1, $$emscripten$temp$0, 0, 0, $$emscripten$temp$1$0, $$emscripten$temp$1$1, $17, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $19=$14; $1=0; var $20=$1; var $21=$20; var $$emscripten$temp$3$0=0; var $$emscripten$temp$3$1=0; var $$emscripten$temp$2=((STRING_TABLE.__str1189)|0); var $22=_sysctl_createv($19, 0, 0, 0, 512, 1, $$emscripten$temp$2, 0, 0, $$emscripten$temp$3$0, $$emscripten$temp$3$1, $21, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=2,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $23=$14; $2=0; var $24=$2; var $25=$24; var $$emscripten$temp$5$0=0; var $$emscripten$temp$5$1=0; var $$emscripten$temp$4=((STRING_TABLE.__str2190)|0); var $26=_sysctl_createv($23, 0, 0, 0, 512, 1, $$emscripten$temp$4, 0, 0, $$emscripten$temp$5$0, $$emscripten$temp$5$1, $25, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=3,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $27=$14; $3=0; var $28=$3; var $29=$28; var $$emscripten$temp$7$0=0; var $$emscripten$temp$7$1=0; var $$emscripten$temp$6=((STRING_TABLE.__str3191)|0); var $30=_sysctl_createv($27, 0, 0, 0, 512, 1, $$emscripten$temp$6, 0, 0, $$emscripten$temp$7$0, $$emscripten$temp$7$1, $29, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=4,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $31=$14; $4=0; var $32=$4; var $33=$32; var $$emscripten$temp$9$0=0; var $$emscripten$temp$9$1=0; var $$emscripten$temp$8=((STRING_TABLE.__str4192)|0); var $34=_sysctl_createv($31, 0, 0, 0, 512, 1, $$emscripten$temp$8, 0, 0, $$emscripten$temp$9$0, $$emscripten$temp$9$1, $33, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=5,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $35=$14; $5=0; var $36=$5; var $37=$36; var $$emscripten$temp$11$0=0; var $$emscripten$temp$11$1=0; var $$emscripten$temp$10=((STRING_TABLE.__str5193)|0); var $38=_sysctl_createv($35, 0, 0, 0, 512, 1, $$emscripten$temp$10, 0, 0, $$emscripten$temp$11$0, $$emscripten$temp$11$1, $37, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=6,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $39=$14; $6=0; var $40=$6; var $41=$40; var $$emscripten$temp$13$0=0; var $$emscripten$temp$13$1=0; var $$emscripten$temp$12=((STRING_TABLE.__str6194)|0); var $42=_sysctl_createv($39, 0, 0, 0, 512, 1, $$emscripten$temp$12, 0, 0, $$emscripten$temp$13$0, $$emscripten$temp$13$1, $41, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=7,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $43=$14; $7=0; var $44=$7; var $45=$44; var $$emscripten$temp$15$0=0; var $$emscripten$temp$15$1=0; var $$emscripten$temp$14=((STRING_TABLE.__str7195)|0); var $46=_sysctl_createv($43, 0, 0, 0, 512, 1, $$emscripten$temp$14, 0, 0, $$emscripten$temp$15$0, $$emscripten$temp$15$1, $45, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=8,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $47=$14; $8=0; var $48=$8; var $49=$48; var $$emscripten$temp$17$0=0; var $$emscripten$temp$17$1=0; var $$emscripten$temp$16=((STRING_TABLE.__str8196)|0); var $50=_sysctl_createv($47, 0, 0, 0, 512, 1, $$emscripten$temp$16, 0, 0, $$emscripten$temp$17$0, $$emscripten$temp$17$1, $49, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=9,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $51=$14; $9=0; var $52=$9; var $53=$52; var $$emscripten$temp$19$0=0; var $$emscripten$temp$19$1=0; var $$emscripten$temp$18=((STRING_TABLE.__str9197)|0); var $54=_sysctl_createv($51, 0, 0, 0, 512, 1, $$emscripten$temp$18, 0, 0, $$emscripten$temp$19$0, $$emscripten$temp$19$1, $53, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=10,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $55=$14; $10=0; var $56=$10; var $57=$56; var $$emscripten$temp$21$0=0; var $$emscripten$temp$21$1=0; var $$emscripten$temp$20=((STRING_TABLE.__str10198)|0); var $58=_sysctl_createv($55, 0, 0, 0, 624, 1, $$emscripten$temp$20, 0, 0, $$emscripten$temp$21$0, $$emscripten$temp$21$1, $57, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=11,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $59=$14; $11=0; var $60=$11; var $61=$60; var $$emscripten$temp$23$0=0; var $$emscripten$temp$23$1=0; var $$emscripten$temp$22=((STRING_TABLE.__str11199)|0); var $62=_sysctl_createv($59, 0, 0, 0, 512, 1, $$emscripten$temp$22, 0, 0, $$emscripten$temp$23$0, $$emscripten$temp$23$1, $61, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=12,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); var $63=$14; $12=0; var $64=$12; var $65=$64; var $$emscripten$temp$25$0=0; var $$emscripten$temp$25$1=0; var $$emscripten$temp$24=((STRING_TABLE.__str12200)|0); var $66=_sysctl_createv($63, 0, 0, 0, 512, 1, $$emscripten$temp$24, 0, 0, $$emscripten$temp$25$0, $$emscripten$temp$25$1, $65, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=13,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); STACKTOP = __stackBase__; return; } _sysctl_root_setup["X"]=1; function _intoa($addr) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $cp; var $byte; var $n; $1=$addr; var $2=$1; var $3=_bswap32($2); $1=$3; $cp=((_intoa_buf+17)|0); var $4=$cp; var $5=((($4)-(1))|0); $cp=$5; HEAP8[($5)]=0; $n=4; __label__ = 3; break; case 3: var $7=$1; var $8=$7 & 255; $byte=$8; var $9=$byte; var $10=((($9)>>>0))%(10); var $11=((($10)+(48))|0); var $12=(($11) & 255); var $13=$cp; var $14=((($13)-(1))|0); $cp=$14; HEAP8[($14)]=$12; var $15=$byte; var $16=Math.floor(((($15)>>>0))/(10)); $byte=$16; var $17=$byte; var $18=(($17)>>>0) > 0; if ($18) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: var $20=$byte; var $21=((($20)>>>0))%(10); var $22=((($21)+(48))|0); var $23=(($22) & 255); var $24=$cp; var $25=((($24)-(1))|0); $cp=$25; HEAP8[($25)]=$23; var $26=$byte; var $27=Math.floor(((($26)>>>0))/(10)); $byte=$27; var $28=$byte; var $29=(($28)>>>0) > 0; if ($29) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $31=$byte; var $32=((($31)+(48))|0); var $33=(($32) & 255); var $34=$cp; var $35=((($34)-(1))|0); $cp=$35; HEAP8[($35)]=$33; __label__ = 6; break; case 6: __label__ = 7; break; case 7: var $38=$cp; var $39=((($38)-(1))|0); $cp=$39; HEAP8[($39)]=46; var $40=$1; var $41=$40 >>> 8; $1=$41; __label__ = 8; break; case 8: var $43=$n; var $44=((($43)-(1))|0); $n=$44; var $45=(($44)|0) > 0; if ($45) { __label__ = 3; break; } else { __label__ = 9; break; } case 9: var $47=$cp; var $48=(($47+1)|0); ; return $48; default: assert(0, "bad label: " + __label__); } } _intoa["X"]=1; function _rump_intr_init($numcpu) { ; var __label__; var $1; $1=$numcpu; _cv_init(_lbolt, ((STRING_TABLE.__str201)|0)); var $2=$1; HEAP32[((_ncpu_final)>>2)]=$2; ; return; } function _sithread($arg) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $sip; var $si; var $func; var $funarg; var $mpsafe; var $mylevel; var $si_lvlp; var $si_lvl; var $cd; $1=$arg; $func=0; var $2=$1; var $3=$2; $mylevel=$3; var $4=_rumpuser_get_curlwp(); var $5=(($4+12)|0); var $6=HEAP32[(($5)>>2)]; var $7=(($6)|0); $cd=$7; var $8=$cd; var $9=(($8+244)|0); var $10=HEAP32[(($9)>>2)]; var $11=$10; $si_lvlp=$11; var $12=$mylevel; var $13=$si_lvlp; var $14=(($13+($12<<3))|0); $si_lvl=$14; __label__ = 3; break; case 3: var $16=$si_lvl; var $17=(($16+4)|0); var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($19)|0)==0; if ($20) { __label__ = 11; break; } else { __label__ = 4; break; } case 4: var $22=$si_lvl; var $23=(($22+4)|0); var $24=(($23)|0); var $25=HEAP32[(($24)>>2)]; $sip=$25; var $26=$sip; var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; $si=$28; var $29=$si; var $30=(($29)|0); var $31=HEAP32[(($30)>>2)]; $func=$31; var $32=$si; var $33=(($32+4)|0); var $34=HEAP32[(($33)>>2)]; $funarg=$34; var $35=$si; var $36=(($35+8)|0); var $37=HEAP32[(($36)>>2)]; var $38=$37 & 1; var $39=(($38)|0)!=0; var $40=(($39)&1); $mpsafe=$40; var $41=$sip; var $42=(($41+4)|0); HEAP8[($42)]=0; __label__ = 5; break; case 5: var $44=$sip; var $45=(($44+8)|0); var $46=(($45)|0); var $47=HEAP32[(($46)>>2)]; var $48=(($47)|0)!=0; if ($48) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $50=$sip; var $51=(($50+8)|0); var $52=(($51+4)|0); var $53=HEAP32[(($52)>>2)]; var $54=$sip; var $55=(($54+8)|0); var $56=(($55)|0); var $57=HEAP32[(($56)>>2)]; var $58=(($57+8)|0); var $59=(($58+4)|0); HEAP32[(($59)>>2)]=$53; __label__ = 7; break; case 7: var $61=$sip; var $62=(($61+8)|0); var $63=(($62)|0); var $64=HEAP32[(($63)>>2)]; var $65=$sip; var $66=(($65+8)|0); var $67=(($66+4)|0); var $68=HEAP32[(($67)>>2)]; HEAP32[(($68)>>2)]=$64; __label__ = 8; break; case 8: var $70=$si; var $71=(($70+8)|0); var $72=HEAP32[(($71)>>2)]; var $73=$72 & 2; var $74=(($73)|0)!=0; if ($74) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $76=$si; var $77=$76; _softint_disestablish($77); __label__ = 3; break; case 10: __label__ = 12; break; case 11: var $80=$si_lvl; var $81=(($80)|0); var $82=HEAP32[(($81)>>2)]; _rump_schedlock_cv_wait($82); __label__ = 3; break; case 12: var $84=$mpsafe; var $85=(($84) & 1); if ($85) { __label__ = 16; break; } else { __label__ = 13; break; } case 13: __label__ = 14; break; case 14: __kernel_lock(1); __label__ = 15; break; case 15: __label__ = 16; break; case 16: var $90=$func; var $91=$funarg; FUNCTION_TABLE[$90]($91); var $92=$mpsafe; var $93=(($92) & 1); if ($93) { __label__ = 18; break; } else { __label__ = 17; break; } case 17: __kernel_unlock(1, 0); __label__ = 18; break; case 18: __label__ = 3; break; default: assert(0, "bad label: " + __label__); } } _sithread["X"]=1; function _doclock($noarg) { var __stackBase__ = STACKTOP; STACKTOP += 76; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $clockbase=__stackBase__; var $clockup=(__stackBase__)+(12); var $thetick=(__stackBase__)+(24); var $curtime=(__stackBase__)+(36); var $clockcv=(__stackBase__)+(48); var $clockmtx=(__stackBase__)+(52); var $sec=(__stackBase__)+(56); var $nsec=(__stackBase__)+(64); var $error=(__stackBase__)+(72); $1=$noarg; var $2=$clockup; HEAP32[(($2)>>2)]=0; HEAP32[((($2)+(4))>>2)]=0; HEAP32[((($2)+(8))>>2)]=0; var $3=_rumpuser_gettime($sec, $nsec, $error); var $st$14$0=(($sec)|0); var $4$0=HEAP32[(($st$14$0)>>2)]; var $st$14$1=(($sec+4)|0); var $4$1=HEAP32[(($st$14$1)>>2)]; var $5=(($clockbase)|0); var $st$19$0=(($5)|0); HEAP32[(($st$19$0)>>2)]=$4$0; var $st$19$1=(($5+4)|0); HEAP32[(($st$19$1)>>2)]=$4$1; var $st$23$0=(($nsec)|0); var $6$0=HEAP32[(($st$23$0)>>2)]; var $st$23$1=(($nsec+4)|0); var $6$1=HEAP32[(($st$23$1)>>2)]; var $7$0=$6$0; var $7=$7$0; var $8=(($clockbase+8)|0); HEAP32[(($8)>>2)]=$7; var $9=$curtime; var $10=$clockbase; assert(12 % 1 === 0, 'memcpy given ' + 12 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($9)>>2)]=HEAP32[(($10)>>2)];HEAP32[((($9)+(4))>>2)]=HEAP32[((($10)+(4))>>2)];HEAP32[((($9)+(8))>>2)]=HEAP32[((($10)+(8))>>2)]; var $11=(($thetick)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$37$0=(($11)|0); HEAP32[(($st$37$0)>>2)]=$$emscripten$temp$0$0; var $st$37$1=(($11+4)|0); HEAP32[(($st$37$1)>>2)]=$$emscripten$temp$0$1; var $12=HEAP32[((_hz)>>2)]; var $13=(((1000000000)/((($12)|0)))&-1); var $14=(($thetick+8)|0); HEAP32[(($14)>>2)]=$13; _rumpuser_cv_init($clockcv); _rumpuser_mutex_init($clockmtx); var $15=HEAP32[(($clockmtx)>>2)]; _rumpuser_mutex_enter_nowrap($15); __label__ = 3; break; case 3: _callout_hardclock(); __label__ = 4; break; case 4: var $18=HEAP32[(($clockcv)>>2)]; var $19=HEAP32[(($clockmtx)>>2)]; var $20=(($curtime)|0); var $st$3$0=(($20)|0); var $21$0=HEAP32[(($st$3$0)>>2)]; var $st$3$1=(($20+4)|0); var $21$1=HEAP32[(($st$3$1)>>2)]; var $22=(($curtime+8)|0); var $23=HEAP32[(($22)>>2)]; var $24$0=$23; var $24$1=((($23)|0) < 0 ? -1 : 0); var $25=_rumpuser_cv_timedwait($18, $19, $21$0, $21$1, $24$0, $24$1); var $25$0=$25[0]; var $26=(($25)|0)==0; if ($26) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 4; break; case 6: __label__ = 7; break; case 7: var $30=(($clockup)|0); var $st$1$0=(($30)|0); var $31$0=HEAP32[(($st$1$0)>>2)]; var $st$1$1=(($30+4)|0); var $31$1=HEAP32[(($st$1$1)>>2)]; var $32=(($clockbase)|0); var $st$6$0=(($32)|0); var $33$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($32+4)|0); var $33$1=HEAP32[(($st$6$1)>>2)]; var $34$0 = (i64Math.add($31$0,$31$1,$33$0,$33$1),i64Math.result[0]); var $34$1 = i64Math.result[1]; var $35=(($curtime)|0); var $st$12$0=(($35)|0); HEAP32[(($st$12$0)>>2)]=$34$0; var $st$12$1=(($35+4)|0); HEAP32[(($st$12$1)>>2)]=$34$1; var $36=(($clockup+8)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($clockbase+8)|0); var $39=HEAP32[(($38)>>2)]; var $40=((($37)+($39))|0); var $41=(($curtime+8)|0); HEAP32[(($41)>>2)]=$40; var $42=(($curtime+8)|0); var $43=HEAP32[(($42)>>2)]; var $44=(($43)|0) >= 1000000000; if ($44) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $46=(($curtime)|0); var $st$1$0=(($46)|0); var $47$0=HEAP32[(($st$1$0)>>2)]; var $st$1$1=(($46+4)|0); var $47$1=HEAP32[(($st$1$1)>>2)]; var $$emscripten$temp$1$0=1; var $$emscripten$temp$1$1=0; var $48$0 = (i64Math.add($47$0,$47$1,$$emscripten$temp$1$0,$$emscripten$temp$1$1),i64Math.result[0]); var $48$1 = i64Math.result[1]; var $st$8$0=(($46)|0); HEAP32[(($st$8$0)>>2)]=$48$0; var $st$8$1=(($46+4)|0); HEAP32[(($st$8$1)>>2)]=$48$1; var $49=(($curtime+8)|0); var $50=HEAP32[(($49)>>2)]; var $51=((($50)-(1000000000))|0); HEAP32[(($49)>>2)]=$51; __label__ = 9; break; case 9: __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $55=(($clockup)|0); var $st$1$0=(($55)|0); var $56$0=HEAP32[(($st$1$0)>>2)]; var $st$1$1=(($55+4)|0); var $56$1=HEAP32[(($st$1$1)>>2)]; var $57=(($thetick)|0); var $st$6$0=(($57)|0); var $58$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($57+4)|0); var $58$1=HEAP32[(($st$6$1)>>2)]; var $59$0 = (i64Math.add($56$0,$56$1,$58$0,$58$1),i64Math.result[0]); var $59$1 = i64Math.result[1]; var $60=(($clockup)|0); var $st$12$0=(($60)|0); HEAP32[(($st$12$0)>>2)]=$59$0; var $st$12$1=(($60+4)|0); HEAP32[(($st$12$1)>>2)]=$59$1; var $61=(($clockup+8)|0); var $62=HEAP32[(($61)>>2)]; var $63=(($thetick+8)|0); var $64=HEAP32[(($63)>>2)]; var $65=((($62)+($64))|0); var $66=(($clockup+8)|0); HEAP32[(($66)>>2)]=$65; var $67=(($clockup+8)|0); var $68=HEAP32[(($67)>>2)]; var $69=(($68)|0) >= 1000000000; if ($69) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $71=(($clockup)|0); var $st$1$0=(($71)|0); var $72$0=HEAP32[(($st$1$0)>>2)]; var $st$1$1=(($71+4)|0); var $72$1=HEAP32[(($st$1$1)>>2)]; var $$emscripten$temp$2$0=1; var $$emscripten$temp$2$1=0; var $73$0 = (i64Math.add($72$0,$72$1,$$emscripten$temp$2$0,$$emscripten$temp$2$1),i64Math.result[0]); var $73$1 = i64Math.result[1]; var $st$8$0=(($71)|0); HEAP32[(($st$8$0)>>2)]=$73$0; var $st$8$1=(($71+4)|0); HEAP32[(($st$8$1)>>2)]=$73$1; var $74=(($clockup+8)|0); var $75=HEAP32[(($74)>>2)]; var $76=((($75)-(1000000000))|0); HEAP32[(($74)>>2)]=$76; __label__ = 13; break; case 13: __label__ = 14; break; case 14: var $79=_rumpuser_get_curlwp(); var $80=(($79+12)|0); var $81=HEAP32[(($80)>>2)]; var $82=(($81)|0); var $83=(($82+164)|0); var $84=HEAP32[(($83)>>2)]; var $85=(($84)|0)!=0; if ($85) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 3; break; case 16: var $88=HEAP32[((_ticks)>>2)]; var $89=((($88)+(1))|0); HEAP32[((_ticks)>>2)]=$89; var $90=HEAP32[((_hz)>>2)]; var $91=((($89)>>>0))%((($90)>>>0)); var $92=(($91)|0)==0; if ($92) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: _cv_broadcast(_lbolt); __label__ = 18; break; case 18: _tc_ticktock(); __label__ = 3; break; default: assert(0, "bad label: " + __label__); } } _doclock["X"]=1; function _softint_establish($flags, $func, $arg) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $si; var $sip; var $i; $1=$flags; $2=$func; $3=$arg; var $4=_kern_malloc(20, 0); var $5=$4; $si=$5; var $6=$2; var $7=$si; var $8=(($7)|0); HEAP32[(($8)>>2)]=$6; var $9=$3; var $10=$si; var $11=(($10+4)|0); HEAP32[(($11)>>2)]=$9; var $12=$1; var $13=$12 & 256; var $14=(($13)|0)!=0; var $15=$14 ? 1 : 0; var $16=$si; var $17=(($16+8)|0); HEAP32[(($17)>>2)]=$15; var $18=$1; var $19=$18 & 255; var $20=$si; var $21=(($20+12)|0); HEAP32[(($21)>>2)]=$19; var $22=$si; var $23=(($22+12)|0); var $24=HEAP32[(($23)>>2)]; var $25=(($24)|0) < 4; var $26=(($25)&1); var $27=(($26)|0)!=0; var $28=(($27)&1); var $29=$28; var $30=(($29)|0)!=0; if ($30) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str4205)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str5206)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6207)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str7208)|0),HEAP32[(((tempInt)+(12))>>2)]=260,tempInt)); __label__ = 5; break; case 5: var $34=HEAP32[((_ncpu_final)>>2)]; var $35=((($34<<4))|0); var $36=_kern_malloc($35, 2); var $37=$36; var $38=$si; var $39=(($38+16)|0); HEAP32[(($39)>>2)]=$37; $i=0; __label__ = 6; break; case 6: var $41=$i; var $42=HEAP32[((_ncpu_final)>>2)]; var $43=(($41)|0) < (($42)|0); if ($43) { __label__ = 7; break; } else { __label__ = 9; break; } case 7: var $45=$i; var $46=$si; var $47=(($46+16)|0); var $48=HEAP32[(($47)>>2)]; var $49=(($48+($45<<4))|0); $sip=$49; var $50=$si; var $51=$sip; var $52=(($51)|0); HEAP32[(($52)>>2)]=$50; __label__ = 8; break; case 8: var $54=$i; var $55=((($54)+(1))|0); $i=$55; __label__ = 6; break; case 9: var $57=$si; var $58=$57; STACKTOP = __stackBase__; return $58; default: assert(0, "bad label: " + __label__); } } _softint_establish["X"]=1; function _softint_schedule($arg) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $si; var $sip; var $cd; var $si_lvl; $1=$arg; var $2=$1; var $3=$2; $si=$3; var $4=_rumpuser_get_curlwp(); var $5=(($4+12)|0); var $6=HEAP32[(($5)>>2)]; var $7=(($6)|0); var $8=(($7+164)|0); var $9=HEAP32[(($8)>>2)]; var $10=$si; var $11=(($10+16)|0); var $12=HEAP32[(($11)>>2)]; var $13=(($12+($9<<4))|0); $sip=$13; var $14=_rumpuser_get_curlwp(); var $15=(($14+12)|0); var $16=HEAP32[(($15)>>2)]; var $17=(($16)|0); $cd=$17; var $18=$cd; var $19=(($18+244)|0); var $20=HEAP32[(($19)>>2)]; var $21=$20; $si_lvl=$21; var $22=HEAP32[((_rump_threads)>>2)]; var $23=(($22)|0)!=0; if ($23) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $25=$si; var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; var $28=$si; var $29=(($28+4)|0); var $30=HEAP32[(($29)>>2)]; FUNCTION_TABLE[$27]($30); __label__ = 11; break; case 4: var $32=$sip; var $33=(($32+4)|0); var $34=HEAP8[($33)]; var $35=(($34) & 1); if ($35) { __label__ = 10; break; } else { __label__ = 5; break; } case 5: __label__ = 6; break; case 6: var $38=$si; var $39=(($38+12)|0); var $40=HEAP32[(($39)>>2)]; var $41=$si_lvl; var $42=(($41+($40<<3))|0); var $43=(($42+4)|0); var $44=(($43)|0); var $45=HEAP32[(($44)>>2)]; var $46=$sip; var $47=(($46+8)|0); var $48=(($47)|0); HEAP32[(($48)>>2)]=$45; var $49=(($45)|0)!=0; if ($49) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $51=$sip; var $52=(($51+8)|0); var $53=(($52)|0); var $54=$si; var $55=(($54+12)|0); var $56=HEAP32[(($55)>>2)]; var $57=$si_lvl; var $58=(($57+($56<<3))|0); var $59=(($58+4)|0); var $60=(($59)|0); var $61=HEAP32[(($60)>>2)]; var $62=(($61+8)|0); var $63=(($62+4)|0); HEAP32[(($63)>>2)]=$53; __label__ = 8; break; case 8: var $65=$sip; var $66=$si; var $67=(($66+12)|0); var $68=HEAP32[(($67)>>2)]; var $69=$si_lvl; var $70=(($69+($68<<3))|0); var $71=(($70+4)|0); var $72=(($71)|0); HEAP32[(($72)>>2)]=$65; var $73=$si; var $74=(($73+12)|0); var $75=HEAP32[(($74)>>2)]; var $76=$si_lvl; var $77=(($76+($75<<3))|0); var $78=(($77+4)|0); var $79=(($78)|0); var $80=$sip; var $81=(($80+8)|0); var $82=(($81+4)|0); HEAP32[(($82)>>2)]=$79; __label__ = 9; break; case 9: var $84=$sip; var $85=(($84+4)|0); HEAP8[($85)]=1; __label__ = 10; break; case 10: __label__ = 11; break; case 11: ; return; default: assert(0, "bad label: " + __label__); } } _softint_schedule["X"]=1; function _softint_disestablish($cook) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $si; var $i; var $sip; $1=$cook; var $2=$1; var $3=$2; $si=$3; $i=0; __label__ = 3; break; case 3: var $5=$i; var $6=HEAP32[((_ncpu_final)>>2)]; var $7=(($5)|0) < (($6)|0); if ($7) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: var $9=$i; var $10=$si; var $11=(($10+16)|0); var $12=HEAP32[(($11)>>2)]; var $13=(($12+($9<<4))|0); $sip=$13; var $14=$sip; var $15=(($14+4)|0); var $16=HEAP8[($15)]; var $17=(($16) & 1); if ($17) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $19=$si; var $20=(($19+8)|0); var $21=HEAP32[(($20)>>2)]; var $22=$21 | 2; HEAP32[(($20)>>2)]=$22; __label__ = 9; break; case 6: __label__ = 7; break; case 7: var $25=$i; var $26=((($25)+(1))|0); $i=$26; __label__ = 3; break; case 8: var $28=$si; var $29=(($28+16)|0); var $30=HEAP32[(($29)>>2)]; var $31=$30; _kern_free($31); var $32=$si; var $33=$32; _kern_free($33); __label__ = 9; break; case 9: ; return; default: assert(0, "bad label: " + __label__); } } function _rump_softint_run($ci) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $cd; var $si_lvl; var $i; $1=$ci; var $2=$1; var $3=(($2)|0); $cd=$3; var $4=$cd; var $5=(($4+244)|0); var $6=HEAP32[(($5)>>2)]; var $7=$6; $si_lvl=$7; var $8=HEAP32[((_rump_threads)>>2)]; var $9=(($8)|0)!=0; if ($9) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: __label__ = 10; break; case 4: $i=0; __label__ = 5; break; case 5: var $13=$i; var $14=(($13)|0) < 4; if ($14) { __label__ = 6; break; } else { __label__ = 10; break; } case 6: var $16=$i; var $17=$si_lvl; var $18=(($17+($16<<3))|0); var $19=(($18+4)|0); var $20=(($19)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21)|0)==0; if ($22) { __label__ = 8; break; } else { __label__ = 7; break; } case 7: var $24=$i; var $25=$si_lvl; var $26=(($25+($24<<3))|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; _rumpuser_cv_signal($28); __label__ = 8; break; case 8: __label__ = 9; break; case 9: var $31=$i; var $32=((($31)+(1))|0); $i=$32; __label__ = 5; break; case 10: ; return; default: assert(0, "bad label: " + __label__); } } function _cpu_softintr_p() { ; var __label__; var $1=_rumpuser_get_curlwp(); var $2=(($1+512)|0); var $3=HEAP32[(($2)>>2)]; var $4=$3 & 64; var $5=(($4)|0)!=0; ; return $5; } function _rumptc_get($tc) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$tc; var $2=HEAP32[((_rump_threads)>>2)]; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=$4; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str4205)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str5206)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str9210)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str7208)|0),HEAP32[(((tempInt)+(12))>>2)]=83,tempInt)); __label__ = 5; break; case 5: var $10=HEAP32[((_ticks)>>2)]; STACKTOP = __stackBase__; return $10; default: assert(0, "bad label: " + __label__); } } function _softint_init($ci) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $cd; var $slev; var $rv; var $i; $1=$ci; var $2=$1; var $3=(($2)|0); $cd=$3; var $4=HEAP32[((_rump_threads)>>2)]; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: __label__ = 18; break; case 4: var $8=$1; var $9=(($8)|0); var $10=(($9+164)|0); var $11=HEAP32[(($10)>>2)]; var $12=(($11)|0)==0; if ($12) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $14=HEAP32[((_hz)>>2)]; var $15$0=$14; var $15$1=((($14)|0) < 0 ? -1 : 0); var $$emscripten$temp$0=((_rumptc+12)|0); var $st$4$0=(($$emscripten$temp$0)|0); HEAP32[(($st$4$0)>>2)]=$15$0; var $st$4$1=(($$emscripten$temp$0+4)|0); HEAP32[(($st$4$1)>>2)]=$15$1; _tc_init(_rumptc); __label__ = 6; break; case 6: var $17=_kmem_alloc(32, 1); var $18=$17; $slev=$18; $i=0; __label__ = 7; break; case 7: var $20=$i; var $21=(($20)|0) < 4; if ($21) { __label__ = 8; break; } else { __label__ = 12; break; } case 8: var $23=$i; var $24=$slev; var $25=(($24+($23<<3))|0); var $26=(($25)|0); _rumpuser_cv_init($26); __label__ = 9; break; case 9: var $28=$i; var $29=$slev; var $30=(($29+($28<<3))|0); var $31=(($30+4)|0); var $32=(($31)|0); HEAP32[(($32)>>2)]=0; __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $35=$i; var $36=((($35)+(1))|0); $i=$36; __label__ = 7; break; case 12: var $38=$slev; var $39=$38; var $40=$cd; var $41=(($40+244)|0); HEAP32[(($41)>>2)]=$39; _membar_sync(); $i=0; __label__ = 13; break; case 13: var $43=$i; var $44=(($43)|0) < 4; if ($44) { __label__ = 14; break; } else { __label__ = 16; break; } case 14: var $46=$1; var $47=$i; var $48=$47; var $49=$1; var $50=(($49)|0); var $51=(($50+164)|0); var $52=HEAP32[(($51)>>2)]; var $53=$i; var $54=_kthread_create(-1, 6, $46, 4, $48, 0, ((STRING_TABLE.__str1202)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$52,HEAP32[(((tempInt)+(4))>>2)]=$53,tempInt)); $rv=$54; __label__ = 15; break; case 15: var $56=$i; var $57=((($56)+(1))|0); $i=$57; __label__ = 13; break; case 16: var $59=$1; var $60=$1; var $61=(($60)|0); var $62=(($61+164)|0); var $63=HEAP32[(($62)>>2)]; var $64=_kthread_create(-1, 2, $59, 6, 0, 0, ((STRING_TABLE.__str2203)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$63,tempInt)); $rv=$64; var $65=$rv; var $66=(($65)|0)!=0; if ($66) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $68=$rv; _panic(((STRING_TABLE.__str3204)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$68,tempInt)); throw "Reached an unreachable!" case 18: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _softint_init["X"]=1; function ___iordi3($a$0, $a$1, $b$0, $b$1) { var __stackBase__ = STACKTOP; STACKTOP += 32; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1=__stackBase__; var $2=(__stackBase__)+(8); var $aa=(__stackBase__)+(16); var $bb=(__stackBase__)+(24); var $st$4$0=(($1)|0); HEAP32[(($st$4$0)>>2)]=$a$0; var $st$4$1=(($1+4)|0); HEAP32[(($st$4$1)>>2)]=$a$1; var $st$8$0=(($2)|0); HEAP32[(($st$8$0)>>2)]=$b$0; var $st$8$1=(($2+4)|0); HEAP32[(($st$8$1)>>2)]=$b$1; var $st$12$0=(($1)|0); var $3$0=HEAP32[(($st$12$0)>>2)]; var $st$12$1=(($1+4)|0); var $3$1=HEAP32[(($st$12$1)>>2)]; var $4=$aa; var $st$17$0=(($4)|0); HEAP32[(($st$17$0)>>2)]=$3$0; var $st$17$1=(($4+4)|0); HEAP32[(($st$17$1)>>2)]=$3$1; var $st$21$0=(($2)|0); var $5$0=HEAP32[(($st$21$0)>>2)]; var $st$21$1=(($2+4)|0); var $5$1=HEAP32[(($st$21$1)>>2)]; var $6=$bb; var $st$26$0=(($6)|0); HEAP32[(($st$26$0)>>2)]=$5$0; var $st$26$1=(($6+4)|0); HEAP32[(($st$26$1)>>2)]=$5$1; var $7=$bb; var $8=(($7)|0); var $9=HEAP32[(($8)>>2)]; var $10=$aa; var $11=(($10)|0); var $12=HEAP32[(($11)>>2)]; var $13=$12 | $9; HEAP32[(($11)>>2)]=$13; var $14=$bb; var $15=(($14+4)|0); var $16=HEAP32[(($15)>>2)]; var $17=$aa; var $18=(($17+4)|0); var $19=HEAP32[(($18)>>2)]; var $20=$19 | $16; HEAP32[(($18)>>2)]=$20; var $21=$aa; var $st$47$0=(($21)|0); var $22$0=HEAP32[(($st$47$0)>>2)]; var $st$47$1=(($21+4)|0); var $22$1=HEAP32[(($st$47$1)>>2)]; STACKTOP = __stackBase__; return [$22$0,$22$1]; } ___iordi3["X"]=1; function _kauth_cred_alloc() { ; var __label__; var $cred; var $1=HEAP32[((_kauth_cred_cache)>>2)]; var $2=_pool_cache_get_paddr($1, 1, 0); var $3=$2; $cred=$3; var $4=$cred; var $5=(($4)|0); HEAP32[(($5)>>2)]=1; var $6=$cred; var $7=(($6+64)|0); HEAP32[(($7)>>2)]=0; var $8=$cred; var $9=(($8+68)|0); HEAP32[(($9)>>2)]=0; var $10=$cred; var $11=(($10+72)|0); HEAP32[(($11)>>2)]=0; var $12=$cred; var $13=(($12+76)|0); HEAP32[(($13)>>2)]=0; var $14=$cred; var $15=(($14+80)|0); HEAP32[(($15)>>2)]=0; var $16=$cred; var $17=(($16+84)|0); HEAP32[(($17)>>2)]=0; var $18=$cred; var $19=(($18+88)|0); HEAP32[(($19)>>2)]=0; var $20=HEAP32[((_kauth_domain)>>2)]; var $21=$cred; var $22=(($21+156)|0); var $23=_specificdata_init($20, $22); var $24=$cred; var $25=_kauth_cred_hook($24, 1, 0, 0); var $26=$cred; ; return $26; } function _kauth_cred_hook($cred, $action, $arg0, $arg1) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $r; $1=$cred; $2=$action; $3=$arg0; $4=$arg1; var $5=HEAP32[((_kauth_builtin_scope_cred)>>2)]; var $6=$1; var $7=$2; var $8=$3; var $9=$4; var $10=_kauth_authorize_action($5, $6, $7, $8, $9, 0, 0); $r=$10; var $11=HEAP32[((_kauth_builtin_scope_cred)>>2)]; var $12=(($11+12)|0); var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; var $15=(($14)|0)==0; if ($15) { __label__ = 7; break; } else { __label__ = 3; break; } case 3: var $17=$r; var $18=(($17)|0)==0; var $19=(($18)&1); var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=$21; var $23=(($22)|0)!=0; if ($23) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: __label__ = 6; break; case 5: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str24237)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=1143,tempInt)); __label__ = 6; break; case 6: __label__ = 7; break; case 7: var $28=$r; STACKTOP = __stackBase__; return $28; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_hold($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=156,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; var $15=(($14)>>>0) > 0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4217)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=157,tempInt)); __label__ = 8; break; case 8: var $24=$1; var $25=(($24)|0); _atomic_inc_uint($25); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_free($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=167,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; var $15=(($14)>>>0) > 0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4217)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=168,tempInt)); __label__ = 8; break; case 8: var $24=$1; var $25=(($24)|0); var $26=_atomic_dec_uint_nv($25); var $27=(($26)>>>0) > 0; if ($27) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: var $30=$1; var $31=_kauth_cred_hook($30, 4, 0, 0); var $32=HEAP32[((_kauth_domain)>>2)]; var $33=$1; var $34=(($33+156)|0); _specificdata_fini($32, $34); var $35=HEAP32[((_kauth_cred_cache)>>2)]; var $36=$1; var $37=$36; _pool_cache_put_paddr($35, $37, -1); __label__ = 11; break; case 11: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_clone($from, $to) { ; var __label__; var $1; var $2; $1=$from; $2=$to; var $3=$1; var $4=$2; _kauth_cred_clone1($3, $4, 1); ; return; } function _kauth_cred_clone1($from, $to, $copy_groups) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $1=$from; $2=$to; var $4=(($copy_groups)&1); $3=$4; var $5=$1; var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str28241)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=182,tempInt)); __label__ = 5; break; case 5: var $15=$2; var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str29242)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=183,tempInt)); __label__ = 8; break; case 8: var $25=$1; var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; var $28=(($27)>>>0) > 0; var $29=(($28)&1); var $30=(($29)|0)!=0; var $31=(($30)&1); var $32=$31; var $33=(($32)|0)!=0; if ($33) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str30243)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=184,tempInt)); __label__ = 11; break; case 11: var $37=$1; var $38=(($37+64)|0); var $39=HEAP32[(($38)>>2)]; var $40=$2; var $41=(($40+64)|0); HEAP32[(($41)>>2)]=$39; var $42=$1; var $43=(($42+68)|0); var $44=HEAP32[(($43)>>2)]; var $45=$2; var $46=(($45+68)|0); HEAP32[(($46)>>2)]=$44; var $47=$1; var $48=(($47+72)|0); var $49=HEAP32[(($48)>>2)]; var $50=$2; var $51=(($50+72)|0); HEAP32[(($51)>>2)]=$49; var $52=$1; var $53=(($52+76)|0); var $54=HEAP32[(($53)>>2)]; var $55=$2; var $56=(($55+76)|0); HEAP32[(($56)>>2)]=$54; var $57=$1; var $58=(($57+80)|0); var $59=HEAP32[(($58)>>2)]; var $60=$2; var $61=(($60+80)|0); HEAP32[(($61)>>2)]=$59; var $62=$1; var $63=(($62+84)|0); var $64=HEAP32[(($63)>>2)]; var $65=$2; var $66=(($65+84)|0); HEAP32[(($66)>>2)]=$64; var $67=$3; var $68=(($67) & 1); if ($68) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $70=$1; var $71=(($70+88)|0); var $72=HEAP32[(($71)>>2)]; var $73=$2; var $74=(($73+88)|0); HEAP32[(($74)>>2)]=$72; var $75=$2; var $76=(($75+92)|0); var $77=(($76)|0); var $78=$77; var $79=$1; var $80=(($79+92)|0); var $81=(($80)|0); var $82=$81; assert(64 % 1 === 0, 'memcpy given ' + 64 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $82>>2, $$dest = $78>>2, $$stop = $$src + 16; $$src < $$stop; $$src++, $$dest++) { HEAP32[$$dest] = HEAP32[$$src] }; __label__ = 13; break; case 13: var $84=$1; var $85=$2; var $86=$85; var $87=_kauth_cred_hook($84, 3, $86, 0); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kauth_cred_clone1["X"]=1; function _kauth_cred_dup($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $new_cred; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=214,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; var $15=(($14)>>>0) > 0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4217)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=215,tempInt)); __label__ = 8; break; case 8: var $24=_kauth_cred_alloc(); $new_cred=$24; var $25=$1; var $26=$new_cred; _kauth_cred_clone($25, $26); var $27=$new_cred; STACKTOP = __stackBase__; return $27; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_copy($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $new_cred; $2=$cred; var $3=$2; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=233,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)>>>0) > 0; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4217)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=234,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; var $28=(($27)|0)==1; if ($28) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $30=$2; $1=$30; __label__ = 11; break; case 10: var $32=_kauth_cred_alloc(); $new_cred=$32; var $33=$2; var $34=$new_cred; _kauth_cred_clone($33, $34); var $35=$2; _kauth_cred_free($35); var $36=$new_cred; $1=$36; __label__ = 11; break; case 11: var $38=$1; STACKTOP = __stackBase__; return $38; default: assert(0, "bad label: " + __label__); } } function _kauth_proc_fork($parent, $child) { ; var __label__; var $1; var $2; $1=$parent; $2=$child; var $3=$1; var $4=(($3+12)|0); var $5=HEAP32[(($4)>>2)]; _mutex_enter($5); var $6=$1; var $7=(($6+48)|0); var $8=HEAP32[(($7)>>2)]; _kauth_cred_hold($8); var $9=$1; var $10=(($9+48)|0); var $11=HEAP32[(($10)>>2)]; var $12=$2; var $13=(($12+48)|0); HEAP32[(($13)>>2)]=$11; var $14=$1; var $15=(($14+12)|0); var $16=HEAP32[(($15)>>2)]; _mutex_exit($16); var $17=$1; var $18=(($17+48)|0); var $19=HEAP32[(($18)>>2)]; var $20=$1; var $21=$20; var $22=$2; var $23=$22; var $24=_kauth_cred_hook($19, 2, $21, $23); ; return; } function _kauth_proc_chroot($cred, $cwdi) { ; var __label__; var $1; var $2; $1=$cred; $2=$cwdi; var $3=$1; var $4=$2; var $5=$4; var $6=_kauth_cred_hook($3, 5, $5, 0); ; return; } function _kauth_cred_getuid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=272,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+64)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_geteuid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=280,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+68)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_getsvuid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=288,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+72)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_getgid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=296,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+76)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_getegid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=304,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+80)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_getsvgid($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=312,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+84)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setuid($cred, $uid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$uid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=320,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=321,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+64)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_seteuid($cred, $uid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$uid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=329,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=330,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+68)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setsvuid($cred, $uid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$uid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=338,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=339,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+72)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setgid($cred, $gid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$gid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=347,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=348,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+76)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setegid($cred, $gid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$gid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=356,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=357,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+80)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setsvgid($cred, $gid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$gid; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=365,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)==1; var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=366,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$1; var $27=(($26+84)|0); HEAP32[(($27)>>2)]=$25; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kern_assert($fmt) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $ap=__stackBase__; $1=$fmt; var $2=HEAP32[((_panicstr)>>2)]; var $3=(($2)|0)!=0; if ($3) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: STACKTOP = __stackBase__; return; case 4: var $6=$ap; HEAP32[(($6)>>2)]=arguments[_kern_assert.length]; var $7=$1; var $8=HEAP32[(($ap)>>2)]; _vpanic($7, $8); throw "Reached an unreachable!" default: assert(0, "bad label: " + __label__); } } function _min($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$a; $2=$b; var $3=$1; var $4=$2; var $5=(($3)>>>0) < (($4)>>>0); if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $11 = $7;__label__ = 5; break; case 4: var $9=$2; var $11 = $9;__label__ = 5; break; case 5: var $11; ; return $11; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_ismember_gid($cred, $gid, $resultp) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $i; $1=$cred; $2=$gid; $3=$resultp; var $4=$1; var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=377,tempInt)); __label__ = 5; break; case 5: var $14=$3; var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6219)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=378,tempInt)); __label__ = 8; break; case 8: var $24=$3; HEAP32[(($24)>>2)]=0; $i=0; __label__ = 9; break; case 9: var $26=$i; var $27=$1; var $28=(($27+88)|0); var $29=HEAP32[(($28)>>2)]; var $30=(($26)>>>0) < (($29)>>>0); if ($30) { __label__ = 10; break; } else { __label__ = 14; break; } case 10: var $32=$i; var $33=$1; var $34=(($33+92)|0); var $35=(($34+($32<<2))|0); var $36=HEAP32[(($35)>>2)]; var $37=$2; var $38=(($36)|0)==(($37)|0); if ($38) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $40=$3; HEAP32[(($40)>>2)]=1; __label__ = 14; break; case 12: __label__ = 13; break; case 13: var $43=$i; var $44=((($43)+(1))|0); $i=$44; __label__ = 9; break; case 14: STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } _kauth_cred_ismember_gid["X"]=1; function _kauth_cred_ngroups($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=394,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12+88)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_group($cred, $idx) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$idx; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=405,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=$1; var $15=(($14+88)|0); var $16=HEAP32[(($15)>>2)]; var $17=(($13)>>>0) < (($16)>>>0); var $18=(($17)&1); var $19=(($18)|0)!=0; var $20=(($19)&1); var $21=$20; var $22=(($21)|0)!=0; if ($22) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str7220)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=406,tempInt)); __label__ = 8; break; case 8: var $26=$2; var $27=$1; var $28=(($27+92)|0); var $29=(($28+($26<<2))|0); var $30=HEAP32[(($29)>>2)]; STACKTOP = __stackBase__; return $30; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setgroups($cred, $grbuf, $len, $gmuid, $seg) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $error; $2=$cred; $3=$grbuf; $4=$len; $5=$gmuid; $6=$seg; $error=0; var $7=$2; var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=$11; var $13=(($12)|0)!=0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=418,tempInt)); __label__ = 5; break; case 5: var $17=$2; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($19)|0)==1; var $21=(($20)&1); var $22=(($21)|0)!=0; var $23=(($22)&1); var $24=$23; var $25=(($24)|0)!=0; if ($25) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5218)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=419,tempInt)); __label__ = 8; break; case 8: var $29=$4; var $30=(($29)>>>0) > 16; if ($30) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $1=22; __label__ = 18; break; case 10: var $33=$4; var $34=(($33)|0)!=0; if ($34) { __label__ = 11; break; } else { __label__ = 17; break; } case 11: var $36=$6; var $37=(($36)|0)==1; if ($37) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $39=$2; var $40=(($39+92)|0); var $41=(($40)|0); var $42=$41; var $43=$3; var $44=$43; var $45=$4; var $46=((($45<<2))|0); assert($46 % 1 === 0, 'memcpy given ' + $46 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($42, $44, $46, 4); __label__ = 16; break; case 13: var $48=$3; var $49=$48; var $50=$2; var $51=(($50+92)|0); var $52=(($51)|0); var $53=$52; var $54=$4; var $55=((($54<<2))|0); var $56=_copyin($49, $53, $55); $error=$56; var $57=$error; var $58=(($57)|0)!=0; if ($58) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: $4=0; __label__ = 15; break; case 15: __label__ = 16; break; case 16: __label__ = 17; break; case 17: var $63=$2; var $64=(($63+92)|0); var $65=(($64)|0); var $66=$4; var $67=(($65+($66<<2))|0); var $68=$67; var $69=$4; var $70=((($69<<2))|0); var $71=(((64)-($70))|0); _memset($68, -1, $71, 4); var $72=$4; var $73=$2; var $74=(($73+88)|0); HEAP32[(($74)>>2)]=$72; var $75=$error; $1=$75; __label__ = 18; break; case 18: var $77=$1; STACKTOP = __stackBase__; return $77; default: assert(0, "bad label: " + __label__); } } _kauth_cred_setgroups["X"]=1; function _kauth_proc_setgroups($l, $ncred) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $cred; var $error; $2=$l; $3=$ncred; _proc_crmod_enter(); var $4=$2; var $5=(($4+272)|0); var $6=HEAP32[(($5)>>2)]; var $7=(($6+48)|0); var $8=HEAP32[(($7)>>2)]; $cred=$8; var $9=$cred; var $10=$3; _kauth_cred_clone1($9, $10, 0); var $11=$cred; var $12=$2; var $13=(($12+272)|0); var $14=HEAP32[(($13)>>2)]; var $15=_kauth_authorize_process($11, 14, $14, 0, 0, 0); $error=$15; var $16=$error; var $17=(($16)|0)!=0; if ($17) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $19=$cred; var $20=$3; _proc_crmod_leave($19, $20, 0); var $21=$error; $1=$21; __label__ = 5; break; case 4: var $23=$3; var $24=$cred; _proc_crmod_leave($23, $24, 1); $1=0; __label__ = 5; break; case 5: var $26=$1; ; return $26; default: assert(0, "bad label: " + __label__); } } function _kauth_authorize_process($cred, $action, $p, $arg1, $arg2, $arg3) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $6; $1=$cred; $2=$action; $3=$p; $4=$arg1; $5=$arg2; $6=$arg3; var $7=HEAP32[((_kauth_builtin_scope_process)>>2)]; var $8=$1; var $9=$2; var $10=$3; var $11=$10; var $12=$4; var $13=$5; var $14=$6; var $15=_kauth_authorize_action($7, $8, $9, $11, $12, $13, $14); ; return $15; } function _kauth_cred_getgroups($cred, $grbuf, $len, $seg) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; $2=$cred; $3=$grbuf; $4=$len; $5=$seg; var $6=$2; var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=477,tempInt)); __label__ = 5; break; case 5: var $16=$4; var $17=$2; var $18=(($17+88)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($16)>>>0) > (($19)>>>0); if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $1=22; __label__ = 10; break; case 7: var $23=$5; var $24=(($23)|0)==0; if ($24) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $26=$2; var $27=(($26+92)|0); var $28=(($27)|0); var $29=$28; var $30=$3; var $31=$30; var $32=$4; var $33=((($32<<2))|0); var $34=_copyout($29, $31, $33); $1=$34; __label__ = 10; break; case 9: var $36=$3; var $37=$36; var $38=$2; var $39=(($38+92)|0); var $40=(($39)|0); var $41=$40; var $42=$4; var $43=((($42<<2))|0); assert($43 % 1 === 0, 'memcpy given ' + $43 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($37, $41, $43, 4); $1=0; __label__ = 10; break; case 10: var $45=$1; STACKTOP = __stackBase__; return $45; default: assert(0, "bad label: " + __label__); } } _kauth_cred_getgroups["X"]=1; function _kauth_register_key($secmodel, $result) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $k; var $key=__stackBase__; var $error; $2=$secmodel; $3=$result; var $4=$3; var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str8221)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=496,tempInt)); __label__ = 5; break; case 5: var $14=HEAP32[((_kauth_domain)>>2)]; var $15=_specificdata_key_create($14, $key, 0); $error=$15; var $16=$error; var $17=(($16)|0)!=0; if ($17) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $19=$error; $1=$19; __label__ = 8; break; case 7: var $21=_kmem_alloc(8, 1); var $22=$21; $k=$22; var $23=$2; var $24=$k; var $25=(($24)|0); HEAP32[(($25)>>2)]=$23; var $26=HEAP32[(($key)>>2)]; var $27=$k; var $28=(($27+4)|0); HEAP32[(($28)>>2)]=$26; var $29=$k; var $30=$3; HEAP32[(($30)>>2)]=$29; $1=0; __label__ = 8; break; case 8: var $32=$1; STACKTOP = __stackBase__; return $32; default: assert(0, "bad label: " + __label__); } } function _kauth_deregister_key($key) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$key; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str9222)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=514,tempInt)); __label__ = 5; break; case 5: var $12=HEAP32[((_kauth_domain)>>2)]; var $13=$1; var $14=(($13+4)|0); var $15=HEAP32[(($14)>>2)]; _specificdata_key_delete($12, $15); var $16=$1; var $17=$16; _kmem_free($17, 8); STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_getdata($cred, $key) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$key; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=525,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str9222)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=526,tempInt)); __label__ = 8; break; case 8: var $23=HEAP32[((_kauth_domain)>>2)]; var $24=$1; var $25=(($24+156)|0); var $26=$2; var $27=(($26+4)|0); var $28=HEAP32[(($27)>>2)]; var $29=_specificdata_getspecific($23, $25, $28); STACKTOP = __stackBase__; return $29; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_setdata($cred, $key, $data) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $1=$cred; $2=$key; $3=$data; var $4=$1; var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=535,tempInt)); __label__ = 5; break; case 5: var $14=$2; var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str9222)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=536,tempInt)); __label__ = 8; break; case 8: var $24=HEAP32[((_kauth_domain)>>2)]; var $25=$1; var $26=(($25+156)|0); var $27=$2; var $28=(($27+4)|0); var $29=HEAP32[(($28)>>2)]; var $30=$3; _specificdata_setspecific($24, $26, $29, $30); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kauth_cred_uidmatch($cred1, $cred2) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $2=$cred1; $3=$cred2; var $4=$2; var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str10223)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=547,tempInt)); __label__ = 5; break; case 5: var $14=$3; var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11224)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=548,tempInt)); __label__ = 8; break; case 8: var $24=$2; var $25=(($24+64)|0); var $26=HEAP32[(($25)>>2)]; var $27=$3; var $28=(($27+64)|0); var $29=HEAP32[(($28)>>2)]; var $30=(($26)|0)==(($29)|0); if ($30) { __label__ = 12; break; } else { __label__ = 9; break; } case 9: var $32=$2; var $33=(($32+68)|0); var $34=HEAP32[(($33)>>2)]; var $35=$3; var $36=(($35+64)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($34)|0)==(($37)|0); if ($38) { __label__ = 12; break; } else { __label__ = 10; break; } case 10: var $40=$2; var $41=(($40+64)|0); var $42=HEAP32[(($41)>>2)]; var $43=$3; var $44=(($43+68)|0); var $45=HEAP32[(($44)>>2)]; var $46=(($42)|0)==(($45)|0); if ($46) { __label__ = 12; break; } else { __label__ = 11; break; } case 11: var $48=$2; var $49=(($48+68)|0); var $50=HEAP32[(($49)>>2)]; var $51=$3; var $52=(($51+68)|0); var $53=HEAP32[(($52)>>2)]; var $54=(($50)|0)==(($53)|0); if ($54) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: $1=1; __label__ = 14; break; case 13: $1=0; __label__ = 14; break; case 14: var $58=$1; STACKTOP = __stackBase__; return $58; default: assert(0, "bad label: " + __label__); } } _kauth_cred_uidmatch["X"]=1; function _kauth_cred_getrefcnt($cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$cred; var $2=$1; var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=562,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kauth_uucred_to_cred($cred, $uuc) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$uuc; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=574,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12225)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=575,tempInt)); __label__ = 8; break; case 8: var $23=$1; var $24=(($23)|0); HEAP32[(($24)>>2)]=1; var $25=$2; var $26=(($25+4)|0); var $27=HEAP32[(($26)>>2)]; var $28=$1; var $29=(($28+64)|0); HEAP32[(($29)>>2)]=$27; var $30=$2; var $31=(($30+4)|0); var $32=HEAP32[(($31)>>2)]; var $33=$1; var $34=(($33+68)|0); HEAP32[(($34)>>2)]=$32; var $35=$2; var $36=(($35+4)|0); var $37=HEAP32[(($36)>>2)]; var $38=$1; var $39=(($38+72)|0); HEAP32[(($39)>>2)]=$37; var $40=$2; var $41=(($40+8)|0); var $42=HEAP32[(($41)>>2)]; var $43=$1; var $44=(($43+76)|0); HEAP32[(($44)>>2)]=$42; var $45=$2; var $46=(($45+8)|0); var $47=HEAP32[(($46)>>2)]; var $48=$1; var $49=(($48+80)|0); HEAP32[(($49)>>2)]=$47; var $50=$2; var $51=(($50+8)|0); var $52=HEAP32[(($51)>>2)]; var $53=$1; var $54=(($53+84)|0); HEAP32[(($54)>>2)]=$52; var $55=$2; var $56=(($55+12)|0); var $57=HEAP16[(($56)>>1)]; var $58=(($57 << 16) >> 16); var $59=_min($58, 16); var $60=$1; var $61=(($60+88)|0); HEAP32[(($61)>>2)]=$59; var $62=$1; var $63=$2; var $64=(($63+16)|0); var $65=(($64)|0); var $66=$65; var $67=$66; var $68=$67; var $69=$68; var $70=$1; var $71=(($70+88)|0); var $72=HEAP32[(($71)>>2)]; var $73=_kauth_cred_setgroups($62, $69, $72, -1, 1); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kauth_uucred_to_cred["X"]=1; function _kauth_cred_to_uucred($uuc, $cred) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $ng; $1=$uuc; $2=$cred; var $3=$2; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=596,tempInt)); __label__ = 5; break; case 5: var $13=$1; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12225)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=597,tempInt)); __label__ = 8; break; case 8: var $23=$2; var $24=(($23+88)|0); var $25=HEAP32[(($24)>>2)]; var $26=_min($25, 16); $ng=$26; var $27=$2; var $28=(($27+68)|0); var $29=HEAP32[(($28)>>2)]; var $30=$1; var $31=(($30+4)|0); HEAP32[(($31)>>2)]=$29; var $32=$2; var $33=(($32+80)|0); var $34=HEAP32[(($33)>>2)]; var $35=$1; var $36=(($35+8)|0); HEAP32[(($36)>>2)]=$34; var $37=$ng; var $38=(($37) & 65535); var $39=$1; var $40=(($39+12)|0); HEAP16[(($40)>>1)]=$38; var $41=$2; var $42=$1; var $43=(($42+16)|0); var $44=(($43)|0); var $45=$ng; var $46=_kauth_cred_getgroups($41, $44, $45, 1); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kauth_cred_to_uucred["X"]=1; function _kauth_cred_uucmp($cred, $uuc) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $i; var $ismember=__stackBase__; $2=$cred; $3=$uuc; var $4=$2; var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=614,tempInt)); __label__ = 5; break; case 5: var $14=$3; var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12225)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=615,tempInt)); __label__ = 8; break; case 8: var $24=$2; var $25=(($24+68)|0); var $26=HEAP32[(($25)>>2)]; var $27=$3; var $28=(($27+4)|0); var $29=HEAP32[(($28)>>2)]; var $30=(($26)|0)==(($29)|0); if ($30) { __label__ = 9; break; } else { __label__ = 19; break; } case 9: var $32=$2; var $33=(($32+80)|0); var $34=HEAP32[(($33)>>2)]; var $35=$3; var $36=(($35+8)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($34)|0)==(($37)|0); if ($38) { __label__ = 10; break; } else { __label__ = 19; break; } case 10: var $40=$2; var $41=(($40+88)|0); var $42=HEAP32[(($41)>>2)]; var $43=$3; var $44=(($43+12)|0); var $45=HEAP16[(($44)>>1)]; var $46=(($45 << 16) >> 16); var $47=(($42)|0)==(($46)|0); if ($47) { __label__ = 11; break; } else { __label__ = 19; break; } case 11: $i=0; __label__ = 12; break; case 12: var $50=$i; var $51=$3; var $52=(($51+12)|0); var $53=HEAP16[(($52)>>1)]; var $54=(($53 << 16) >> 16); var $55=(($50)|0) < (($54)|0); if ($55) { __label__ = 13; break; } else { __label__ = 18; break; } case 13: HEAP32[(($ismember)>>2)]=0; var $57=$2; var $58=$i; var $59=$3; var $60=(($59+16)|0); var $61=(($60+($58<<2))|0); var $62=HEAP32[(($61)>>2)]; var $63=_kauth_cred_ismember_gid($57, $62, $ismember); var $64=(($63)|0)!=0; if ($64) { __label__ = 15; break; } else { __label__ = 14; break; } case 14: var $66=HEAP32[(($ismember)>>2)]; var $67=(($66)|0)!=0; if ($67) { __label__ = 16; break; } else { __label__ = 15; break; } case 15: $1=1; __label__ = 20; break; case 16: __label__ = 17; break; case 17: var $71=$i; var $72=((($71)+(1))|0); $i=$72; __label__ = 12; break; case 18: $1=0; __label__ = 20; break; case 19: $1=1; __label__ = 20; break; case 20: var $76=$1; STACKTOP = __stackBase__; return $76; default: assert(0, "bad label: " + __label__); } } _kauth_cred_uucmp["X"]=1; function _kauth_cred_toucred($cred, $uc) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$uc; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=644,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str13226)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=645,tempInt)); __label__ = 8; break; case 8: var $23=$1; var $24=(($23)|0); var $25=HEAP32[(($24)>>2)]; var $26=$2; var $27=(($26)|0); HEAP32[(($27)>>2)]=$25; var $28=$1; var $29=(($28+68)|0); var $30=HEAP32[(($29)>>2)]; var $31=$2; var $32=(($31+4)|0); HEAP32[(($32)>>2)]=$30; var $33=$1; var $34=(($33+80)|0); var $35=HEAP32[(($34)>>2)]; var $36=$2; var $37=(($36+8)|0); HEAP32[(($37)>>2)]=$35; var $38=$1; var $39=(($38+88)|0); var $40=HEAP32[(($39)>>2)]; var $41=_min($40, 16); var $42=$2; var $43=(($42+12)|0); HEAP32[(($43)>>2)]=$41; var $44=$2; var $45=(($44+16)|0); var $46=(($45)|0); var $47=$46; var $48=$1; var $49=(($48+92)|0); var $50=(($49)|0); var $51=$50; var $52=$2; var $53=(($52+12)|0); var $54=HEAP32[(($53)>>2)]; var $55=((($54<<2))|0); assert($55 % 1 === 0, 'memcpy given ' + $55 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($47, $51, $55, 4); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kauth_cred_toucred["X"]=1; function _kauth_cred_topcred($cred, $pc) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$cred; $2=$pc; var $3=$1; var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=661,tempInt)); __label__ = 5; break; case 5: var $13=$2; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14227)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=662,tempInt)); __label__ = 8; break; case 8: var $23=$2; var $24=(($23)|0); HEAP32[(($24)>>2)]=0; var $25=$1; var $26=(($25+64)|0); var $27=HEAP32[(($26)>>2)]; var $28=$2; var $29=(($28+4)|0); HEAP32[(($29)>>2)]=$27; var $30=$1; var $31=(($30+72)|0); var $32=HEAP32[(($31)>>2)]; var $33=$2; var $34=(($33+8)|0); HEAP32[(($34)>>2)]=$32; var $35=$1; var $36=(($35+76)|0); var $37=HEAP32[(($36)>>2)]; var $38=$2; var $39=(($38+12)|0); HEAP32[(($39)>>2)]=$37; var $40=$1; var $41=(($40+84)|0); var $42=HEAP32[(($41)>>2)]; var $43=$2; var $44=(($43+16)|0); HEAP32[(($44)>>2)]=$42; var $45=$1; var $46=(($45)|0); var $47=HEAP32[(($46)>>2)]; var $48=$2; var $49=(($48+20)|0); HEAP32[(($49)>>2)]=$47; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kauth_cred_topcred["X"]=1; function _kauth_cred_get() { ; var __label__; var $1=_rumpuser_get_curlwp(); var $2=(($1+480)|0); var $3=HEAP32[(($2)>>2)]; ; return $3; } function _kauth_register_scope($id, $callback, $cookie) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $scope; var $listener; $2=$id; $3=$callback; $4=$cookie; $listener=0; var $5=$2; var $6=(($5)|0)==0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 25; break; case 4: var $9=_kmem_alloc(24, 1); var $10=$9; $scope=$10; var $11=$scope; var $12=(($11)|0)==0; if ($12) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=0; __label__ = 25; break; case 6: var $15=$3; var $16=(($15)|0)!=0; if ($16) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $18=_kmem_alloc(16, 1); var $19=$18; $listener=$19; var $20=$listener; var $21=(($20)|0)==0; if ($21) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $23=$scope; var $24=$23; _kmem_free($24, 24); $1=0; __label__ = 25; break; case 9: __label__ = 10; break; case 10: _rw_enter(_kauth_lock, 1); var $27=$2; var $28=_kauth_ifindscope($27); var $29=(($28)|0)!=0; if ($29) { __label__ = 11; break; } else { __label__ = 14; break; } case 11: _rw_exit(_kauth_lock); var $31=$scope; var $32=$31; _kmem_free($32, 24); var $33=$3; var $34=(($33)|0)!=0; if ($34) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $36=$listener; var $37=$36; _kmem_free($37, 16); __label__ = 13; break; case 13: $1=0; __label__ = 25; break; case 14: var $40=$2; var $41=$scope; var $42=(($41)|0); HEAP32[(($42)>>2)]=$40; var $43=$4; var $44=$scope; var $45=(($44+4)|0); HEAP32[(($45)>>2)]=$43; var $46=$scope; var $47=(($46+8)|0); HEAP32[(($47)>>2)]=1; __label__ = 15; break; case 15: var $49=$scope; var $50=(($49+12)|0); var $51=(($50)|0); HEAP32[(($51)>>2)]=0; var $52=$scope; var $53=(($52+12)|0); var $54=(($53)|0); var $55=$scope; var $56=(($55+12)|0); var $57=(($56+4)|0); HEAP32[(($57)>>2)]=$54; __label__ = 16; break; case 16: var $59=$3; var $60=(($59)|0)!=0; if ($60) { __label__ = 17; break; } else { __label__ = 22; break; } case 17: var $62=$3; var $63=$listener; var $64=(($63)|0); HEAP32[(($64)>>2)]=$62; var $65=$scope; var $66=$listener; var $67=(($66+4)|0); HEAP32[(($67)>>2)]=$65; var $68=$listener; var $69=(($68+8)|0); HEAP32[(($69)>>2)]=0; __label__ = 18; break; case 18: var $71=$scope; var $72=(($71+12)|0); var $73=(($72)|0); var $74=HEAP32[(($73)>>2)]; var $75=$listener; var $76=(($75+12)|0); var $77=(($76)|0); HEAP32[(($77)>>2)]=$74; var $78=(($74)|0)==0; if ($78) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $80=$listener; var $81=(($80+12)|0); var $82=(($81)|0); var $83=$scope; var $84=(($83+12)|0); var $85=(($84+4)|0); HEAP32[(($85)>>2)]=$82; __label__ = 20; break; case 20: var $87=$listener; var $88=$scope; var $89=(($88+12)|0); var $90=(($89)|0); HEAP32[(($90)>>2)]=$87; __label__ = 21; break; case 21: __label__ = 22; break; case 22: __label__ = 23; break; case 23: var $94=$scope; var $95=(($94+20)|0); var $96=(($95)|0); HEAP32[(($96)>>2)]=0; var $97=$scope; var $98=HEAP32[((((_scope_list+4)|0))>>2)]; HEAP32[(($98)>>2)]=$97; var $99=$scope; var $100=(($99+20)|0); var $101=(($100)|0); HEAP32[((((_scope_list+4)|0))>>2)]=$101; __label__ = 24; break; case 24: _rw_exit(_kauth_lock); var $103=$scope; $1=$103; __label__ = 25; break; case 25: var $105=$1; ; return $105; default: assert(0, "bad label: " + __label__); } } _kauth_register_scope["X"]=1; function _kauth_ifindscope($id) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $scope; $1=$id; var $2=_rw_lock_held(_kauth_lock); var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=$4; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str27240)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=690,tempInt)); __label__ = 5; break; case 5: $scope=0; var $10=HEAP32[((((_scope_list)|0))>>2)]; $scope=$10; __label__ = 6; break; case 6: var $12=$scope; var $13=(($12)|0)!=0; if ($13) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $15=$scope; var $16=(($15)|0); var $17=HEAP32[(($16)>>2)]; var $18=$1; var $19=_strcmp($17, $18); var $20=(($19)|0)==0; if ($20) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 11; break; case 9: __label__ = 10; break; case 10: var $24=$scope; var $25=(($24+20)|0); var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; $scope=$27; __label__ = 6; break; case 11: var $29=$scope; STACKTOP = __stackBase__; return $29; default: assert(0, "bad label: " + __label__); } } function _kauth_init() { ; var __label__; _rw_init(_kauth_lock); var $1=HEAP32[((_coherency_unit)>>2)]; var $2=_pool_cache_init(164, $1, 0, 0, ((STRING_TABLE.__str15228)|0), 0, 0, 0, 0, 0); HEAP32[((_kauth_cred_cache)>>2)]=$2; var $3=_specificdata_domain_create(); HEAP32[((_kauth_domain)>>2)]=$3; var $4=_kauth_register_scope(((STRING_TABLE.__str16229)|0), 0, 0); HEAP32[((_kauth_builtin_scope_cred)>>2)]=$4; var $5=_kauth_register_scope(((STRING_TABLE.__str17230)|0), 0, 0); HEAP32[((_kauth_builtin_scope_generic)>>2)]=$5; var $6=_kauth_register_scope(((STRING_TABLE.__str18231)|0), 0, 0); HEAP32[((_kauth_builtin_scope_system)>>2)]=$6; var $7=_kauth_register_scope(((STRING_TABLE.__str19232)|0), 0, 0); HEAP32[((_kauth_builtin_scope_process)>>2)]=$7; var $8=_kauth_register_scope(((STRING_TABLE.__str20233)|0), 0, 0); HEAP32[((_kauth_builtin_scope_network)>>2)]=$8; var $9=_kauth_register_scope(((STRING_TABLE.__str21234)|0), 0, 0); HEAP32[((_kauth_builtin_scope_machdep)>>2)]=$9; var $10=_kauth_register_scope(((STRING_TABLE.__str22235)|0), 0, 0); HEAP32[((_kauth_builtin_scope_device)>>2)]=$10; var $11=_kauth_register_scope(((STRING_TABLE.__str23236)|0), 0, 0); HEAP32[((_kauth_builtin_scope_vnode)>>2)]=$11; ; return; } function _kauth_deregister_scope($scope) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $curelm; $1=$scope; var $2=$1; var $3=(($2)|0)!=0; if ($3) { __label__ = 3; break; } else { __label__ = 18; break; } case 3: __label__ = 4; break; case 4: var $6=HEAP32[((((_scope_list)|0))>>2)]; var $7=$1; var $8=(($6)|0)==(($7)|0); if ($8) { __label__ = 5; break; } else { __label__ = 10; break; } case 5: __label__ = 6; break; case 6: var $11=HEAP32[((((_scope_list)|0))>>2)]; var $12=(($11+20)|0); var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; HEAP32[((((_scope_list)|0))>>2)]=$14; var $15=(($14)|0)==0; if ($15) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: HEAP32[((((_scope_list+4)|0))>>2)]=((_scope_list)|0); __label__ = 8; break; case 8: __label__ = 9; break; case 9: __label__ = 16; break; case 10: var $20=HEAP32[((((_scope_list)|0))>>2)]; $curelm=$20; __label__ = 11; break; case 11: var $22=$curelm; var $23=(($22+20)|0); var $24=(($23)|0); var $25=HEAP32[(($24)>>2)]; var $26=$1; var $27=(($25)|0)!=(($26)|0); if ($27) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $29=$curelm; var $30=(($29+20)|0); var $31=(($30)|0); var $32=HEAP32[(($31)>>2)]; $curelm=$32; __label__ = 11; break; case 13: var $34=$curelm; var $35=(($34+20)|0); var $36=(($35)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($37+20)|0); var $39=(($38)|0); var $40=HEAP32[(($39)>>2)]; var $41=$curelm; var $42=(($41+20)|0); var $43=(($42)|0); HEAP32[(($43)>>2)]=$40; var $44=(($40)|0)==0; if ($44) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $46=$curelm; var $47=(($46+20)|0); var $48=(($47)|0); HEAP32[((((_scope_list+4)|0))>>2)]=$48; __label__ = 15; break; case 15: __label__ = 16; break; case 16: __label__ = 17; break; case 17: var $52=$1; var $53=$52; _kmem_free($53, 24); __label__ = 18; break; case 18: ; return; default: assert(0, "bad label: " + __label__); } } _kauth_deregister_scope["X"]=1; function _kauth_listen_scope($id, $callback, $cookie) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $scope; var $listener; $2=$id; $3=$callback; $4=$cookie; var $5=_kmem_alloc(16, 1); var $6=$5; $listener=$6; var $7=$listener; var $8=(($7)|0)==0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 9; break; case 4: _rw_enter(_kauth_lock, 1); var $11=$2; var $12=_kauth_ifindscope($11); $scope=$12; var $13=$scope; var $14=(($13)|0)==0; if ($14) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: _rw_exit(_kauth_lock); var $16=$listener; var $17=$16; _kmem_free($17, 16); $1=0; __label__ = 9; break; case 6: var $19=$3; var $20=$listener; var $21=(($20)|0); HEAP32[(($21)>>2)]=$19; var $22=$listener; var $23=(($22+8)|0); HEAP32[(($23)>>2)]=0; __label__ = 7; break; case 7: var $25=$listener; var $26=(($25+12)|0); var $27=(($26)|0); HEAP32[(($27)>>2)]=0; var $28=$listener; var $29=$scope; var $30=(($29+12)|0); var $31=(($30+4)|0); var $32=HEAP32[(($31)>>2)]; HEAP32[(($32)>>2)]=$28; var $33=$listener; var $34=(($33+12)|0); var $35=(($34)|0); var $36=$scope; var $37=(($36+12)|0); var $38=(($37+4)|0); HEAP32[(($38)>>2)]=$35; __label__ = 8; break; case 8: var $40=$scope; var $41=(($40+8)|0); var $42=HEAP32[(($41)>>2)]; var $43=((($42)+(1))|0); HEAP32[(($41)>>2)]=$43; var $44=$scope; var $45=$listener; var $46=(($45+4)|0); HEAP32[(($46)>>2)]=$44; _rw_exit(_kauth_lock); var $47=$listener; $1=$47; __label__ = 9; break; case 9: var $49=$1; ; return $49; default: assert(0, "bad label: " + __label__); } } _kauth_listen_scope["X"]=1; function _kauth_unlisten_scope($listener) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $curelm; $1=$listener; var $2=$1; var $3=(($2)|0)!=0; if ($3) { __label__ = 3; break; } else { __label__ = 18; break; } case 3: _rw_enter(_kauth_lock, 1); __label__ = 4; break; case 4: var $6=$1; var $7=(($6+4)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+12)|0); var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; var $12=$1; var $13=(($11)|0)==(($12)|0); if ($13) { __label__ = 5; break; } else { __label__ = 10; break; } case 5: __label__ = 6; break; case 6: var $16=$1; var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18+12)|0); var $20=(($19)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21+12)|0); var $23=(($22)|0); var $24=HEAP32[(($23)>>2)]; var $25=$1; var $26=(($25+4)|0); var $27=HEAP32[(($26)>>2)]; var $28=(($27+12)|0); var $29=(($28)|0); HEAP32[(($29)>>2)]=$24; var $30=(($24)|0)==0; if ($30) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $32=$1; var $33=(($32+4)|0); var $34=HEAP32[(($33)>>2)]; var $35=(($34+12)|0); var $36=(($35)|0); var $37=$1; var $38=(($37+4)|0); var $39=HEAP32[(($38)>>2)]; var $40=(($39+12)|0); var $41=(($40+4)|0); HEAP32[(($41)>>2)]=$36; __label__ = 8; break; case 8: __label__ = 9; break; case 9: __label__ = 16; break; case 10: var $45=$1; var $46=(($45+4)|0); var $47=HEAP32[(($46)>>2)]; var $48=(($47+12)|0); var $49=(($48)|0); var $50=HEAP32[(($49)>>2)]; $curelm=$50; __label__ = 11; break; case 11: var $52=$curelm; var $53=(($52+12)|0); var $54=(($53)|0); var $55=HEAP32[(($54)>>2)]; var $56=$1; var $57=(($55)|0)!=(($56)|0); if ($57) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $59=$curelm; var $60=(($59+12)|0); var $61=(($60)|0); var $62=HEAP32[(($61)>>2)]; $curelm=$62; __label__ = 11; break; case 13: var $64=$curelm; var $65=(($64+12)|0); var $66=(($65)|0); var $67=HEAP32[(($66)>>2)]; var $68=(($67+12)|0); var $69=(($68)|0); var $70=HEAP32[(($69)>>2)]; var $71=$curelm; var $72=(($71+12)|0); var $73=(($72)|0); HEAP32[(($73)>>2)]=$70; var $74=(($70)|0)==0; if ($74) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $76=$curelm; var $77=(($76+12)|0); var $78=(($77)|0); var $79=$1; var $80=(($79+4)|0); var $81=HEAP32[(($80)>>2)]; var $82=(($81+12)|0); var $83=(($82+4)|0); HEAP32[(($83)>>2)]=$78; __label__ = 15; break; case 15: __label__ = 16; break; case 16: __label__ = 17; break; case 17: var $87=$1; var $88=(($87+4)|0); var $89=HEAP32[(($88)>>2)]; var $90=(($89+8)|0); var $91=HEAP32[(($90)>>2)]; var $92=((($91)-(1))|0); HEAP32[(($90)>>2)]=$92; _rw_exit(_kauth_lock); var $93=$1; var $94=$93; _kmem_free($94, 16); __label__ = 18; break; case 18: ; return; default: assert(0, "bad label: " + __label__); } } _kauth_unlisten_scope["X"]=1; function _kauth_authorize_action($scope, $cred, $action, $arg0, $arg1, $arg2, $arg3) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $r; $2=$scope; $3=$cred; $4=$action; $5=$arg0; $6=$arg1; $7=$arg2; $8=$arg3; var $9=$2; var $10=$3; var $11=$4; var $12=$5; var $13=$6; var $14=$7; var $15=$8; var $16=_kauth_authorize_action_internal($9, $10, $11, $12, $13, $14, $15); $r=$16; var $17=$r; var $18=(($17)|0)==1; if ($18) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=1; __label__ = 9; break; case 4: var $21=$r; var $22=(($21)|0)==0; if ($22) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=0; __label__ = 9; break; case 6: var $25=_secmodel_nsecmodels(); var $26=(($25)|0)==0; if ($26) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $1=0; __label__ = 9; break; case 8: $1=1; __label__ = 9; break; case 9: var $30=$1; ; return $30; default: assert(0, "bad label: " + __label__); } } function _kauth_mode_to_action($mode) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $action; $1=$mode; $action=0; var $2=$1; var $3=$2 & 4; var $4=(($3)|0)!=0; if ($4) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $6=$action; var $7=$6 | 1; $action=$7; __label__ = 4; break; case 4: var $9=$1; var $10=$9 & 2; var $11=(($10)|0)!=0; if ($11) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $13=$action; var $14=$13 | 2; $action=$14; __label__ = 6; break; case 6: var $16=$1; var $17=$16 & 1; var $18=(($17)|0)!=0; if ($18) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $20=$action; var $21=$20 | 4; $action=$21; __label__ = 8; break; case 8: var $23=$action; ; return $23; default: assert(0, "bad label: " + __label__); } } function _kauth_extattr_action($access_mode) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $action; $1=$access_mode; $action=0; var $2=$1; var $3=$2 & 4; var $4=(($3)|0)!=0; if ($4) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $6=$action; var $7=$6 | 131072; $action=$7; __label__ = 4; break; case 4: var $9=$1; var $10=$9 & 2; var $11=(($10)|0)!=0; if ($11) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $13=$action; var $14=$13 | 262144; $action=$14; __label__ = 6; break; case 6: var $16=$action; ; return $16; default: assert(0, "bad label: " + __label__); } } function _filedescopen($dev$0, $dev$1, $mode, $type, $l) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1=__stackBase__; var $2; var $3; var $4; var $st$4$0=(($1)|0); HEAP32[(($st$4$0)>>2)]=$dev$0; var $st$4$1=(($1+4)|0); HEAP32[(($st$4$1)>>2)]=$dev$1; $2=$mode; $3=$type; $4=$l; var $st$11$0=(($1)|0); var $5$0=HEAP32[(($st$11$0)>>2)]; var $st$11$1=(($1+4)|0); var $5$1=HEAP32[(($st$11$1)>>2)]; var $6$0=$5$0; var $6=$6$0; var $7=$6 & -1048576; var $8=$7 >>> 12; var $st$19$0=(($1)|0); var $9$0=HEAP32[(($st$19$0)>>2)]; var $st$19$1=(($1+4)|0); var $9$1=HEAP32[(($st$19$1)>>2)]; var $10$0=$9$0; var $10=$10$0; var $11=$10 & 255; var $12=$11 >>> 0; var $13=$8 | $12; var $14=$4; var $15=(($14+516)|0); HEAP32[(($15)>>2)]=$13; STACKTOP = __stackBase__; return -5; } function _kauth_authorize_action_internal($scope, $cred, $action, $arg0, $arg1, $arg2, $arg3) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $listener; var $error; var $allow; var $fail; $2=$scope; $3=$cred; $4=$action; $5=$arg0; $6=$arg1; $7=$arg2; $8=$arg3; var $9=$3; var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=(($11)|0)!=0; var $13=(($12)&1); var $14=$13; var $15=(($14)|0)!=0; if ($15) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2215)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=928,tempInt)); __label__ = 5; break; case 5: var $19=$4; var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=(($21)|0)!=0; var $23=(($22)&1); var $24=$23; var $25=(($24)|0)!=0; if ($25) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str25238)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=929,tempInt)); __label__ = 8; break; case 8: var $29=$3; var $30=(($29)|0)==-1; if ($30) { __label__ = 10; break; } else { __label__ = 9; break; } case 9: var $32=$3; var $33=(($32)|0)==-2; if ($33) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: $1=0; __label__ = 28; break; case 11: var $36=$2; var $37=(($36)|0)!=0; var $38=(($37)&1); var $39=(($38)|0)!=0; var $40=(($39)&1); var $41=$40; var $42=(($41)|0)!=0; if ($42) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str213)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1214)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str26239)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3216)|0),HEAP32[(((tempInt)+(12))>>2)]=935,tempInt)); __label__ = 14; break; case 14: $fail=0; $allow=0; var $46=$2; var $47=(($46+12)|0); var $48=(($47)|0); var $49=HEAP32[(($48)>>2)]; $listener=$49; __label__ = 15; break; case 15: var $51=$listener; var $52=(($51)|0)!=0; if ($52) { __label__ = 16; break; } else { __label__ = 23; break; } case 16: var $54=$listener; var $55=(($54)|0); var $56=HEAP32[(($55)>>2)]; var $57=$3; var $58=$4; var $59=$2; var $60=(($59+4)|0); var $61=HEAP32[(($60)>>2)]; var $62=$5; var $63=$6; var $64=$7; var $65=$8; var $66=FUNCTION_TABLE[$56]($57, $58, $61, $62, $63, $64, $65); $error=$66; var $67=$error; var $68=(($67)|0)==0; if ($68) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: $allow=1; __label__ = 21; break; case 18: var $71=$error; var $72=(($71)|0)==1; if ($72) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: $fail=1; __label__ = 20; break; case 20: __label__ = 21; break; case 21: __label__ = 22; break; case 22: var $77=$listener; var $78=(($77+12)|0); var $79=(($78)|0); var $80=HEAP32[(($79)>>2)]; $listener=$80; __label__ = 15; break; case 23: var $82=$fail; var $83=(($82)|0)!=0; if ($83) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: $1=1; __label__ = 28; break; case 25: var $86=$allow; var $87=(($86)|0)!=0; if ($87) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: $1=0; __label__ = 28; break; case 27: $1=2; __label__ = 28; break; case 28: var $91=$1; STACKTOP = __stackBase__; return $91; default: assert(0, "bad label: " + __label__); } } _kauth_authorize_action_internal["X"]=1; function _kauth_authorize_generic($cred, $action, $arg0) { ; var __label__; var $1; var $2; var $3; $1=$cred; $2=$action; $3=$arg0; var $4=HEAP32[((_kauth_builtin_scope_generic)>>2)]; var $5=$1; var $6=$2; var $7=$3; var $8=_kauth_authorize_action($4, $5, $6, $7, 0, 0, 0); ; return $8; } function _kauth_authorize_system($cred, $action, $req, $arg1, $arg2, $arg3) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $6; $1=$cred; $2=$action; $3=$req; $4=$arg1; $5=$arg2; $6=$arg3; var $7=HEAP32[((_kauth_builtin_scope_system)>>2)]; var $8=$1; var $9=$2; var $10=$3; var $11=$10; var $12=$4; var $13=$5; var $14=$6; var $15=_kauth_authorize_action($7, $8, $9, $11, $12, $13, $14); ; return $15; } function _kauth_authorize_network($cred, $action, $req, $arg1, $arg2, $arg3) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $6; $1=$cred; $2=$action; $3=$req; $4=$arg1; $5=$arg2; $6=$arg3; var $7=HEAP32[((_kauth_builtin_scope_network)>>2)]; var $8=$1; var $9=$2; var $10=$3; var $11=$10; var $12=$4; var $13=$5; var $14=$6; var $15=_kauth_authorize_action($7, $8, $9, $11, $12, $13, $14); ; return $15; } function _kauth_authorize_machdep($cred, $action, $arg0, $arg1, $arg2, $arg3) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $6; $1=$cred; $2=$action; $3=$arg0; $4=$arg1; $5=$arg2; $6=$arg3; var $7=HEAP32[((_kauth_builtin_scope_machdep)>>2)]; var $8=$1; var $9=$2; var $10=$3; var $11=$4; var $12=$5; var $13=$6; var $14=_kauth_authorize_action($7, $8, $9, $10, $11, $12, $13); ; return $14; } function _kauth_authorize_device($cred, $action, $arg0, $arg1, $arg2, $arg3) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $6; $1=$cred; $2=$action; $3=$arg0; $4=$arg1; $5=$arg2; $6=$arg3; var $7=HEAP32[((_kauth_builtin_scope_device)>>2)]; var $8=$1; var $9=$2; var $10=$3; var $11=$4; var $12=$5; var $13=$6; var $14=_kauth_authorize_action($7, $8, $9, $10, $11, $12, $13); ; return $14; } function _kauth_authorize_device_tty($cred, $action, $tty) { ; var __label__; var $1; var $2; var $3; $1=$cred; $2=$action; $3=$tty; var $4=HEAP32[((_kauth_builtin_scope_device)>>2)]; var $5=$1; var $6=$2; var $7=$3; var $8=$7; var $9=_kauth_authorize_action($4, $5, $6, $8, 0, 0, 0); ; return $9; } function _kauth_authorize_device_spec($cred, $req, $vp) { ; var __label__; var $1; var $2; var $3; $1=$cred; $2=$req; $3=$vp; var $4=HEAP32[((_kauth_builtin_scope_device)>>2)]; var $5=$1; var $6=$2; var $7=$6; var $8=$3; var $9=$8; var $10=_kauth_authorize_action($4, $5, 4, $7, $9, 0, 0); ; return $10; } function _kauth_authorize_device_passthru($cred, $dev$0, $dev$1, $bits, $data) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $2=__stackBase__; var $3; var $4; $1=$cred; var $st$5$0=(($2)|0); HEAP32[(($st$5$0)>>2)]=$dev$0; var $st$5$1=(($2+4)|0); HEAP32[(($st$5$1)>>2)]=$dev$1; $3=$bits; $4=$data; var $5=HEAP32[((_kauth_builtin_scope_device)>>2)]; var $6=$1; var $7=$3; var $8=$7; var $st$15$0=(($2)|0); var $9$0=HEAP32[(($st$15$0)>>2)]; var $st$15$1=(($2+4)|0); var $9$1=HEAP32[(($st$15$1)>>2)]; var $10$0=$9$0; var $10=$10$0; var $11=$10; var $12=$4; var $13=_kauth_authorize_action($5, $6, 5, $8, $11, $12, 0); STACKTOP = __stackBase__; return $13; } function _kauth_access_action($access_mode, $vn_type, $file_mode) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $action; $1=$access_mode; $2=$vn_type; $3=$file_mode; var $4=$1; var $5=_kauth_mode_to_action($4); $action=$5; var $6=$2; var $7=(($6)|0)==2; if ($7) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $9=$3; var $10=$9 & 73; var $11=(($10)|0)!=0; if ($11) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $13=$action; var $14=$13 | 536870912; $action=$14; __label__ = 5; break; case 5: var $16=$action; ; return $16; default: assert(0, "bad label: " + __label__); } } function _kauth_authorize_vnode($cred, $action, $vp, $dvp, $fs_decision) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $error; $2=$cred; $3=$action; $4=$vp; $5=$dvp; $6=$fs_decision; var $7=HEAP32[((_kauth_builtin_scope_vnode)>>2)]; var $8=$2; var $9=$3; var $10=$4; var $11=$10; var $12=$5; var $13=$12; var $14=_kauth_authorize_action_internal($7, $8, $9, $11, $13, 0, 0); $error=$14; var $15=$error; var $16=(($15)|0)==1; if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=13; __label__ = 9; break; case 4: var $19=$error; var $20=(($19)|0)==0; if ($20) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=0; __label__ = 9; break; case 6: var $23=$6; var $24=(($23)|0)==-1; if ($24) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $1=0; __label__ = 9; break; case 8: var $27=$6; $1=$27; __label__ = 9; break; case 9: var $29=$1; ; return $29; default: assert(0, "bad label: " + __label__); } } function _kernconfig_lock_init() { ; var __label__; _mutex_init(_kernconfig_mutex, 2, 0); HEAP32[((_kernconfig_lwp)>>2)]=0; HEAP32[((_kernconfig_recurse)>>2)]=0; ; return; } function _kernconfig_lock() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $my_lwp; var $1=_cpu_intr_p(); var $2=$1 ^ 1; var $3=(($2)&1); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str248)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1249)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2250)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3251)|0),HEAP32[(((tempInt)+(12))>>2)]=72,tempInt)); __label__ = 5; break; case 5: var $11=_rumpuser_get_curlwp(); $my_lwp=$11; var $12=HEAP32[((_kernconfig_lwp)>>2)]; var $13=$my_lwp; var $14=(($12)|0)==(($13)|0); if ($14) { __label__ = 6; break; } else { __label__ = 10; break; } case 6: var $16=HEAP32[((_kernconfig_recurse)>>2)]; var $17=((($16)+(1))|0); HEAP32[((_kernconfig_recurse)>>2)]=$17; var $18=HEAP32[((_kernconfig_recurse)>>2)]; var $19=(($18)|0) > 1; var $20=(($19)&1); var $21=(($20)|0)!=0; var $22=(($21)&1); var $23=$22; var $24=(($23)|0)!=0; if ($24) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 9; break; case 8: _kern_assert(((STRING_TABLE.__str248)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1249)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str4252)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3251)|0),HEAP32[(((tempInt)+(12))>>2)]=76,tempInt)); __label__ = 9; break; case 9: __label__ = 11; break; case 10: _mutex_enter(_kernconfig_mutex); var $29=$my_lwp; HEAP32[((_kernconfig_lwp)>>2)]=$29; HEAP32[((_kernconfig_recurse)>>2)]=1; __label__ = 11; break; case 11: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kernconfig_unlock() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1=_kernconfig_is_held(); var $2=(($1)&1); var $3=(($2)|0)!=0; var $4=(($3)&1); var $5=$4; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str248)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1249)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5253)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3251)|0),HEAP32[(((tempInt)+(12))>>2)]=88,tempInt)); __label__ = 5; break; case 5: var $10=HEAP32[((_kernconfig_recurse)>>2)]; var $11=(($10)|0)!=0; var $12=(($11)&1); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str248)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1249)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6254)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3251)|0),HEAP32[(((tempInt)+(12))>>2)]=89,tempInt)); __label__ = 8; break; case 8: var $20=HEAP32[((_kernconfig_recurse)>>2)]; var $21=((($20)-(1))|0); HEAP32[((_kernconfig_recurse)>>2)]=$21; var $22=(($21)|0)==0; if ($22) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: HEAP32[((_kernconfig_lwp)>>2)]=0; _mutex_exit(_kernconfig_mutex); __label__ = 10; break; case 10: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _kernconfig_is_held() { ; var __label__; var $1=_mutex_owned(_kernconfig_mutex); var $2=(($1)|0)!=0; ; return $2; } function _fd_sys_init() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; _mutex_init(_filelist_lock, 2, 0); var $4=HEAP32[((_coherency_unit)>>2)]; var $5=_pool_cache_init(64, $4, 0, 0, ((STRING_TABLE.__str255)|0), 0, 0, 8, 10, 0); HEAP32[((_file_cache)>>2)]=$5; var $6=HEAP32[((_file_cache)>>2)]; var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3258)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=145,tempInt)); __label__ = 5; break; case 5: var $16=HEAP32[((_coherency_unit)>>2)]; var $17=_pool_cache_init(28, $16, 0, 4096, ((STRING_TABLE.__str5260)|0), 0, 0, 12, 14, 0); HEAP32[((_fdfile_cache)>>2)]=$17; var $18=HEAP32[((_fdfile_cache)>>2)]; var $19=(($18)|0)!=0; var $20=(($19)&1); var $21=(($20)|0)!=0; var $22=(($21)&1); var $23=$22; var $24=(($23)|0)!=0; if ($24) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6261)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=150,tempInt)); __label__ = 8; break; case 8: var $28=HEAP32[((_coherency_unit)>>2)]; var $29=_pool_cache_init(652, $28, 0, 0, ((STRING_TABLE.__str7262)|0), 0, 0, 16, 18, 0); HEAP32[((_filedesc_cache)>>2)]=$29; var $30=HEAP32[((_filedesc_cache)>>2)]; var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=(($32)|0)!=0; var $34=(($33)&1); var $35=$34; var $36=(($35)|0)!=0; if ($36) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str8263)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=155,tempInt)); __label__ = 11; break; case 11: $3=0; var $40=$3; var $41=$40; var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $$emscripten$temp$0=((STRING_TABLE.__str9264)|0); var $42=_sysctl_createv(_fd_sys_init_clog, 0, 0, 0, 512, 1, $$emscripten$temp$0, 0, 0, $$emscripten$temp$1$0, $$emscripten$temp$1$1, $41, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); $1=0; var $43=$1; var $$emscripten$temp$3$0=0; var $$emscripten$temp$3$1=0; var $$emscripten$temp$2=((STRING_TABLE.__str255)|0); var $44=_sysctl_createv(_fd_sys_init_clog, 0, 0, 0, 512, 5, $$emscripten$temp$2, 0, 20, $$emscripten$temp$3$0, $$emscripten$temp$3$1, $43, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=15,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); $2=0; var $45=$2; var $$emscripten$temp$5$0=0; var $$emscripten$temp$5$1=0; var $$emscripten$temp$4=((STRING_TABLE.__str10265)|0); var $46=_sysctl_createv(_fd_sys_init_clog, 0, 0, 0, 512, 5, $$emscripten$temp$4, 0, 22, $$emscripten$temp$5$0, $$emscripten$temp$5$1, $45, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=77,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_sys_init["X"]=1; function _file_ctor($arg, $obj, $flags) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $fp; $2=$arg; $3=$obj; $4=$flags; var $5=$3; var $6=$5; $fp=$6; var $7=$fp; var $8=$7; for (var $$dest = $8>>2, $$stop = $$dest + 16; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; _mutex_enter(_filelist_lock); var $9=HEAP32[((_nfiles)>>2)]; var $10=HEAP32[((_maxfiles)>>2)]; var $11=(($9)>>>0) >= (($10)>>>0); var $12=(($11)&1); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _mutex_exit(_filelist_lock); _tablefull(((STRING_TABLE.__str255)|0), ((STRING_TABLE.__str73328)|0)); $1=23; __label__ = 9; break; case 4: var $19=HEAP32[((_nfiles)>>2)]; var $20=((($19)+(1))|0); HEAP32[((_nfiles)>>2)]=$20; __label__ = 5; break; case 5: var $22=HEAP32[((((_filehead)|0))>>2)]; var $23=$fp; var $24=(($23+20)|0); var $25=(($24)|0); HEAP32[(($25)>>2)]=$22; var $26=(($22)|0)!=0; if ($26) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $28=$fp; var $29=(($28+20)|0); var $30=(($29)|0); var $31=HEAP32[((((_filehead)|0))>>2)]; var $32=(($31+20)|0); var $33=(($32+4)|0); HEAP32[(($33)>>2)]=$30; __label__ = 7; break; case 7: var $35=$fp; HEAP32[((((_filehead)|0))>>2)]=$35; var $36=$fp; var $37=(($36+20)|0); var $38=(($37+4)|0); HEAP32[(($38)>>2)]=((_filehead)|0); __label__ = 8; break; case 8: var $40=$fp; var $41=(($40+28)|0); _mutex_init($41, 2, 0); var $42=_rumpuser_get_curlwp(); var $43=(($42+480)|0); var $44=HEAP32[(($43)>>2)]; var $45=$fp; var $46=(($45+8)|0); HEAP32[(($46)>>2)]=$44; var $47=$fp; var $48=(($47+8)|0); var $49=HEAP32[(($48)>>2)]; _kauth_cred_hold($49); _mutex_exit(_filelist_lock); $1=0; __label__ = 9; break; case 9: var $51=$1; ; return $51; default: assert(0, "bad label: " + __label__); } } _file_ctor["X"]=1; function _file_dtor($arg, $obj) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $fp; $1=$arg; $2=$obj; var $3=$2; var $4=$3; $fp=$4; _mutex_enter(_filelist_lock); var $5=HEAP32[((_nfiles)>>2)]; var $6=((($5)-(1))|0); HEAP32[((_nfiles)>>2)]=$6; __label__ = 3; break; case 3: var $8=$fp; var $9=(($8+20)|0); var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; var $12=(($11)|0)!=0; if ($12) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $14=$fp; var $15=(($14+20)|0); var $16=(($15+4)|0); var $17=HEAP32[(($16)>>2)]; var $18=$fp; var $19=(($18+20)|0); var $20=(($19)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21+20)|0); var $23=(($22+4)|0); HEAP32[(($23)>>2)]=$17; __label__ = 5; break; case 5: var $25=$fp; var $26=(($25+20)|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=$fp; var $30=(($29+20)|0); var $31=(($30+4)|0); var $32=HEAP32[(($31)>>2)]; HEAP32[(($32)>>2)]=$28; __label__ = 6; break; case 6: _mutex_exit(_filelist_lock); var $34=$fp; var $35=(($34+8)|0); var $36=HEAP32[(($35)>>2)]; _kauth_cred_free($36); var $37=$fp; var $38=(($37+28)|0); _mutex_destroy($38); ; return; default: assert(0, "bad label: " + __label__); } } _file_dtor["X"]=1; function _fdfile_ctor($arg, $obj, $flags) { ; var __label__; var $1; var $2; var $3; var $ff; $1=$arg; $2=$obj; $3=$flags; var $4=$2; var $5=$4; $ff=$5; var $6=$ff; var $7=$6; HEAP32[(($7)>>2)]=0; HEAP32[((($7)+(4))>>2)]=0; HEAP32[((($7)+(8))>>2)]=0; HEAP32[((($7)+(12))>>2)]=0; HEAP32[((($7)+(16))>>2)]=0; HEAP32[((($7)+(20))>>2)]=0; HEAP32[((($7)+(24))>>2)]=0; var $8=$ff; var $9=(($8+16)|0); _cv_init($9, ((STRING_TABLE.__str72327)|0)); ; return 0; } function _fdfile_dtor($arg, $obj) { ; var __label__; var $1; var $2; var $ff; $1=$arg; $2=$obj; var $3=$2; var $4=$3; $ff=$4; var $5=$ff; var $6=(($5+16)|0); _cv_destroy($6); ; return; } function _filedesc_ctor($arg, $obj, $flag) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $fdp; var $ffp; var $i; $1=$arg; $2=$obj; $3=$flag; var $4=$2; var $5=$4; $fdp=$5; var $6=$fdp; var $7=$6; for (var $$dest = $7>>2, $$stop = $$dest + 163; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $8=$fdp; var $9=(($8+384)|0); _mutex_init($9, 2, 0); var $10=$fdp; var $11=(($10+408)|0); HEAP32[(($11)>>2)]=-1; var $12=$fdp; var $13=(($12+404)|0); HEAP32[(($13)>>2)]=-1; var $14=$fdp; var $15=(($14+432)|0); var $16=$fdp; var $17=(($16+388)|0); HEAP32[(($17)>>2)]=$15; var $18=$fdp; var $19=(($18+432)|0); var $20=(($19)|0); HEAP32[(($20)>>2)]=20; var $21=$fdp; var $22=(($21+520)|0); var $23=(($22)|0); var $24=$fdp; var $25=(($24+392)|0); HEAP32[(($25)>>2)]=$23; var $26=$fdp; var $27=(($26+524)|0); var $28=(($27)|0); var $29=$fdp; var $30=(($29+396)|0); HEAP32[(($30)>>2)]=$28; $i=0; var $31=$fdp; var $32=(($31+388)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($33+8)|0); var $35=(($34)|0); $ffp=$35; __label__ = 3; break; case 3: var $37=$i; var $38=(($37)|0) < 6; if ($38) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $40=$i; var $41=$fdp; var $42=(($41)|0); var $43=(($42+($40<<6))|0); var $44=(($43)|0); var $45=$44; var $46=$ffp; HEAP32[(($46)>>2)]=$45; var $47=$i; var $48=$fdp; var $49=(($48)|0); var $50=(($49+($47<<6))|0); var $51=(($50)|0); var $52=_fdfile_ctor(0, $51, 1); __label__ = 5; break; case 5: var $54=$i; var $55=((($54)+(1))|0); $i=$55; var $56=$ffp; var $57=(($56+4)|0); $ffp=$57; __label__ = 3; break; case 6: ; return 0; default: assert(0, "bad label: " + __label__); } } _filedesc_ctor["X"]=1; function _filedesc_dtor($arg, $obj) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $fdp; var $i; $1=$arg; $2=$obj; var $3=$2; var $4=$3; $fdp=$4; $i=0; __label__ = 3; break; case 3: var $6=$i; var $7=(($6)|0) < 6; if ($7) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $9=$i; var $10=$fdp; var $11=(($10)|0); var $12=(($11+($9<<6))|0); var $13=(($12)|0); _fdfile_dtor(0, $13); __label__ = 5; break; case 5: var $15=$i; var $16=((($15)+(1))|0); $i=$16; __label__ = 3; break; case 6: var $18=$fdp; var $19=(($18+384)|0); _mutex_destroy($19); ; return; default: assert(0, "bad label: " + __label__); } } function _sysctl_kern_file($name, $namelen, $oldp, $oldlenp, $newp, $newlen, $oname, $l, $rnode) { var __stackBase__ = STACKTOP; STACKTOP += 64; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $error; var $buflen; var $fp; var $fbuf=__stackBase__; var $start; var $where; var $p; var $fd; var $dt; var $i; var $ff; $2=$name; $3=$namelen; $4=$oldp; $5=$oldlenp; $6=$newp; $7=$newlen; $8=$oname; $9=$l; $10=$rnode; var $11=$4; $where=$11; $start=$11; var $12=$5; var $13=HEAP32[(($12)>>2)]; $buflen=$13; var $14=$where; var $15=(($14)|0)==0; if ($15) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $17=HEAP32[((_nfiles)>>2)]; var $18=((($17)+(10))|0); var $19=((($18<<6))|0); var $20=((($19)+(4))|0); var $21=$5; HEAP32[(($21)>>2)]=$20; $1=0; __label__ = 38; break; case 4: var $23=$buflen; var $24=(($23)>>>0) < 4; if ($24) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $26=$5; HEAP32[(($26)>>2)]=0; $1=0; __label__ = 38; break; case 6: _sysctl_unlock(); var $28=$9; var $29=$where; var $30=_sysctl_copyout($28, _filehead, $29, 4); $error=$30; var $31=$error; var $32=(($31)|0)!=0; if ($32) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: _sysctl_relock(); var $34=$error; $1=$34; __label__ = 38; break; case 8: var $36=$buflen; var $37=((($36)-(4))|0); $buflen=$37; var $38=$where; var $39=(($38+4)|0); $where=$39; _mutex_enter(_sysctl_file_marker_lock); var $40=HEAP32[((_proc_lock)>>2)]; _mutex_enter($40); var $41=HEAP32[((((_allproc)|0))>>2)]; $p=$41; __label__ = 9; break; case 9: var $43=$p; var $44=__proclist_skipmarker($43); $p=$44; var $45=(($44)|0)!=0; if ($45) { __label__ = 10; break; } else { __label__ = 35; break; } case 10: var $47=$p; var $48=(($47+116)|0); var $49=HEAP8[($48)]; var $50=(($49 << 24) >> 24); var $51=(($50)|0)==1; if ($51) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: __label__ = 34; break; case 12: var $54=$p; var $55=(($54+12)|0); var $56=HEAP32[(($55)>>2)]; _mutex_enter($56); var $57=$9; var $58=(($57+480)|0); var $59=HEAP32[(($58)>>2)]; var $60=$p; var $61=_kauth_authorize_process($59, 1, $60, 4, 0, 0); $error=$61; var $62=$p; var $63=(($62+12)|0); var $64=HEAP32[(($63)>>2)]; _mutex_exit($64); var $65=$error; var $66=(($65)|0)!=0; if ($66) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: $error=0; __label__ = 34; break; case 14: var $69=$p; var $70=(($69+20)|0); var $71=_rw_tryenter($70, 0); var $72=(($71)|0)!=0; if ($72) { __label__ = 16; break; } else { __label__ = 15; break; } case 15: __label__ = 34; break; case 16: var $75=HEAP32[((_proc_lock)>>2)]; _mutex_exit($75); var $76=$p; var $77=(($76+52)|0); var $78=HEAP32[(($77)>>2)]; $fd=$78; var $79=$fd; var $80=(($79+384)|0); _mutex_enter($80); var $81=$fd; var $82=(($81+388)|0); var $83=HEAP32[(($82)>>2)]; $dt=$83; $i=0; __label__ = 17; break; case 17: var $85=$i; var $86=$dt; var $87=(($86)|0); var $88=HEAP32[(($87)>>2)]; var $89=(($85)>>>0) < (($88)>>>0); if ($89) { __label__ = 18; break; } else { __label__ = 31; break; } case 18: var $91=$i; var $92=$dt; var $93=(($92+8)|0); var $94=(($93+($91<<2))|0); var $95=HEAP32[(($94)>>2)]; $ff=$95; var $96=(($95)|0)==0; if ($96) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: __label__ = 30; break; case 20: var $99=$ff; var $100=(($99+8)|0); var $101=HEAP32[(($100)>>2)]; $fp=$101; var $102=(($101)|0)==0; if ($102) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 30; break; case 22: var $105=$fp; var $106=(($105+28)|0); _mutex_enter($106); var $107=$fp; var $108=(($107+48)|0); var $109=HEAP32[(($108)>>2)]; var $110=(($109)|0)==0; if ($110) { __label__ = 24; break; } else { __label__ = 23; break; } case 23: var $112=$fp; var $113=(($112+36)|0); var $114=HEAP32[(($113)>>2)]; var $115=HEAP32[((_sysctl_file_marker)>>2)]; var $116=(($114)|0)==(($115)|0); if ($116) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: var $118=$fp; var $119=(($118+28)|0); _mutex_exit($119); __label__ = 30; break; case 25: var $121=$buflen; var $122=(($121)>>>0) < 64; if ($122) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: var $124=$where; var $125=$start; var $126=$124; var $127=$125; var $128=((($126)-($127))|0); var $129=$5; HEAP32[(($129)>>2)]=$128; var $130=$fp; var $131=(($130+28)|0); _mutex_exit($131); $error=12; __label__ = 31; break; case 27: var $133=$fbuf; var $134=$fp; var $135=$134; assert(64 % 1 === 0, 'memcpy given ' + 64 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $135>>2, $$dest = $133>>2, $$stop = $$src + 16; $$src < $$stop; $$src++, $$dest++) { HEAP32[$$dest] = HEAP32[$$src] }; var $136=$fp; var $137=(($136+28)|0); _mutex_exit($137); var $138=$9; var $139=$fbuf; var $140=$where; var $141=_sysctl_copyout($138, $139, $140, 64); $error=$141; var $142=$error; var $143=(($142)|0)!=0; if ($143) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: __label__ = 31; break; case 29: var $146=$buflen; var $147=((($146)-(64))|0); $buflen=$147; var $148=$where; var $149=(($148+64)|0); $where=$149; var $150=HEAP32[((_sysctl_file_marker)>>2)]; var $151=$fp; var $152=(($151+36)|0); HEAP32[(($152)>>2)]=$150; __label__ = 30; break; case 30: var $154=$i; var $155=((($154)+(1))|0); $i=$155; __label__ = 17; break; case 31: var $157=$fd; var $158=(($157+384)|0); _mutex_exit($158); var $159=HEAP32[((_proc_lock)>>2)]; _mutex_enter($159); var $160=$p; var $161=(($160+20)|0); _rw_exit($161); var $162=$error; var $163=(($162)|0)!=0; if ($163) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: __label__ = 35; break; case 33: __label__ = 34; break; case 34: var $167=$p; var $168=(($167)|0); var $169=(($168)|0); var $170=HEAP32[(($169)>>2)]; $p=$170; __label__ = 9; break; case 35: var $172=HEAP32[((_sysctl_file_marker)>>2)]; var $173=((($172)+(1))|0); HEAP32[((_sysctl_file_marker)>>2)]=$173; var $174=HEAP32[((_sysctl_file_marker)>>2)]; var $175=(($174)|0)==0; if ($175) { __label__ = 36; break; } else { __label__ = 37; break; } case 36: _sysctl_file_marker_reset(); var $177=HEAP32[((_sysctl_file_marker)>>2)]; var $178=((($177)+(1))|0); HEAP32[((_sysctl_file_marker)>>2)]=$178; __label__ = 37; break; case 37: var $180=HEAP32[((_proc_lock)>>2)]; _mutex_exit($180); _mutex_exit(_sysctl_file_marker_lock); var $181=$where; var $182=$start; var $183=$181; var $184=$182; var $185=((($183)-($184))|0); var $186=$5; HEAP32[(($186)>>2)]=$185; _sysctl_relock(); var $187=$error; $1=$187; __label__ = 38; break; case 38: var $189=$1; STACKTOP = __stackBase__; return $189; default: assert(0, "bad label: " + __label__); } } _sysctl_kern_file["X"]=1; function _sysctl_kern_file2($name, $namelen, $oldp, $oldlenp, $newp, $newlen, $oname, $l, $rnode) { var __stackBase__ = STACKTOP; STACKTOP += 120; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $p; var $fp; var $fd; var $kf=__stackBase__; var $dp; var $i; var $op; var $len; var $needed; var $elem_size; var $out_size; var $error; var $arg; var $elem_count; var $ff; var $dt; $2=$name; $3=$namelen; $4=$oldp; $5=$oldlenp; $6=$newp; $7=$newlen; $8=$oname; $9=$l; $10=$rnode; var $11=$3; var $12=(($11)|0)==1; if ($12) { __label__ = 3; break; } else { __label__ = 5; break; } case 3: var $14=$2; var $15=(($14)|0); var $16=HEAP32[(($15)>>2)]; var $17=(($16)|0)==-2; if ($17) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $19=$2; var $20=$3; var $21=$4; var $22=$5; var $23=$6; var $24=$7; var $25=$8; var $26=$9; var $27=$10; var $28=_sysctl_query($19, $20, $21, $22, $23, $24, $25, $26, $27); $1=$28; __label__ = 70; break; case 5: var $30=$3; var $31=(($30)|0)!=4; if ($31) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $1=22; __label__ = 70; break; case 7: $error=0; var $34=$4; $dp=$34; var $35=$4; var $36=(($35)|0)!=0; if ($36) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $38=$5; var $39=HEAP32[(($38)>>2)]; var $42 = $39;__label__ = 10; break; case 9: var $42 = 0;__label__ = 10; break; case 10: var $42; $len=$42; var $43=$2; var $44=(($43)|0); var $45=HEAP32[(($44)>>2)]; $op=$45; var $46=$2; var $47=(($46+4)|0); var $48=HEAP32[(($47)>>2)]; $arg=$48; var $49=$2; var $50=(($49+8)|0); var $51=HEAP32[(($50)>>2)]; $elem_size=$51; var $52=$2; var $53=(($52+12)|0); var $54=HEAP32[(($53)>>2)]; $elem_count=$54; var $55=$elem_size; var $56=120 < (($55)>>>0); if ($56) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $61 = 120;__label__ = 13; break; case 12: var $59=$elem_size; var $61 = $59;__label__ = 13; break; case 13: var $61; $out_size=$61; $needed=0; var $62=$elem_size; var $63=(($62)>>>0) < 1; if ($63) { __label__ = 15; break; } else { __label__ = 14; break; } case 14: var $65=$elem_count; var $66=(($65)|0) < 0; if ($66) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: $1=22; __label__ = 70; break; case 16: var $69=$op; if ((($69)|0) == 1 || (($69)|0) == 2) { __label__ = 17; break; } else { __label__ = 66; break; } case 17: var $71=$op; var $72=(($71)|0)==1; if ($72) { __label__ = 18; break; } else { __label__ = 20; break; } case 18: var $74=$arg; var $75=(($74)|0)!=0; if ($75) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: $1=22; __label__ = 70; break; case 20: var $78=$op; var $79=(($78)|0)==2; if ($79) { __label__ = 21; break; } else { __label__ = 23; break; } case 21: var $81=$arg; var $82=(($81)|0) < -1; if ($82) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: $1=22; __label__ = 70; break; case 23: _sysctl_unlock(); var $85=$op; var $86=(($85)|0)==1; if ($86) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: _mutex_enter(_sysctl_file_marker_lock); __label__ = 25; break; case 25: var $89=HEAP32[((_proc_lock)>>2)]; _mutex_enter($89); var $90=HEAP32[((((_allproc)|0))>>2)]; $p=$90; __label__ = 26; break; case 26: var $92=$p; var $93=__proclist_skipmarker($92); $p=$93; var $94=(($93)|0)!=0; if ($94) { __label__ = 27; break; } else { __label__ = 59; break; } case 27: var $96=$p; var $97=(($96+116)|0); var $98=HEAP8[($97)]; var $99=(($98 << 24) >> 24); var $100=(($99)|0)==1; if ($100) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: __label__ = 58; break; case 29: var $103=$arg; var $104=(($103)|0) > 0; if ($104) { __label__ = 30; break; } else { __label__ = 32; break; } case 30: var $106=$p; var $107=(($106+120)|0); var $108=HEAP32[(($107)>>2)]; var $109=$arg; var $110=(($108)|0)!=(($109)|0); if ($110) { __label__ = 31; break; } else { __label__ = 32; break; } case 31: __label__ = 58; break; case 32: var $113=$p; var $114=(($113+12)|0); var $115=HEAP32[(($114)>>2)]; _mutex_enter($115); var $116=$9; var $117=(($116+480)|0); var $118=HEAP32[(($117)>>2)]; var $119=$p; var $120=_kauth_authorize_process($118, 1, $119, 4, 0, 0); $error=$120; var $121=$p; var $122=(($121+12)|0); var $123=HEAP32[(($122)>>2)]; _mutex_exit($123); var $124=$error; var $125=(($124)|0)!=0; if ($125) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: $error=0; __label__ = 58; break; case 34: var $128=$p; var $129=(($128+20)|0); var $130=_rw_tryenter($129, 0); var $131=(($130)|0)!=0; if ($131) { __label__ = 36; break; } else { __label__ = 35; break; } case 35: __label__ = 58; break; case 36: var $134=HEAP32[((_proc_lock)>>2)]; _mutex_exit($134); var $135=$p; var $136=(($135+52)|0); var $137=HEAP32[(($136)>>2)]; $fd=$137; var $138=$fd; var $139=(($138+384)|0); _mutex_enter($139); var $140=$fd; var $141=(($140+388)|0); var $142=HEAP32[(($141)>>2)]; $dt=$142; $i=0; __label__ = 37; break; case 37: var $144=$i; var $145=$dt; var $146=(($145)|0); var $147=HEAP32[(($146)>>2)]; var $148=(($144)>>>0) < (($147)>>>0); if ($148) { __label__ = 38; break; } else { __label__ = 57; break; } case 38: var $150=$i; var $151=$dt; var $152=(($151+8)|0); var $153=(($152+($150<<2))|0); var $154=HEAP32[(($153)>>2)]; $ff=$154; var $155=(($154)|0)==0; if ($155) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: __label__ = 56; break; case 40: var $158=$ff; var $159=(($158+8)|0); var $160=HEAP32[(($159)>>2)]; $fp=$160; var $161=(($160)|0)==0; if ($161) { __label__ = 41; break; } else { __label__ = 42; break; } case 41: __label__ = 56; break; case 42: var $164=$op; var $165=(($164)|0)==1; if ($165) { __label__ = 43; break; } else { __label__ = 45; break; } case 43: var $167=$fp; var $168=(($167+36)|0); var $169=HEAP32[(($168)>>2)]; var $170=HEAP32[((_sysctl_file_marker)>>2)]; var $171=(($169)|0)==(($170)|0); if ($171) { __label__ = 44; break; } else { __label__ = 45; break; } case 44: __label__ = 56; break; case 45: var $174=$len; var $175=$elem_size; var $176=(($174)>>>0) >= (($175)>>>0); if ($176) { __label__ = 46; break; } else { __label__ = 50; break; } case 46: var $178=$elem_count; var $179=(($178)|0) > 0; if ($179) { __label__ = 47; break; } else { __label__ = 50; break; } case 47: var $181=$fp; var $182=(($181+28)|0); _mutex_enter($182); var $183=$fp; var $184=$ff; var $185=$i; var $186=$p; var $187=(($186+120)|0); var $188=HEAP32[(($187)>>2)]; _fill_file($kf, $183, $184, $185, $188); var $189=$fp; var $190=(($189+28)|0); _mutex_exit($190); var $191=$fd; var $192=(($191+384)|0); _mutex_exit($192); var $193=$9; var $194=$kf; var $195=$dp; var $196=$out_size; var $197=_sysctl_copyout($193, $194, $195, $196); $error=$197; var $198=$fd; var $199=(($198+384)|0); _mutex_enter($199); var $200=$error; var $201=(($200)|0)!=0; if ($201) { __label__ = 48; break; } else { __label__ = 49; break; } case 48: __label__ = 57; break; case 49: var $204=$elem_size; var $205=$dp; var $206=(($205+$204)|0); $dp=$206; var $207=$elem_size; var $208=$len; var $209=((($208)-($207))|0); $len=$209; __label__ = 50; break; case 50: var $211=$op; var $212=(($211)|0)==1; if ($212) { __label__ = 51; break; } else { __label__ = 52; break; } case 51: var $214=HEAP32[((_sysctl_file_marker)>>2)]; var $215=$fp; var $216=(($215+36)|0); HEAP32[(($216)>>2)]=$214; __label__ = 52; break; case 52: var $218=$elem_size; var $219=$needed; var $220=((($219)+($218))|0); $needed=$220; var $221=$elem_count; var $222=(($221)|0) > 0; if ($222) { __label__ = 53; break; } else { __label__ = 55; break; } case 53: var $224=$elem_count; var $225=(($224)|0)!=2147483647; if ($225) { __label__ = 54; break; } else { __label__ = 55; break; } case 54: var $227=$elem_count; var $228=((($227)-(1))|0); $elem_count=$228; __label__ = 55; break; case 55: __label__ = 56; break; case 56: var $231=$i; var $232=((($231)+(1))|0); $i=$232; __label__ = 37; break; case 57: var $234=$fd; var $235=(($234+384)|0); _mutex_exit($235); var $236=HEAP32[((_proc_lock)>>2)]; _mutex_enter($236); var $237=$p; var $238=(($237+20)|0); _rw_exit($238); __label__ = 58; break; case 58: var $240=$p; var $241=(($240)|0); var $242=(($241)|0); var $243=HEAP32[(($242)>>2)]; $p=$243; __label__ = 26; break; case 59: var $245=$op; var $246=(($245)|0)==1; if ($246) { __label__ = 60; break; } else { __label__ = 63; break; } case 60: var $248=HEAP32[((_sysctl_file_marker)>>2)]; var $249=((($248)+(1))|0); HEAP32[((_sysctl_file_marker)>>2)]=$249; var $250=HEAP32[((_sysctl_file_marker)>>2)]; var $251=(($250)|0)==0; if ($251) { __label__ = 61; break; } else { __label__ = 62; break; } case 61: _sysctl_file_marker_reset(); var $253=HEAP32[((_sysctl_file_marker)>>2)]; var $254=((($253)+(1))|0); HEAP32[((_sysctl_file_marker)>>2)]=$254; __label__ = 62; break; case 62: __label__ = 63; break; case 63: var $257=HEAP32[((_proc_lock)>>2)]; _mutex_exit($257); var $258=$op; var $259=(($258)|0)==1; if ($259) { __label__ = 64; break; } else { __label__ = 65; break; } case 64: _mutex_exit(_sysctl_file_marker_lock); __label__ = 65; break; case 65: _sysctl_relock(); __label__ = 67; break; case 66: $1=22; __label__ = 70; break; case 67: var $264=$4; var $265=(($264)|0)==0; if ($265) { __label__ = 68; break; } else { __label__ = 69; break; } case 68: var $267=$elem_size; var $268=((($267)*(10))|0); var $269=$needed; var $270=((($269)+($268))|0); $needed=$270; __label__ = 69; break; case 69: var $272=$needed; var $273=$5; HEAP32[(($273)>>2)]=$272; var $274=$error; $1=$274; __label__ = 70; break; case 70: var $276=$1; STACKTOP = __stackBase__; return $276; default: assert(0, "bad label: " + __label__); } } _sysctl_kern_file2["X"]=1; function _fd_getfile($fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $fdp; var $ff; var $fp; var $dt; $2=$fd; var $3=_rumpuser_get_curlwp(); var $4=(($3+484)|0); var $5=HEAP32[(($4)>>2)]; $fdp=$5; var $6=$fdp; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; $dt=$8; var $9=$2; var $10=$dt; var $11=(($10)|0); var $12=HEAP32[(($11)>>2)]; var $13=(($9)>>>0) >= (($12)>>>0); var $14=(($13)&1); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 17; break; case 4: var $21=$2; var $22=$dt; var $23=(($22+8)|0); var $24=(($23+($21<<2))|0); var $25=HEAP32[(($24)>>2)]; $ff=$25; var $26=$2; var $27=(($26)>>>0) >= 6; if ($27) { var $38 = 1;__label__ = 6; break; } else { __label__ = 5; break; } case 5: var $29=$ff; var $30=$2; var $31=$fdp; var $32=(($31)|0); var $33=(($32+($30<<6))|0); var $34=(($33)|0); var $35=$34; var $36=(($29)|0)==(($35)|0); var $38 = $36;__label__ = 6; break; case 6: var $38; var $39=(($38)&1); var $40=(($39)|0)!=0; var $41=(($40)&1); var $42=$41; var $43=(($42)|0)!=0; if ($43) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 9; break; case 8: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=371,tempInt)); __label__ = 9; break; case 9: var $47=$ff; var $48=(($47)|0)==0; var $49=(($48)&1); var $50=(($49)|0)!=0; var $51=(($50)&1); var $52=$51; var $53=(($52)|0)!=0; if ($53) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: $1=0; __label__ = 17; break; case 11: var $56=$fdp; var $57=(($56+412)|0); var $58=HEAP32[(($57)>>2)]; var $59=(($58)|0)==1; if ($59) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $61=$ff; var $62=(($61+4)|0); var $63=HEAP32[(($62)>>2)]; var $64=((($63)+(1))|0); HEAP32[(($62)>>2)]=$64; __label__ = 14; break; case 13: var $66=$ff; var $67=(($66+4)|0); _atomic_inc_uint($67); _membar_enter(); __label__ = 14; break; case 14: var $69=$ff; var $70=(($69+8)|0); var $71=HEAP32[(($70)>>2)]; $fp=$71; var $72=$fp; var $73=(($72)|0)!=0; var $74=(($73)&1); var $75=(($74)|0)!=0; var $76=(($75)&1); var $77=$76; var $78=(($77)|0)!=0; if ($78) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: var $80=$fp; $1=$80; __label__ = 17; break; case 16: var $82=$2; _fd_putfile($82); $1=0; __label__ = 17; break; case 17: var $84=$1; STACKTOP = __stackBase__; return $84; default: assert(0, "bad label: " + __label__); } } _fd_getfile["X"]=1; function _fd_putfile($fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $fdp; var $ff; var $u; var $v; $1=$fd; var $2=_rumpuser_get_curlwp(); var $3=(($2+484)|0); var $4=HEAP32[(($3)>>2)]; $fdp=$4; var $5=$1; var $6=$fdp; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+8)|0); var $10=(($9+($5<<2))|0); var $11=HEAP32[(($10)>>2)]; $ff=$11; var $12=$1; var $13=$fdp; var $14=(($13+388)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0); var $17=HEAP32[(($16)>>2)]; var $18=(($12)>>>0) < (($17)>>>0); var $19=(($18)&1); var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=$21; var $23=(($22)|0)!=0; if ($23) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12267)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=421,tempInt)); __label__ = 5; break; case 5: var $27=$ff; var $28=(($27)|0)!=0; var $29=(($28)&1); var $30=(($29)|0)!=0; var $31=(($30)&1); var $32=$31; var $33=(($32)|0)!=0; if ($33) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str13268)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=422,tempInt)); __label__ = 8; break; case 8: var $37=$ff; var $38=(($37+4)|0); var $39=HEAP32[(($38)>>2)]; var $40=$39 & 2147483647; var $41=(($40)>>>0) > 0; var $42=(($41)&1); var $43=(($42)|0)!=0; var $44=(($43)&1); var $45=$44; var $46=(($45)|0)!=0; if ($46) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14269)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=423,tempInt)); __label__ = 11; break; case 11: var $50=$1; var $51=(($50)>>>0) >= 6; if ($51) { var $62 = 1;__label__ = 13; break; } else { __label__ = 12; break; } case 12: var $53=$ff; var $54=$1; var $55=$fdp; var $56=(($55)|0); var $57=(($56+($54<<6))|0); var $58=(($57)|0); var $59=$58; var $60=(($53)|0)==(($59)|0); var $62 = $60;__label__ = 13; break; case 13: var $62; var $63=(($62)&1); var $64=(($63)|0)!=0; var $65=(($64)&1); var $66=$65; var $67=(($66)|0)!=0; if ($67) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 16; break; case 15: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=424,tempInt)); __label__ = 16; break; case 16: var $71=$fdp; var $72=(($71+412)|0); var $73=HEAP32[(($72)>>2)]; var $74=(($73)|0)==1; if ($74) { __label__ = 17; break; } else { __label__ = 20; break; } case 17: var $76=$ff; var $77=(($76+4)|0); var $78=HEAP32[(($77)>>2)]; var $79=$78 & -2147483648; var $80=(($79)|0)!=0; var $81=(($80)&1); var $82=(($81)|0)!=0; var $83=(($82)&1); var $84=$83; var $85=(($84)|0)!=0; if ($85) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: var $87=$1; var $88=_fd_close($87); __label__ = 28; break; case 19: var $90=$ff; var $91=(($90+4)|0); var $92=HEAP32[(($91)>>2)]; var $93=((($92)-(1))|0); HEAP32[(($91)>>2)]=$93; __label__ = 28; break; case 20: _membar_exit(); var $95=$ff; var $96=(($95+4)|0); var $97=HEAP32[(($96)>>2)]; var $98=$97 & 2147483647; $u=$98; __label__ = 21; break; case 21: var $100=$ff; var $101=(($100+4)|0); var $102=$u; var $103=$u; var $104=((($103)-(1))|0); var $105=_atomic_cas_uint($101, $102, $104); $v=$105; var $106=$u; var $107=$v; var $108=(($106)|0)==(($107)|0); var $109=(($108)&1); var $110=(($109)|0)!=0; var $111=(($110)&1); var $112=$111; var $113=(($112)|0)!=0; if ($113) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: __label__ = 28; break; case 23: var $116=$v; var $117=$116 & -2147483648; var $118=(($117)|0)!=0; var $119=(($118)&1); var $120=(($119)|0)!=0; var $121=(($120)&1); var $122=$121; var $123=(($122)|0)!=0; if ($123) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: __label__ = 27; break; case 25: __label__ = 26; break; case 26: var $127=$v; $u=$127; __label__ = 21; break; case 27: var $129=$1; var $130=_fd_close($129); __label__ = 28; break; case 28: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_putfile["X"]=1; function _fd_close($fd) { var __stackBase__ = STACKTOP; STACKTOP += 24; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $lf=__stackBase__; var $fdp; var $ff; var $fp; var $p; var $l; var $refcnt; $2=$fd; var $3=_rumpuser_get_curlwp(); $l=$3; var $4=$l; var $5=(($4+272)|0); var $6=HEAP32[(($5)>>2)]; $p=$6; var $7=$l; var $8=(($7+484)|0); var $9=HEAP32[(($8)>>2)]; $fdp=$9; var $10=$2; var $11=$fdp; var $12=(($11+388)|0); var $13=HEAP32[(($12)>>2)]; var $14=(($13+8)|0); var $15=(($14+($10<<2))|0); var $16=HEAP32[(($15)>>2)]; $ff=$16; var $17=$2; var $18=(($17)>>>0) >= 6; if ($18) { var $29 = 1;__label__ = 4; break; } else { __label__ = 3; break; } case 3: var $20=$ff; var $21=$2; var $22=$fdp; var $23=(($22)|0); var $24=(($23+($21<<6))|0); var $25=(($24)|0); var $26=$25; var $27=(($20)|0)==(($26)|0); var $29 = $27;__label__ = 4; break; case 4: var $29; var $30=(($29)&1); var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=$32; var $34=(($33)|0)!=0; if ($34) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=588,tempInt)); __label__ = 7; break; case 7: var $38=$fdp; var $39=(($38+384)|0); _mutex_enter($39); var $40=$ff; var $41=(($40+4)|0); var $42=HEAP32[(($41)>>2)]; var $43=$42 & 2147483647; var $44=(($43)>>>0) > 0; var $45=(($44)&1); var $46=(($45)|0)!=0; var $47=(($46)&1); var $48=$47; var $49=(($48)|0)!=0; if ($49) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 10; break; case 9: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14269)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=591,tempInt)); __label__ = 10; break; case 10: var $53=$ff; var $54=(($53+8)|0); var $55=HEAP32[(($54)>>2)]; var $56=(($55)|0)==0; var $57=(($56)&1); var $58=(($57)|0)!=0; var $59=(($58)&1); var $60=$59; var $61=(($60)|0)!=0; if ($61) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $63=$ff; var $64=(($63+4)|0); _atomic_dec_uint($64); var $65=$ff; var $66=(($65+16)|0); _cv_broadcast($66); var $67=$fdp; var $68=(($67+384)|0); _mutex_exit($68); $1=9; __label__ = 34; break; case 12: var $70=$ff; var $71=(($70+4)|0); var $72=HEAP32[(($71)>>2)]; var $73=$72 & -2147483648; var $74=(($73)|0)==0; var $75=(($74)&1); var $76=(($75)|0)!=0; var $77=(($76)&1); var $78=$77; var $79=(($78)|0)!=0; if ($79) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str15270)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=609,tempInt)); __label__ = 15; break; case 15: var $83=$ff; var $84=(($83+8)|0); var $85=HEAP32[(($84)>>2)]; $fp=$85; var $86=$ff; var $87=(($86+8)|0); HEAP32[(($87)>>2)]=0; var $88=$ff; var $89=(($88)|0); HEAP8[($89)]=0; var $90=$fdp; var $91=(($90+412)|0); var $92=HEAP32[(($91)>>2)]; var $93=(($92)|0)==1; if ($93) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $95=$ff; var $96=(($95+4)|0); var $97=HEAP32[(($96)>>2)]; var $98=((($97)-(1))|0); HEAP32[(($96)>>2)]=$98; $refcnt=$98; __label__ = 18; break; case 17: _membar_producer(); var $100=$ff; var $101=(($100+4)|0); var $102=_atomic_dec_uint_nv($101); $refcnt=$102; __label__ = 18; break; case 18: var $104=$refcnt; var $105=(($104)|0)!=0; var $106=(($105)&1); var $107=(($106)|0)!=0; var $108=(($107)&1); var $109=$108; var $110=(($109)|0)!=0; if ($110) { __label__ = 19; break; } else { __label__ = 25; break; } case 19: var $112=$ff; var $113=(($112+4)|0); _atomic_or_uint($113, -2147483648); var $114=$fdp; var $115=(($114+384)|0); _mutex_exit($115); var $116=$ff; var $117=(($116+12)|0); var $118=(($117)|0); var $119=HEAP32[(($118)>>2)]; var $120=(($119)|0)==0; if ($120) { __label__ = 21; break; } else { __label__ = 20; break; } case 20: var $122=$2; _knote_fdclose($122); __label__ = 21; break; case 21: var $124=$fp; var $125=(($124+12)|0); var $126=HEAP32[(($125)>>2)]; var $127=(($126+32)|0); var $128=HEAP32[(($127)>>2)]; var $129=$fp; FUNCTION_TABLE[$128]($129); var $130=$fdp; var $131=(($130+384)|0); _mutex_enter($131); __label__ = 22; break; case 22: var $133=$ff; var $134=(($133+4)|0); var $135=HEAP32[(($134)>>2)]; var $136=$135 & 2147483647; var $137=(($136)|0)!=0; if ($137) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $139=$ff; var $140=(($139+16)|0); var $141=$fdp; var $142=(($141+384)|0); _cv_wait($140, $142); __label__ = 22; break; case 24: var $144=$ff; var $145=(($144+4)|0); _atomic_and_uint($145, 2147483647); __label__ = 29; break; case 25: var $147=$ff; var $148=(($147+12)|0); var $149=(($148)|0); var $150=HEAP32[(($149)>>2)]; var $151=(($150)|0)==0; var $152=(($151)&1); var $153=(($152)|0)!=0; var $154=(($153)&1); var $155=$154; var $156=(($155)|0)!=0; if ($156) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: __label__ = 28; break; case 27: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str16271)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=682,tempInt)); __label__ = 28; break; case 28: __label__ = 29; break; case 29: var $161=$p; var $162=(($161+96)|0); var $163=HEAP32[(($162)>>2)]; var $164=$163 & 1; var $165=(($164)|0)!=0; if ($165) { __label__ = 30; break; } else { var $172 = 0;__label__ = 31; break; } case 30: var $167=$fp; var $168=(($167+40)|0); var $169=HEAP32[(($168)>>2)]; var $170=(($169)|0)==1; var $172 = $170;__label__ = 31; break; case 31: var $172; var $173=(($172)&1); var $174=(($173)|0)!=0; var $175=(($174)&1); var $176=$175; var $177=(($176)|0)!=0; if ($177) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: var $179=(($lf+22)|0); HEAP16[(($179)>>1)]=0; var $180=(($lf)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$5$0=(($180)|0); HEAP32[(($st$5$0)>>2)]=$$emscripten$temp$0$0; var $st$5$1=(($180+4)|0); HEAP32[(($st$5$1)>>2)]=$$emscripten$temp$0$1; var $181=(($lf+8)|0); var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $st$12$0=(($181)|0); HEAP32[(($st$12$0)>>2)]=$$emscripten$temp$1$0; var $st$12$1=(($181+4)|0); HEAP32[(($st$12$1)>>2)]=$$emscripten$temp$1$1; var $182=(($lf+20)|0); HEAP16[(($182)>>1)]=2; var $183=$fdp; var $184=(($183+384)|0); _mutex_exit($184); var $185=$fp; var $186=(($185+16)|0); var $187=HEAP32[(($186)>>2)]; var $188=$187; var $189=$p; var $190=$189; var $191=_VOP_ADVLOCK($188, $190, 2, $lf, 64); var $192=$fdp; var $193=(($192+384)|0); _mutex_enter($193); __label__ = 33; break; case 33: var $195=$fdp; var $196=$2; _fd_unused($195, $196); var $197=$fdp; var $198=(($197+384)|0); _mutex_exit($198); var $199=$fp; var $200=_closef($199); $1=$200; __label__ = 34; break; case 34: var $202=$1; STACKTOP = __stackBase__; return $202; default: assert(0, "bad label: " + __label__); } } _fd_close["X"]=1; function _fd_getvnode($fd, $fpp) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $vp; var $fp; $2=$fd; $3=$fpp; var $4=$2; var $5=_fd_getfile($4); $fp=$5; var $6=$fp; var $7=(($6)|0)==0; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=9; __label__ = 9; break; case 4: var $15=$fp; var $16=(($15+40)|0); var $17=HEAP32[(($16)>>2)]; var $18=(($17)|0)!=1; var $19=(($18)&1); var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=$21; var $23=(($22)|0)!=0; if ($23) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $25=$2; _fd_putfile($25); $1=22; __label__ = 9; break; case 6: var $27=$fp; var $28=(($27+16)|0); var $29=HEAP32[(($28)>>2)]; var $30=$29; $vp=$30; var $31=$vp; var $32=(($31+156)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($33)|0)==8; var $35=(($34)&1); var $36=(($35)|0)!=0; var $37=(($36)&1); var $38=$37; var $39=(($38)|0)!=0; if ($39) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $41=$2; _fd_putfile($41); $1=9; __label__ = 9; break; case 8: var $43=$fp; var $44=$3; HEAP32[(($44)>>2)]=$43; $1=0; __label__ = 9; break; case 9: var $46=$1; ; return $46; default: assert(0, "bad label: " + __label__); } } _fd_getvnode["X"]=1; function _fd_getsock1($fd, $sop, $fp) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; $2=$fd; $3=$sop; $4=$fp; var $5=$2; var $6=_fd_getfile($5); var $7=$4; HEAP32[(($7)>>2)]=$6; var $8=$4; var $9=HEAP32[(($8)>>2)]; var $10=(($9)|0)==0; var $11=(($10)&1); var $12=(($11)|0)!=0; var $13=(($12)&1); var $14=$13; var $15=(($14)|0)!=0; if ($15) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=9; __label__ = 7; break; case 4: var $18=$4; var $19=HEAP32[(($18)>>2)]; var $20=(($19+40)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21)|0)!=2; var $23=(($22)&1); var $24=(($23)|0)!=0; var $25=(($24)&1); var $26=$25; var $27=(($26)|0)!=0; if ($27) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $29=$2; _fd_putfile($29); $1=38; __label__ = 7; break; case 6: var $31=$4; var $32=HEAP32[(($31)>>2)]; var $33=(($32+16)|0); var $34=HEAP32[(($33)>>2)]; var $35=$34; var $36=$3; HEAP32[(($36)>>2)]=$35; $1=0; __label__ = 7; break; case 7: var $38=$1; ; return $38; default: assert(0, "bad label: " + __label__); } } function _fd_getsock($fd, $sop) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $2; var $fp=__stackBase__; $1=$fd; $2=$sop; var $3=$1; var $4=$2; var $5=_fd_getsock1($3, $4, $fp); STACKTOP = __stackBase__; return $5; } function _fd_getfile2($p, $fd) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $fdp; var $ff; var $fp; var $dt; $2=$p; $3=$fd; var $4=$2; var $5=(($4+52)|0); var $6=HEAP32[(($5)>>2)]; $fdp=$6; var $7=$fdp; var $8=(($7+384)|0); _mutex_enter($8); var $9=$fdp; var $10=(($9+388)|0); var $11=HEAP32[(($10)>>2)]; $dt=$11; var $12=$3; var $13=$dt; var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($12)>>>0) >= (($15)>>>0); if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $18=$fdp; var $19=(($18+384)|0); _mutex_exit($19); $1=0; __label__ = 9; break; case 4: var $21=$3; var $22=$dt; var $23=(($22+8)|0); var $24=(($23+($21<<2))|0); var $25=HEAP32[(($24)>>2)]; $ff=$25; var $26=(($25)|0)==0; if ($26) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $28=$fdp; var $29=(($28+384)|0); _mutex_exit($29); $1=0; __label__ = 9; break; case 6: var $31=$ff; var $32=(($31+8)|0); var $33=HEAP32[(($32)>>2)]; $fp=$33; var $34=(($33)|0)==0; if ($34) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $36=$fdp; var $37=(($36+384)|0); _mutex_exit($37); $1=0; __label__ = 9; break; case 8: var $39=$fp; var $40=(($39+28)|0); _mutex_enter($40); var $41=$fp; var $42=(($41+48)|0); var $43=HEAP32[(($42)>>2)]; var $44=((($43)+(1))|0); HEAP32[(($42)>>2)]=$44; var $45=$fp; var $46=(($45+28)|0); _mutex_exit($46); var $47=$fdp; var $48=(($47+384)|0); _mutex_exit($48); var $49=$fp; $1=$49; __label__ = 9; break; case 9: var $51=$1; ; return $51; default: assert(0, "bad label: " + __label__); } } _fd_getfile2["X"]=1; function _fd_unused($fdp, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $off; var $ff; $1=$fdp; $2=$fd; var $3=$2; var $4=$3 >>> 5; $off=$4; var $5=$2; var $6=$1; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+8)|0); var $10=(($9+($5<<2))|0); var $11=HEAP32[(($10)>>2)]; $ff=$11; var $12=$ff; var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str13268)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=324,tempInt)); __label__ = 5; break; case 5: var $22=$ff; var $23=(($22+8)|0); var $24=HEAP32[(($23)>>2)]; var $25=(($24)|0)==0; var $26=(($25)&1); var $27=(($26)|0)!=0; var $28=(($27)&1); var $29=$28; var $30=(($29)|0)!=0; if ($30) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str30285)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=325,tempInt)); __label__ = 8; break; case 8: var $34=$ff; var $35=(($34+1)|0); var $36=HEAP8[($35)]; var $37=(($36) & 1); var $38=(($37)&1); var $39=(($38)|0)!=0; var $40=(($39)&1); var $41=$40; var $42=(($41)|0)!=0; if ($42) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str31286)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=326,tempInt)); __label__ = 11; break; case 11: var $46=$2; var $47=$1; var $48=(($47+420)|0); var $49=HEAP32[(($48)>>2)]; var $50=(($46)>>>0) < (($49)>>>0); if ($50) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $52=$2; var $53=$1; var $54=(($53+420)|0); HEAP32[(($54)>>2)]=$52; __label__ = 13; break; case 13: var $56=$off; var $57=$1; var $58=(($57+396)|0); var $59=HEAP32[(($58)>>2)]; var $60=(($59+($56<<2))|0); var $61=HEAP32[(($60)>>2)]; var $62=(($61)|0)==-1; if ($62) { __label__ = 14; break; } else { __label__ = 18; break; } case 14: var $64=$off; var $65=$64 >>> 5; var $66=$1; var $67=(($66+392)|0); var $68=HEAP32[(($67)>>2)]; var $69=(($68+($65<<2))|0); var $70=HEAP32[(($69)>>2)]; var $71=$off; var $72=$71 & 31; var $73=1 << $72; var $74=$70 & $73; var $75=(($74)|0)!=0; var $76=(($75)&1); var $77=(($76)|0)!=0; var $78=(($77)&1); var $79=$78; var $80=(($79)|0)!=0; if ($80) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str81336)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=334,tempInt)); __label__ = 17; break; case 17: var $84=$off; var $85=$84 & 31; var $86=1 << $85; var $87=$86 ^ -1; var $88=$off; var $89=$88 >>> 5; var $90=$1; var $91=(($90+392)|0); var $92=HEAP32[(($91)>>2)]; var $93=(($92+($89<<2))|0); var $94=HEAP32[(($93)>>2)]; var $95=$94 & $87; HEAP32[(($93)>>2)]=$95; __label__ = 18; break; case 18: var $97=$off; var $98=$1; var $99=(($98+396)|0); var $100=HEAP32[(($99)>>2)]; var $101=(($100+($97<<2))|0); var $102=HEAP32[(($101)>>2)]; var $103=$2; var $104=$103 & 31; var $105=1 << $104; var $106=$102 & $105; var $107=(($106)|0)!=0; var $108=(($107)&1); var $109=(($108)|0)!=0; var $110=(($109)&1); var $111=$110; var $112=(($111)|0)!=0; if ($112) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: __label__ = 21; break; case 20: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str82337)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=338,tempInt)); __label__ = 21; break; case 21: var $116=$2; var $117=$116 & 31; var $118=1 << $117; var $119=$118 ^ -1; var $120=$off; var $121=$1; var $122=(($121+396)|0); var $123=HEAP32[(($122)>>2)]; var $124=(($123+($120<<2))|0); var $125=HEAP32[(($124)>>2)]; var $126=$125 & $119; HEAP32[(($124)>>2)]=$126; var $127=$ff; var $128=(($127+1)|0); HEAP8[($128)]=0; var $129=$2; var $130=$1; var $131=(($130+408)|0); var $132=HEAP32[(($131)>>2)]; var $133=(($129)>>>0) <= (($132)>>>0); var $134=(($133)&1); var $135=(($134)|0)!=0; var $136=(($135)&1); var $137=$136; var $138=(($137)|0)!=0; if ($138) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: __label__ = 24; break; case 23: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str83338)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=342,tempInt)); __label__ = 24; break; case 24: var $142=$2; var $143=$1; var $144=(($143+408)|0); var $145=HEAP32[(($144)>>2)]; var $146=(($142)|0)==(($145)|0); if ($146) { __label__ = 25; break; } else { __label__ = 26; break; } case 25: var $148=$1; var $149=$2; var $150=_fd_last_set($148, $149); var $151=$1; var $152=(($151+408)|0); HEAP32[(($152)>>2)]=$150; __label__ = 26; break; case 26: var $154=$1; _fd_checkmaps($154); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_unused["X"]=1; function _closef($fp) { var __stackBase__ = STACKTOP; STACKTOP += 24; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $lf=__stackBase__; var $error; $2=$fp; var $3=$2; var $4=(($3+28)|0); _mutex_enter($4); var $5=$2; var $6=(($5+48)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($7)>>>0) > 0; var $9=(($8)&1); var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=$11; var $13=(($12)|0)!=0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str19274)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=807,tempInt)); __label__ = 5; break; case 5: var $17=$2; var $18=(($17+48)|0); var $19=HEAP32[(($18)>>2)]; var $20=((($19)-(1))|0); HEAP32[(($18)>>2)]=$20; var $21=(($20)>>>0) > 0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $23=$2; var $24=(($23+28)|0); _mutex_exit($24); $1=0; __label__ = 23; break; case 7: var $26=$2; var $27=(($26+48)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28)|0)==0; var $30=(($29)&1); var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=$32; var $34=(($33)|0)!=0; if ($34) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 10; break; case 9: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str20275)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=812,tempInt)); __label__ = 10; break; case 10: var $38=$2; var $39=(($38+28)|0); _mutex_exit($39); var $40=$2; var $41=(($40+32)|0); var $42=HEAP32[(($41)>>2)]; var $43=$42 & 16384; var $44=(($43)|0)!=0; if ($44) { __label__ = 11; break; } else { __label__ = 13; break; } case 11: var $46=$2; var $47=(($46+40)|0); var $48=HEAP32[(($47)>>2)]; var $49=(($48)|0)==1; if ($49) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $51=(($lf+22)|0); HEAP16[(($51)>>1)]=0; var $52=(($lf)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$5$0=(($52)|0); HEAP32[(($st$5$0)>>2)]=$$emscripten$temp$0$0; var $st$5$1=(($52+4)|0); HEAP32[(($st$5$1)>>2)]=$$emscripten$temp$0$1; var $53=(($lf+8)|0); var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $st$12$0=(($53)|0); HEAP32[(($st$12$0)>>2)]=$$emscripten$temp$1$0; var $st$12$1=(($53+4)|0); HEAP32[(($st$12$1)>>2)]=$$emscripten$temp$1$1; var $54=(($lf+20)|0); HEAP16[(($54)>>1)]=2; var $55=$2; var $56=(($55+16)|0); var $57=HEAP32[(($56)>>2)]; var $58=$57; var $59=$2; var $60=$59; var $61=_VOP_ADVLOCK($58, $60, 2, $lf, 32); __label__ = 13; break; case 13: var $63=$2; var $64=(($63+12)|0); var $65=HEAP32[(($64)>>2)]; var $66=(($65)|0)!=0; if ($66) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $68=$2; var $69=(($68+12)|0); var $70=HEAP32[(($69)>>2)]; var $71=(($70+24)|0); var $72=HEAP32[(($71)>>2)]; var $73=$2; var $74=FUNCTION_TABLE[$72]($73); $error=$74; __label__ = 16; break; case 15: $error=0; __label__ = 16; break; case 16: var $77=$2; var $78=(($77+48)|0); var $79=HEAP32[(($78)>>2)]; var $80=(($79)|0)==0; var $81=(($80)&1); var $82=(($81)|0)!=0; var $83=(($82)&1); var $84=$83; var $85=(($84)|0)!=0; if ($85) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 19; break; case 18: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str20275)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=828,tempInt)); __label__ = 19; break; case 19: var $89=$2; var $90=(($89+8)|0); var $91=HEAP32[(($90)>>2)]; var $92=(($91)|0)!=0; var $93=(($92)&1); var $94=(($93)|0)!=0; var $95=(($94)&1); var $96=$95; var $97=(($96)|0)!=0; if ($97) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 22; break; case 21: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str21276)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=829,tempInt)); __label__ = 22; break; case 22: var $101=HEAP32[((_file_cache)>>2)]; var $102=$2; var $103=$102; _pool_cache_put_paddr($101, $103, -1); var $104=$error; $1=$104; __label__ = 23; break; case 23: var $106=$1; STACKTOP = __stackBase__; return $106; default: assert(0, "bad label: " + __label__); } } _closef["X"]=1; function _fd_dup($fp, $minfd, $newp, $exclose) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $p; var $error; $2=$fp; $3=$minfd; $4=$newp; var $6=(($exclose)&1); $5=$6; var $7=_rumpuser_get_curlwp(); var $8=(($7+272)|0); var $9=HEAP32[(($8)>>2)]; $p=$9; __label__ = 3; break; case 3: var $11=$p; var $12=$3; var $13=$4; var $14=_fd_alloc($11, $12, $13); $error=$14; var $15=(($14)|0)!=0; if ($15) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: var $17=$error; var $18=(($17)|0)!=28; if ($18) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $20=$error; $1=$20; __label__ = 8; break; case 6: var $22=$p; _fd_tryexpand($22); __label__ = 3; break; case 7: var $24=$5; var $25=(($24) & 1); var $26=$4; var $27=HEAP32[(($26)>>2)]; var $28=_rumpuser_get_curlwp(); var $29=(($28+484)|0); var $30=HEAP32[(($29)>>2)]; var $31=(($30+388)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($32+8)|0); var $34=(($33+($27<<2))|0); var $35=HEAP32[(($34)>>2)]; var $36=(($35)|0); var $37=(($25)&1); HEAP8[($36)]=$37; var $38=$p; var $39=$2; var $40=$4; var $41=HEAP32[(($40)>>2)]; _fd_affix($38, $39, $41); $1=0; __label__ = 8; break; case 8: var $43=$1; ; return $43; default: assert(0, "bad label: " + __label__); } } _fd_dup["X"]=1; function _fd_alloc($p, $want, $result) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $fdp; var $i; var $lim; var $last; var $error; var $off; var $new; var $dt; $2=$p; $3=$want; $4=$result; var $5=$2; var $6=(($5+52)|0); var $7=HEAP32[(($6)>>2)]; $fdp=$7; var $8=$2; var $9=_rumpuser_get_curlwp(); var $10=(($9+272)|0); var $11=HEAP32[(($10)>>2)]; var $12=(($8)|0)==(($11)|0); if ($12) { var $17 = 1;__label__ = 4; break; } else { __label__ = 3; break; } case 3: var $14=$2; var $15=(($14)|0)==((_proc0)|0); var $17 = $15;__label__ = 4; break; case 4: var $17; var $18=(($17)&1); var $19=(($18)|0)!=0; var $20=(($19)&1); var $21=$20; var $22=(($21)|0)!=0; if ($22) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22277)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=846,tempInt)); __label__ = 7; break; case 7: var $26=$fdp; var $27=(($26+384)|0); _mutex_enter($27); var $28=$fdp; _fd_checkmaps($28); var $29=$fdp; var $30=(($29+388)|0); var $31=HEAP32[(($30)>>2)]; $dt=$31; var $32=$dt; var $33=(($32+8)|0); var $34=(($33)|0); var $35=HEAP32[(($34)>>2)]; var $36=$fdp; var $37=(($36)|0); var $38=(($37)|0); var $39=(($38)|0); var $40=$39; var $41=(($35)|0)==(($40)|0); var $42=(($41)&1); var $43=(($42)|0)!=0; var $44=(($43)&1); var $45=$44; var $46=(($45)|0)!=0; if ($46) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 10; break; case 9: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str23278)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=855,tempInt)); __label__ = 10; break; case 10: var $50=$2; var $51=(($50+64)|0); var $52=HEAP32[(($51)>>2)]; var $53=(($52)|0); var $54=(($53+128)|0); var $55=(($54)|0); var $st$6$0=(($55)|0); var $56$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($55+4)|0); var $56$1=HEAP32[(($st$6$1)>>2)]; var $57$0=$56$0; var $57=$57$0; var $58=HEAP32[((_maxfiles)>>2)]; var $59=_min340($57, $58); $lim=$59; var $60=$dt; var $61=(($60)|0); var $62=HEAP32[(($61)>>2)]; var $63=$lim; var $64=_min340($62, $63); $last=$64; __label__ = 11; break; case 11: var $66=$3; $i=$66; var $67=$fdp; var $68=(($67+420)|0); var $69=HEAP32[(($68)>>2)]; var $70=(($66)|0) < (($69)|0); if ($70) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $72=$fdp; var $73=(($72+420)|0); var $74=HEAP32[(($73)>>2)]; $i=$74; __label__ = 13; break; case 13: var $76=$i; var $77=$76 >> 5; $off=$77; var $78=$fdp; var $79=$fdp; var $80=(($79+392)|0); var $81=HEAP32[(($80)>>2)]; var $82=$off; var $83=$last; var $84=((($83)+(32))|0); var $85=((($84)-(1))|0); var $86=$85 >> 5; var $87=_fd_next_zero($78, $81, $82, $86); $new=$87; var $88=$new; var $89=(($88)|0)==-1; if ($89) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 38; break; case 15: var $92=$fdp; var $93=$new; var $94=$fdp; var $95=(($94+396)|0); var $96=HEAP32[(($95)>>2)]; var $97=(($96+($93<<2))|0); var $98=$new; var $99=$off; var $100=(($98)>>>0) > (($99)>>>0); if ($100) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $106 = 0;__label__ = 18; break; case 17: var $103=$i; var $104=$103 & 31; var $106 = $104;__label__ = 18; break; case 18: var $106; var $107=_fd_next_zero($92, $97, $106, 32); $i=$107; var $108=$i; var $109=(($108)|0)==-1; if ($109) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $111=$new; var $112=((($111)+(1))|0); var $113=$112 << 5; $3=$113; __label__ = 11; break; case 20: var $115=$new; var $116=$115 << 5; var $117=$i; var $118=((($117)+($116))|0); $i=$118; var $119=$i; var $120=$last; var $121=(($119)|0) >= (($120)|0); if ($121) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 38; break; case 22: var $124=$i; var $125=$dt; var $126=(($125+8)|0); var $127=(($126+($124<<2))|0); var $128=HEAP32[(($127)>>2)]; var $129=(($128)|0)==0; if ($129) { __label__ = 23; break; } else { __label__ = 27; break; } case 23: var $131=$i; var $132=(($131)|0) >= 6; var $133=(($132)&1); var $134=(($133)|0)!=0; var $135=(($134)&1); var $136=$135; var $137=(($136)|0)!=0; if ($137) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: __label__ = 26; break; case 25: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str24279)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=881,tempInt)); __label__ = 26; break; case 26: var $141=HEAP32[((_fdfile_cache)>>2)]; var $142=_pool_cache_get_paddr($141, 1, 0); var $143=$142; var $144=$i; var $145=$dt; var $146=(($145+8)|0); var $147=(($146+($144<<2))|0); HEAP32[(($147)>>2)]=$143; __label__ = 27; break; case 27: var $149=$i; var $150=$dt; var $151=(($150+8)|0); var $152=(($151+($149<<2))|0); var $153=HEAP32[(($152)>>2)]; var $154=(($153+8)|0); var $155=HEAP32[(($154)>>2)]; var $156=(($155)|0)==0; var $157=(($156)&1); var $158=(($157)|0)!=0; var $159=(($158)&1); var $160=$159; var $161=(($160)|0)!=0; if ($161) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: __label__ = 30; break; case 29: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str25280)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=884,tempInt)); __label__ = 30; break; case 30: var $165=$fdp; var $166=$i; _fd_used($165, $166); var $167=$3; var $168=$fdp; var $169=(($168+420)|0); var $170=HEAP32[(($169)>>2)]; var $171=(($167)|0) <= (($170)|0); if ($171) { __label__ = 31; break; } else { __label__ = 32; break; } case 31: var $173=$i; var $174=$fdp; var $175=(($174+420)|0); HEAP32[(($175)>>2)]=$173; __label__ = 32; break; case 32: var $177=$i; var $178=$4; HEAP32[(($178)>>2)]=$177; var $179=$i; var $180=(($179)|0) >= 6; if ($180) { var $195 = 1;__label__ = 34; break; } else { __label__ = 33; break; } case 33: var $182=$i; var $183=$dt; var $184=(($183+8)|0); var $185=(($184+($182<<2))|0); var $186=HEAP32[(($185)>>2)]; var $187=$i; var $188=$fdp; var $189=(($188)|0); var $190=(($189+($187<<6))|0); var $191=(($190)|0); var $192=$191; var $193=(($186)|0)==(($192)|0); var $195 = $193;__label__ = 34; break; case 34: var $195; var $196=(($195)&1); var $197=(($196)|0)!=0; var $198=(($197)&1); var $199=$198; var $200=(($199)|0)!=0; if ($200) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: __label__ = 37; break; case 36: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str26281)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=891,tempInt)); __label__ = 37; break; case 37: var $204=$fdp; _fd_checkmaps($204); var $205=$fdp; var $206=(($205+384)|0); _mutex_exit($206); $1=0; __label__ = 39; break; case 38: var $208=$dt; var $209=(($208)|0); var $210=HEAP32[(($209)>>2)]; var $211=$lim; var $212=(($210)>>>0) >= (($211)>>>0); var $213=$212 ? 24 : 28; $error=$213; var $214=$fdp; var $215=(($214+384)|0); _mutex_exit($215); var $216=$error; $1=$216; __label__ = 39; break; case 39: var $218=$1; STACKTOP = __stackBase__; return $218; default: assert(0, "bad label: " + __label__); } } _fd_alloc["X"]=1; function _fd_checkmaps($fdp) { ; var __label__; var $1; $1=$fdp; ; return; } function _min340($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$a; $2=$b; var $3=$1; var $4=$2; var $5=(($3)>>>0) < (($4)>>>0); if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $11 = $7;__label__ = 5; break; case 4: var $9=$2; var $11 = $9;__label__ = 5; break; case 5: var $11; ; return $11; default: assert(0, "bad label: " + __label__); } } function _fd_tryexpand($p) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $fdp; var $i; var $numfiles; var $oldnfiles; var $newdt; var $dt; var $newhimap=__stackBase__; var $newlomap=(__stackBase__)+(4); $1=$p; var $2=$1; var $3=_rumpuser_get_curlwp(); var $4=(($3+272)|0); var $5=HEAP32[(($4)>>2)]; var $6=(($2)|0)==(($5)|0); if ($6) { var $11 = 1;__label__ = 4; break; } else { __label__ = 3; break; } case 3: var $8=$1; var $9=(($8)|0)==((_proc0)|0); var $11 = $9;__label__ = 4; break; case 4: var $11; var $12=(($11)&1); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22277)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=991,tempInt)); __label__ = 7; break; case 7: var $20=$1; var $21=(($20+52)|0); var $22=HEAP32[(($21)>>2)]; $fdp=$22; HEAP32[(($newhimap)>>2)]=0; HEAP32[(($newlomap)>>2)]=0; var $23=$fdp; var $24=(($23+388)|0); var $25=HEAP32[(($24)>>2)]; var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; $oldnfiles=$27; var $28=$oldnfiles; var $29=(($28)|0) < 50; if ($29) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $numfiles=50; __label__ = 10; break; case 9: var $32=$oldnfiles; var $33=((($32<<1))|0); $numfiles=$33; __label__ = 10; break; case 10: var $35=$numfiles; var $36=_fd_dtab_alloc($35); $newdt=$36; var $37=$numfiles; var $38=((($37)+(32))|0); var $39=((($38)-(1))|0); var $40=$39 >> 5; var $41=((($40)+(32))|0); var $42=((($41)-(1))|0); var $43=$42 >> 5; var $44=$oldnfiles; var $45=((($44)+(32))|0); var $46=((($45)-(1))|0); var $47=$46 >> 5; var $48=((($47)+(32))|0); var $49=((($48)-(1))|0); var $50=$49 >> 5; var $51=(($43)|0) > (($50)|0); if ($51) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $53=$numfiles; _fd_map_alloc($53, $newlomap, $newhimap); __label__ = 12; break; case 12: var $55=$fdp; var $56=(($55+384)|0); _mutex_enter($56); var $57=$fdp; var $58=(($57+388)|0); var $59=HEAP32[(($58)>>2)]; $dt=$59; var $60=$dt; var $61=(($60+8)|0); var $62=(($61)|0); var $63=HEAP32[(($62)>>2)]; var $64=$fdp; var $65=(($64)|0); var $66=(($65)|0); var $67=(($66)|0); var $68=$67; var $69=(($63)|0)==(($68)|0); var $70=(($69)&1); var $71=(($70)|0)!=0; var $72=(($71)&1); var $73=$72; var $74=(($73)|0)!=0; if ($74) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str23278)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1010,tempInt)); __label__ = 15; break; case 15: var $78=$dt; var $79=(($78)|0); var $80=HEAP32[(($79)>>2)]; var $81=$oldnfiles; var $82=(($80)|0)!=(($81)|0); if ($82) { __label__ = 16; break; } else { __label__ = 19; break; } case 16: var $84=$fdp; var $85=(($84+384)|0); _mutex_exit($85); var $86=$newdt; _fd_dtab_free($86); var $87=$numfiles; var $88=((($87)+(32))|0); var $89=((($88)-(1))|0); var $90=$89 >> 5; var $91=((($90)+(32))|0); var $92=((($91)-(1))|0); var $93=$92 >> 5; var $94=$oldnfiles; var $95=((($94)+(32))|0); var $96=((($95)-(1))|0); var $97=$96 >> 5; var $98=((($97)+(32))|0); var $99=((($98)-(1))|0); var $100=$99 >> 5; var $101=(($93)|0) > (($100)|0); if ($101) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $103=$numfiles; var $104=HEAP32[(($newlomap)>>2)]; var $105=HEAP32[(($newhimap)>>2)]; _fd_map_free($103, $104, $105); __label__ = 18; break; case 18: __label__ = 32; break; case 19: var $108=$oldnfiles; var $109=((($108<<2))|0); $i=$109; var $110=$newdt; var $111=(($110+8)|0); var $112=(($111)|0); var $113=$112; var $114=$dt; var $115=(($114+8)|0); var $116=(($115)|0); var $117=$116; var $118=$i; assert($118 % 1 === 0, 'memcpy given ' + $118 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($113, $117, $118, 4); var $119=$newdt; var $120=(($119+8)|0); var $121=(($120)|0); var $122=$121; var $123=$i; var $124=(($122+$123)|0); var $125=$numfiles; var $126=((($125<<2))|0); var $127=$i; var $128=((($126)-($127))|0); _memset($124, 0, $128, 1); var $129=$oldnfiles; var $130=(($129)|0) > 20; if ($130) { __label__ = 20; break; } else { __label__ = 24; break; } case 20: var $132=$fdp; var $133=(($132+412)|0); var $134=HEAP32[(($133)>>2)]; var $135=(($134)|0) > 1; if ($135) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: var $137=$dt; var $138=$newdt; var $139=(($138+4)|0); HEAP32[(($139)>>2)]=$137; __label__ = 23; break; case 22: var $141=$dt; _fd_dtab_free($141); __label__ = 23; break; case 23: __label__ = 24; break; case 24: var $144=$numfiles; var $145=((($144)+(32))|0); var $146=((($145)-(1))|0); var $147=$146 >> 5; var $148=((($147)+(32))|0); var $149=((($148)-(1))|0); var $150=$149 >> 5; var $151=$oldnfiles; var $152=((($151)+(32))|0); var $153=((($152)-(1))|0); var $154=$153 >> 5; var $155=((($154)+(32))|0); var $156=((($155)-(1))|0); var $157=$156 >> 5; var $158=(($150)|0) > (($157)|0); if ($158) { __label__ = 25; break; } else { __label__ = 28; break; } case 25: var $160=$oldnfiles; var $161=((($160)+(32))|0); var $162=((($161)-(1))|0); var $163=$162 >> 5; var $164=((($163)+(32))|0); var $165=((($164)-(1))|0); var $166=$165 >> 5; var $167=((($166<<2))|0); $i=$167; var $168=HEAP32[(($newhimap)>>2)]; var $169=$168; var $170=$fdp; var $171=(($170+392)|0); var $172=HEAP32[(($171)>>2)]; var $173=$172; var $174=$i; assert($174 % 1 === 0, 'memcpy given ' + $174 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($169, $173, $174, 4); var $175=HEAP32[(($newhimap)>>2)]; var $176=$175; var $177=$i; var $178=(($176+$177)|0); var $179=$numfiles; var $180=((($179)+(32))|0); var $181=((($180)-(1))|0); var $182=$181 >> 5; var $183=((($182)+(32))|0); var $184=((($183)-(1))|0); var $185=$184 >> 5; var $186=((($185<<2))|0); var $187=$i; var $188=((($186)-($187))|0); _memset($178, 0, $188, 1); var $189=$oldnfiles; var $190=((($189)+(32))|0); var $191=((($190)-(1))|0); var $192=$191 >> 5; var $193=((($192<<2))|0); $i=$193; var $194=HEAP32[(($newlomap)>>2)]; var $195=$194; var $196=$fdp; var $197=(($196+396)|0); var $198=HEAP32[(($197)>>2)]; var $199=$198; var $200=$i; assert($200 % 1 === 0, 'memcpy given ' + $200 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($195, $199, $200, 4); var $201=HEAP32[(($newlomap)>>2)]; var $202=$201; var $203=$i; var $204=(($202+$203)|0); var $205=$numfiles; var $206=((($205)+(32))|0); var $207=((($206)-(1))|0); var $208=$207 >> 5; var $209=((($208<<2))|0); var $210=$i; var $211=((($209)-($210))|0); _memset($204, 0, $211, 1); var $212=$oldnfiles; var $213=((($212)+(32))|0); var $214=((($213)-(1))|0); var $215=$214 >> 5; var $216=((($215)+(32))|0); var $217=((($216)-(1))|0); var $218=$217 >> 5; var $219=(($218)|0) > 1; if ($219) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: var $221=$oldnfiles; var $222=$fdp; var $223=(($222+396)|0); var $224=HEAP32[(($223)>>2)]; var $225=$fdp; var $226=(($225+392)|0); var $227=HEAP32[(($226)>>2)]; _fd_map_free($221, $224, $227); __label__ = 27; break; case 27: var $229=HEAP32[(($newhimap)>>2)]; var $230=$fdp; var $231=(($230+392)|0); HEAP32[(($231)>>2)]=$229; var $232=HEAP32[(($newlomap)>>2)]; var $233=$fdp; var $234=(($233+396)|0); HEAP32[(($234)>>2)]=$232; __label__ = 28; break; case 28: _membar_producer(); var $236=$newdt; var $237=$fdp; var $238=(($237+388)|0); HEAP32[(($238)>>2)]=$236; var $239=$newdt; var $240=(($239+8)|0); var $241=(($240)|0); var $242=HEAP32[(($241)>>2)]; var $243=$fdp; var $244=(($243)|0); var $245=(($244)|0); var $246=(($245)|0); var $247=$246; var $248=(($242)|0)==(($247)|0); var $249=(($248)&1); var $250=(($249)|0)!=0; var $251=(($250)&1); var $252=$251; var $253=(($252)|0)!=0; if ($253) { __label__ = 29; break; } else { __label__ = 30; break; } case 29: __label__ = 31; break; case 30: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str27282)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1065,tempInt)); __label__ = 31; break; case 31: var $257=$fdp; _fd_checkmaps($257); var $258=$fdp; var $259=(($258+384)|0); _mutex_exit($259); __label__ = 32; break; case 32: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_tryexpand["X"]=1; function _fd_affix($p, $fp, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ff; var $fdp; $1=$p; $2=$fp; $3=$fd; var $4=$1; var $5=_rumpuser_get_curlwp(); var $6=(($5+272)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($4)|0)==(($7)|0); if ($8) { var $13 = 1;__label__ = 4; break; } else { __label__ = 3; break; } case 3: var $10=$1; var $11=(($10)|0)==((_proc0)|0); var $13 = $11;__label__ = 4; break; case 4: var $13; var $14=(($13)&1); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22277)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1132,tempInt)); __label__ = 7; break; case 7: var $22=$2; var $23=(($22+28)|0); _mutex_enter($23); var $24=$2; var $25=(($24+48)|0); var $26=HEAP32[(($25)>>2)]; var $27=((($26)+(1))|0); HEAP32[(($25)>>2)]=$27; var $28=$2; var $29=(($28+28)|0); _mutex_exit($29); var $30=$1; var $31=(($30+52)|0); var $32=HEAP32[(($31)>>2)]; $fdp=$32; var $33=$3; var $34=$fdp; var $35=(($34+388)|0); var $36=HEAP32[(($35)>>2)]; var $37=(($36+8)|0); var $38=(($37+($33<<2))|0); var $39=HEAP32[(($38)>>2)]; $ff=$39; var $40=$ff; var $41=(($40)|0)!=0; var $42=(($41)&1); var $43=(($42)|0)!=0; var $44=(($43)&1); var $45=$44; var $46=(($45)|0)!=0; if ($46) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 10; break; case 9: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str13268)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1150,tempInt)); __label__ = 10; break; case 10: var $50=$ff; var $51=(($50+8)|0); var $52=HEAP32[(($51)>>2)]; var $53=(($52)|0)==0; var $54=(($53)&1); var $55=(($54)|0)!=0; var $56=(($55)&1); var $57=$56; var $58=(($57)|0)!=0; if ($58) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: __label__ = 13; break; case 12: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str30285)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1151,tempInt)); __label__ = 13; break; case 13: var $62=$ff; var $63=(($62+1)|0); var $64=HEAP8[($63)]; var $65=(($64) & 1); var $66=(($65)&1); var $67=(($66)|0)!=0; var $68=(($67)&1); var $69=$68; var $70=(($69)|0)!=0; if ($70) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 16; break; case 15: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str31286)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1152,tempInt)); __label__ = 16; break; case 16: var $74=$fdp; var $75=$3; var $76=_fd_isused($74, $75); var $77=(($76)&1); var $78=(($77)|0)!=0; var $79=(($78)&1); var $80=$79; var $81=(($80)|0)!=0; if ($81) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 19; break; case 18: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str32287)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1153,tempInt)); __label__ = 19; break; case 19: var $85=$3; var $86=(($85)>>>0) >= 6; if ($86) { var $97 = 1;__label__ = 21; break; } else { __label__ = 20; break; } case 20: var $88=$ff; var $89=$3; var $90=$fdp; var $91=(($90)|0); var $92=(($91+($89<<6))|0); var $93=(($92)|0); var $94=$93; var $95=(($88)|0)==(($94)|0); var $97 = $95;__label__ = 21; break; case 21: var $97; var $98=(($97)&1); var $99=(($98)|0)!=0; var $100=(($99)&1); var $101=$100; var $102=(($101)|0)!=0; if ($102) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: __label__ = 24; break; case 23: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1154,tempInt)); __label__ = 24; break; case 24: var $106=$2; var $107=$ff; var $108=(($107+8)|0); HEAP32[(($108)>>2)]=$106; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_affix["X"]=1; function _fd_dup2($fp, $new, $flags) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $fdp; var $ff; var $dt; $2=$fp; $3=$new; $4=$flags; var $5=_rumpuser_get_curlwp(); var $6=(($5+484)|0); var $7=HEAP32[(($6)>>2)]; $fdp=$7; var $8=$4; var $9=$8 & -4194309; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=22; __label__ = 21; break; case 4: __label__ = 5; break; case 5: var $14=$3; var $15=$fdp; var $16=(($15+388)|0); var $17=HEAP32[(($16)>>2)]; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($14)>>>0) >= (($19)>>>0); if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $22=_rumpuser_get_curlwp(); var $23=(($22+272)|0); var $24=HEAP32[(($23)>>2)]; _fd_tryexpand($24); __label__ = 5; break; case 7: var $26=HEAP32[((_fdfile_cache)>>2)]; var $27=_pool_cache_get_paddr($26, 1, 0); var $28=$27; $ff=$28; var $29=$fdp; var $30=(($29+384)|0); _mutex_enter($30); __label__ = 8; break; case 8: var $32=$fdp; var $33=$3; var $34=_fd_isused($32, $33); if ($34) { __label__ = 9; break; } else { __label__ = 13; break; } case 9: var $36=$fdp; var $37=(($36+384)|0); _mutex_exit($37); var $38=$3; var $39=_fd_getfile($38); var $40=(($39)|0)!=0; if ($40) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $42=$3; var $43=_fd_close($42); __label__ = 12; break; case 11: var $45=_kpause(((STRING_TABLE.__str17272)|0), 0, 1, 0); __label__ = 12; break; case 12: var $47=$fdp; var $48=(($47+384)|0); _mutex_enter($48); __label__ = 8; break; case 13: var $50=$fdp; var $51=(($50+388)|0); var $52=HEAP32[(($51)>>2)]; $dt=$52; var $53=$3; var $54=$dt; var $55=(($54+8)|0); var $56=(($55+($53<<2))|0); var $57=HEAP32[(($56)>>2)]; var $58=(($57)|0)==0; if ($58) { __label__ = 14; break; } else { __label__ = 18; break; } case 14: var $60=$3; var $61=(($60)>>>0) >= 6; var $62=(($61)&1); var $63=(($62)|0)!=0; var $64=(($63)&1); var $65=$64; var $66=(($65)|0)!=0; if ($66) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str18273)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=776,tempInt)); __label__ = 17; break; case 17: var $70=$ff; var $71=$3; var $72=$dt; var $73=(($72+8)|0); var $74=(($73+($71<<2))|0); HEAP32[(($74)>>2)]=$70; $ff=0; __label__ = 18; break; case 18: var $76=$fdp; var $77=$3; _fd_used($76, $77); var $78=$fdp; var $79=(($78+384)|0); _mutex_exit($79); var $80=$4; var $81=$80 & 4194304; var $82=(($81)|0)!=0; var $83=$3; var $84=$dt; var $85=(($84+8)|0); var $86=(($85+($83<<2))|0); var $87=HEAP32[(($86)>>2)]; var $88=(($87)|0); var $89=(($82)&1); HEAP8[($88)]=$89; var $90=$4; var $91=$90 & 4; var $92=$2; var $93=(($92+32)|0); var $94=HEAP32[(($93)>>2)]; var $95=$94 | $91; HEAP32[(($93)>>2)]=$95; var $96=_rumpuser_get_curlwp(); var $97=(($96+272)|0); var $98=HEAP32[(($97)>>2)]; var $99=$2; var $100=$3; _fd_affix($98, $99, $100); var $101=$ff; var $102=(($101)|0)!=0; if ($102) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $104=HEAP32[((_fdfile_cache)>>2)]; var $105=$ff; var $106=$105; _pool_cache_put_paddr($104, $106, -1); __label__ = 20; break; case 20: $1=0; __label__ = 21; break; case 21: var $109=$1; STACKTOP = __stackBase__; return $109; default: assert(0, "bad label: " + __label__); } } _fd_dup2["X"]=1; function _fd_isused($fdp, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $off; $1=$fdp; $2=$fd; var $3=$2; var $4=$3 >>> 5; $off=$4; var $5=$2; var $6=$1; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8)|0); var $10=HEAP32[(($9)>>2)]; var $11=(($5)>>>0) < (($10)>>>0); var $12=(($11)&1); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12267)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=179,tempInt)); __label__ = 5; break; case 5: var $20=$off; var $21=$1; var $22=(($21+396)|0); var $23=HEAP32[(($22)>>2)]; var $24=(($23+($20<<2))|0); var $25=HEAP32[(($24)>>2)]; var $26=$2; var $27=$26 & 31; var $28=1 << $27; var $29=$25 & $28; var $30=(($29)|0)!=0; STACKTOP = __stackBase__; return $30; default: assert(0, "bad label: " + __label__); } } function _fd_used($fdp, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $off; var $ff; $1=$fdp; $2=$fd; var $3=$2; var $4=$3 >>> 5; $off=$4; var $5=$2; var $6=$1; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+8)|0); var $10=(($9+($5<<2))|0); var $11=HEAP32[(($10)>>2)]; $ff=$11; var $12=$1; var $13=(($12+384)|0); var $14=_mutex_owned($13); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str78333)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=288,tempInt)); __label__ = 5; break; case 5: var $22=$off; var $23=$1; var $24=(($23+396)|0); var $25=HEAP32[(($24)>>2)]; var $26=(($25+($22<<2))|0); var $27=HEAP32[(($26)>>2)]; var $28=$2; var $29=$28 & 31; var $30=1 << $29; var $31=$27 & $30; var $32=(($31)|0)==0; var $33=(($32)&1); var $34=(($33)|0)!=0; var $35=(($34)&1); var $36=$35; var $37=(($36)|0)!=0; if ($37) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str79334)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=289,tempInt)); __label__ = 8; break; case 8: var $41=$ff; var $42=(($41)|0)!=0; var $43=(($42)&1); var $44=(($43)|0)!=0; var $45=(($44)&1); var $46=$45; var $47=(($46)|0)!=0; if ($47) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str13268)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=290,tempInt)); __label__ = 11; break; case 11: var $51=$ff; var $52=(($51+8)|0); var $53=HEAP32[(($52)>>2)]; var $54=(($53)|0)==0; var $55=(($54)&1); var $56=(($55)|0)!=0; var $57=(($56)&1); var $58=$57; var $59=(($58)|0)!=0; if ($59) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str30285)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=291,tempInt)); __label__ = 14; break; case 14: var $63=$ff; var $64=(($63+1)|0); var $65=HEAP8[($64)]; var $66=(($65) & 1); var $67=$66 ^ 1; var $68=(($67)&1); var $69=(($68)|0)!=0; var $70=(($69)&1); var $71=$70; var $72=(($71)|0)!=0; if ($72) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str65320)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=292,tempInt)); __label__ = 17; break; case 17: var $76=$ff; var $77=(($76+1)|0); HEAP8[($77)]=1; var $78=$2; var $79=$78 & 31; var $80=1 << $79; var $81=$off; var $82=$1; var $83=(($82+396)|0); var $84=HEAP32[(($83)>>2)]; var $85=(($84+($81<<2))|0); var $86=HEAP32[(($85)>>2)]; var $87=$86 | $80; HEAP32[(($85)>>2)]=$87; var $88=$off; var $89=$1; var $90=(($89+396)|0); var $91=HEAP32[(($90)>>2)]; var $92=(($91+($88<<2))|0); var $93=HEAP32[(($92)>>2)]; var $94=(($93)|0)==-1; var $95=(($94)&1); var $96=(($95)|0)!=0; var $97=(($96)&1); var $98=$97; var $99=(($98)|0)!=0; if ($99) { __label__ = 18; break; } else { __label__ = 22; break; } case 18: var $101=$off; var $102=$101 >>> 5; var $103=$1; var $104=(($103+392)|0); var $105=HEAP32[(($104)>>2)]; var $106=(($105+($102<<2))|0); var $107=HEAP32[(($106)>>2)]; var $108=$off; var $109=$108 & 31; var $110=1 << $109; var $111=$107 & $110; var $112=(($111)|0)==0; var $113=(($112)&1); var $114=(($113)|0)!=0; var $115=(($114)&1); var $116=$115; var $117=(($116)|0)!=0; if ($117) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: __label__ = 21; break; case 20: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str80335)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=298,tempInt)); __label__ = 21; break; case 21: var $121=$off; var $122=$121 & 31; var $123=1 << $122; var $124=$off; var $125=$124 >>> 5; var $126=$1; var $127=(($126+392)|0); var $128=HEAP32[(($127)>>2)]; var $129=(($128+($125<<2))|0); var $130=HEAP32[(($129)>>2)]; var $131=$130 | $123; HEAP32[(($129)>>2)]=$131; __label__ = 22; break; case 22: var $133=$2; var $134=$1; var $135=(($134+408)|0); var $136=HEAP32[(($135)>>2)]; var $137=(($133)|0) > (($136)|0); if ($137) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $139=$2; var $140=$1; var $141=(($140+408)|0); HEAP32[(($141)>>2)]=$139; __label__ = 24; break; case 24: var $143=$1; _fd_checkmaps($143); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_used["X"]=1; function _fd_next_zero($fdp, $bitmap, $want, $bits) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $i; var $off; var $maxoff; var $sub; $2=$fdp; $3=$bitmap; $4=$want; $5=$bits; var $6=$2; var $7=(($6+384)|0); var $8=_mutex_owned($7); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str78333)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=221,tempInt)); __label__ = 5; break; case 5: var $16=$2; _fd_checkmaps($16); var $17=$4; var $18=$5; var $19=(($17)>>>0) > (($18)>>>0); if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $1=-1; __label__ = 18; break; case 7: var $22=$4; var $23=$22 >> 5; $off=$23; var $24=$4; var $25=$24 & 31; $i=$25; var $26=$i; var $27=(($26)|0)!=0; if ($27) { __label__ = 8; break; } else { __label__ = 11; break; } case 8: var $29=$off; var $30=$3; var $31=(($30+($29<<2))|0); var $32=HEAP32[(($31)>>2)]; var $33=$i; var $34=(((32)-($33))|0); var $35=-1 >>> (($34)>>>0); var $36=$32 | $35; $sub=$36; var $37=$sub; var $38=(($37)|0)!=-1; if ($38) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 17; break; case 10: var $41=$off; var $42=((($41)+(1))|0); $off=$42; __label__ = 11; break; case 11: var $44=$5; var $45=((($44)+(32))|0); var $46=((($45)-(1))|0); var $47=$46 >>> 5; $maxoff=$47; __label__ = 12; break; case 12: var $49=$off; var $50=$maxoff; var $51=(($49)|0) < (($50)|0); if ($51) { __label__ = 13; break; } else { __label__ = 16; break; } case 13: var $53=$off; var $54=$3; var $55=(($54+($53<<2))|0); var $56=HEAP32[(($55)>>2)]; $sub=$56; var $57=(($56)|0)!=-1; if ($57) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 17; break; case 15: var $60=$off; var $61=((($60)+(1))|0); $off=$61; __label__ = 12; break; case 16: $1=-1; __label__ = 18; break; case 17: var $64=$off; var $65=$64 << 5; var $66=$sub; var $67=$66 ^ -1; var $68=_llvm_cttz_i32($67, 1); var $69=((($68)+(1))|0); var $70=(($67)|0)==0; var $71=$70 ? 0 : $69; var $72=((($65)+($71))|0); var $73=((($72)-(1))|0); $1=$73; __label__ = 18; break; case 18: var $75=$1; STACKTOP = __stackBase__; return $75; default: assert(0, "bad label: " + __label__); } } _fd_next_zero["X"]=1; function _fd_dtab_alloc($n) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $dt; var $sz; $1=$n; var $2=$1; var $3=(($2)|0) > 20; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str77332)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=912,tempInt)); __label__ = 5; break; case 5: var $12=$1; var $13=((($12)-(20))|0); var $14=((($13<<2))|0); var $15=((($14)+(88))|0); $sz=$15; var $16=$sz; var $17=_kmem_alloc($16, 1); var $18=$17; $dt=$18; var $19=$dt; var $20=$19; var $21=$sz; _memset($20, -1, $21, 4); var $22=$1; var $23=$dt; var $24=(($23)|0); HEAP32[(($24)>>2)]=$22; var $25=$dt; var $26=(($25+4)|0); HEAP32[(($26)>>2)]=0; var $27=$dt; STACKTOP = __stackBase__; return $27; default: assert(0, "bad label: " + __label__); } } function _fd_map_alloc($n, $lo, $hi) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $ptr; var $szlo; var $szhi; $1=$n; $2=$lo; $3=$hi; var $4=$1; var $5=(($4)|0) > 32; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str74329)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=955,tempInt)); __label__ = 5; break; case 5: var $14=$1; var $15=((($14)+(32))|0); var $16=((($15)-(1))|0); var $17=$16 >> 5; var $18=((($17<<2))|0); $szlo=$18; var $19=$1; var $20=((($19)+(32))|0); var $21=((($20)-(1))|0); var $22=$21 >> 5; var $23=((($22)+(32))|0); var $24=((($23)-(1))|0); var $25=$24 >> 5; var $26=((($25<<2))|0); $szhi=$26; var $27=$szlo; var $28=$szhi; var $29=((($27)+($28))|0); var $30=_kmem_alloc($29, 1); $ptr=$30; var $31=$ptr; var $32=$31; var $33=$2; HEAP32[(($33)>>2)]=$32; var $34=$ptr; var $35=$szlo; var $36=(($34+$35)|0); var $37=$36; var $38=$3; HEAP32[(($38)>>2)]=$37; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_map_alloc["X"]=1; function _fd_dtab_free($dt) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $next; var $sz; $1=$dt; __label__ = 3; break; case 3: var $3=$1; var $4=(($3+4)|0); var $5=HEAP32[(($4)>>2)]; $next=$5; var $6=$1; var $7=(($6)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8)>>>0) > 20; var $10=(($9)&1); var $11=(($10)|0)!=0; var $12=(($11)&1); var $13=$12; var $14=(($13)|0)!=0; if ($14) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: __label__ = 6; break; case 5: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str76331)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=935,tempInt)); __label__ = 6; break; case 6: var $18=$1; var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=((($20)-(20))|0); var $22=((($21<<2))|0); var $23=((($22)+(88))|0); $sz=$23; var $24=$1; var $25=$24; var $26=$sz; _memset($25, -1, $26, 4); var $27=$1; var $28=$27; var $29=$sz; _kmem_free($28, $29); var $30=$next; $1=$30; __label__ = 7; break; case 7: var $32=$1; var $33=(($32)|0)!=0; if ($33) { __label__ = 3; break; } else { __label__ = 8; break; } case 8: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _fd_map_free($n, $lo, $hi) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $szlo; var $szhi; $1=$n; $2=$lo; $3=$hi; var $4=$1; var $5=(($4)|0) > 32; var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str74329)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=972,tempInt)); __label__ = 5; break; case 5: var $14=$1; var $15=((($14)+(32))|0); var $16=((($15)-(1))|0); var $17=$16 >> 5; var $18=((($17<<2))|0); $szlo=$18; var $19=$1; var $20=((($19)+(32))|0); var $21=((($20)-(1))|0); var $22=$21 >> 5; var $23=((($22)+(32))|0); var $24=((($23)-(1))|0); var $25=$24 >> 5; var $26=((($25<<2))|0); $szhi=$26; var $27=$3; var $28=$2; var $29=$28; var $30=$szlo; var $31=(($29+$30)|0); var $32=$31; var $33=(($27)|0)==(($32)|0); var $34=(($33)&1); var $35=(($34)|0)!=0; var $36=(($35)&1); var $37=$36; var $38=(($37)|0)!=0; if ($38) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str75330)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=976,tempInt)); __label__ = 8; break; case 8: var $42=$2; var $43=$42; var $44=$szlo; var $45=$szhi; var $46=((($44)+($45))|0); _kmem_free($43, $46); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_map_free["X"]=1; function _fd_allocfile($resultfp, $resultfd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $p; var $cred; var $fp; var $error; $2=$resultfp; $3=$resultfd; var $4=_rumpuser_get_curlwp(); var $5=(($4+272)|0); var $6=HEAP32[(($5)>>2)]; $p=$6; __label__ = 3; break; case 3: var $8=$p; var $9=$3; var $10=_fd_alloc($8, 0, $9); $error=$10; var $11=(($10)|0)!=0; if ($11) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: var $13=$error; var $14=(($13)|0)!=28; if ($14) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $16=$error; $1=$16; __label__ = 23; break; case 6: var $18=$p; _fd_tryexpand($18); __label__ = 3; break; case 7: var $20=HEAP32[((_file_cache)>>2)]; var $21=_pool_cache_get_paddr($20, 1, 0); var $22=$21; $fp=$22; var $23=$fp; var $24=(($23)|0)==0; if ($24) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $26=$p; var $27=$3; var $28=HEAP32[(($27)>>2)]; _fd_abort($26, 0, $28); $1=23; __label__ = 23; break; case 9: var $30=$fp; var $31=(($30+48)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($32)|0)==0; var $34=(($33)&1); var $35=(($34)|0)!=0; var $36=(($35)&1); var $37=$36; var $38=(($37)|0)!=0; if ($38) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 12; break; case 11: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str20275)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1094,tempInt)); __label__ = 12; break; case 12: var $42=$fp; var $43=(($42+52)|0); var $44=HEAP32[(($43)>>2)]; var $45=(($44)|0)==0; var $46=(($45)&1); var $47=(($46)|0)!=0; var $48=(($47)&1); var $49=$48; var $50=(($49)|0)!=0; if ($50) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str28283)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1095,tempInt)); __label__ = 15; break; case 15: var $54=$fp; var $55=(($54+56)|0); var $56=HEAP32[(($55)>>2)]; var $57=(($56)|0)==0; var $58=(($57)&1); var $59=(($58)|0)!=0; var $60=(($59)&1); var $61=$60; var $62=(($61)|0)!=0; if ($62) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str29284)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1096,tempInt)); __label__ = 18; break; case 18: var $66=_rumpuser_get_curlwp(); var $67=(($66+480)|0); var $68=HEAP32[(($67)>>2)]; $cred=$68; var $69=$cred; var $70=$fp; var $71=(($70+8)|0); var $72=HEAP32[(($71)>>2)]; var $73=(($69)|0)!=(($72)|0); var $74=(($73)&1); var $75=(($74)|0)!=0; var $76=(($75)&1); var $77=$76; var $78=(($77)|0)!=0; if ($78) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $80=$fp; var $81=(($80+8)|0); var $82=HEAP32[(($81)>>2)]; _kauth_cred_free($82); var $83=$cred; _kauth_cred_hold($83); var $84=$cred; var $85=$fp; var $86=(($85+8)|0); HEAP32[(($86)>>2)]=$84; __label__ = 20; break; case 20: var $88=$fp; var $89=(($88+32)|0); var $90=HEAP32[(($89)>>2)]; var $91=$90 & 1048576; var $92=(($91)|0)!=0; var $93=(($92)&1); var $94=(($93)|0)!=0; var $95=(($94)&1); var $96=$95; var $97=(($96)|0)!=0; if ($97) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: var $99=$fp; var $100=(($99+28)|0); _mutex_enter($100); var $101=$fp; var $102=(($101+32)|0); _atomic_and_uint($102, -1048577); var $103=$fp; var $104=(($103+28)|0); _mutex_exit($104); __label__ = 22; break; case 22: var $106=$fp; var $107=(($106+44)|0); HEAP32[(($107)>>2)]=0; var $108=$fp; var $109=(($108)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$7$0=(($109)|0); HEAP32[(($st$7$0)>>2)]=$$emscripten$temp$0$0; var $st$7$1=(($109+4)|0); HEAP32[(($st$7$1)>>2)]=$$emscripten$temp$0$1; var $110=$fp; var $111=$2; HEAP32[(($111)>>2)]=$110; $1=0; __label__ = 23; break; case 23: var $113=$1; STACKTOP = __stackBase__; return $113; default: assert(0, "bad label: " + __label__); } } _fd_allocfile["X"]=1; function _fd_abort($p, $fp, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $fdp; var $ff; $1=$p; $2=$fp; $3=$fd; var $4=$1; var $5=_rumpuser_get_curlwp(); var $6=(($5+272)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($4)|0)==(($7)|0); if ($8) { var $13 = 1;__label__ = 4; break; } else { __label__ = 3; break; } case 3: var $10=$1; var $11=(($10)|0)==((_proc0)|0); var $13 = $11;__label__ = 4; break; case 4: var $13; var $14=(($13)&1); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22277)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1169,tempInt)); __label__ = 7; break; case 7: var $22=$1; var $23=(($22+52)|0); var $24=HEAP32[(($23)>>2)]; $fdp=$24; var $25=$3; var $26=$fdp; var $27=(($26+388)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28+8)|0); var $30=(($29+($25<<2))|0); var $31=HEAP32[(($30)>>2)]; $ff=$31; var $32=$3; var $33=(($32)>>>0) >= 6; if ($33) { var $44 = 1;__label__ = 9; break; } else { __label__ = 8; break; } case 8: var $35=$ff; var $36=$3; var $37=$fdp; var $38=(($37)|0); var $39=(($38+($36<<6))|0); var $40=(($39)|0); var $41=$40; var $42=(($35)|0)==(($41)|0); var $44 = $42;__label__ = 9; break; case 9: var $44; var $45=(($44)&1); var $46=(($45)|0)!=0; var $47=(($46)&1); var $48=$47; var $49=(($48)|0)!=0; if ($49) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 12; break; case 11: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1174,tempInt)); __label__ = 12; break; case 12: var $53=$fdp; var $54=(($53+384)|0); _mutex_enter($54); var $55=$fdp; var $56=$3; var $57=_fd_isused($55, $56); var $58=(($57)&1); var $59=(($58)|0)!=0; var $60=(($59)&1); var $61=$60; var $62=(($61)|0)!=0; if ($62) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str32287)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1177,tempInt)); __label__ = 15; break; case 15: var $66=$fdp; var $67=$3; _fd_unused($66, $67); var $68=$fdp; var $69=(($68+384)|0); _mutex_exit($69); var $70=$2; var $71=(($70)|0)!=0; if ($71) { __label__ = 16; break; } else { __label__ = 23; break; } case 16: var $73=$2; var $74=(($73+48)|0); var $75=HEAP32[(($74)>>2)]; var $76=(($75)|0)==0; var $77=(($76)&1); var $78=(($77)|0)!=0; var $79=(($78)&1); var $80=$79; var $81=(($80)|0)!=0; if ($81) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 19; break; case 18: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str20275)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1182,tempInt)); __label__ = 19; break; case 19: var $85=$2; var $86=(($85+8)|0); var $87=HEAP32[(($86)>>2)]; var $88=(($87)|0)!=0; var $89=(($88)&1); var $90=(($89)|0)!=0; var $91=(($90)&1); var $92=$91; var $93=(($92)|0)!=0; if ($93) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 22; break; case 21: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str21276)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1183,tempInt)); __label__ = 22; break; case 22: var $97=HEAP32[((_file_cache)>>2)]; var $98=$2; var $99=$98; _pool_cache_put_paddr($97, $99, -1); __label__ = 23; break; case 23: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_abort["X"]=1; function _fgetdummy() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $fp; var $1=_kmem_zalloc(64, 1); var $2=$1; $fp=$2; var $3=$fp; var $4=(($3)|0)!=0; if ($4) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $6=$fp; var $7=(($6+28)|0); _mutex_init($7, 2, 0); __label__ = 4; break; case 4: var $9=$fp; ; return $9; default: assert(0, "bad label: " + __label__); } } function _fputdummy($fp) { ; var __label__; var $1; $1=$fp; var $2=$1; var $3=(($2+28)|0); _mutex_destroy($3); var $4=$1; var $5=$4; _kmem_free($5, 64); ; return; } function _fd_init($fdp) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $fd; $1=$fdp; var $2=$1; var $3=(($2)|0)==0; var $4=(($3)&1); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=HEAP32[((_filedesc_cache)>>2)]; var $11=_pool_cache_get_paddr($10, 1, 0); var $12=$11; $1=$12; __label__ = 8; break; case 4: var $14=$1; var $15=(($14)|0)==((_filedesc0)|0); var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str33288)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1277,tempInt)); __label__ = 7; break; case 7: var $24=$1; var $25=$24; var $26=_filedesc_ctor(0, $25, 1); __label__ = 8; break; case 8: var $28=$1; var $29=(($28+408)|0); var $30=HEAP32[(($29)>>2)]; var $31=(($30)|0)==-1; var $32=(($31)&1); var $33=(($32)|0)!=0; var $34=(($33)&1); var $35=$34; var $36=(($35)|0)!=0; if ($36) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str34289)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1282,tempInt)); __label__ = 11; break; case 11: var $40=$1; var $41=(($40+404)|0); var $42=HEAP32[(($41)>>2)]; var $43=(($42)|0)==-1; var $44=(($43)&1); var $45=(($44)|0)!=0; var $46=(($45)&1); var $47=$46; var $48=(($47)|0)!=0; if ($48) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str35290)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1283,tempInt)); __label__ = 14; break; case 14: var $52=$1; var $53=(($52+400)|0); var $54=HEAP32[(($53)>>2)]; var $55=(($54)|0)==0; var $56=(($55)&1); var $57=(($56)|0)!=0; var $58=(($57)&1); var $59=$58; var $60=(($59)|0)!=0; if ($60) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str36291)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1284,tempInt)); __label__ = 17; break; case 17: var $64=$1; var $65=(($64+420)|0); var $66=HEAP32[(($65)>>2)]; var $67=(($66)|0)==0; var $68=(($67)&1); var $69=(($68)|0)!=0; var $70=(($69)&1); var $71=$70; var $72=(($71)|0)!=0; if ($72) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: __label__ = 20; break; case 19: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str37292)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1285,tempInt)); __label__ = 20; break; case 20: var $76=$1; var $77=(($76+428)|0); var $78=HEAP8[($77)]; var $79=(($78) & 1); var $80=(($79)&1); var $81=(($80)|0)==0; var $82=(($81)&1); var $83=(($82)|0)!=0; var $84=(($83)&1); var $85=$84; var $86=(($85)|0)!=0; if ($86) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 23; break; case 22: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str38293)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1286,tempInt)); __label__ = 23; break; case 23: var $90=$1; var $91=(($90+388)|0); var $92=HEAP32[(($91)>>2)]; var $93=$1; var $94=(($93+432)|0); var $95=(($92)|0)==(($94)|0); var $96=(($95)&1); var $97=(($96)|0)!=0; var $98=(($97)&1); var $99=$98; var $100=(($99)|0)!=0; if ($100) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: __label__ = 26; break; case 25: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str39294)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1287,tempInt)); __label__ = 26; break; case 26: var $104=$1; var $105=(($104+432)|0); var $106=(($105)|0); var $107=HEAP32[(($106)>>2)]; var $108=(($107)|0)==20; var $109=(($108)&1); var $110=(($109)|0)!=0; var $111=(($110)&1); var $112=$111; var $113=(($112)|0)!=0; if ($113) { __label__ = 27; break; } else { __label__ = 28; break; } case 27: __label__ = 29; break; case 28: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str40295)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1288,tempInt)); __label__ = 29; break; case 29: $fd=0; __label__ = 30; break; case 30: var $118=$fd; var $119=(($118)>>>0) < 6; if ($119) { __label__ = 31; break; } else { __label__ = 36; break; } case 31: var $121=$fd; var $122=$1; var $123=(($122+432)|0); var $124=(($123+8)|0); var $125=(($124+($121<<2))|0); var $126=HEAP32[(($125)>>2)]; var $127=$fd; var $128=$1; var $129=(($128)|0); var $130=(($129+($127<<6))|0); var $131=(($130)|0); var $132=$131; var $133=(($126)|0)==(($132)|0); var $134=(($133)&1); var $135=(($134)|0)!=0; var $136=(($135)&1); var $137=$136; var $138=(($137)|0)!=0; if ($138) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: __label__ = 34; break; case 33: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str41296)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1291,tempInt)); __label__ = 34; break; case 34: __label__ = 35; break; case 35: var $143=$fd; var $144=((($143)+(1))|0); $fd=$144; __label__ = 30; break; case 36: $fd=6; __label__ = 37; break; case 37: var $147=$fd; var $148=(($147)>>>0) < 20; if ($148) { __label__ = 38; break; } else { __label__ = 43; break; } case 38: var $150=$fd; var $151=$1; var $152=(($151+432)|0); var $153=(($152+8)|0); var $154=(($153+($150<<2))|0); var $155=HEAP32[(($154)>>2)]; var $156=(($155)|0)==0; var $157=(($156)&1); var $158=(($157)|0)!=0; var $159=(($158)&1); var $160=$159; var $161=(($160)|0)!=0; if ($161) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: __label__ = 41; break; case 40: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str42297)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1294,tempInt)); __label__ = 41; break; case 41: __label__ = 42; break; case 42: var $166=$fd; var $167=((($166)+(1))|0); $fd=$167; __label__ = 37; break; case 43: var $169=$1; var $170=(($169+392)|0); var $171=HEAP32[(($170)>>2)]; var $172=$1; var $173=(($172+520)|0); var $174=(($173)|0); var $175=(($171)|0)==(($174)|0); var $176=(($175)&1); var $177=(($176)|0)!=0; var $178=(($177)&1); var $179=$178; var $180=(($179)|0)!=0; if ($180) { __label__ = 44; break; } else { __label__ = 45; break; } case 44: __label__ = 46; break; case 45: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str43298)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1296,tempInt)); __label__ = 46; break; case 46: var $184=$1; var $185=(($184+396)|0); var $186=HEAP32[(($185)>>2)]; var $187=$1; var $188=(($187+524)|0); var $189=(($188)|0); var $190=(($186)|0)==(($189)|0); var $191=(($190)&1); var $192=(($191)|0)!=0; var $193=(($192)&1); var $194=$193; var $195=(($194)|0)!=0; if ($195) { __label__ = 47; break; } else { __label__ = 48; break; } case 47: __label__ = 49; break; case 48: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str44299)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1297,tempInt)); __label__ = 49; break; case 49: var $199=$1; var $200=(($199+412)|0); HEAP32[(($200)>>2)]=1; var $201=$1; _fd_checkmaps($201); var $202=$1; STACKTOP = __stackBase__; return $202; default: assert(0, "bad label: " + __label__); } } _fd_init["X"]=1; function _fd_share($p) { ; var __label__; var $1; var $fdp; $1=$p; var $2=_rumpuser_get_curlwp(); var $3=(($2+484)|0); var $4=HEAP32[(($3)>>2)]; $fdp=$4; var $5=$fdp; var $6=$1; var $7=(($6+52)|0); HEAP32[(($7)>>2)]=$5; var $8=$fdp; var $9=(($8+412)|0); _atomic_inc_uint($9); ; return; } function _fd_hold($l) { ; var __label__; var $1; var $fdp; $1=$l; var $2=$1; var $3=(($2+484)|0); var $4=HEAP32[(($3)>>2)]; $fdp=$4; var $5=$fdp; var $6=(($5+412)|0); _atomic_inc_uint($6); ; return; } function _fd_copy() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $newfdp; var $fdp; var $ff; var $ffp; var $nffp; var $ff2; var $i; var $j; var $numfiles; var $lastfile; var $newlast; var $fp; var $newdt; var $1=_rumpuser_get_curlwp(); var $2=(($1+272)|0); var $3=HEAP32[(($2)>>2)]; var $4=(($3+52)|0); var $5=HEAP32[(($4)>>2)]; $fdp=$5; var $6=HEAP32[((_filedesc_cache)>>2)]; var $7=_pool_cache_get_paddr($6, 1, 0); var $8=$7; $newfdp=$8; var $9=$newfdp; var $10=(($9+412)|0); HEAP32[(($10)>>2)]=1; var $11=$newfdp; var $12=(($11+408)|0); var $13=HEAP32[(($12)>>2)]; var $14=(($13)|0)==-1; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str45300)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1388,tempInt)); __label__ = 5; break; case 5: var $23=$newfdp; var $24=(($23+404)|0); var $25=HEAP32[(($24)>>2)]; var $26=(($25)|0)==-1; var $27=(($26)&1); var $28=(($27)|0)!=0; var $29=(($28)&1); var $30=$29; var $31=(($30)|0)!=0; if ($31) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str46301)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1389,tempInt)); __label__ = 8; break; case 8: var $35=$newfdp; var $36=(($35+400)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($37)|0)==0; var $39=(($38)&1); var $40=(($39)|0)!=0; var $41=(($40)&1); var $42=$41; var $43=(($42)|0)!=0; if ($43) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str47302)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1390,tempInt)); __label__ = 11; break; case 11: var $47=$newfdp; var $48=(($47+420)|0); var $49=HEAP32[(($48)>>2)]; var $50=(($49)|0)==0; var $51=(($50)&1); var $52=(($51)|0)!=0; var $53=(($52)&1); var $54=$53; var $55=(($54)|0)!=0; if ($55) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str48303)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1391,tempInt)); __label__ = 14; break; case 14: var $59=$newfdp; var $60=(($59+428)|0); var $61=HEAP8[($60)]; var $62=(($61) & 1); var $63=(($62)&1); var $64=(($63)|0)==0; var $65=(($64)&1); var $66=(($65)|0)!=0; var $67=(($66)&1); var $68=$67; var $69=(($68)|0)!=0; if ($69) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str49304)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1392,tempInt)); __label__ = 17; break; case 17: var $73=$newfdp; var $74=(($73+388)|0); var $75=HEAP32[(($74)>>2)]; var $76=$newfdp; var $77=(($76+432)|0); var $78=(($75)|0)==(($77)|0); var $79=(($78)&1); var $80=(($79)|0)!=0; var $81=(($80)&1); var $82=$81; var $83=(($82)|0)!=0; if ($83) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: __label__ = 20; break; case 19: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str50305)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1393,tempInt)); __label__ = 20; break; case 20: var $87=$newfdp; var $88=(($87+432)|0); var $89=(($88)|0); var $90=HEAP32[(($89)>>2)]; var $91=(($90)|0)==20; var $92=(($91)&1); var $93=(($92)|0)!=0; var $94=(($93)&1); var $95=$94; var $96=(($95)|0)!=0; if ($96) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 23; break; case 22: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str51306)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1394,tempInt)); __label__ = 23; break; case 23: $i=0; __label__ = 24; break; case 24: var $101=$i; var $102=(($101)|0) < 6; if ($102) { __label__ = 25; break; } else { __label__ = 30; break; } case 25: var $104=$i; var $105=$newfdp; var $106=(($105+432)|0); var $107=(($106+8)|0); var $108=(($107+($104<<2))|0); var $109=HEAP32[(($108)>>2)]; var $110=$i; var $111=$newfdp; var $112=(($111)|0); var $113=(($112+($110<<6))|0); var $114=$113; var $115=(($109)|0)==(($114)|0); var $116=(($115)&1); var $117=(($116)|0)!=0; var $118=(($117)&1); var $119=$118; var $120=(($119)|0)!=0; if ($120) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: __label__ = 28; break; case 27: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str52307)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1397,tempInt)); __label__ = 28; break; case 28: __label__ = 29; break; case 29: var $125=$i; var $126=((($125)+(1))|0); $i=$126; __label__ = 24; break; case 30: $i=6; __label__ = 31; break; case 31: var $129=$i; var $130=(($129)|0) < 20; if ($130) { __label__ = 32; break; } else { __label__ = 37; break; } case 32: var $132=$i; var $133=$newfdp; var $134=(($133+432)|0); var $135=(($134+8)|0); var $136=(($135+($132<<2))|0); var $137=HEAP32[(($136)>>2)]; var $138=(($137)|0)==0; var $139=(($138)&1); var $140=(($139)|0)!=0; var $141=(($140)&1); var $142=$141; var $143=(($142)|0)!=0; if ($143) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: __label__ = 35; break; case 34: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str53308)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1400,tempInt)); __label__ = 35; break; case 35: __label__ = 36; break; case 36: var $148=$i; var $149=((($148)+(1))|0); $i=$149; __label__ = 31; break; case 37: var $151=$fdp; var $152=(($151+384)|0); _mutex_enter($152); var $153=$fdp; _fd_checkmaps($153); var $154=$fdp; var $155=(($154+388)|0); var $156=HEAP32[(($155)>>2)]; var $157=(($156)|0); var $158=HEAP32[(($157)>>2)]; $numfiles=$158; var $159=$fdp; var $160=(($159+408)|0); var $161=HEAP32[(($160)>>2)]; $lastfile=$161; var $162=$lastfile; var $163=(($162)|0) < 20; if ($163) { __label__ = 38; break; } else { __label__ = 42; break; } case 38: $i=20; var $165=$newfdp; var $166=(($165+388)|0); var $167=HEAP32[(($166)>>2)]; $newdt=$167; var $168=$newfdp; var $169=(($168+388)|0); var $170=HEAP32[(($169)>>2)]; var $171=$newfdp; var $172=(($171+432)|0); var $173=(($170)|0)==(($172)|0); var $174=(($173)&1); var $175=(($174)|0)!=0; var $176=(($175)&1); var $177=$176; var $178=(($177)|0)!=0; if ($178) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: __label__ = 41; break; case 40: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str50305)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1418,tempInt)); __label__ = 41; break; case 41: __label__ = 51; break; case 42: var $183=$numfiles; $i=$183; __label__ = 43; break; case 43: var $185=$i; var $186=(($185)|0) >= 100; if ($186) { __label__ = 44; break; } else { var $193 = 0;__label__ = 45; break; } case 44: var $188=$i; var $189=$lastfile; var $190=((($189<<1))|0); var $191=(($188)|0) > (($190)|0); var $193 = $191;__label__ = 45; break; case 45: var $193; if ($193) { __label__ = 46; break; } else { __label__ = 47; break; } case 46: var $195=$i; var $196=((((($195)|0))/(2))&-1); $i=$196; __label__ = 43; break; case 47: var $198=$i; var $199=(($198)|0) > 20; var $200=(($199)&1); var $201=(($200)|0)!=0; var $202=(($201)&1); var $203=$202; var $204=(($203)|0)!=0; if ($204) { __label__ = 48; break; } else { __label__ = 49; break; } case 48: __label__ = 50; break; case 49: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str54309)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1429,tempInt)); __label__ = 50; break; case 50: var $208=$i; var $209=_fd_dtab_alloc($208); $newdt=$209; var $210=$newdt; var $211=$newfdp; var $212=(($211+388)|0); HEAP32[(($212)>>2)]=$210; var $213=$newdt; var $214=(($213+8)|0); var $215=(($214)|0); var $216=$215; var $217=$newfdp; var $218=(($217+432)|0); var $219=(($218+8)|0); var $220=(($219)|0); var $221=$220; assert(24 % 1 === 0, 'memcpy given ' + 24 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($216)>>2)]=HEAP32[(($221)>>2)];HEAP32[((($216)+(4))>>2)]=HEAP32[((($221)+(4))>>2)];HEAP32[((($216)+(8))>>2)]=HEAP32[((($221)+(8))>>2)];HEAP32[((($216)+(12))>>2)]=HEAP32[((($221)+(12))>>2)];HEAP32[((($216)+(16))>>2)]=HEAP32[((($221)+(16))>>2)];HEAP32[((($216)+(20))>>2)]=HEAP32[((($221)+(20))>>2)]; var $222=$newdt; var $223=(($222+8)|0); var $224=(($223)|0); var $225=(($224+24)|0); var $226=$225; var $227=$i; var $228=((($227)-(6))|0); var $229=((($228<<2))|0); _memset($226, 0, $229, 4); __label__ = 51; break; case 51: var $231=$i; var $232=((($231)+(32))|0); var $233=((($232)-(1))|0); var $234=$233 >> 5; var $235=((($234)+(32))|0); var $236=((($235)-(1))|0); var $237=$236 >> 5; var $238=(($237)|0) <= 1; if ($238) { __label__ = 52; break; } else { __label__ = 53; break; } case 52: var $240=$newfdp; var $241=(($240+520)|0); var $242=(($241)|0); var $243=$newfdp; var $244=(($243+392)|0); HEAP32[(($244)>>2)]=$242; var $245=$newfdp; var $246=(($245+524)|0); var $247=(($246)|0); var $248=$newfdp; var $249=(($248+396)|0); HEAP32[(($249)>>2)]=$247; __label__ = 57; break; case 53: var $251=$i; var $252=$newfdp; var $253=(($252+396)|0); var $254=$newfdp; var $255=(($254+392)|0); _fd_map_alloc($251, $253, $255); var $256=$i; var $257=(($256)|0) >= 1024; var $258=(($257)&1); var $259=(($258)|0)!=0; var $260=(($259)&1); var $261=$260; var $262=(($261)|0)!=0; if ($262) { __label__ = 54; break; } else { __label__ = 55; break; } case 54: __label__ = 56; break; case 55: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str55310)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1442,tempInt)); __label__ = 56; break; case 56: var $266=$newfdp; var $267=(($266+392)|0); var $268=HEAP32[(($267)>>2)]; var $269=$268; var $270=$i; var $271=((($270)+(32))|0); var $272=((($271)-(1))|0); var $273=$272 >> 5; var $274=((($273)+(32))|0); var $275=((($274)-(1))|0); var $276=$275 >> 5; var $277=((($276<<2))|0); _memset($269, 0, $277, 4); var $278=$newfdp; var $279=(($278+396)|0); var $280=HEAP32[(($279)>>2)]; var $281=$280; var $282=$i; var $283=((($282)+(32))|0); var $284=((($283)-(1))|0); var $285=$284 >> 5; var $286=((($285<<2))|0); _memset($281, 0, $286, 4); __label__ = 57; break; case 57: var $288=$fdp; var $289=(($288+420)|0); var $290=HEAP32[(($289)>>2)]; var $291=$newfdp; var $292=(($291+420)|0); HEAP32[(($292)>>2)]=$290; var $293=$fdp; var $294=(($293+428)|0); var $295=HEAP8[($294)]; var $296=(($295) & 1); var $297=$newfdp; var $298=(($297+428)|0); var $299=(($296)&1); HEAP8[($298)]=$299; var $300=$fdp; var $301=(($300+388)|0); var $302=HEAP32[(($301)>>2)]; var $303=(($302+8)|0); var $304=(($303)|0); $ffp=$304; var $305=$newdt; var $306=(($305+8)|0); var $307=(($306)|0); $nffp=$307; $newlast=-1; $i=0; __label__ = 58; break; case 58: var $309=$i; var $310=$lastfile; var $311=(($309)|0) <= (($310)|0); if ($311) { __label__ = 59; break; } else { __label__ = 87; break; } case 59: var $313=$i; var $314=(($313)|0) >= 6; if ($314) { var $326 = 1;__label__ = 61; break; } else { __label__ = 60; break; } case 60: var $316=$nffp; var $317=HEAP32[(($316)>>2)]; var $318=$i; var $319=$newfdp; var $320=(($319)|0); var $321=(($320+($318<<6))|0); var $322=(($321)|0); var $323=$322; var $324=(($317)|0)==(($323)|0); var $326 = $324;__label__ = 61; break; case 61: var $326; var $327=(($326)&1); var $328=(($327)|0)!=0; var $329=(($328)&1); var $330=$329; var $331=(($330)|0)!=0; if ($331) { __label__ = 62; break; } else { __label__ = 63; break; } case 62: __label__ = 64; break; case 63: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str56311)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1454,tempInt)); __label__ = 64; break; case 64: var $335=$ffp; var $336=HEAP32[(($335)>>2)]; $ff=$336; var $337=$ff; var $338=(($337)|0)==0; if ($338) { __label__ = 66; break; } else { __label__ = 65; break; } case 65: var $340=$ff; var $341=(($340+8)|0); var $342=HEAP32[(($341)>>2)]; $fp=$342; var $343=(($342)|0)==0; if ($343) { __label__ = 66; break; } else { __label__ = 70; break; } case 66: var $345=$newfdp; var $346=$i; var $347=_fd_isused($345, $346); var $348=$347 ^ 1; var $349=(($348)&1); var $350=(($349)|0)!=0; var $351=(($350)&1); var $352=$351; var $353=(($352)|0)!=0; if ($353) { __label__ = 67; break; } else { __label__ = 68; break; } case 67: __label__ = 69; break; case 68: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str57312)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1458,tempInt)); __label__ = 69; break; case 69: __label__ = 86; break; case 70: var $358=$fp; var $359=(($358+40)|0); var $360=HEAP32[(($359)>>2)]; var $361=(($360)|0)==4; var $362=(($361)&1); var $363=(($362)|0)!=0; var $364=(($363)&1); var $365=$364; var $366=(($365)|0)!=0; if ($366) { __label__ = 71; break; } else { __label__ = 74; break; } case 71: var $368=$i; var $369=$newfdp; var $370=(($369+420)|0); var $371=HEAP32[(($370)>>2)]; var $372=(($368)|0) < (($371)|0); if ($372) { __label__ = 72; break; } else { __label__ = 73; break; } case 72: var $374=$i; var $375=$newfdp; var $376=(($375+420)|0); HEAP32[(($376)>>2)]=$374; __label__ = 73; break; case 73: __label__ = 86; break; case 74: var $379=$fp; var $380=(($379+28)|0); _mutex_enter($380); var $381=$fp; var $382=(($381+48)|0); var $383=HEAP32[(($382)>>2)]; var $384=((($383)+(1))|0); HEAP32[(($382)>>2)]=$384; var $385=$fp; var $386=(($385+28)|0); _mutex_exit($386); var $387=$i; var $388=(($387)|0) >= 6; if ($388) { __label__ = 75; break; } else { __label__ = 76; break; } case 75: var $390=HEAP32[((_fdfile_cache)>>2)]; var $391=_pool_cache_get_paddr($390, 1, 0); var $392=$391; $ff2=$392; var $393=$ff2; var $394=$nffp; HEAP32[(($394)>>2)]=$393; __label__ = 77; break; case 76: var $396=$i; var $397=$newdt; var $398=(($397+8)|0); var $399=(($398+($396<<2))|0); var $400=HEAP32[(($399)>>2)]; $ff2=$400; __label__ = 77; break; case 77: var $402=$fp; var $403=$ff2; var $404=(($403+8)|0); HEAP32[(($404)>>2)]=$402; var $405=$ff; var $406=(($405)|0); var $407=HEAP8[($406)]; var $408=(($407) & 1); var $409=$ff2; var $410=(($409)|0); var $411=(($408)&1); HEAP8[($410)]=$411; var $412=$ff2; var $413=(($412+1)|0); HEAP8[($413)]=1; var $414=$i; var $415=$414 >> 5; $j=$415; var $416=$j; var $417=$newfdp; var $418=(($417+396)|0); var $419=HEAP32[(($418)>>2)]; var $420=(($419+($416<<2))|0); var $421=HEAP32[(($420)>>2)]; var $422=$i; var $423=$422 & 31; var $424=1 << $423; var $425=$421 & $424; var $426=(($425)|0)==0; var $427=(($426)&1); var $428=(($427)|0)!=0; var $429=(($428)&1); var $430=$429; var $431=(($430)|0)!=0; if ($431) { __label__ = 78; break; } else { __label__ = 79; break; } case 78: __label__ = 80; break; case 79: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str58313)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1486,tempInt)); __label__ = 80; break; case 80: var $435=$i; var $436=$435 & 31; var $437=1 << $436; var $438=$j; var $439=$newfdp; var $440=(($439+396)|0); var $441=HEAP32[(($440)>>2)]; var $442=(($441+($438<<2))|0); var $443=HEAP32[(($442)>>2)]; var $444=$443 | $437; HEAP32[(($442)>>2)]=$444; var $445=$j; var $446=$newfdp; var $447=(($446+396)|0); var $448=HEAP32[(($447)>>2)]; var $449=(($448+($445<<2))|0); var $450=HEAP32[(($449)>>2)]; var $451=(($450)|0)==-1; var $452=(($451)&1); var $453=(($452)|0)!=0; var $454=(($453)&1); var $455=$454; var $456=(($455)|0)!=0; if ($456) { __label__ = 81; break; } else { __label__ = 85; break; } case 81: var $458=$j; var $459=$458 >> 5; var $460=$newfdp; var $461=(($460+392)|0); var $462=HEAP32[(($461)>>2)]; var $463=(($462+($459<<2))|0); var $464=HEAP32[(($463)>>2)]; var $465=$j; var $466=$465 & 31; var $467=1 << $466; var $468=$464 & $467; var $469=(($468)|0)==0; var $470=(($469)&1); var $471=(($470)|0)!=0; var $472=(($471)&1); var $473=$472; var $474=(($473)|0)!=0; if ($474) { __label__ = 82; break; } else { __label__ = 83; break; } case 82: __label__ = 84; break; case 83: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str59314)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1490,tempInt)); __label__ = 84; break; case 84: var $478=$j; var $479=$478 & 31; var $480=1 << $479; var $481=$j; var $482=$481 >> 5; var $483=$newfdp; var $484=(($483+392)|0); var $485=HEAP32[(($484)>>2)]; var $486=(($485+($482<<2))|0); var $487=HEAP32[(($486)>>2)]; var $488=$487 | $480; HEAP32[(($486)>>2)]=$488; __label__ = 85; break; case 85: var $490=$i; $newlast=$490; __label__ = 86; break; case 86: var $492=$i; var $493=((($492)+(1))|0); $i=$493; var $494=$ffp; var $495=(($494+4)|0); $ffp=$495; var $496=$nffp; var $497=(($496+4)|0); $nffp=$497; __label__ = 58; break; case 87: var $499=$newdt; var $500=(($499+8)|0); var $501=(($500)|0); var $502=HEAP32[(($501)>>2)]; var $503=$newfdp; var $504=(($503)|0); var $505=(($504)|0); var $506=(($505)|0); var $507=$506; var $508=(($502)|0)==(($507)|0); var $509=(($508)&1); var $510=(($509)|0)!=0; var $511=(($510)&1); var $512=$511; var $513=(($512)|0)!=0; if ($513) { __label__ = 88; break; } else { __label__ = 89; break; } case 88: __label__ = 90; break; case 89: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str60315)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1496,tempInt)); __label__ = 90; break; case 90: var $517=$newlast; var $518=$newfdp; var $519=(($518+408)|0); HEAP32[(($519)>>2)]=$517; var $520=$newfdp; _fd_checkmaps($520); var $521=$fdp; var $522=(($521+384)|0); _mutex_exit($522); var $523=$newfdp; STACKTOP = __stackBase__; return $523; default: assert(0, "bad label: " + __label__); } } _fd_copy["X"]=1; function _fd_free() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $ff; var $fp; var $fd; var $nf; var $dt; var $l; var $fdp; var $noadvlock; var $1=_rumpuser_get_curlwp(); $l=$1; var $2=$l; var $3=(($2+484)|0); var $4=HEAP32[(($3)>>2)]; $fdp=$4; var $5=$l; var $6=(($5+272)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($7+96)|0); var $9=HEAP32[(($8)>>2)]; var $10=$9 & 1; var $11=(($10)|0)==0; var $12=(($11)&1); $noadvlock=$12; var $13=$fdp; var $14=(($13+388)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15+8)|0); var $17=(($16)|0); var $18=HEAP32[(($17)>>2)]; var $19=$fdp; var $20=(($19)|0); var $21=(($20)|0); var $22=(($21)|0); var $23=$22; var $24=(($18)|0)==(($23)|0); var $25=(($24)&1); var $26=(($25)|0)!=0; var $27=(($26)&1); var $28=$27; var $29=(($28)|0)!=0; if ($29) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str61316)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1518,tempInt)); __label__ = 5; break; case 5: var $33=$fdp; var $34=(($33+432)|0); var $35=(($34)|0); var $36=HEAP32[(($35)>>2)]; var $37=(($36)|0)==20; var $38=(($37)&1); var $39=(($38)|0)!=0; var $40=(($39)&1); var $41=$40; var $42=(($41)|0)!=0; if ($42) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str40295)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1519,tempInt)); __label__ = 8; break; case 8: var $46=$fdp; var $47=(($46+432)|0); var $48=(($47+4)|0); var $49=HEAP32[(($48)>>2)]; var $50=(($49)|0)==0; var $51=(($50)&1); var $52=(($51)|0)!=0; var $53=(($52)&1); var $54=$53; var $55=(($54)|0)!=0; if ($55) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str62317)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1520,tempInt)); __label__ = 11; break; case 11: _membar_exit(); var $59=$fdp; var $60=(($59+412)|0); var $61=_atomic_dec_uint_nv($60); var $62=(($61)>>>0) > 0; if ($62) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 71; break; case 13: var $65=$fdp; var $66=(($65+388)|0); var $67=HEAP32[(($66)>>2)]; $dt=$67; var $68=$fdp; _fd_checkmaps($68); $fd=0; var $69=$dt; var $70=(($69)|0); var $71=HEAP32[(($70)>>2)]; $nf=$71; __label__ = 14; break; case 14: var $73=$fd; var $74=$nf; var $75=(($73)|0) < (($74)|0); if ($75) { __label__ = 15; break; } else { __label__ = 45; break; } case 15: var $77=$fd; var $78=$dt; var $79=(($78+8)|0); var $80=(($79+($77<<2))|0); var $81=HEAP32[(($80)>>2)]; $ff=$81; var $82=$fd; var $83=(($82)|0) >= 6; if ($83) { var $94 = 1;__label__ = 17; break; } else { __label__ = 16; break; } case 16: var $85=$ff; var $86=$fd; var $87=$fdp; var $88=(($87)|0); var $89=(($88+($86<<6))|0); var $90=(($89)|0); var $91=$90; var $92=(($85)|0)==(($91)|0); var $94 = $92;__label__ = 17; break; case 17: var $94; var $95=(($94)&1); var $96=(($95)|0)!=0; var $97=(($96)&1); var $98=$97; var $99=(($98)|0)!=0; if ($99) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: __label__ = 20; break; case 19: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1539,tempInt)); __label__ = 20; break; case 20: var $103=$ff; var $104=(($103)|0)==0; if ($104) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 44; break; case 22: var $107=$ff; var $108=(($107+8)|0); var $109=HEAP32[(($108)>>2)]; $fp=$109; var $110=(($109)|0)!=0; if ($110) { __label__ = 23; break; } else { __label__ = 29; break; } case 23: var $112=$ff; var $113=(($112+4)|0); var $114=HEAP32[(($113)>>2)]; var $115=(($114)|0)==0; var $116=(($115)&1); var $117=(($116)|0)!=0; var $118=(($117)&1); var $119=$118; var $120=(($119)|0)!=0; if ($120) { __label__ = 24; break; } else { __label__ = 27; break; } case 24: var $122=$noadvlock; var $123=(($122) & 1); if ($123) { __label__ = 26; break; } else { __label__ = 25; break; } case 25: var $125=$fp; var $126=(($125+40)|0); var $127=HEAP32[(($126)>>2)]; var $128=(($127)|0)!=1; if ($128) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: var $130=$ff; var $131=(($130+8)|0); HEAP32[(($131)>>2)]=0; var $132=$ff; var $133=(($132)|0); HEAP8[($133)]=0; var $134=$ff; var $135=(($134+1)|0); HEAP8[($135)]=0; var $136=$fp; var $137=_closef($136); __label__ = 28; break; case 27: var $139=$ff; var $140=(($139+4)|0); var $141=HEAP32[(($140)>>2)]; var $142=((($141)+(1))|0); HEAP32[(($140)>>2)]=$142; var $143=$fd; var $144=_fd_close($143); __label__ = 28; break; case 28: __label__ = 29; break; case 29: var $147=$ff; var $148=(($147+4)|0); var $149=HEAP32[(($148)>>2)]; var $150=(($149)|0)==0; var $151=(($150)&1); var $152=(($151)|0)!=0; var $153=(($152)&1); var $154=$153; var $155=(($154)|0)!=0; if ($155) { __label__ = 30; break; } else { __label__ = 31; break; } case 30: __label__ = 32; break; case 31: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str63318)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1559,tempInt)); __label__ = 32; break; case 32: var $159=$ff; var $160=(($159+8)|0); var $161=HEAP32[(($160)>>2)]; var $162=(($161)|0)==0; var $163=(($162)&1); var $164=(($163)|0)!=0; var $165=(($164)&1); var $166=$165; var $167=(($166)|0)!=0; if ($167) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: __label__ = 35; break; case 34: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str30285)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1560,tempInt)); __label__ = 35; break; case 35: var $171=$ff; var $172=(($171)|0); var $173=HEAP8[($172)]; var $174=(($173) & 1); var $175=$174 ^ 1; var $176=(($175)&1); var $177=(($176)|0)!=0; var $178=(($177)&1); var $179=$178; var $180=(($179)|0)!=0; if ($180) { __label__ = 36; break; } else { __label__ = 37; break; } case 36: __label__ = 38; break; case 37: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str64319)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1561,tempInt)); __label__ = 38; break; case 38: var $184=$ff; var $185=(($184+1)|0); var $186=HEAP8[($185)]; var $187=(($186) & 1); var $188=$187 ^ 1; var $189=(($188)&1); var $190=(($189)|0)!=0; var $191=(($190)&1); var $192=$191; var $193=(($192)|0)!=0; if ($193) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: __label__ = 41; break; case 40: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str65320)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1562,tempInt)); __label__ = 41; break; case 41: var $197=$fd; var $198=(($197)|0) >= 6; if ($198) { __label__ = 42; break; } else { __label__ = 43; break; } case 42: var $200=HEAP32[((_fdfile_cache)>>2)]; var $201=$ff; var $202=$201; _pool_cache_put_paddr($200, $202, -1); var $203=$fd; var $204=$dt; var $205=(($204+8)|0); var $206=(($205+($203<<2))|0); HEAP32[(($206)>>2)]=0; __label__ = 43; break; case 43: __label__ = 44; break; case 44: var $209=$fd; var $210=((($209)+(1))|0); $fd=$210; __label__ = 14; break; case 45: var $212=$dt; var $213=$fdp; var $214=(($213+432)|0); var $215=(($212)|0)!=(($214)|0); var $216=(($215)&1); var $217=(($216)|0)!=0; var $218=(($217)&1); var $219=$218; var $220=(($219)|0)!=0; if ($220) { __label__ = 46; break; } else { __label__ = 47; break; } case 46: var $222=$fdp; var $223=(($222+388)|0); var $224=HEAP32[(($223)>>2)]; _fd_dtab_free($224); var $225=$fdp; var $226=(($225+432)|0); var $227=(($226+8)|0); var $228=(($227+24)|0); var $229=$228; for (var $$dest = $229>>2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $230=$fdp; var $231=(($230+432)|0); var $232=$fdp; var $233=(($232+388)|0); HEAP32[(($233)>>2)]=$231; __label__ = 47; break; case 47: var $235=$nf; var $236=((($235)+(32))|0); var $237=((($236)-(1))|0); var $238=$237 >> 5; var $239=((($238)+(32))|0); var $240=((($239)-(1))|0); var $241=$240 >> 5; var $242=(($241)|0) > 1; var $243=(($242)&1); var $244=(($243)|0)!=0; var $245=(($244)&1); var $246=$245; var $247=(($246)|0)!=0; if ($247) { __label__ = 48; break; } else { __label__ = 55; break; } case 48: var $249=$fdp; var $250=(($249+392)|0); var $251=HEAP32[(($250)>>2)]; var $252=$fdp; var $253=(($252+520)|0); var $254=(($253)|0); var $255=(($251)|0)!=(($254)|0); var $256=(($255)&1); var $257=(($256)|0)!=0; var $258=(($257)&1); var $259=$258; var $260=(($259)|0)!=0; if ($260) { __label__ = 49; break; } else { __label__ = 50; break; } case 49: __label__ = 51; break; case 50: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str66321)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1581,tempInt)); __label__ = 51; break; case 51: var $264=$fdp; var $265=(($264+396)|0); var $266=HEAP32[(($265)>>2)]; var $267=$fdp; var $268=(($267+524)|0); var $269=(($268)|0); var $270=(($266)|0)!=(($269)|0); var $271=(($270)&1); var $272=(($271)|0)!=0; var $273=(($272)&1); var $274=$273; var $275=(($274)|0)!=0; if ($275) { __label__ = 52; break; } else { __label__ = 53; break; } case 52: __label__ = 54; break; case 53: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str67322)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1582,tempInt)); __label__ = 54; break; case 54: var $279=$nf; var $280=$fdp; var $281=(($280+396)|0); var $282=HEAP32[(($281)>>2)]; var $283=$fdp; var $284=(($283+392)|0); var $285=HEAP32[(($284)>>2)]; _fd_map_free($279, $282, $285); __label__ = 55; break; case 55: var $287=$fdp; var $288=(($287+400)|0); var $289=HEAP32[(($288)>>2)]; var $290=(($289)|0)!=0; var $291=(($290)&1); var $292=(($291)|0)!=0; var $293=(($292)&1); var $294=$293; var $295=(($294)|0)!=0; if ($295) { __label__ = 56; break; } else { __label__ = 57; break; } case 56: var $297=$fdp; var $298=(($297+400)|0); var $299=HEAP32[(($298)>>2)]; var $300=$299; var $301=$fdp; var $302=(($301+416)|0); var $303=HEAP32[(($302)>>2)]; _hashdone($300, 0, $303); var $304=$fdp; var $305=(($304+400)|0); HEAP32[(($305)>>2)]=0; var $306=$fdp; var $307=(($306+416)|0); HEAP32[(($307)>>2)]=0; __label__ = 61; break; case 57: var $309=$fdp; var $310=(($309+416)|0); var $311=HEAP32[(($310)>>2)]; var $312=(($311)|0)==0; var $313=(($312)&1); var $314=(($313)|0)!=0; var $315=(($314)&1); var $316=$315; var $317=(($316)|0)!=0; if ($317) { __label__ = 58; break; } else { __label__ = 59; break; } case 58: __label__ = 60; break; case 59: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str68323)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1590,tempInt)); __label__ = 60; break; case 60: __label__ = 61; break; case 61: var $322=$fdp; var $323=(($322+432)|0); var $324=$fdp; var $325=(($324+388)|0); HEAP32[(($325)>>2)]=$323; var $326=$fdp; var $327=(($326+404)|0); HEAP32[(($327)>>2)]=-1; var $328=$fdp; var $329=(($328+408)|0); HEAP32[(($329)>>2)]=-1; var $330=$fdp; var $331=(($330+420)|0); HEAP32[(($331)>>2)]=0; var $332=$fdp; var $333=(($332+428)|0); HEAP8[($333)]=0; var $334=$fdp; var $335=(($334+520)|0); var $336=$335; for (var $$dest = $336>>2, $$stop = $$dest + 33; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $337=$fdp; var $338=(($337+520)|0); var $339=(($338)|0); var $340=$fdp; var $341=(($340+392)|0); HEAP32[(($341)>>2)]=$339; var $342=$fdp; var $343=(($342+524)|0); var $344=(($343)|0); var $345=$fdp; var $346=(($345+396)|0); HEAP32[(($346)>>2)]=$344; var $347=$fdp; var $348=(($347+432)|0); var $349=(($348)|0); var $350=HEAP32[(($349)>>2)]; var $351=(($350)|0)==20; var $352=(($351)&1); var $353=(($352)|0)!=0; var $354=(($353)&1); var $355=$354; var $356=(($355)|0)!=0; if ($356) { __label__ = 62; break; } else { __label__ = 63; break; } case 62: __label__ = 64; break; case 63: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str40295)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1601,tempInt)); __label__ = 64; break; case 64: var $360=$fdp; var $361=(($360+432)|0); var $362=(($361+4)|0); var $363=HEAP32[(($362)>>2)]; var $364=(($363)|0)==0; var $365=(($364)&1); var $366=(($365)|0)!=0; var $367=(($366)&1); var $368=$367; var $369=(($368)|0)!=0; if ($369) { __label__ = 65; break; } else { __label__ = 66; break; } case 65: __label__ = 67; break; case 66: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str62317)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1602,tempInt)); __label__ = 67; break; case 67: var $373=$fdp; var $374=(($373+388)|0); var $375=HEAP32[(($374)>>2)]; var $376=$fdp; var $377=(($376+432)|0); var $378=(($375)|0)==(($377)|0); var $379=(($378)&1); var $380=(($379)|0)!=0; var $381=(($380)&1); var $382=$381; var $383=(($382)|0)!=0; if ($383) { __label__ = 68; break; } else { __label__ = 69; break; } case 68: __label__ = 70; break; case 69: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str39294)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1603,tempInt)); __label__ = 70; break; case 70: var $387=$fdp; _fd_checkmaps($387); var $388=HEAP32[((_filedesc_cache)>>2)]; var $389=$fdp; var $390=$389; _pool_cache_put_paddr($388, $390, -1); __label__ = 71; break; case 71: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_free["X"]=1; function _fd_dupopen($old, $new, $mode, $error) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $fdp; var $ff; var $fp; var $dt; $2=$old; $3=$new; $4=$mode; $5=$error; var $6=$2; var $7=_fd_getfile($6); $fp=$7; var $8=(($7)|0)==0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=9; __label__ = 12; break; case 4: var $11=_rumpuser_get_curlwp(); var $12=(($11+484)|0); var $13=HEAP32[(($12)>>2)]; $fdp=$13; var $14=$fdp; var $15=(($14+388)|0); var $16=HEAP32[(($15)>>2)]; $dt=$16; var $17=$2; var $18=$dt; var $19=(($18+8)|0); var $20=(($19+($17<<2))|0); var $21=HEAP32[(($20)>>2)]; $ff=$21; var $22=$5; if ((($22)|0) == -5) { __label__ = 5; break; } else if ((($22)|0) == -6) { __label__ = 8; break; } else { __label__ = 11; break; } case 5: var $24=$4; var $25=$24 & 3; var $26=$fp; var $27=(($26+32)|0); var $28=HEAP32[(($27)>>2)]; var $29=$25 | $28; var $30=$fp; var $31=(($30+32)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($29)|0)!=(($32)|0); if ($33) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $5=13; __label__ = 11; break; case 7: var $36=$fp; var $37=$3; var $38=$ff; var $39=(($38)|0); var $40=HEAP8[($39)]; var $41=(($40) & 1); var $42=_fd_dup($36, 0, $37, $41); $5=$42; __label__ = 11; break; case 8: var $44=$fp; var $45=$3; var $46=$ff; var $47=(($46)|0); var $48=HEAP8[($47)]; var $49=(($48) & 1); var $50=_fd_dup($44, 0, $45, $49); $5=$50; var $51=$5; var $52=(($51)|0)!=0; if ($52) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: var $55=$2; var $56=_fd_close($55); $1=0; __label__ = 12; break; case 11: var $58=$2; _fd_putfile($58); var $59=$5; $1=$59; __label__ = 12; break; case 12: var $61=$1; ; return $61; default: assert(0, "bad label: " + __label__); } } _fd_dupopen["X"]=1; function _fd_closeexec() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $p; var $fdp; var $ff; var $l; var $dt; var $fd; var $1=_rumpuser_get_curlwp(); $l=$1; var $2=$l; var $3=(($2+272)|0); var $4=HEAP32[(($3)>>2)]; $p=$4; var $5=$p; var $6=(($5+52)|0); var $7=HEAP32[(($6)>>2)]; $fdp=$7; var $8=$fdp; var $9=(($8+412)|0); var $10=HEAP32[(($9)>>2)]; var $11=(($10)|0) > 1; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $13=_fd_copy(); $fdp=$13; _fd_free(); var $14=$fdp; var $15=$p; var $16=(($15+52)|0); HEAP32[(($16)>>2)]=$14; var $17=$fdp; var $18=$l; var $19=(($18+484)|0); HEAP32[(($19)>>2)]=$17; __label__ = 4; break; case 4: var $21=$fdp; var $22=(($21+428)|0); var $23=HEAP8[($22)]; var $24=(($23) & 1); if ($24) { __label__ = 6; break; } else { __label__ = 5; break; } case 5: __label__ = 27; break; case 6: var $27=$fdp; var $28=(($27+428)|0); HEAP8[($28)]=0; var $29=$fdp; var $30=(($29+388)|0); var $31=HEAP32[(($30)>>2)]; $dt=$31; $fd=0; __label__ = 7; break; case 7: var $33=$fd; var $34=$fdp; var $35=(($34+408)|0); var $36=HEAP32[(($35)>>2)]; var $37=(($33)|0) <= (($36)|0); if ($37) { __label__ = 8; break; } else { __label__ = 27; break; } case 8: var $39=$fd; var $40=$dt; var $41=(($40+8)|0); var $42=(($41+($39<<2))|0); var $43=HEAP32[(($42)>>2)]; $ff=$43; var $44=(($43)|0)==0; if ($44) { __label__ = 9; break; } else { __label__ = 13; break; } case 9: var $46=$fd; var $47=(($46)|0) >= 6; var $48=(($47)&1); var $49=(($48)|0)!=0; var $50=(($49)&1); var $51=$50; var $52=(($51)|0)!=0; if ($52) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 12; break; case 11: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str69324)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1727,tempInt)); __label__ = 12; break; case 12: __label__ = 26; break; case 13: var $57=$fd; var $58=(($57)|0) >= 6; if ($58) { var $69 = 1;__label__ = 15; break; } else { __label__ = 14; break; } case 14: var $60=$ff; var $61=$fd; var $62=$fdp; var $63=(($62)|0); var $64=(($63+($61<<6))|0); var $65=(($64)|0); var $66=$65; var $67=(($60)|0)==(($66)|0); var $69 = $67;__label__ = 15; break; case 15: var $69; var $70=(($69)&1); var $71=(($70)|0)!=0; var $72=(($71)&1); var $73=$72; var $74=(($73)|0)!=0; if ($74) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str11266)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1731,tempInt)); __label__ = 18; break; case 18: var $78=$ff; var $79=(($78+8)|0); var $80=HEAP32[(($79)>>2)]; var $81=(($80)|0)==0; if ($81) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: __label__ = 26; break; case 20: var $84=$ff; var $85=(($84)|0); var $86=HEAP8[($85)]; var $87=(($86) & 1); if ($87) { __label__ = 21; break; } else { __label__ = 25; break; } case 21: var $89=$ff; var $90=(($89+4)|0); var $91=HEAP32[(($90)>>2)]; var $92=$91 & -2147483648; var $93=(($92)|0)==0; var $94=(($93)&1); var $95=(($94)|0)!=0; var $96=(($95)&1); var $97=$96; var $98=(($97)|0)!=0; if ($98) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: __label__ = 24; break; case 23: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str15270)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1740,tempInt)); __label__ = 24; break; case 24: var $102=$ff; var $103=(($102+4)|0); var $104=HEAP32[(($103)>>2)]; var $105=((($104)+(1))|0); HEAP32[(($103)>>2)]=$105; var $106=$fd; var $107=_fd_close($106); __label__ = 25; break; case 25: __label__ = 26; break; case 26: var $110=$fd; var $111=((($110)+(1))|0); $fd=$111; __label__ = 7; break; case 27: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fd_closeexec["X"]=1; function _fsetown($pgid, $cmd, $data) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $id; var $error; $2=$pgid; $3=$cmd; $4=$data; var $5=$4; var $6=$5; var $7=HEAP32[(($6)>>2)]; $id=$7; var $8=$3; if ((($8)|0) == -2147191690) { __label__ = 3; break; } else { __label__ = 6; break; } case 3: var $10=$id; var $11=(($10)|0) < 0; if ($11) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: $1=22; __label__ = 16; break; case 5: var $14=$id; var $15=(((-$14))|0); $id=$15; __label__ = 7; break; case 6: __label__ = 7; break; case 7: var $18=$id; var $19=(($18)|0) > 0; if ($19) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $21=HEAP32[((_proc_lock)>>2)]; _mutex_enter($21); var $22=$id; var $23=_proc_find($22); var $24=(($23)|0)!=0; var $25=$24 ? 0 : 3; $error=$25; var $26=HEAP32[((_proc_lock)>>2)]; _mutex_exit($26); __label__ = 13; break; case 9: var $28=$id; var $29=(($28)|0) < 0; if ($29) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $31=_rumpuser_get_curlwp(); var $32=(($31+272)|0); var $33=HEAP32[(($32)>>2)]; var $34=$id; var $35=(((-$34))|0); var $36=_pgid_in_session($33, $35); $error=$36; __label__ = 12; break; case 11: $error=0; __label__ = 12; break; case 12: __label__ = 13; break; case 13: var $40=$error; var $41=(($40)|0)!=0; if ($41) { __label__ = 15; break; } else { __label__ = 14; break; } case 14: var $43=$id; var $44=$2; HEAP32[(($44)>>2)]=$43; __label__ = 15; break; case 15: var $46=$error; $1=$46; __label__ = 16; break; case 16: var $48=$1; ; return $48; default: assert(0, "bad label: " + __label__); } } _fsetown["X"]=1; function _fnullop_poll($fp, $which) { ; var __label__; var $1; var $2; $1=$fp; $2=$which; ; return 0; } function _fnullop_kqfilter($fp, $kn) { ; var __label__; var $1; var $2; $1=$fp; $2=$kn; ; return 0; } function _fnullop_restart($fp) { ; var __label__; var $1; $1=$fp; ; return; } function _fbadop_read($fp, $offset, $uio, $cred, $flags) { ; var __label__; var $1; var $2; var $3; var $4; var $5; $1=$fp; $2=$offset; $3=$uio; $4=$cred; $5=$flags; ; return 45; } function _fbadop_write($fp, $offset, $uio, $cred, $flags) { ; var __label__; var $1; var $2; var $3; var $4; var $5; $1=$fp; $2=$offset; $3=$uio; $4=$cred; $5=$flags; ; return 45; } function _fbadop_ioctl($fp, $com, $data) { ; var __label__; var $1; var $2; var $3; $1=$fp; $2=$com; $3=$data; ; return 45; } function _fbadop_stat($fp, $sb) { ; var __label__; var $1; var $2; $1=$fp; $2=$sb; ; return 45; } function _fbadop_close($fp) { ; var __label__; var $1; $1=$fp; ; return 45; } function _fnullop_fcntl($fp, $cmd, $data) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; $2=$fp; $3=$cmd; $4=$data; var $5=$3; var $6=(($5)|0)==4; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 5; break; case 4: $1=45; __label__ = 5; break; case 5: var $10=$1; ; return $10; default: assert(0, "bad label: " + __label__); } } function _fgetown($pgid, $cmd, $data) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $1=$pgid; $2=$cmd; $3=$data; var $4=$2; if ((($4)|0) == 1074033783) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $6=$1; var $7=(((-$6))|0); var $8=$3; var $9=$8; HEAP32[(($9)>>2)]=$7; __label__ = 5; break; case 4: var $11=$1; var $12=$3; var $13=$12; HEAP32[(($13)>>2)]=$11; __label__ = 5; break; case 5: ; return 0; default: assert(0, "bad label: " + __label__); } } function _fd_set_exclose($l, $fd, $exclose) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $fdp; var $ff; $1=$l; $2=$fd; var $4=(($exclose)&1); $3=$4; var $5=$1; var $6=(($5+484)|0); var $7=HEAP32[(($6)>>2)]; $fdp=$7; var $8=$2; var $9=$fdp; var $10=(($9+388)|0); var $11=HEAP32[(($10)>>2)]; var $12=(($11+8)|0); var $13=(($12+($8<<2))|0); var $14=HEAP32[(($13)>>2)]; $ff=$14; var $15=$3; var $16=(($15) & 1); var $17=$ff; var $18=(($17)|0); var $19=(($16)&1); HEAP8[($18)]=$19; var $20=$3; var $21=(($20) & 1); if ($21) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $23=$fdp; var $24=(($23+428)|0); HEAP8[($24)]=1; __label__ = 4; break; case 4: ; return; default: assert(0, "bad label: " + __label__); } } function __proclist_skipmarker($p0) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $p; $1=$p0; var $2=$1; $p=$2; __label__ = 3; break; case 3: var $4=$p; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { var $13 = 0;__label__ = 5; break; } case 4: var $7=$p; var $8=(($7+96)|0); var $9=HEAP32[(($8)>>2)]; var $10=$9 & -2147483648; var $11=(($10)|0)!=0; var $13 = $11;__label__ = 5; break; case 5: var $13; if ($13) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $15=$p; var $16=(($15)|0); var $17=(($16)|0); var $18=HEAP32[(($17)>>2)]; $p=$18; __label__ = 3; break; case 7: var $20=$p; ; return $20; default: assert(0, "bad label: " + __label__); } } function _fownsignal($pgid, $signo, $code, $band, $fdescdata) { var __stackBase__ = STACKTOP; STACKTOP += 48; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $ksi=__stackBase__; var $p1; var $pgrp; $1=$pgid; $2=$signo; $3=$code; $4=$band; $5=$fdescdata; var $6=_cpu_intr_p(); var $7=$6 ^ 1; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str70325)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1821,tempInt)); __label__ = 5; break; case 5: var $16=$1; var $17=(($16)|0)==0; if ($17) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 20; break; case 7: __label__ = 8; break; case 8: var $21=$ksi; for (var $$dest = $21>>2, $$stop = $$dest + 12; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; __label__ = 9; break; case 9: var $23=$2; var $24=(($ksi+12)|0); var $25=(($24)|0); HEAP32[(($25)>>2)]=$23; var $26=$3; var $27=(($ksi+12)|0); var $28=(($27+4)|0); HEAP32[(($28)>>2)]=$26; var $29=$4; var $30=(($ksi+12)|0); var $31=(($30+12)|0); var $32=$31; var $33=(($32)|0); HEAP32[(($33)>>2)]=$29; var $34=HEAP32[((_proc_lock)>>2)]; _mutex_enter($34); var $35=$1; var $36=(($35)|0) > 0; if ($36) { __label__ = 10; break; } else { __label__ = 13; break; } case 10: var $38=$1; var $39=_proc_find($38); $p1=$39; var $40=$p1; var $41=(($40)|0)!=0; if ($41) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $43=$p1; var $44=$5; _kpsignal($43, $ksi, $44); __label__ = 12; break; case 12: __label__ = 19; break; case 13: var $47=$1; var $48=(($47)|0) < 0; var $49=(($48)&1); var $50=(($49)|0)!=0; var $51=(($50)&1); var $52=$51; var $53=(($52)|0)!=0; if ($53) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 16; break; case 15: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str71326)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=1843,tempInt)); __label__ = 16; break; case 16: var $57=$1; var $58=(((-$57))|0); var $59=_pgrp_find($58); $pgrp=$59; var $60=$pgrp; var $61=(($60)|0)!=0; if ($61) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $63=$pgrp; var $64=$5; _kpgsignal($63, $ksi, $64, 0); __label__ = 18; break; case 18: __label__ = 19; break; case 19: var $67=HEAP32[((_proc_lock)>>2)]; _mutex_exit($67); __label__ = 20; break; case 20: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fownsignal["X"]=1; function _fd_clone($fp, $fd, $flag, $fops, $data) { ; var __label__; var $1; var $2; var $3; var $4; var $5; $1=$fp; $2=$fd; $3=$flag; $4=$fops; $5=$data; var $6=$3; var $7=$1; var $8=(($7+32)|0); HEAP32[(($8)>>2)]=$6; var $9=$1; var $10=(($9+40)|0); HEAP32[(($10)>>2)]=5; var $11=$4; var $12=$1; var $13=(($12+12)|0); HEAP32[(($13)>>2)]=$11; var $14=$5; var $15=$1; var $16=(($15+16)|0); HEAP32[(($16)>>2)]=$14; var $17=$2; var $18=_rumpuser_get_curlwp(); var $19=(($18+516)|0); HEAP32[(($19)>>2)]=$17; var $20=_rumpuser_get_curlwp(); var $21=(($20+272)|0); var $22=HEAP32[(($21)>>2)]; var $23=$1; var $24=$2; _fd_affix($22, $23, $24); ; return -6; } function _fill_file($kp, $fp, $ff, $i, $pid) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $vp; $1=$kp; $2=$fp; $3=$ff; $4=$i; $5=$pid; var $6=$1; var $7=$6; for (var $$dest = $7>>2, $$stop = $$dest + 30; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $8=$2; var $9=$8; var $10$0=$9; var $10$1=0; var $11=$1; var $12=(($11)|0); var $st$20$0=(($12)|0); HEAP32[(($st$20$0)>>2)]=$10$0; var $st$20$1=(($12+4)|0); HEAP32[(($st$20$1)>>2)]=$10$1; var $13=$2; var $14=(($13+32)|0); var $15=HEAP32[(($14)>>2)]; var $16=$1; var $17=(($16+8)|0); HEAP32[(($17)>>2)]=$15; var $18=$1; var $19=(($18+12)|0); HEAP32[(($19)>>2)]=0; var $20=$2; var $21=(($20+40)|0); var $22=HEAP32[(($21)>>2)]; var $23=$1; var $24=(($23+16)|0); HEAP32[(($24)>>2)]=$22; var $25=$2; var $26=(($25+48)|0); var $27=HEAP32[(($26)>>2)]; var $28=$1; var $29=(($28+20)|0); HEAP32[(($29)>>2)]=$27; var $30=$2; var $31=(($30+52)|0); var $32=HEAP32[(($31)>>2)]; var $33=$1; var $34=(($33+24)|0); HEAP32[(($34)>>2)]=$32; var $35=$2; var $36=(($35+8)|0); var $37=HEAP32[(($36)>>2)]; var $38=$37; var $39$0=$38; var $39$1=0; var $40=$1; var $41=(($40+32)|0); var $st$59$0=(($41)|0); HEAP32[(($st$59$0)>>2)]=$39$0; var $st$59$1=(($41+4)|0); HEAP32[(($st$59$1)>>2)]=$39$1; var $42=$2; var $43=(($42+8)|0); var $44=HEAP32[(($43)>>2)]; var $45=_kauth_cred_geteuid($44); var $46=$1; var $47=(($46+40)|0); HEAP32[(($47)>>2)]=$45; var $48=$2; var $49=(($48+8)|0); var $50=HEAP32[(($49)>>2)]; var $51=_kauth_cred_getegid($50); var $52=$1; var $53=(($52+44)|0); HEAP32[(($53)>>2)]=$51; var $54=$2; var $55=(($54+12)|0); var $56=HEAP32[(($55)>>2)]; var $57=$56; var $58$0=$57; var $58$1=0; var $59=$1; var $60=(($59+48)|0); var $st$85$0=(($60)|0); HEAP32[(($st$85$0)>>2)]=$58$0; var $st$85$1=(($60+4)|0); HEAP32[(($st$85$1)>>2)]=$58$1; var $61=$2; var $62=(($61)|0); var $st$91$0=(($62)|0); var $63$0=HEAP32[(($st$91$0)>>2)]; var $st$91$1=(($62+4)|0); var $63$1=HEAP32[(($st$91$1)>>2)]; var $64=$1; var $65=(($64+56)|0); var $st$97$0=(($65)|0); HEAP32[(($st$97$0)>>2)]=$63$0; var $st$97$1=(($65+4)|0); HEAP32[(($st$97$1)>>2)]=$63$1; var $66=$2; var $67=(($66+16)|0); var $68=HEAP32[(($67)>>2)]; var $69=$68; var $70$0=$69; var $70$1=0; var $71=$1; var $72=(($71+64)|0); var $st$109$0=(($72)|0); HEAP32[(($st$109$0)>>2)]=$70$0; var $st$109$1=(($72+4)|0); HEAP32[(($st$109$1)>>2)]=$70$1; var $73=$2; var $74=(($73+40)|0); var $75=HEAP32[(($74)>>2)]; var $76=(($75)|0)==1; if ($76) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $78=$2; var $79=(($78+16)|0); var $80=HEAP32[(($79)>>2)]; var $81=$80; $vp=$81; var $82=$vp; var $83=(($82+152)|0); var $84=$83; var $85=HEAP32[(($84)>>2)]; var $86=$85; var $87$0=$86; var $87$1=0; var $88=$1; var $89=(($88+72)|0); var $st$14$0=(($89)|0); HEAP32[(($st$14$0)>>2)]=$87$0; var $st$14$1=(($89+4)|0); HEAP32[(($st$14$1)>>2)]=$87$1; var $90=$vp; var $91=(($90+56)|0); var $st$20$0=(($91)|0); var $92$0=HEAP32[(($st$20$0)>>2)]; var $st$20$1=(($91+4)|0); var $92$1=HEAP32[(($st$20$1)>>2)]; var $93=$1; var $94=(($93+80)|0); var $st$26$0=(($94)|0); HEAP32[(($st$26$0)>>2)]=$92$0; var $st$26$1=(($94+4)|0); HEAP32[(($st$26$1)>>2)]=$92$1; var $95=$vp; var $96=(($95+156)|0); var $97=HEAP32[(($96)>>2)]; var $98=$1; var $99=(($98+88)|0); HEAP32[(($99)>>2)]=$97; var $100=$vp; var $101=(($100+160)|0); var $102=HEAP32[(($101)>>2)]; var $103=$1; var $104=(($103+92)|0); HEAP32[(($104)>>2)]=$102; var $105=$vp; var $106=(($105+168)|0); var $107=HEAP32[(($106)>>2)]; var $108=$107; var $109$0=$108; var $109$1=0; var $110=$1; var $111=(($110+96)|0); var $st$50$0=(($111)|0); HEAP32[(($st$50$0)>>2)]=$109$0; var $st$50$1=(($111+4)|0); HEAP32[(($st$50$1)>>2)]=$109$1; __label__ = 4; break; case 4: var $113=$3; var $114=(($113)|0)!=0; if ($114) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $116=$5; var $117=$1; var $118=(($117+104)|0); HEAP32[(($118)>>2)]=$116; var $119=$4; var $120=$1; var $121=(($120+108)|0); HEAP32[(($121)>>2)]=$119; var $122=$3; var $123=(($122)|0); var $124=HEAP8[($123)]; var $125=(($124) & 1); var $126=(($125)&1); var $127=$1; var $128=(($127+112)|0); HEAP32[(($128)>>2)]=$126; var $129=$3; var $130=(($129+4)|0); var $131=HEAP32[(($130)>>2)]; var $132=$1; var $133=(($132+28)|0); HEAP32[(($133)>>2)]=$131; __label__ = 6; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } _fill_file["X"]=1; function _sysctl_file_marker_reset() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $p; var $fd; var $dt; var $i; var $fp; var $ff; var $1=HEAP32[((((_allproc)|0))>>2)]; $p=$1; __label__ = 3; break; case 3: var $3=$p; var $4=__proclist_skipmarker($3); $p=$4; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 14; break; } case 4: var $7=$p; var $8=(($7+52)|0); var $9=HEAP32[(($8)>>2)]; $fd=$9; var $10=$fd; var $11=(($10+384)|0); _mutex_enter($11); var $12=$fd; var $13=(($12+388)|0); var $14=HEAP32[(($13)>>2)]; $dt=$14; $i=0; __label__ = 5; break; case 5: var $16=$i; var $17=$dt; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($16)>>>0) < (($19)>>>0); if ($20) { __label__ = 6; break; } else { __label__ = 12; break; } case 6: var $22=$i; var $23=$dt; var $24=(($23+8)|0); var $25=(($24+($22<<2))|0); var $26=HEAP32[(($25)>>2)]; $ff=$26; var $27=(($26)|0)==0; if ($27) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 11; break; case 8: var $30=$ff; var $31=(($30+8)|0); var $32=HEAP32[(($31)>>2)]; $fp=$32; var $33=(($32)|0)==0; if ($33) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: var $36=$fp; var $37=(($36+36)|0); HEAP32[(($37)>>2)]=0; __label__ = 11; break; case 11: var $39=$i; var $40=((($39)+(1))|0); $i=$40; __label__ = 5; break; case 12: var $42=$fd; var $43=(($42+384)|0); _mutex_exit($43); __label__ = 13; break; case 13: var $45=$p; var $46=(($45)|0); var $47=(($46)|0); var $48=HEAP32[(($47)>>2)]; $p=$48; __label__ = 3; break; case 14: ; return; default: assert(0, "bad label: " + __label__); } } _sysctl_file_marker_reset["X"]=1; function _fd_last_set($fd, $last) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $off; var $i; var $ff; var $bitmap; $2=$fd; $3=$last; var $4=$2; var $5=(($4+388)|0); var $6=HEAP32[(($5)>>2)]; var $7=(($6+8)|0); var $8=(($7)|0); $ff=$8; var $9=$2; var $10=(($9+396)|0); var $11=HEAP32[(($10)>>2)]; $bitmap=$11; var $12=$2; var $13=(($12+384)|0); var $14=_mutex_owned($13); var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=$16; var $18=(($17)|0)!=0; if ($18) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1256)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2257)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str84339)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4259)|0),HEAP32[(((tempInt)+(12))>>2)]=257,tempInt)); __label__ = 5; break; case 5: var $22=$2; _fd_checkmaps($22); var $23=$3; var $24=((($23)-(1))|0); var $25=$24 >> 5; $off=$25; __label__ = 6; break; case 6: var $27=$off; var $28=(($27)|0) >= 0; if ($28) { __label__ = 7; break; } else { var $37 = 0;__label__ = 8; break; } case 7: var $30=$off; var $31=$bitmap; var $32=(($31+($30<<2))|0); var $33=HEAP32[(($32)>>2)]; var $34=(($33)|0)!=0; var $35=$34 ^ 1; var $37 = $35;__label__ = 8; break; case 8: var $37; if ($37) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $39=$off; var $40=((($39)-(1))|0); $off=$40; __label__ = 6; break; case 10: var $42=$off; var $43=(($42)|0) < 0; if ($43) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: $1=-1; __label__ = 22; break; case 12: var $46=$off; var $47=((($46)+(1))|0); var $48=$47 << 5; var $49=((($48)-(1))|0); $i=$49; var $50=$i; var $51=$3; var $52=(($50)|0) >= (($51)|0); if ($52) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: var $54=$3; var $55=((($54)-(1))|0); $i=$55; __label__ = 14; break; case 14: __label__ = 15; break; case 15: var $58=$i; var $59=(($58)|0) > 0; if ($59) { __label__ = 16; break; } else { var $78 = 0;__label__ = 19; break; } case 16: var $61=$i; var $62=$ff; var $63=(($62+($61<<2))|0); var $64=HEAP32[(($63)>>2)]; var $65=(($64)|0)==0; if ($65) { var $76 = 1;__label__ = 18; break; } else { __label__ = 17; break; } case 17: var $67=$i; var $68=$ff; var $69=(($68+($67<<2))|0); var $70=HEAP32[(($69)>>2)]; var $71=(($70+1)|0); var $72=HEAP8[($71)]; var $73=(($72) & 1); var $74=$73 ^ 1; var $76 = $74;__label__ = 18; break; case 18: var $76; var $78 = $76;__label__ = 19; break; case 19: var $78; if ($78) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: var $80=$i; var $81=((($80)-(1))|0); $i=$81; __label__ = 15; break; case 21: var $83=$i; $1=$83; __label__ = 22; break; case 22: var $85=$1; STACKTOP = __stackBase__; return $85; default: assert(0, "bad label: " + __label__); } } _fd_last_set["X"]=1; function _kqueue_init() { ; var __label__; _rw_init(_kqueue_filter_lock); _mutex_init(_kqueue_misc_lock, 2, 0); var $1=_kauth_listen_scope(((STRING_TABLE.__str341)|0), 24, 0); HEAP32[((_kqueue_listener)>>2)]=$1; ; return; } function _kqueue_listener_cb($cred, $action, $cookie, $arg0, $arg1, $arg2, $arg3) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $p; var $result; $2=$cred; $3=$action; $4=$cookie; $5=$arg0; $6=$arg1; $7=$arg2; $8=$arg3; $result=2; var $9=$5; var $10=$9; $p=$10; var $11=$3; var $12=(($11)|0)!=4; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $14=$result; $1=$14; __label__ = 8; break; case 4: var $16=$p; var $17=(($16+48)|0); var $18=HEAP32[(($17)>>2)]; var $19=_kauth_cred_getuid($18); var $20=$2; var $21=_kauth_cred_getuid($20); var $22=(($19)|0)!=(($21)|0); if ($22) { __label__ = 6; break; } else { __label__ = 5; break; } case 5: var $24=$p; var $25=(($24+96)|0); var $26=HEAP32[(($25)>>2)]; var $27=$26 & 256; var $28=(($27)|0)!=0; if ($28) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $30=$result; $1=$30; __label__ = 8; break; case 7: $result=0; var $32=$result; $1=$32; __label__ = 8; break; case 8: var $34=$1; ; return $34; default: assert(0, "bad label: " + __label__); } } _kqueue_listener_cb["X"]=1; function _filt_seltruedetach($kn) { ; var __label__; var $1; $1=$kn; ; return; } function _filt_seltrue($kn, $hint) { ; var __label__; var $1; var $2; $1=$kn; $2=$hint; var $3=$1; var $4=(($3+20)|0); var $5=(($4+16)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$9$0=(($5)|0); HEAP32[(($st$9$0)>>2)]=$$emscripten$temp$0$0; var $st$9$1=(($5+4)|0); HEAP32[(($st$9$1)>>2)]=$$emscripten$temp$0$1; ; return 1; } function _seltrue_kqfilter($dev$0, $dev$1, $kn) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2=__stackBase__; var $3; var $st$3$0=(($2)|0); HEAP32[(($st$3$0)>>2)]=$dev$0; var $st$3$1=(($2+4)|0); HEAP32[(($st$3$1)>>2)]=$dev$1; $3=$kn; var $4=$3; var $5=(($4+20)|0); var $6=(($5+4)|0); var $7=HEAP32[(($6)>>2)]; if ((($7)|0) == 0 || (($7)|0) == 1) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $9=$3; var $10=(($9+64)|0); HEAP32[(($10)>>2)]=_seltrue_filtops; __label__ = 5; break; case 4: $1=22; __label__ = 6; break; case 5: $1=0; __label__ = 6; break; case 6: var $14=$1; STACKTOP = __stackBase__; return $14; default: assert(0, "bad label: " + __label__); } } function _kfilter_register($name, $filtops, $retfilter) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $kfilter; var $len; var $i; $2=$name; $3=$filtops; $4=$retfilter; var $5=$2; var $6=(($5)|0)==0; if ($6) { __label__ = 5; break; } else { __label__ = 3; break; } case 3: var $8=$2; var $9=(($8)|0); var $10=HEAP8[($9)]; var $11=(($10 << 24) >> 24); var $12=(($11)|0)==0; if ($12) { __label__ = 5; break; } else { __label__ = 4; break; } case 4: var $14=$3; var $15=(($14)|0)==0; if ($15) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=22; __label__ = 24; break; case 6: _rw_enter(_kqueue_filter_lock, 1); var $18=$2; var $19=_kfilter_byname($18); var $20=(($19)|0)!=0; if ($20) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: _rw_exit(_kqueue_filter_lock); $1=17; __label__ = 24; break; case 8: var $23=HEAP32[((_user_kfilterc)>>2)]; var $24=(($23)>>>0) > 4294967288; if ($24) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: _rw_exit(_kqueue_filter_lock); $1=22; __label__ = 24; break; case 10: $i=0; __label__ = 11; break; case 11: var $28=$i; var $29=HEAP32[((_user_kfilterc)>>2)]; var $30=(($28)|0) < (($29)|0); if ($30) { __label__ = 12; break; } else { __label__ = 16; break; } case 12: var $32=$i; var $33=HEAP32[((_user_kfilters)>>2)]; var $34=(($33+($32)*(20))|0); $kfilter=$34; var $35=$kfilter; var $36=(($35)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($37)|0)==0; if ($38) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 21; break; case 14: __label__ = 15; break; case 15: var $42=$i; var $43=((($42)+(1))|0); $i=$43; __label__ = 11; break; case 16: var $45=HEAP32[((_user_kfilterc)>>2)]; var $46=((($45)+(1))|0); var $47=HEAP32[((_user_kfiltermaxc)>>2)]; var $48=(($46)|0) > (($47)|0); if ($48) { __label__ = 17; break; } else { __label__ = 20; break; } case 17: var $50=HEAP32[((_user_kfiltermaxc)>>2)]; var $51=((($50)+(8))|0); HEAP32[((_user_kfiltermaxc)>>2)]=$51; var $52=HEAP32[((_user_kfiltermaxc)>>2)]; var $53=((($52)*(20))|0); $len=$53; var $54=$len; var $55=_kmem_alloc($54, 1); var $56=$55; $kfilter=$56; var $57=$kfilter; var $58=$57; var $59=HEAP32[((_user_kfiltersz)>>2)]; var $60=(($58+$59)|0); var $61=$len; var $62=HEAP32[((_user_kfiltersz)>>2)]; var $63=((($61)-($62))|0); _memset($60, 0, $63, 1); var $64=HEAP32[((_user_kfilters)>>2)]; var $65=(($64)|0)!=0; if ($65) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: var $67=$kfilter; var $68=$67; var $69=HEAP32[((_user_kfilters)>>2)]; var $70=$69; var $71=HEAP32[((_user_kfiltersz)>>2)]; assert($71 % 1 === 0, 'memcpy given ' + $71 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($68, $70, $71, 4); var $72=HEAP32[((_user_kfilters)>>2)]; var $73=$72; var $74=HEAP32[((_user_kfiltersz)>>2)]; _kmem_free($73, $74); __label__ = 19; break; case 19: var $76=$len; HEAP32[((_user_kfiltersz)>>2)]=$76; var $77=$kfilter; HEAP32[((_user_kfilters)>>2)]=$77; __label__ = 20; break; case 20: var $79=HEAP32[((_user_kfilterc)>>2)]; var $80=((($79)+(1))|0); HEAP32[((_user_kfilterc)>>2)]=$80; var $81=HEAP32[((_user_kfilters)>>2)]; var $82=(($81+($79)*(20))|0); $kfilter=$82; __label__ = 21; break; case 21: var $84=$2; var $85=_strlen($84); var $86=((($85)+(1))|0); var $87=$kfilter; var $88=(($87+16)|0); HEAP32[(($88)>>2)]=$86; var $89=$kfilter; var $90=(($89+16)|0); var $91=HEAP32[(($90)>>2)]; var $92=_kmem_alloc($91, 1); var $93=$kfilter; var $94=(($93)|0); HEAP32[(($94)>>2)]=$92; var $95=$kfilter; var $96=(($95)|0); var $97=HEAP32[(($96)>>2)]; var $98=$97; var $99=$98; var $100=$2; var $101=$kfilter; var $102=(($101+16)|0); var $103=HEAP32[(($102)>>2)]; assert($103 % 1 === 0, 'memcpy given ' + $103 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($99, $100, $103, 1); var $104=$kfilter; var $105=HEAP32[((_user_kfilters)>>2)]; var $106=$104; var $107=$105; var $108=((($106)-($107))|0); var $109=((((($108)|0))/(20))&-1); var $110=((($109)+(7))|0); var $111=$kfilter; var $112=(($111+4)|0); HEAP32[(($112)>>2)]=$110; var $113=_kmem_alloc(16, 1); var $114=$113; var $115=$kfilter; var $116=(($115+12)|0); HEAP32[(($116)>>2)]=$114; var $117=$kfilter; var $118=(($117+12)|0); var $119=HEAP32[(($118)>>2)]; var $120=$119; var $121=$120; var $122=$121; var $123=$3; var $124=$123; assert(16 % 1 === 0, 'memcpy given ' + 16 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $124, $$dest = $122, $$stop = $$src + 16; $$src < $$stop; $$src++, $$dest++) { HEAP8[$$dest] = HEAP8[$$src] }; var $125=$4; var $126=(($125)|0)!=0; if ($126) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $128=$kfilter; var $129=(($128+4)|0); var $130=HEAP32[(($129)>>2)]; var $131=$4; HEAP32[(($131)>>2)]=$130; __label__ = 23; break; case 23: _rw_exit(_kqueue_filter_lock); $1=0; __label__ = 24; break; case 24: var $134=$1; ; return $134; default: assert(0, "bad label: " + __label__); } } _kfilter_register["X"]=1; function _kfilter_byname($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kfilter; $2=$name; var $3=_rw_lock_held(_kqueue_filter_lock); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6347)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=252,tempInt)); __label__ = 5; break; case 5: var $11=$2; var $12=_kfilter_byname_sys($11); $kfilter=$12; var $13=(($12)|0)!=0; if ($13) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $15=$kfilter; $1=$15; __label__ = 8; break; case 7: var $17=$2; var $18=_kfilter_byname_user($17); $1=$18; __label__ = 8; break; case 8: var $20=$1; STACKTOP = __stackBase__; return $20; default: assert(0, "bad label: " + __label__); } } function _kfilter_unregister($name) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kfilter; $2=$name; var $3=$2; var $4=(($3)|0)==0; if ($4) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $6=$2; var $7=(($6)|0); var $8=HEAP8[($7)]; var $9=(($8 << 24) >> 24); var $10=(($9)|0)==0; if ($10) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: $1=22; __label__ = 14; break; case 5: _rw_enter(_kqueue_filter_lock, 1); var $13=$2; var $14=_kfilter_byname_sys($13); var $15=(($14)|0)!=0; if ($15) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: _rw_exit(_kqueue_filter_lock); $1=22; __label__ = 14; break; case 7: var $18=$2; var $19=_kfilter_byname_user($18); $kfilter=$19; var $20=$kfilter; var $21=(($20)|0)==0; if ($21) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: _rw_exit(_kqueue_filter_lock); $1=2; __label__ = 14; break; case 9: var $24=$kfilter; var $25=(($24+8)|0); var $26=HEAP32[(($25)>>2)]; var $27=(($26)|0)!=0; if ($27) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: _rw_exit(_kqueue_filter_lock); $1=16; __label__ = 14; break; case 11: var $30=$kfilter; var $31=(($30)|0); var $32=HEAP32[(($31)>>2)]; var $33=$32; var $34=$33; var $35=$kfilter; var $36=(($35+16)|0); var $37=HEAP32[(($36)>>2)]; _kmem_free($34, $37); var $38=$kfilter; var $39=(($38)|0); HEAP32[(($39)>>2)]=0; var $40=$kfilter; var $41=(($40+12)|0); var $42=HEAP32[(($41)>>2)]; var $43=(($42)|0)!=0; if ($43) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $45=$kfilter; var $46=(($45+12)|0); var $47=HEAP32[(($46)>>2)]; var $48=$47; var $49=$48; var $50=$49; _kmem_free($50, 16); var $51=$kfilter; var $52=(($51+12)|0); HEAP32[(($52)>>2)]=0; __label__ = 13; break; case 13: _rw_exit(_kqueue_filter_lock); $1=0; __label__ = 14; break; case 14: var $55=$1; ; return $55; default: assert(0, "bad label: " + __label__); } } _kfilter_unregister["X"]=1; function _kfilter_byname_sys($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $i; $2=$name; var $3=_rw_lock_held(_kqueue_filter_lock); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6347)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=222,tempInt)); __label__ = 5; break; case 5: $i=0; __label__ = 6; break; case 6: var $12=$i; var $13=((_sys_kfilters+($12)*(20))|0); var $14=(($13)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)!=0; if ($16) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $18=$2; var $19=$i; var $20=((_sys_kfilters+($19)*(20))|0); var $21=(($20)|0); var $22=HEAP32[(($21)>>2)]; var $23=_strcmp($18, $22); var $24=(($23)|0)==0; if ($24) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $26=$i; var $27=((_sys_kfilters+($26)*(20))|0); $1=$27; __label__ = 12; break; case 9: __label__ = 10; break; case 10: var $30=$i; var $31=((($30)+(1))|0); $i=$31; __label__ = 6; break; case 11: $1=0; __label__ = 12; break; case 12: var $34=$1; STACKTOP = __stackBase__; return $34; default: assert(0, "bad label: " + __label__); } } function _kfilter_byname_user($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $i; $2=$name; var $3=_rw_lock_held(_kqueue_filter_lock); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6347)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=236,tempInt)); __label__ = 5; break; case 5: $i=0; __label__ = 6; break; case 6: var $12=$i; var $13=HEAP32[((_user_kfilterc)>>2)]; var $14=(($12)|0) < (($13)|0); if ($14) { __label__ = 7; break; } else { __label__ = 12; break; } case 7: var $16=$i; var $17=HEAP32[((_user_kfilters)>>2)]; var $18=(($17+($16)*(20))|0); var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=(($20)|0)!=0; if ($21) { __label__ = 8; break; } else { __label__ = 10; break; } case 8: var $23=$2; var $24=$i; var $25=HEAP32[((_user_kfilters)>>2)]; var $26=(($25+($24)*(20))|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=_strcmp($23, $28); var $30=(($29)|0)==0; if ($30) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $32=$i; var $33=HEAP32[((_user_kfilters)>>2)]; var $34=(($33+($32)*(20))|0); $1=$34; __label__ = 13; break; case 10: __label__ = 11; break; case 11: var $37=$i; var $38=((($37)+(1))|0); $i=$38; __label__ = 6; break; case 12: $1=0; __label__ = 13; break; case 13: var $41=$1; STACKTOP = __stackBase__; return $41; default: assert(0, "bad label: " + __label__); } } function _sys_kqueue($l, $v, $retval) { ; var __label__; var $1; var $2; var $3; $1=$l; $2=$v; $3=$retval; var $4=$1; var $5=$3; var $6=_kqueue1($4, 0, $5); ; return $6; } function _kqueue1($l, $flags, $retval) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $kq; var $fp=__stackBase__; var $fd=(__stackBase__)+(4); var $error; $2=$l; $3=$flags; $4=$retval; var $5=_fd_allocfile($fp, $fd); $error=$5; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $8=$error; $1=$8; __label__ = 7; break; case 4: var $10=$3; var $11=$10 & 16777220; var $12=3 | $11; var $13=HEAP32[(($fp)>>2)]; var $14=(($13+32)|0); HEAP32[(($14)>>2)]=$12; var $15=HEAP32[(($fp)>>2)]; var $16=(($15+40)|0); HEAP32[(($16)>>2)]=4; var $17=HEAP32[(($fp)>>2)]; var $18=(($17+12)|0); HEAP32[(($18)>>2)]=_kqueueops; var $19=_kmem_zalloc(68, 1); var $20=$19; $kq=$20; var $21=$kq; var $22=(($21+8)|0); _mutex_init($22, 2, 2); var $23=$kq; var $24=(($23+52)|0); _cv_init($24, ((STRING_TABLE.__str15356)|0)); var $25=$kq; var $26=(($25+16)|0); _selinit($26); __label__ = 5; break; case 5: var $28=$kq; var $29=(($28)|0); var $30=(($29)|0); HEAP32[(($30)>>2)]=0; var $31=$kq; var $32=(($31)|0); var $33=(($32)|0); var $34=$kq; var $35=(($34)|0); var $36=(($35+4)|0); HEAP32[(($36)>>2)]=$33; __label__ = 6; break; case 6: var $38=$kq; var $39=$38; var $40=HEAP32[(($fp)>>2)]; var $41=(($40+16)|0); HEAP32[(($41)>>2)]=$39; var $42=HEAP32[(($fd)>>2)]; var $43=$4; HEAP32[(($43)>>2)]=$42; var $44=_rumpuser_get_curlwp(); var $45=(($44+484)|0); var $46=HEAP32[(($45)>>2)]; var $47=$kq; var $48=(($47+12)|0); HEAP32[(($48)>>2)]=$46; var $49=$2; var $50=HEAP32[(($fd)>>2)]; var $51=$3; var $52=$51 & 4194304; var $53=(($52)|0)!=0; _fd_set_exclose($49, $50, $53); var $54=_rumpuser_get_curlwp(); var $55=(($54+272)|0); var $56=HEAP32[(($55)>>2)]; var $57=HEAP32[(($fp)>>2)]; var $58=HEAP32[(($fd)>>2)]; _fd_affix($56, $57, $58); var $59=$error; $1=$59; __label__ = 7; break; case 7: var $61=$1; STACKTOP = __stackBase__; return $61; default: assert(0, "bad label: " + __label__); } } _kqueue1["X"]=1; function _sys_kqueue1($l, $uap, $retval) { ; var __label__; var $1; var $2; var $3; $1=$l; $2=$uap; $3=$retval; var $4=$1; var $5=$2; var $6=(($5)|0); var $7=$6; var $8=(($7)|0); var $9=HEAP32[(($8)>>2)]; var $10=$3; var $11=_kqueue1($4, $9, $10); ; return $11; } function _kevent_fetch_changes($private, $changelist, $changes, $index, $n) { ; var __label__; var $1; var $2; var $3; var $4; var $5; $1=$private; $2=$changelist; $3=$changes; $4=$index; $5=$n; var $6=$2; var $7=$4; var $8=(($6+($7)*(28))|0); var $9=$8; var $10=$3; var $11=$10; var $12=$5; var $13=((($12)*(28))|0); var $14=_copyin($9, $11, $13); ; return $14; } function _kevent_put_events($private, $events, $eventlist, $index, $n) { ; var __label__; var $1; var $2; var $3; var $4; var $5; $1=$private; $2=$events; $3=$eventlist; $4=$index; $5=$n; var $6=$2; var $7=$6; var $8=$3; var $9=$4; var $10=(($8+($9)*(28))|0); var $11=$10; var $12=$5; var $13=((($12)*(28))|0); var $14=_copyout($7, $11, $13); ; return $14; } function _sys___kevent50($l, $uap, $retval) { ; var __label__; var $1; var $2; var $3; $1=$l; $2=$uap; $3=$retval; var $4=$3; var $5=$2; var $6=(($5)|0); var $7=$6; var $8=(($7)|0); var $9=HEAP32[(($8)>>2)]; var $10=$2; var $11=(($10+4)|0); var $12=$11; var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; var $15=$2; var $16=(($15+8)|0); var $17=$16; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=$2; var $21=(($20+12)|0); var $22=$21; var $23=(($22)|0); var $24=HEAP32[(($23)>>2)]; var $25=$2; var $26=(($25+16)|0); var $27=$26; var $28=(($27)|0); var $29=HEAP32[(($28)>>2)]; var $30=$2; var $31=(($30+20)|0); var $32=$31; var $33=(($32)|0); var $34=HEAP32[(($33)>>2)]; var $35=_kevent1($4, $9, $14, $19, $24, $29, $34, _kevent_native_ops); ; return $35; } function _kevent1($retval, $fd, $changelist, $nchanges, $eventlist, $nevents, $timeout, $keops) { var __stackBase__ = STACKTOP; STACKTOP += 236; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $kevp; var $kq; var $ts=__stackBase__; var $i; var $n; var $ichange; var $nerrors; var $error; var $kevbuf=(__stackBase__)+(12); var $fp; $2=$retval; $3=$fd; $4=$changelist; $5=$nchanges; $6=$eventlist; $7=$nevents; $8=$timeout; $9=$keops; var $10=$3; var $11=_fd_getfile($10); $fp=$11; var $12=$fp; var $13=(($12)|0)==0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=9; __label__ = 33; break; case 4: var $16=$fp; var $17=(($16+40)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18)|0)!=4; if ($19) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $21=$3; _fd_putfile($21); $1=9; __label__ = 33; break; case 6: var $23=$8; var $24=(($23)|0)!=0; if ($24) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $26=$9; var $27=(($26+4)|0); var $28=HEAP32[(($27)>>2)]; var $29=$8; var $30=$29; var $31=$ts; var $32=FUNCTION_TABLE[$28]($30, $31, 12); $error=$32; var $33=$error; var $34=(($33)|0)!=0; if ($34) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 32; break; case 9: $8=$ts; __label__ = 10; break; case 10: var $38=$fp; var $39=(($38+16)|0); var $40=HEAP32[(($39)>>2)]; var $41=$40; $kq=$41; $nerrors=0; $ichange=0; __label__ = 11; break; case 11: var $43=$5; var $44=(($43)>>>0) > 0; if ($44) { __label__ = 12; break; } else { __label__ = 29; break; } case 12: var $46=$5; var $47=(($46)>>>0) < 8; if ($47) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: var $49=$5; var $52 = $49;__label__ = 15; break; case 14: var $52 = 8;__label__ = 15; break; case 15: var $52; $n=$52; var $53=$9; var $54=(($53+8)|0); var $55=HEAP32[(($54)>>2)]; var $56=$9; var $57=(($56)|0); var $58=HEAP32[(($57)>>2)]; var $59=$4; var $60=(($kevbuf)|0); var $61=$ichange; var $62=$n; var $63=FUNCTION_TABLE[$55]($58, $59, $60, $61, $62); $error=$63; var $64=$error; var $65=(($64)|0)!=0; if ($65) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 32; break; case 17: $i=0; __label__ = 18; break; case 18: var $69=$i; var $70=$n; var $71=(($69)>>>0) < (($70)>>>0); if ($71) { __label__ = 19; break; } else { __label__ = 28; break; } case 19: var $73=$i; var $74=(($kevbuf+($73)*(28))|0); $kevp=$74; var $75=$kevp; var $76=(($75+8)|0); var $77=HEAP32[(($76)>>2)]; var $78=$77 & -61441; HEAP32[(($76)>>2)]=$78; var $79=$kq; var $80=$kevp; var $81=_kqueue_register($79, $80); $error=$81; var $82=$error; var $83=(($82)|0)!=0; if ($83) { __label__ = 20; break; } else { __label__ = 26; break; } case 20: var $85=$7; var $86=(($85)|0)!=0; if ($86) { __label__ = 21; break; } else { __label__ = 24; break; } case 21: var $88=$kevp; var $89=(($88+8)|0); HEAP32[(($89)>>2)]=16384; var $90=$error; var $91$0=$90; var $91$1=((($90)|0) < 0 ? -1 : 0); var $92=$kevp; var $93=(($92+16)|0); var $st$8$0=(($93)|0); HEAP32[(($st$8$0)>>2)]=$91$0; var $st$8$1=(($93+4)|0); HEAP32[(($st$8$1)>>2)]=$91$1; var $94=$9; var $95=(($94+12)|0); var $96=HEAP32[(($95)>>2)]; var $97=$9; var $98=(($97)|0); var $99=HEAP32[(($98)>>2)]; var $100=$kevp; var $101=$6; var $102=$nerrors; var $103=FUNCTION_TABLE[$96]($99, $100, $101, $102, 1); $error=$103; var $104=$error; var $105=(($104)|0)!=0; if ($105) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: __label__ = 32; break; case 23: var $108=$7; var $109=((($108)-(1))|0); $7=$109; var $110=$nerrors; var $111=((($110)+(1))|0); $nerrors=$111; __label__ = 25; break; case 24: __label__ = 32; break; case 25: __label__ = 26; break; case 26: __label__ = 27; break; case 27: var $116=$i; var $117=((($116)+(1))|0); $i=$117; __label__ = 18; break; case 28: var $119=$n; var $120=$5; var $121=((($120)-($119))|0); $5=$121; var $122=$n; var $123=$ichange; var $124=((($123)+($122))|0); $ichange=$124; __label__ = 11; break; case 29: var $126=$nerrors; var $127=(($126)|0)!=0; if ($127) { __label__ = 30; break; } else { __label__ = 31; break; } case 30: var $129=$nerrors; var $130=$2; HEAP32[(($130)>>2)]=$129; $error=0; __label__ = 32; break; case 31: var $132=$fp; var $133=$7; var $134=$6; var $135=$8; var $136=$2; var $137=$9; var $138=(($kevbuf)|0); var $139=_kqueue_scan($132, $133, $134, $135, $136, $137, $138, 8); $error=$139; __label__ = 32; break; case 32: var $141=$3; _fd_putfile($141); var $142=$error; $1=$142; __label__ = 33; break; case 33: var $144=$1; STACKTOP = __stackBase__; return $144; default: assert(0, "bad label: " + __label__); } } _kevent1["X"]=1; function _kqueue_register($kq, $kev) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $kfilter; var $fdp; var $fp; var $ff; var $kn; var $newkn; var $list; var $error; var $fd; var $rv; $2=$kq; $3=$kev; var $4=$2; var $5=(($4+12)|0); var $6=HEAP32[(($5)>>2)]; $fdp=$6; $fp=0; $kn=0; $error=0; $fd=0; var $7=_kmem_zalloc(76, 1); var $8=$7; $newkn=$8; _rw_enter(_kqueue_filter_lock, 0); var $9=$3; var $10=(($9+4)|0); var $11=HEAP32[(($10)>>2)]; var $12=_kfilter_byfilter($11); $kfilter=$12; var $13=$kfilter; var $14=(($13)|0)==0; if ($14) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $16=$kfilter; var $17=(($16+12)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18)|0)==0; if ($19) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: _rw_exit(_kqueue_filter_lock); var $21=$newkn; var $22=$21; _kmem_free($22, 76); $1=22; __label__ = 68; break; case 5: var $24=$kfilter; var $25=(($24+12)|0); var $26=HEAP32[(($25)>>2)]; var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28)|0)!=0; if ($29) { __label__ = 6; break; } else { __label__ = 18; break; } case 6: var $31=$3; var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; $fd=$33; var $34=$fd; var $35=_fd_getfile($34); $fp=$35; var $36=(($35)|0)==0; if ($36) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: _rw_exit(_kqueue_filter_lock); var $38=$newkn; var $39=$38; _kmem_free($39, 76); $1=9; __label__ = 68; break; case 8: var $41=$fdp; var $42=(($41+384)|0); _mutex_enter($42); var $43=$fd; var $44=$fdp; var $45=(($44+388)|0); var $46=HEAP32[(($45)>>2)]; var $47=(($46+8)|0); var $48=(($47+($43<<2))|0); var $49=HEAP32[(($48)>>2)]; $ff=$49; var $50=$fd; var $51=$fdp; var $52=(($51+404)|0); var $53=HEAP32[(($52)>>2)]; var $54=(($50)|0) <= (($53)|0); if ($54) { __label__ = 9; break; } else { __label__ = 17; break; } case 9: var $56=$ff; var $57=(($56+12)|0); var $58=(($57)|0); var $59=HEAP32[(($58)>>2)]; $kn=$59; __label__ = 10; break; case 10: var $61=$kn; var $62=(($61)|0)!=0; if ($62) { __label__ = 11; break; } else { __label__ = 16; break; } case 11: var $64=$2; var $65=$kn; var $66=(($65+16)|0); var $67=HEAP32[(($66)>>2)]; var $68=(($64)|0)==(($67)|0); if ($68) { __label__ = 12; break; } else { __label__ = 14; break; } case 12: var $70=$3; var $71=(($70+4)|0); var $72=HEAP32[(($71)>>2)]; var $73=$kn; var $74=(($73+20)|0); var $75=(($74+4)|0); var $76=HEAP32[(($75)>>2)]; var $77=(($72)|0)==(($76)|0); if ($77) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 16; break; case 14: __label__ = 15; break; case 15: var $81=$kn; var $82=(($81)|0); var $83=(($82)|0); var $84=HEAP32[(($83)>>2)]; $kn=$84; __label__ = 10; break; case 16: __label__ = 17; break; case 17: __label__ = 29; break; case 18: var $88=$fdp; var $89=(($88+384)|0); _mutex_enter($89); var $90=$fdp; var $91=(($90+416)|0); var $92=HEAP32[(($91)>>2)]; var $93=(($92)|0)!=0; if ($93) { __label__ = 19; break; } else { __label__ = 28; break; } case 19: var $95=$3; var $96=(($95)|0); var $97=HEAP32[(($96)>>2)]; var $98=$3; var $99=(($98)|0); var $100=HEAP32[(($99)>>2)]; var $101=$100 >>> 8; var $102=$97 ^ $101; var $103=$fdp; var $104=(($103+416)|0); var $105=HEAP32[(($104)>>2)]; var $106=$102 & $105; var $107=$fdp; var $108=(($107+400)|0); var $109=HEAP32[(($108)>>2)]; var $110=(($109+($106<<2))|0); $list=$110; var $111=$list; var $112=(($111)|0); var $113=HEAP32[(($112)>>2)]; $kn=$113; __label__ = 20; break; case 20: var $115=$kn; var $116=(($115)|0)!=0; if ($116) { __label__ = 21; break; } else { __label__ = 27; break; } case 21: var $118=$3; var $119=(($118)|0); var $120=HEAP32[(($119)>>2)]; var $121=$kn; var $122=(($121+20)|0); var $123=(($122)|0); var $124=HEAP32[(($123)>>2)]; var $125=(($120)|0)==(($124)|0); if ($125) { __label__ = 22; break; } else { __label__ = 25; break; } case 22: var $127=$2; var $128=$kn; var $129=(($128+16)|0); var $130=HEAP32[(($129)>>2)]; var $131=(($127)|0)==(($130)|0); if ($131) { __label__ = 23; break; } else { __label__ = 25; break; } case 23: var $133=$3; var $134=(($133+4)|0); var $135=HEAP32[(($134)>>2)]; var $136=$kn; var $137=(($136+20)|0); var $138=(($137+4)|0); var $139=HEAP32[(($138)>>2)]; var $140=(($135)|0)==(($139)|0); if ($140) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: __label__ = 27; break; case 25: __label__ = 26; break; case 26: var $144=$kn; var $145=(($144)|0); var $146=(($145)|0); var $147=HEAP32[(($146)>>2)]; $kn=$147; __label__ = 20; break; case 27: __label__ = 28; break; case 28: __label__ = 29; break; case 29: var $151=$3; var $152=(($151+8)|0); var $153=HEAP32[(($152)>>2)]; var $154=$153 & 1; var $155=(($154)|0)!=0; if ($155) { __label__ = 30; break; } else { __label__ = 51; break; } case 30: var $157=$kn; var $158=(($157)|0)==0; if ($158) { __label__ = 31; break; } else { __label__ = 45; break; } case 31: var $160=$newkn; $kn=$160; $newkn=0; var $161=$fp; var $162=$161; var $163=$kn; var $164=(($163+60)|0); HEAP32[(($164)>>2)]=$162; var $165=$2; var $166=$kn; var $167=(($166+16)|0); HEAP32[(($167)>>2)]=$165; var $168=$kfilter; var $169=(($168+12)|0); var $170=HEAP32[(($169)>>2)]; var $171=$kn; var $172=(($171+64)|0); HEAP32[(($172)>>2)]=$170; var $173=$kfilter; var $174=$kn; var $175=(($174+68)|0); HEAP32[(($175)>>2)]=$173; var $176=$3; var $177=(($176+12)|0); var $178=HEAP32[(($177)>>2)]; var $179=$kn; var $180=(($179+52)|0); HEAP32[(($180)>>2)]=$178; var $181=$3; var $182=(($181+16)|0); var $st$30$0=(($182)|0); var $183$0=HEAP32[(($st$30$0)>>2)]; var $st$30$1=(($182+4)|0); var $183$1=HEAP32[(($st$30$1)>>2)]; var $184$0=$183$0; var $184=$184$0; var $185=$kn; var $186=(($185+56)|0); HEAP32[(($186)>>2)]=$184; var $187=$3; var $188=(($187+12)|0); HEAP32[(($188)>>2)]=0; var $189=$3; var $190=(($189+16)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$46$0=(($190)|0); HEAP32[(($st$46$0)>>2)]=$$emscripten$temp$0$0; var $st$46$1=(($190+4)|0); HEAP32[(($st$46$1)>>2)]=$$emscripten$temp$0$1; var $191=$kn; var $192=(($191+20)|0); var $193=$3; var $194=$192; var $195=$193; assert(28 % 1 === 0, 'memcpy given ' + 28 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($194)>>2)]=HEAP32[(($195)>>2)];HEAP32[((($194)+(4))>>2)]=HEAP32[((($195)+(4))>>2)];HEAP32[((($194)+(8))>>2)]=HEAP32[((($195)+(8))>>2)];HEAP32[((($194)+(12))>>2)]=HEAP32[((($195)+(12))>>2)];HEAP32[((($194)+(16))>>2)]=HEAP32[((($195)+(16))>>2)];HEAP32[((($194)+(20))>>2)]=HEAP32[((($195)+(20))>>2)];HEAP32[((($194)+(24))>>2)]=HEAP32[((($195)+(24))>>2)]; $fp=0; var $196=$kn; var $197=(($196+64)|0); var $198=HEAP32[(($197)>>2)]; var $199=(($198)|0); var $200=HEAP32[(($199)>>2)]; var $201=(($200)|0)!=0; if ($201) { __label__ = 35; break; } else { __label__ = 32; break; } case 32: var $203=$fdp; var $204=(($203+416)|0); var $205=HEAP32[(($204)>>2)]; var $206=(($205)|0)==0; if ($206) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: var $208=$fdp; var $209=(($208+416)|0); var $210=_hashinit(64, 0, 1, $209); var $211=$210; var $212=$fdp; var $213=(($212+400)|0); HEAP32[(($213)>>2)]=$211; __label__ = 34; break; case 34: var $215=$kn; var $216=(($215+20)|0); var $217=(($216)|0); var $218=HEAP32[(($217)>>2)]; var $219=$kn; var $220=(($219+20)|0); var $221=(($220)|0); var $222=HEAP32[(($221)>>2)]; var $223=$222 >>> 8; var $224=$218 ^ $223; var $225=$fdp; var $226=(($225+416)|0); var $227=HEAP32[(($226)>>2)]; var $228=$224 & $227; var $229=$fdp; var $230=(($229+400)|0); var $231=HEAP32[(($230)>>2)]; var $232=(($231+($228<<2))|0); $list=$232; __label__ = 38; break; case 35: var $234=$kn; var $235=(($234+20)|0); var $236=(($235)|0); var $237=HEAP32[(($236)>>2)]; var $238=$fdp; var $239=(($238+388)|0); var $240=HEAP32[(($239)>>2)]; var $241=(($240+8)|0); var $242=(($241+($237<<2))|0); var $243=HEAP32[(($242)>>2)]; var $244=(($243+12)|0); var $245=$244; $list=$245; var $246=$kn; var $247=(($246+20)|0); var $248=(($247)|0); var $249=HEAP32[(($248)>>2)]; var $250=$fdp; var $251=(($250+404)|0); var $252=HEAP32[(($251)>>2)]; var $253=(($249)|0) > (($252)|0); if ($253) { __label__ = 36; break; } else { __label__ = 37; break; } case 36: var $255=$kn; var $256=(($255+20)|0); var $257=(($256)|0); var $258=HEAP32[(($257)>>2)]; var $259=$fdp; var $260=(($259+404)|0); HEAP32[(($260)>>2)]=$258; __label__ = 37; break; case 37: __label__ = 38; break; case 38: __label__ = 39; break; case 39: var $264=$list; var $265=(($264)|0); var $266=HEAP32[(($265)>>2)]; var $267=$kn; var $268=(($267)|0); var $269=(($268)|0); HEAP32[(($269)>>2)]=$266; var $270=$kn; var $271=$list; var $272=(($271)|0); HEAP32[(($272)>>2)]=$270; __label__ = 40; break; case 40: __label__ = 41; break; case 41: __kernel_lock(1); __label__ = 42; break; case 42: var $276=$kfilter; var $277=(($276+12)|0); var $278=HEAP32[(($277)>>2)]; var $279=(($278+4)|0); var $280=HEAP32[(($279)>>2)]; var $281=$kn; var $282=FUNCTION_TABLE[$280]($281); $error=$282; __kernel_unlock(1, 0); var $283=$error; var $284=(($283)|0)!=0; if ($284) { __label__ = 43; break; } else { __label__ = 44; break; } case 43: var $286=$kn; var $287=$fdp; _knote_detach($286, $287, 0); __label__ = 63; break; case 44: var $289=$kfilter; var $290=(($289+8)|0); _atomic_inc_uint($290); __label__ = 46; break; case 45: var $292=$3; var $293=(($292+12)|0); var $294=HEAP32[(($293)>>2)]; var $295=$kn; var $296=(($295+52)|0); HEAP32[(($296)>>2)]=$294; var $297=$3; var $298=(($297+16)|0); var $st$8$0=(($298)|0); var $299$0=HEAP32[(($st$8$0)>>2)]; var $st$8$1=(($298+4)|0); var $299$1=HEAP32[(($st$8$1)>>2)]; var $300$0=$299$0; var $300=$300$0; var $301=$kn; var $302=(($301+56)|0); HEAP32[(($302)>>2)]=$300; var $303=$3; var $304=(($303+24)|0); var $305=HEAP32[(($304)>>2)]; var $306=$kn; var $307=(($306+20)|0); var $308=(($307+24)|0); HEAP32[(($308)>>2)]=$305; __label__ = 46; break; case 46: __label__ = 47; break; case 47: __kernel_lock(1); __label__ = 48; break; case 48: var $312=$kn; var $313=(($312+64)|0); var $314=HEAP32[(($313)>>2)]; var $315=(($314+12)|0); var $316=HEAP32[(($315)>>2)]; var $317=$kn; var $318=FUNCTION_TABLE[$316]($317, 0); $rv=$318; __kernel_unlock(1, 0); var $319=$rv; var $320=(($319)|0)!=0; if ($320) { __label__ = 49; break; } else { __label__ = 50; break; } case 49: var $322=$kn; _knote_activate($322); __label__ = 50; break; case 50: __label__ = 56; break; case 51: var $325=$kn; var $326=(($325)|0)==0; if ($326) { __label__ = 52; break; } else { __label__ = 53; break; } case 52: $error=2; var $328=$fdp; var $329=(($328+384)|0); _mutex_exit($329); __label__ = 63; break; case 53: var $331=$3; var $332=(($331+8)|0); var $333=HEAP32[(($332)>>2)]; var $334=$333 & 2; var $335=(($334)|0)!=0; if ($335) { __label__ = 54; break; } else { __label__ = 55; break; } case 54: var $337=$kn; var $338=$fdp; _knote_detach($337, $338, 1); __label__ = 63; break; case 55: __label__ = 56; break; case 56: var $341=$3; var $342=(($341+8)|0); var $343=HEAP32[(($342)>>2)]; var $344=$343 & 8; var $345=(($344)|0)!=0; if ($345) { __label__ = 57; break; } else { __label__ = 60; break; } case 57: var $347=$2; var $348=(($347+8)|0); _mutex_spin_enter($348); var $349=$kn; var $350=(($349+48)|0); var $351=HEAP32[(($350)>>2)]; var $352=$351 & 4; var $353=(($352)|0)==0; if ($353) { __label__ = 58; break; } else { __label__ = 59; break; } case 58: var $355=$kn; var $356=(($355+48)|0); var $357=HEAP32[(($356)>>2)]; var $358=$357 | 4; HEAP32[(($356)>>2)]=$358; __label__ = 59; break; case 59: var $360=$2; var $361=(($360+8)|0); _mutex_spin_exit($361); __label__ = 60; break; case 60: var $363=$3; var $364=(($363+8)|0); var $365=HEAP32[(($364)>>2)]; var $366=$365 & 4; var $367=(($366)|0)!=0; if ($367) { __label__ = 61; break; } else { __label__ = 62; break; } case 61: var $369=$kn; _knote_enqueue($369); __label__ = 62; break; case 62: var $371=$fdp; var $372=(($371+384)|0); _mutex_exit($372); __label__ = 63; break; case 63: _rw_exit(_kqueue_filter_lock); var $374=$newkn; var $375=(($374)|0)!=0; if ($375) { __label__ = 64; break; } else { __label__ = 65; break; } case 64: var $377=$newkn; var $378=$377; _kmem_free($378, 76); __label__ = 65; break; case 65: var $380=$fp; var $381=(($380)|0)!=0; if ($381) { __label__ = 66; break; } else { __label__ = 67; break; } case 66: var $383=$fd; _fd_putfile($383); __label__ = 67; break; case 67: var $385=$error; $1=$385; __label__ = 68; break; case 68: var $387=$1; ; return $387; default: assert(0, "bad label: " + __label__); } } _kqueue_register["X"]=1; function _kqueue_scan($fp, $maxevents, $ulistp, $tsp, $retval, $keops, $kevbuf, $kevcnt) { var __stackBase__ = STACKTOP; STACKTOP += 24; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $kq; var $kevp; var $ats=__stackBase__; var $sleepts=(__stackBase__)+(12); var $kn; var $marker; var $count; var $nkev; var $nevents; var $timeout; var $error; var $rv; var $fdp; $2=$fp; $3=$maxevents; $4=$ulistp; $5=$tsp; $6=$retval; $7=$keops; $8=$kevbuf; $9=$kevcnt; var $10=_rumpuser_get_curlwp(); var $11=(($10+484)|0); var $12=HEAP32[(($11)>>2)]; $fdp=$12; var $13=$2; var $14=(($13+16)|0); var $15=HEAP32[(($14)>>2)]; var $16=$15; $kq=$16; var $17=$3; $count=$17; $error=0; $nevents=0; $nkev=0; var $18=$count; var $19=(($18)|0)==0; if ($19) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $21=$6; HEAP32[(($21)>>2)]=0; $1=0; __label__ = 85; break; case 4: var $23=$5; var $24=(($23)|0)!=0; if ($24) { __label__ = 5; break; } else { __label__ = 10; break; } case 5: var $26=$5; var $27=$ats; var $28=$26; assert(12 % 1 === 0, 'memcpy given ' + 12 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($27)>>2)]=HEAP32[(($28)>>2)];HEAP32[((($27)+(4))>>2)]=HEAP32[((($28)+(4))>>2)];HEAP32[((($27)+(8))>>2)]=HEAP32[((($28)+(8))>>2)]; var $29=_inittimeleft($ats, $sleepts); var $30=(($29)|0)==-1; if ($30) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $32=$3; var $33=$6; HEAP32[(($33)>>2)]=$32; $1=22; __label__ = 85; break; case 7: var $35=_tstohz($ats); $timeout=$35; var $36=$timeout; var $37=(($36)|0) <= 0; if ($37) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $timeout=-1; __label__ = 9; break; case 9: __label__ = 11; break; case 10: $timeout=0; __label__ = 11; break; case 11: var $42=_kmem_zalloc(76, 1); var $43=$42; $marker=$43; var $44=$marker; var $45=(($44+48)|0); HEAP32[(($45)>>2)]=16; var $46=$kq; var $47=(($46+8)|0); _mutex_spin_enter($47); __label__ = 12; break; case 12: var $49=$8; $kevp=$49; var $50=$kq; var $51=(($50+64)|0); var $52=HEAP32[(($51)>>2)]; var $53=(($52)|0)==0; if ($53) { __label__ = 13; break; } else { __label__ = 26; break; } case 13: var $55=$timeout; var $56=(($55)|0) >= 0; if ($56) { __label__ = 14; break; } else { __label__ = 25; break; } case 14: var $58=$kq; var $59=(($58+52)|0); var $60=$kq; var $61=(($60+8)|0); var $62=$timeout; var $63=_cv_timedwait_sig($59, $61, $62); $error=$63; var $64=$error; var $65=(($64)|0)==0; if ($65) { __label__ = 15; break; } else { __label__ = 19; break; } case 15: var $67=$5; var $68=(($67)|0)==0; if ($68) { __label__ = 17; break; } else { __label__ = 16; break; } case 16: var $70=_gettimeleft($ats, $sleepts); $timeout=$70; var $71=(($70)|0) > 0; if ($71) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 12; break; case 18: __label__ = 24; break; case 19: var $75=$error; var $76=(($75)|0)==-3; if ($76) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: $error=4; __label__ = 21; break; case 21: var $79=$error; var $80=(($79)|0)==35; if ($80) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: $error=0; __label__ = 23; break; case 23: __label__ = 24; break; case 24: __label__ = 25; break; case 25: __label__ = 79; break; case 26: __label__ = 27; break; case 27: var $87=$marker; var $88=(($87+8)|0); var $89=(($88)|0); HEAP32[(($89)>>2)]=0; var $90=$kq; var $91=(($90)|0); var $92=(($91+4)|0); var $93=HEAP32[(($92)>>2)]; var $94=$marker; var $95=(($94+8)|0); var $96=(($95+4)|0); HEAP32[(($96)>>2)]=$93; var $97=$marker; var $98=$kq; var $99=(($98)|0); var $100=(($99+4)|0); var $101=HEAP32[(($100)>>2)]; HEAP32[(($101)>>2)]=$97; var $102=$marker; var $103=(($102+8)|0); var $104=(($103)|0); var $105=$kq; var $106=(($105)|0); var $107=(($106+4)|0); HEAP32[(($107)>>2)]=$104; __label__ = 28; break; case 28: __label__ = 29; break; case 29: var $110=$count; var $111=(($110)|0)!=0; if ($111) { __label__ = 30; break; } else { __label__ = 78; break; } case 30: var $113=$kq; var $114=(($113)|0); var $115=(($114)|0); var $116=HEAP32[(($115)>>2)]; $kn=$116; __label__ = 31; break; case 31: var $118=$kn; var $119=(($118+48)|0); var $120=HEAP32[(($119)>>2)]; var $121=$120 & 16; var $122=(($121)|0)!=0; if ($122) { __label__ = 32; break; } else { __label__ = 44; break; } case 32: var $124=$kn; var $125=$marker; var $126=(($124)|0)==(($125)|0); if ($126) { __label__ = 33; break; } else { __label__ = 43; break; } case 33: __label__ = 34; break; case 34: var $129=$kn; var $130=(($129+8)|0); var $131=(($130)|0); var $132=HEAP32[(($131)>>2)]; var $133=(($132)|0)!=0; if ($133) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: var $135=$kn; var $136=(($135+8)|0); var $137=(($136+4)|0); var $138=HEAP32[(($137)>>2)]; var $139=$kn; var $140=(($139+8)|0); var $141=(($140)|0); var $142=HEAP32[(($141)>>2)]; var $143=(($142+8)|0); var $144=(($143+4)|0); HEAP32[(($144)>>2)]=$138; __label__ = 37; break; case 36: var $146=$kn; var $147=(($146+8)|0); var $148=(($147+4)|0); var $149=HEAP32[(($148)>>2)]; var $150=$kq; var $151=(($150)|0); var $152=(($151+4)|0); HEAP32[(($152)>>2)]=$149; __label__ = 37; break; case 37: var $154=$kn; var $155=(($154+8)|0); var $156=(($155)|0); var $157=HEAP32[(($156)>>2)]; var $158=$kn; var $159=(($158+8)|0); var $160=(($159+4)|0); var $161=HEAP32[(($160)>>2)]; HEAP32[(($161)>>2)]=$157; __label__ = 38; break; case 38: var $163=$count; var $164=$3; var $165=(($163)>>>0) < (($164)>>>0); if ($165) { __label__ = 41; break; } else { __label__ = 39; break; } case 39: var $167=$5; var $168=(($167)|0)!=0; if ($168) { __label__ = 40; break; } else { __label__ = 42; break; } case 40: var $170=_gettimeleft($ats, $sleepts); $timeout=$170; var $171=(($170)|0) <= 0; if ($171) { __label__ = 41; break; } else { __label__ = 42; break; } case 41: __label__ = 80; break; case 42: __label__ = 12; break; case 43: var $175=$kn; var $176=(($175+8)|0); var $177=(($176)|0); var $178=HEAP32[(($177)>>2)]; $kn=$178; __label__ = 31; break; case 44: __label__ = 45; break; case 45: var $181=$kn; var $182=(($181+8)|0); var $183=(($182)|0); var $184=HEAP32[(($183)>>2)]; var $185=(($184)|0)!=0; if ($185) { __label__ = 46; break; } else { __label__ = 47; break; } case 46: var $187=$kn; var $188=(($187+8)|0); var $189=(($188+4)|0); var $190=HEAP32[(($189)>>2)]; var $191=$kn; var $192=(($191+8)|0); var $193=(($192)|0); var $194=HEAP32[(($193)>>2)]; var $195=(($194+8)|0); var $196=(($195+4)|0); HEAP32[(($196)>>2)]=$190; __label__ = 48; break; case 47: var $198=$kn; var $199=(($198+8)|0); var $200=(($199+4)|0); var $201=HEAP32[(($200)>>2)]; var $202=$kq; var $203=(($202)|0); var $204=(($203+4)|0); HEAP32[(($204)>>2)]=$201; __label__ = 48; break; case 48: var $206=$kn; var $207=(($206+8)|0); var $208=(($207)|0); var $209=HEAP32[(($208)>>2)]; var $210=$kn; var $211=(($210+8)|0); var $212=(($211+4)|0); var $213=HEAP32[(($212)>>2)]; HEAP32[(($213)>>2)]=$209; __label__ = 49; break; case 49: var $215=$kq; var $216=(($215+64)|0); var $217=HEAP32[(($216)>>2)]; var $218=((($217)-(1))|0); HEAP32[(($216)>>2)]=$218; var $219=$kn; var $220=(($219+48)|0); var $221=HEAP32[(($220)>>2)]; var $222=$221 & -3; HEAP32[(($220)>>2)]=$222; var $223=$kn; var $224=(($223+48)|0); var $225=HEAP32[(($224)>>2)]; var $226=$225 & 4; var $227=(($226)|0)!=0; if ($227) { __label__ = 50; break; } else { __label__ = 51; break; } case 50: __label__ = 29; break; case 51: var $230=$kn; var $231=(($230+20)|0); var $232=(($231+8)|0); var $233=HEAP32[(($232)>>2)]; var $234=$233 & 16; var $235=(($234)|0)==0; if ($235) { __label__ = 52; break; } else { __label__ = 59; break; } case 52: var $237=$kq; var $238=(($237+8)|0); _mutex_spin_exit($238); __label__ = 53; break; case 53: __kernel_lock(1); __label__ = 54; break; case 54: var $241=$kn; var $242=(($241+64)|0); var $243=HEAP32[(($242)>>2)]; var $244=(($243+12)|0); var $245=HEAP32[(($244)>>2)]; var $246=$kn; var $247=FUNCTION_TABLE[$245]($246, 0); $rv=$247; __kernel_unlock(1, 0); var $248=$kq; var $249=(($248+8)|0); _mutex_spin_enter($249); var $250=$kn; var $251=(($250+48)|0); var $252=HEAP32[(($251)>>2)]; var $253=$252 & 2; var $254=(($253)|0)!=0; if ($254) { __label__ = 55; break; } else { __label__ = 56; break; } case 55: __label__ = 29; break; case 56: var $257=$rv; var $258=(($257)|0)==0; if ($258) { __label__ = 57; break; } else { __label__ = 58; break; } case 57: var $260=$kn; var $261=(($260+48)|0); var $262=HEAP32[(($261)>>2)]; var $263=$262 & -2; HEAP32[(($261)>>2)]=$263; __label__ = 29; break; case 58: __label__ = 59; break; case 59: var $266=$kevp; var $267=(($266+28)|0); $kevp=$267; var $268=$kn; var $269=(($268+20)|0); var $270=$266; var $271=$269; assert(28 % 1 === 0, 'memcpy given ' + 28 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($270)>>2)]=HEAP32[(($271)>>2)];HEAP32[((($270)+(4))>>2)]=HEAP32[((($271)+(4))>>2)];HEAP32[((($270)+(8))>>2)]=HEAP32[((($271)+(8))>>2)];HEAP32[((($270)+(12))>>2)]=HEAP32[((($271)+(12))>>2)];HEAP32[((($270)+(16))>>2)]=HEAP32[((($271)+(16))>>2)];HEAP32[((($270)+(20))>>2)]=HEAP32[((($271)+(20))>>2)];HEAP32[((($270)+(24))>>2)]=HEAP32[((($271)+(24))>>2)]; var $272=$nkev; var $273=((($272)+(1))|0); $nkev=$273; var $274=$kn; var $275=(($274+20)|0); var $276=(($275+8)|0); var $277=HEAP32[(($276)>>2)]; var $278=$277 & 16; var $279=(($278)|0)!=0; if ($279) { __label__ = 60; break; } else { __label__ = 61; break; } case 60: var $281=$kq; var $282=(($281+8)|0); _mutex_spin_exit($282); var $283=$fdp; var $284=(($283+384)|0); _mutex_enter($284); var $285=$kn; var $286=$fdp; _knote_detach($285, $286, 1); var $287=$kq; var $288=(($287+8)|0); _mutex_spin_enter($288); __label__ = 67; break; case 61: var $290=$kn; var $291=(($290+20)|0); var $292=(($291+8)|0); var $293=HEAP32[(($292)>>2)]; var $294=$293 & 32; var $295=(($294)|0)!=0; if ($295) { __label__ = 62; break; } else { __label__ = 63; break; } case 62: var $297=$kn; var $298=(($297+20)|0); var $299=(($298+16)|0); var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$5$0=(($299)|0); HEAP32[(($st$5$0)>>2)]=$$emscripten$temp$0$0; var $st$5$1=(($299+4)|0); HEAP32[(($st$5$1)>>2)]=$$emscripten$temp$0$1; var $300=$kn; var $301=(($300+20)|0); var $302=(($301+12)|0); HEAP32[(($302)>>2)]=0; var $303=$kn; var $304=(($303+48)|0); var $305=HEAP32[(($304)>>2)]; var $306=$305 & -2; HEAP32[(($304)>>2)]=$306; __label__ = 66; break; case 63: __label__ = 64; break; case 64: var $309=$kn; var $310=(($309+8)|0); var $311=(($310)|0); HEAP32[(($311)>>2)]=0; var $312=$kq; var $313=(($312)|0); var $314=(($313+4)|0); var $315=HEAP32[(($314)>>2)]; var $316=$kn; var $317=(($316+8)|0); var $318=(($317+4)|0); HEAP32[(($318)>>2)]=$315; var $319=$kn; var $320=$kq; var $321=(($320)|0); var $322=(($321+4)|0); var $323=HEAP32[(($322)>>2)]; HEAP32[(($323)>>2)]=$319; var $324=$kn; var $325=(($324+8)|0); var $326=(($325)|0); var $327=$kq; var $328=(($327)|0); var $329=(($328+4)|0); HEAP32[(($329)>>2)]=$326; __label__ = 65; break; case 65: var $331=$kq; var $332=(($331+64)|0); var $333=HEAP32[(($332)>>2)]; var $334=((($333)+(1))|0); HEAP32[(($332)>>2)]=$334; var $335=$kn; var $336=(($335+48)|0); var $337=HEAP32[(($336)>>2)]; var $338=$337 | 2; HEAP32[(($336)>>2)]=$338; __label__ = 66; break; case 66: __label__ = 67; break; case 67: var $341=$nkev; var $342=$9; var $343=(($341)|0)==(($342)|0); if ($343) { __label__ = 68; break; } else { __label__ = 69; break; } case 68: var $345=$kq; var $346=(($345+8)|0); _mutex_spin_exit($346); var $347=$7; var $348=(($347+12)|0); var $349=HEAP32[(($348)>>2)]; var $350=$7; var $351=(($350)|0); var $352=HEAP32[(($351)>>2)]; var $353=$8; var $354=$4; var $355=$nevents; var $356=$nkev; var $357=FUNCTION_TABLE[$349]($352, $353, $354, $355, $356); $error=$357; var $358=$kq; var $359=(($358+8)|0); _mutex_spin_enter($359); var $360=$nkev; var $361=$nevents; var $362=((($361)+($360))|0); $nevents=$362; $nkev=0; var $363=$8; $kevp=$363; __label__ = 69; break; case 69: var $365=$count; var $366=((($365)-(1))|0); $count=$366; var $367=$error; var $368=(($367)|0)!=0; if ($368) { __label__ = 71; break; } else { __label__ = 70; break; } case 70: var $370=$count; var $371=(($370)|0)==0; if ($371) { __label__ = 71; break; } else { __label__ = 77; break; } case 71: __label__ = 72; break; case 72: var $374=$marker; var $375=(($374+8)|0); var $376=(($375)|0); var $377=HEAP32[(($376)>>2)]; var $378=(($377)|0)!=0; if ($378) { __label__ = 73; break; } else { __label__ = 74; break; } case 73: var $380=$marker; var $381=(($380+8)|0); var $382=(($381+4)|0); var $383=HEAP32[(($382)>>2)]; var $384=$marker; var $385=(($384+8)|0); var $386=(($385)|0); var $387=HEAP32[(($386)>>2)]; var $388=(($387+8)|0); var $389=(($388+4)|0); HEAP32[(($389)>>2)]=$383; __label__ = 75; break; case 74: var $391=$marker; var $392=(($391+8)|0); var $393=(($392+4)|0); var $394=HEAP32[(($393)>>2)]; var $395=$kq; var $396=(($395)|0); var $397=(($396+4)|0); HEAP32[(($397)>>2)]=$394; __label__ = 75; break; case 75: var $399=$marker; var $400=(($399+8)|0); var $401=(($400)|0); var $402=HEAP32[(($401)>>2)]; var $403=$marker; var $404=(($403+8)|0); var $405=(($404+4)|0); var $406=HEAP32[(($405)>>2)]; HEAP32[(($406)>>2)]=$402; __label__ = 76; break; case 76: __label__ = 78; break; case 77: __label__ = 29; break; case 78: __label__ = 79; break; case 79: __label__ = 80; break; case 80: var $412=$kq; var $413=(($412+8)|0); _mutex_spin_exit($413); var $414=$marker; var $415=(($414)|0)!=0; if ($415) { __label__ = 81; break; } else { __label__ = 82; break; } case 81: var $417=$marker; var $418=$417; _kmem_free($418, 76); __label__ = 82; break; case 82: var $420=$nkev; var $421=(($420)|0)!=0; if ($421) { __label__ = 83; break; } else { __label__ = 84; break; } case 83: var $423=$7; var $424=(($423+12)|0); var $425=HEAP32[(($424)>>2)]; var $426=$7; var $427=(($426)|0); var $428=HEAP32[(($427)>>2)]; var $429=$8; var $430=$4; var $431=$nevents; var $432=$nkev; var $433=FUNCTION_TABLE[$425]($428, $429, $430, $431, $432); $error=$433; __label__ = 84; break; case 84: var $435=$3; var $436=$count; var $437=((($435)-($436))|0); var $438=$6; HEAP32[(($438)>>2)]=$437; var $439=$error; $1=$439; __label__ = 85; break; case 85: var $441=$1; STACKTOP = __stackBase__; return $441; default: assert(0, "bad label: " + __label__); } } _kqueue_scan["X"]=1; function _knote($list, $hint) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kn; var $tmpkn; $1=$list; $2=$hint; var $3=$1; var $4=(($3)|0); var $5=HEAP32[(($4)>>2)]; $kn=$5; __label__ = 3; break; case 3: var $7=$kn; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { var $15 = 0;__label__ = 5; break; } case 4: var $10=$kn; var $11=(($10+4)|0); var $12=(($11)|0); var $13=HEAP32[(($12)>>2)]; $tmpkn=$13; var $15 = 1;__label__ = 5; break; case 5: var $15; if ($15) { __label__ = 6; break; } else { __label__ = 10; break; } case 6: var $17=$kn; var $18=(($17+64)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($19+12)|0); var $21=HEAP32[(($20)>>2)]; var $22=$kn; var $23=$2; var $24=FUNCTION_TABLE[$21]($22, $23); var $25=(($24)|0)!=0; if ($25) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $27=$kn; _knote_activate($27); __label__ = 8; break; case 8: __label__ = 9; break; case 9: var $30=$tmpkn; $kn=$30; __label__ = 3; break; case 10: ; return; default: assert(0, "bad label: " + __label__); } } function _knote_activate($kn) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $kq; $1=$kn; var $2=$1; var $3=(($2+48)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4 & 16; var $6=(($5)|0)==0; var $7=(($6)&1); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3344)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1594,tempInt)); __label__ = 5; break; case 5: var $15=$1; var $16=(($15+16)|0); var $17=HEAP32[(($16)>>2)]; $kq=$17; var $18=$kq; var $19=(($18+8)|0); _mutex_spin_enter($19); var $20=$1; var $21=(($20+48)|0); var $22=HEAP32[(($21)>>2)]; var $23=$22 | 1; HEAP32[(($21)>>2)]=$23; var $24=$1; var $25=(($24+48)|0); var $26=HEAP32[(($25)>>2)]; var $27=$26 & 6; var $28=(($27)|0)==0; if ($28) { __label__ = 6; break; } else { __label__ = 9; break; } case 6: __label__ = 7; break; case 7: var $31=$1; var $32=(($31+8)|0); var $33=(($32)|0); HEAP32[(($33)>>2)]=0; var $34=$kq; var $35=(($34)|0); var $36=(($35+4)|0); var $37=HEAP32[(($36)>>2)]; var $38=$1; var $39=(($38+8)|0); var $40=(($39+4)|0); HEAP32[(($40)>>2)]=$37; var $41=$1; var $42=$kq; var $43=(($42)|0); var $44=(($43+4)|0); var $45=HEAP32[(($44)>>2)]; HEAP32[(($45)>>2)]=$41; var $46=$1; var $47=(($46+8)|0); var $48=(($47)|0); var $49=$kq; var $50=(($49)|0); var $51=(($50+4)|0); HEAP32[(($51)>>2)]=$48; __label__ = 8; break; case 8: var $53=$1; var $54=(($53+48)|0); var $55=HEAP32[(($54)>>2)]; var $56=$55 | 2; HEAP32[(($54)>>2)]=$56; var $57=$kq; var $58=(($57+64)|0); var $59=HEAP32[(($58)>>2)]; var $60=((($59)+(1))|0); HEAP32[(($58)>>2)]=$60; var $61=$kq; var $62=(($61+52)|0); _cv_broadcast($62); var $63=$kq; var $64=(($63+16)|0); _selnotify($64, 0, 16777216); __label__ = 9; break; case 9: var $66=$kq; var $67=(($66+8)|0); _mutex_spin_exit($67); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _knote_activate["X"]=1; function _knote_fdclose($fd) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $list; var $kn; var $fdp; $1=$fd; var $2=_rumpuser_get_curlwp(); var $3=(($2+484)|0); var $4=HEAP32[(($3)>>2)]; $fdp=$4; var $5=$1; var $6=$fdp; var $7=(($6+388)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+8)|0); var $10=(($9+($5<<2))|0); var $11=HEAP32[(($10)>>2)]; var $12=(($11+12)|0); var $13=$12; $list=$13; var $14=$fdp; var $15=(($14+384)|0); _mutex_enter($15); __label__ = 3; break; case 3: var $17=$list; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; $kn=$19; var $20=(($19)|0)!=0; if ($20) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $22=$kn; var $23=$fdp; _knote_detach($22, $23, 1); var $24=$fdp; var $25=(($24+384)|0); _mutex_enter($25); __label__ = 3; break; case 5: var $27=$fdp; var $28=(($27+384)|0); _mutex_exit($28); ; return; default: assert(0, "bad label: " + __label__); } } function _knote_detach($kn, $fdp, $dofop) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $list; var $kq; var $curelm; $1=$kn; $2=$fdp; var $4=(($dofop)&1); $3=$4; var $5=$1; var $6=(($5+16)|0); var $7=HEAP32[(($6)>>2)]; $kq=$7; var $8=$1; var $9=(($8+48)|0); var $10=HEAP32[(($9)>>2)]; var $11=$10 & 16; var $12=(($11)|0)==0; var $13=(($12)&1); var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=$15; var $17=(($16)|0)!=0; if ($17) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3344)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1522,tempInt)); __label__ = 5; break; case 5: var $21=$2; var $22=(($21+384)|0); var $23=_mutex_owned($22); var $24=(($23)|0)!=0; var $25=(($24)&1); var $26=$25; var $27=(($26)|0)!=0; if ($27) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5346)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1523,tempInt)); __label__ = 8; break; case 8: var $31=$3; var $32=(($31) & 1); if ($32) { __label__ = 9; break; } else { __label__ = 12; break; } case 9: __label__ = 10; break; case 10: __kernel_lock(1); __label__ = 11; break; case 11: var $36=$1; var $37=(($36+64)|0); var $38=HEAP32[(($37)>>2)]; var $39=(($38+8)|0); var $40=HEAP32[(($39)>>2)]; var $41=$1; FUNCTION_TABLE[$40]($41); __kernel_unlock(1, 0); __label__ = 12; break; case 12: var $43=$1; var $44=(($43+64)|0); var $45=HEAP32[(($44)>>2)]; var $46=(($45)|0); var $47=HEAP32[(($46)>>2)]; var $48=(($47)|0)!=0; if ($48) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: var $50=$1; var $51=(($50+20)|0); var $52=(($51)|0); var $53=HEAP32[(($52)>>2)]; var $54=$2; var $55=(($54+388)|0); var $56=HEAP32[(($55)>>2)]; var $57=(($56+8)|0); var $58=(($57+($53<<2))|0); var $59=HEAP32[(($58)>>2)]; var $60=(($59+12)|0); var $61=$60; $list=$61; __label__ = 15; break; case 14: var $63=$1; var $64=(($63+20)|0); var $65=(($64)|0); var $66=HEAP32[(($65)>>2)]; var $67=$1; var $68=(($67+20)|0); var $69=(($68)|0); var $70=HEAP32[(($69)>>2)]; var $71=$70 >>> 8; var $72=$66 ^ $71; var $73=$2; var $74=(($73+416)|0); var $75=HEAP32[(($74)>>2)]; var $76=$72 & $75; var $77=$2; var $78=(($77+400)|0); var $79=HEAP32[(($78)>>2)]; var $80=(($79+($76<<2))|0); $list=$80; __label__ = 15; break; case 15: __label__ = 16; break; case 16: var $83=$list; var $84=(($83)|0); var $85=HEAP32[(($84)>>2)]; var $86=$1; var $87=(($85)|0)==(($86)|0); if ($87) { __label__ = 17; break; } else { __label__ = 20; break; } case 17: __label__ = 18; break; case 18: var $90=$list; var $91=(($90)|0); var $92=HEAP32[(($91)>>2)]; var $93=(($92)|0); var $94=(($93)|0); var $95=HEAP32[(($94)>>2)]; var $96=$list; var $97=(($96)|0); HEAP32[(($97)>>2)]=$95; __label__ = 19; break; case 19: __label__ = 24; break; case 20: var $100=$list; var $101=(($100)|0); var $102=HEAP32[(($101)>>2)]; $curelm=$102; __label__ = 21; break; case 21: var $104=$curelm; var $105=(($104)|0); var $106=(($105)|0); var $107=HEAP32[(($106)>>2)]; var $108=$1; var $109=(($107)|0)!=(($108)|0); if ($109) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $111=$curelm; var $112=(($111)|0); var $113=(($112)|0); var $114=HEAP32[(($113)>>2)]; $curelm=$114; __label__ = 21; break; case 23: var $116=$curelm; var $117=(($116)|0); var $118=(($117)|0); var $119=HEAP32[(($118)>>2)]; var $120=(($119)|0); var $121=(($120)|0); var $122=HEAP32[(($121)>>2)]; var $123=$curelm; var $124=(($123)|0); var $125=(($124)|0); HEAP32[(($125)>>2)]=$122; __label__ = 24; break; case 24: __label__ = 25; break; case 25: var $128=$kq; var $129=(($128+8)|0); _mutex_spin_enter($129); var $130=$1; var $131=(($130+48)|0); var $132=HEAP32[(($131)>>2)]; var $133=$132 & 2; var $134=(($133)|0)!=0; if ($134) { __label__ = 26; break; } else { __label__ = 32; break; } case 26: __label__ = 27; break; case 27: var $137=$1; var $138=(($137+8)|0); var $139=(($138)|0); var $140=HEAP32[(($139)>>2)]; var $141=(($140)|0)!=0; if ($141) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: var $143=$1; var $144=(($143+8)|0); var $145=(($144+4)|0); var $146=HEAP32[(($145)>>2)]; var $147=$1; var $148=(($147+8)|0); var $149=(($148)|0); var $150=HEAP32[(($149)>>2)]; var $151=(($150+8)|0); var $152=(($151+4)|0); HEAP32[(($152)>>2)]=$146; __label__ = 30; break; case 29: var $154=$1; var $155=(($154+8)|0); var $156=(($155+4)|0); var $157=HEAP32[(($156)>>2)]; var $158=$kq; var $159=(($158)|0); var $160=(($159+4)|0); HEAP32[(($160)>>2)]=$157; __label__ = 30; break; case 30: var $162=$1; var $163=(($162+8)|0); var $164=(($163)|0); var $165=HEAP32[(($164)>>2)]; var $166=$1; var $167=(($166+8)|0); var $168=(($167+4)|0); var $169=HEAP32[(($168)>>2)]; HEAP32[(($169)>>2)]=$165; __label__ = 31; break; case 31: var $171=$1; var $172=(($171+48)|0); var $173=HEAP32[(($172)>>2)]; var $174=$173 & -3; HEAP32[(($172)>>2)]=$174; var $175=$kq; var $176=(($175+64)|0); var $177=HEAP32[(($176)>>2)]; var $178=((($177)-(1))|0); HEAP32[(($176)>>2)]=$178; __label__ = 32; break; case 32: var $180=$kq; var $181=(($180+8)|0); _mutex_spin_exit($181); var $182=$2; var $183=(($182+384)|0); _mutex_exit($183); var $184=$1; var $185=(($184+64)|0); var $186=HEAP32[(($185)>>2)]; var $187=(($186)|0); var $188=HEAP32[(($187)>>2)]; var $189=(($188)|0)!=0; if ($189) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: var $191=$1; var $192=(($191+20)|0); var $193=(($192)|0); var $194=HEAP32[(($193)>>2)]; _fd_putfile($194); __label__ = 34; break; case 34: var $196=$1; var $197=(($196+68)|0); var $198=HEAP32[(($197)>>2)]; var $199=(($198+8)|0); _atomic_dec_uint($199); var $200=$1; var $201=$200; _kmem_free($201, 76); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _knote_detach["X"]=1; function _kfilter_byfilter($filter) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kfilter; $2=$filter; var $3=_rw_lock_held(_kqueue_filter_lock); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6347)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=269,tempInt)); __label__ = 5; break; case 5: var $11=$2; var $12=(($11)>>>0) < 7; if ($12) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $14=$2; var $15=((_sys_kfilters+($14)*(20))|0); $kfilter=$15; __label__ = 12; break; case 7: var $17=HEAP32[((_user_kfilters)>>2)]; var $18=(($17)|0)!=0; if ($18) { __label__ = 8; break; } else { __label__ = 10; break; } case 8: var $20=$2; var $21=HEAP32[((_user_kfilterc)>>2)]; var $22=((($21)+(7))|0); var $23=(($20)>>>0) < (($22)>>>0); if ($23) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $25=$2; var $26=((($25)-(7))|0); var $27=HEAP32[((_user_kfilters)>>2)]; var $28=(($27+($26)*(20))|0); $kfilter=$28; __label__ = 11; break; case 10: $1=0; __label__ = 16; break; case 11: __label__ = 12; break; case 12: var $32=$kfilter; var $33=(($32+4)|0); var $34=HEAP32[(($33)>>2)]; var $35=$2; var $36=(($34)|0)==(($35)|0); var $37=(($36)&1); var $38=(($37)|0)!=0; var $39=(($38)&1); var $40=$39; var $41=(($40)|0)!=0; if ($41) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str7348)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=279,tempInt)); __label__ = 15; break; case 15: var $45=$kfilter; $1=$45; __label__ = 16; break; case 16: var $47=$1; STACKTOP = __stackBase__; return $47; default: assert(0, "bad label: " + __label__); } } _kfilter_byfilter["X"]=1; function _knote_enqueue($kn) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $kq; $1=$kn; var $2=$1; var $3=(($2+48)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4 & 16; var $6=(($5)|0)==0; var $7=(($6)&1); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3344)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1567,tempInt)); __label__ = 5; break; case 5: var $15=$1; var $16=(($15+16)|0); var $17=HEAP32[(($16)>>2)]; $kq=$17; var $18=$kq; var $19=(($18+8)|0); _mutex_spin_enter($19); var $20=$1; var $21=(($20+48)|0); var $22=HEAP32[(($21)>>2)]; var $23=$22 & 4; var $24=(($23)|0)!=0; if ($24) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $26=$1; var $27=(($26+48)|0); var $28=HEAP32[(($27)>>2)]; var $29=$28 & -5; HEAP32[(($27)>>2)]=$29; __label__ = 7; break; case 7: var $31=$1; var $32=(($31+48)|0); var $33=HEAP32[(($32)>>2)]; var $34=$33 & 3; var $35=(($34)|0)==1; if ($35) { __label__ = 8; break; } else { __label__ = 11; break; } case 8: __label__ = 9; break; case 9: var $38=$1; var $39=(($38+8)|0); var $40=(($39)|0); HEAP32[(($40)>>2)]=0; var $41=$kq; var $42=(($41)|0); var $43=(($42+4)|0); var $44=HEAP32[(($43)>>2)]; var $45=$1; var $46=(($45+8)|0); var $47=(($46+4)|0); HEAP32[(($47)>>2)]=$44; var $48=$1; var $49=$kq; var $50=(($49)|0); var $51=(($50+4)|0); var $52=HEAP32[(($51)>>2)]; HEAP32[(($52)>>2)]=$48; var $53=$1; var $54=(($53+8)|0); var $55=(($54)|0); var $56=$kq; var $57=(($56)|0); var $58=(($57+4)|0); HEAP32[(($58)>>2)]=$55; __label__ = 10; break; case 10: var $60=$1; var $61=(($60+48)|0); var $62=HEAP32[(($61)>>2)]; var $63=$62 | 2; HEAP32[(($61)>>2)]=$63; var $64=$kq; var $65=(($64+64)|0); var $66=HEAP32[(($65)>>2)]; var $67=((($66)+(1))|0); HEAP32[(($65)>>2)]=$67; var $68=$kq; var $69=(($68+52)|0); _cv_broadcast($69); var $70=$kq; var $71=(($70+16)|0); _selnotify($71, 0, 16777216); __label__ = 11; break; case 11: var $73=$kq; var $74=(($73+8)|0); _mutex_spin_exit($74); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _knote_enqueue["X"]=1; function _filt_timerattach($kn) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $calloutp; var $kq; var $tticks; $2=$kn; var $3=$2; var $4=(($3+56)|0); var $5=HEAP32[(($4)>>2)]; var $6=(($5)>>>0) >= 131072; var $7=(($6)&1); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $13=$2; var $14=(($13+56)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0); var $17=Math.floor(((($16)>>>0))/(1000)); var $18=HEAP32[((_hz)>>2)]; var $19=((($17)*($18))|0); var $29 = $19;__label__ = 5; break; case 4: var $21=$2; var $22=(($21+56)|0); var $23=HEAP32[(($22)>>2)]; var $24=(($23)|0); var $25=HEAP32[((_hz)>>2)]; var $26=((($24)*($25))|0); var $27=Math.floor(((($26)>>>0))/(1000)); var $29 = $27;__label__ = 5; break; case 5: var $29; $tticks=$29; var $30=$tticks; var $31=(($30)|0)==0; if ($31) { __label__ = 6; break; } else { __label__ = 9; break; } case 6: var $33=$2; var $34=(($33+56)|0); var $35=HEAP32[(($34)>>2)]; var $36=(($35)|0)==0; if ($36) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $1=22; __label__ = 13; break; case 8: $tticks=1; __label__ = 9; break; case 9: var $40=_atomic_inc_uint_nv(_kq_ncallouts); var $41=HEAP32[((_kq_calloutmax)>>2)]; var $42=(($40)>>>0) >= (($41)>>>0); if ($42) { __label__ = 11; break; } else { __label__ = 10; break; } case 10: var $44=_kmem_alloc(40, 2); var $45=$44; $calloutp=$45; var $46=(($45)|0)==0; if ($46) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: _atomic_dec_uint(_kq_ncallouts); $1=12; __label__ = 13; break; case 12: var $49=$calloutp; _callout_init($49, 256); var $50=$2; var $51=(($50+16)|0); var $52=HEAP32[(($51)>>2)]; $kq=$52; var $53=$kq; var $54=(($53+8)|0); _mutex_spin_enter($54); var $55=$2; var $56=(($55+20)|0); var $57=(($56+8)|0); var $58=HEAP32[(($57)>>2)]; var $59=$58 | 32; HEAP32[(($57)>>2)]=$59; var $60=$calloutp; var $61=$60; var $62=$2; var $63=(($62+72)|0); HEAP32[(($63)>>2)]=$61; var $64=$kq; var $65=(($64+8)|0); _mutex_spin_exit($65); var $66=$calloutp; var $67=$tticks; var $68=$2; var $69=$68; _callout_reset($66, $67, 26, $69); $1=0; __label__ = 13; break; case 13: var $71=$1; ; return $71; default: assert(0, "bad label: " + __label__); } } _filt_timerattach["X"]=1; function _filt_timerdetach($kn) { ; var __label__; var $1; var $calloutp; $1=$kn; var $2=$1; var $3=(($2+72)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4; $calloutp=$5; var $6=$calloutp; var $7=_callout_halt($6, 0); var $8=$calloutp; _callout_destroy($8); var $9=$calloutp; var $10=$9; _kmem_free($10, 40); _atomic_dec_uint(_kq_ncallouts); ; return; } function _filt_timer($kn, $hint) { ; var __label__; var $1; var $2; var $rv; $1=$kn; $2=$hint; _mutex_enter(_kqueue_misc_lock); var $3=$1; var $4=(($3+20)|0); var $5=(($4+16)|0); var $st$9$0=(($5)|0); var $6$0=HEAP32[(($st$9$0)>>2)]; var $st$9$1=(($5+4)|0); var $6$1=HEAP32[(($st$9$1)>>2)]; var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $7=$6$0 != $$emscripten$temp$0$0 || $6$1 != $$emscripten$temp$0$1; var $8=(($7)&1); $rv=$8; _mutex_exit(_kqueue_misc_lock); var $9=$rv; ; return $9; } function _filt_timerexpire($knx) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $kn; var $tticks; $1=$knx; var $2=$1; var $3=$2; $kn=$3; _mutex_enter(_kqueue_misc_lock); var $4=$kn; var $5=(($4+20)|0); var $6=(($5+16)|0); var $st$11$0=(($6)|0); var $7$0=HEAP32[(($st$11$0)>>2)]; var $st$11$1=(($6+4)|0); var $7$1=HEAP32[(($st$11$1)>>2)]; var $$emscripten$temp$0$0=1; var $$emscripten$temp$0$1=0; var $8$0 = (i64Math.add($7$0,$7$1,$$emscripten$temp$0$0,$$emscripten$temp$0$1),i64Math.result[0]); var $8$1 = i64Math.result[1]; var $st$18$0=(($6)|0); HEAP32[(($st$18$0)>>2)]=$8$0; var $st$18$1=(($6+4)|0); HEAP32[(($st$18$1)>>2)]=$8$1; var $9=$kn; _knote_activate($9); var $10=$kn; var $11=(($10+20)|0); var $12=(($11+8)|0); var $13=HEAP32[(($12)>>2)]; var $14=$13 & 16; var $15=(($14)|0)==0; if ($15) { __label__ = 3; break; } else { __label__ = 9; break; } case 3: var $17=$kn; var $18=(($17+56)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($19)>>>0) >= 131072; var $21=(($20)&1); var $22=(($21)|0)!=0; var $23=(($22)&1); var $24=$23; var $25=(($24)|0)!=0; if ($25) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $27=$kn; var $28=(($27+56)|0); var $29=HEAP32[(($28)>>2)]; var $30=(($29)|0); var $31=Math.floor(((($30)>>>0))/(1000)); var $32=HEAP32[((_hz)>>2)]; var $33=((($31)*($32))|0); var $43 = $33;__label__ = 6; break; case 5: var $35=$kn; var $36=(($35+56)|0); var $37=HEAP32[(($36)>>2)]; var $38=(($37)|0); var $39=HEAP32[((_hz)>>2)]; var $40=((($38)*($39))|0); var $41=Math.floor(((($40)>>>0))/(1000)); var $43 = $41;__label__ = 6; break; case 6: var $43; $tticks=$43; var $44=$tticks; var $45=(($44)|0) <= 0; if ($45) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $tticks=1; __label__ = 8; break; case 8: var $48=$kn; var $49=(($48+72)|0); var $50=HEAP32[(($49)>>2)]; var $51=$50; var $52=$tticks; _callout_schedule($51, $52); __label__ = 9; break; case 9: _mutex_exit(_kqueue_misc_lock); ; return; default: assert(0, "bad label: " + __label__); } } _filt_timerexpire["X"]=1; function _filt_procattach($kn) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $p; var $curp; var $curl; $2=$kn; var $3=_rumpuser_get_curlwp(); $curl=$3; var $4=$curl; var $5=(($4+272)|0); var $6=HEAP32[(($5)>>2)]; $curp=$6; var $7=HEAP32[((_proc_lock)>>2)]; _mutex_enter($7); var $8=$2; var $9=(($8+20)|0); var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; var $12=_proc_find($11); $p=$12; var $13=$p; var $14=(($13)|0)==0; if ($14) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $16=HEAP32[((_proc_lock)>>2)]; _mutex_exit($16); $1=3; __label__ = 11; break; case 4: var $18=$p; var $19=(($18+12)|0); var $20=HEAP32[(($19)>>2)]; _mutex_enter($20); var $21=HEAP32[((_proc_lock)>>2)]; _mutex_exit($21); var $22=$curl; var $23=(($22+480)|0); var $24=HEAP32[(($23)>>2)]; var $25=$p; var $26=_kauth_authorize_process($24, 4, $25, 0, 0, 0); var $27=(($26)|0)!=0; if ($27) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $29=$p; var $30=(($29+12)|0); var $31=HEAP32[(($30)>>2)]; _mutex_exit($31); $1=13; __label__ = 11; break; case 6: var $33=$p; var $34=$33; var $35=$2; var $36=(($35+60)|0); HEAP32[(($36)>>2)]=$34; var $37=$2; var $38=(($37+20)|0); var $39=(($38+8)|0); var $40=HEAP32[(($39)>>2)]; var $41=$40 | 32; HEAP32[(($39)>>2)]=$41; var $42=$2; var $43=(($42+20)|0); var $44=(($43+8)|0); var $45=HEAP32[(($44)>>2)]; var $46=$45 & 8192; var $47=(($46)|0)!=0; if ($47) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $49=$2; var $50=(($49+56)|0); var $51=HEAP32[(($50)>>2)]; var $52$0=$51; var $52$1=0; var $53=$2; var $54=(($53+20)|0); var $55=(($54+16)|0); var $st$8$0=(($55)|0); HEAP32[(($st$8$0)>>2)]=$52$0; var $st$8$1=(($55+4)|0); HEAP32[(($st$8$1)>>2)]=$52$1; var $56=$2; var $57=(($56+20)|0); var $58=(($57+12)|0); HEAP32[(($58)>>2)]=4; var $59=$2; var $60=(($59+20)|0); var $61=(($60+8)|0); var $62=HEAP32[(($61)>>2)]; var $63=$62 & -8193; HEAP32[(($61)>>2)]=$63; __label__ = 8; break; case 8: __label__ = 9; break; case 9: var $66=$p; var $67=(($66+288)|0); var $68=(($67)|0); var $69=HEAP32[(($68)>>2)]; var $70=$2; var $71=(($70+4)|0); var $72=(($71)|0); HEAP32[(($72)>>2)]=$69; var $73=$2; var $74=$p; var $75=(($74+288)|0); var $76=(($75)|0); HEAP32[(($76)>>2)]=$73; __label__ = 10; break; case 10: var $78=$p; var $79=(($78+12)|0); var $80=HEAP32[(($79)>>2)]; _mutex_exit($80); $1=0; __label__ = 11; break; case 11: var $82=$1; ; return $82; default: assert(0, "bad label: " + __label__); } } _filt_procattach["X"]=1; function _filt_procdetach($kn) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $p; var $curelm; $1=$kn; var $2=$1; var $3=(($2+48)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4 & 8; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 15; break; case 4: var $9=$1; var $10=(($9+60)|0); var $11=HEAP32[(($10)>>2)]; var $12=$11; $p=$12; var $13=$p; var $14=(($13+12)|0); var $15=HEAP32[(($14)>>2)]; _mutex_enter($15); __label__ = 5; break; case 5: var $17=$p; var $18=(($17+288)|0); var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=$1; var $22=(($20)|0)==(($21)|0); if ($22) { __label__ = 6; break; } else { __label__ = 9; break; } case 6: __label__ = 7; break; case 7: var $25=$p; var $26=(($25+288)|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28+4)|0); var $30=(($29)|0); var $31=HEAP32[(($30)>>2)]; var $32=$p; var $33=(($32+288)|0); var $34=(($33)|0); HEAP32[(($34)>>2)]=$31; __label__ = 8; break; case 8: __label__ = 13; break; case 9: var $37=$p; var $38=(($37+288)|0); var $39=(($38)|0); var $40=HEAP32[(($39)>>2)]; $curelm=$40; __label__ = 10; break; case 10: var $42=$curelm; var $43=(($42+4)|0); var $44=(($43)|0); var $45=HEAP32[(($44)>>2)]; var $46=$1; var $47=(($45)|0)!=(($46)|0); if ($47) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $49=$curelm; var $50=(($49+4)|0); var $51=(($50)|0); var $52=HEAP32[(($51)>>2)]; $curelm=$52; __label__ = 10; break; case 12: var $54=$curelm; var $55=(($54+4)|0); var $56=(($55)|0); var $57=HEAP32[(($56)>>2)]; var $58=(($57+4)|0); var $59=(($58)|0); var $60=HEAP32[(($59)>>2)]; var $61=$curelm; var $62=(($61+4)|0); var $63=(($62)|0); HEAP32[(($63)>>2)]=$60; __label__ = 13; break; case 13: __label__ = 14; break; case 14: var $66=$p; var $67=(($66+12)|0); var $68=HEAP32[(($67)>>2)]; _mutex_exit($68); __label__ = 15; break; case 15: ; return; default: assert(0, "bad label: " + __label__); } } _filt_procdetach["X"]=1; function _kqueue_fcntl($fp, $com, $data) { ; var __label__; var $1; var $2; var $3; $1=$fp; $2=$com; $3=$data; ; return 25; } function _filt_proc($kn, $hint) { var __stackBase__ = STACKTOP; STACKTOP += 28; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $event; var $fflag; var $kev=__stackBase__; var $kq; var $error; $2=$kn; $3=$hint; var $4=$3; var $5=$4 & -268435456; $event=$5; var $6=$2; var $7=(($6+16)|0); var $8=HEAP32[(($7)>>2)]; $kq=$8; $fflag=0; var $9=$2; var $10=(($9+52)|0); var $11=HEAP32[(($10)>>2)]; var $12=$event; var $13=$11 & $12; var $14=(($13)|0)!=0; if ($14) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $16=$event; var $17=$fflag; var $18=$17 | $16; $fflag=$18; __label__ = 4; break; case 4: var $20=$event; var $21=(($20)|0)==-2147483648; if ($21) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $23=$2; _filt_procdetach($23); var $24=$kq; var $25=(($24+8)|0); _mutex_spin_enter($25); var $26=$2; var $27=(($26+48)|0); var $28=HEAP32[(($27)>>2)]; var $29=$28 | 8; HEAP32[(($27)>>2)]=$29; var $30=$2; var $31=(($30+20)|0); var $32=(($31+8)|0); var $33=HEAP32[(($32)>>2)]; var $34=$33 | 32784; HEAP32[(($32)>>2)]=$34; var $35=$fflag; var $36=$2; var $37=(($36+20)|0); var $38=(($37+12)|0); var $39=HEAP32[(($38)>>2)]; var $40=$39 | $35; HEAP32[(($38)>>2)]=$40; var $41=$kq; var $42=(($41+8)|0); _mutex_spin_exit($42); $1=1; __label__ = 12; break; case 6: var $44=$kq; var $45=(($44+8)|0); _mutex_spin_enter($45); var $46=$event; var $47=(($46)|0)==1073741824; if ($47) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $49=$2; var $50=(($49+52)|0); var $51=HEAP32[(($50)>>2)]; var $52=$51 & 1; var $53=(($52)|0)!=0; if ($53) { __label__ = 8; break; } else { __label__ = 11; break; } case 8: var $55=$3; var $56=$55 & 1048575; var $57=(($kev)|0); HEAP32[(($57)>>2)]=$56; var $58=$2; var $59=(($58+20)|0); var $60=(($59+4)|0); var $61=HEAP32[(($60)>>2)]; var $62=(($kev+4)|0); HEAP32[(($62)>>2)]=$61; var $63=$2; var $64=(($63+20)|0); var $65=(($64+8)|0); var $66=HEAP32[(($65)>>2)]; var $67=$66 | 1; var $68=$67 | 4; var $69=$68 | 8192; var $70=(($kev+8)|0); HEAP32[(($70)>>2)]=$69; var $71=$2; var $72=(($71+52)|0); var $73=HEAP32[(($72)>>2)]; var $74=(($kev+12)|0); HEAP32[(($74)>>2)]=$73; var $75=$2; var $76=(($75+20)|0); var $77=(($76)|0); var $78=HEAP32[(($77)>>2)]; var $79$0=$78; var $79$1=0; var $80=(($kev+16)|0); var $st$31$0=(($80)|0); HEAP32[(($st$31$0)>>2)]=$79$0; var $st$31$1=(($80+4)|0); HEAP32[(($st$31$1)>>2)]=$79$1; var $81=$2; var $82=(($81+20)|0); var $83=(($82+24)|0); var $84=HEAP32[(($83)>>2)]; var $85=(($kev+24)|0); HEAP32[(($85)>>2)]=$84; var $86=$kq; var $87=(($86+8)|0); _mutex_spin_exit($87); var $88=$kq; var $89=_kqueue_register($88, $kev); $error=$89; var $90=$kq; var $91=(($90+8)|0); _mutex_spin_enter($91); var $92=$error; var $93=(($92)|0)!=0; if ($93) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $95=$2; var $96=(($95+20)|0); var $97=(($96+12)|0); var $98=HEAP32[(($97)>>2)]; var $99=$98 | 2; HEAP32[(($97)>>2)]=$99; __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $102=$fflag; var $103=$2; var $104=(($103+20)|0); var $105=(($104+12)|0); var $106=HEAP32[(($105)>>2)]; var $107=$106 | $102; HEAP32[(($105)>>2)]=$107; var $108=$2; var $109=(($108+20)|0); var $110=(($109+12)|0); var $111=HEAP32[(($110)>>2)]; $fflag=$111; var $112=$kq; var $113=(($112+8)|0); _mutex_spin_exit($113); var $114=$fflag; var $115=(($114)|0)!=0; var $116=(($115)&1); $1=$116; __label__ = 12; break; case 12: var $118=$1; STACKTOP = __stackBase__; return $118; default: assert(0, "bad label: " + __label__); } } _filt_proc["X"]=1; function _filt_fileattach($kn) { ; var __label__; var $1; var $fp; $1=$kn; var $2=$1; var $3=(($2+60)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4; $fp=$5; var $6=$fp; var $7=(($6+12)|0); var $8=HEAP32[(($7)>>2)]; var $9=(($8+28)|0); var $10=HEAP32[(($9)>>2)]; var $11=$fp; var $12=$1; var $13=FUNCTION_TABLE[$10]($11, $12); ; return $13; } function _kqueue_ioctl($fp, $com, $data) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $km; var $kfilter; var $name; var $error; $1=$fp; $2=$com; $3=$data; var $4=$3; var $5=$4; $km=$5; $error=0; var $6=_kmem_alloc(256, 1); $name=$6; var $7=$2; if ((($7)|0) == -1072928000) { __label__ = 3; break; } else if ((($7)|0) == -1072927999) { __label__ = 7; break; } else { __label__ = 13; break; } case 3: _rw_enter(_kqueue_filter_lock, 0); var $9=$km; var $10=(($9+8)|0); var $11=HEAP32[(($10)>>2)]; var $12=_kfilter_byfilter($11); $kfilter=$12; var $13=$kfilter; var $14=(($13)|0)!=0; if ($14) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $16=$name; var $17=$kfilter; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=_strlcpy($16, $19, 256); _rw_exit(_kqueue_filter_lock); var $21=$name; var $22=$km; var $23=(($22)|0); var $24=HEAP32[(($23)>>2)]; var $25=$km; var $26=(($25+4)|0); var $27=HEAP32[(($26)>>2)]; var $28=_copyoutstr($21, $24, $27, 0); $error=$28; __label__ = 6; break; case 5: _rw_exit(_kqueue_filter_lock); $error=2; __label__ = 6; break; case 6: __label__ = 14; break; case 7: var $32=$km; var $33=(($32)|0); var $34=HEAP32[(($33)>>2)]; var $35=$name; var $36=_copyinstr($34, $35, 256, 0); $error=$36; var $37=$error; var $38=(($37)|0)!=0; if ($38) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 14; break; case 9: _rw_enter(_kqueue_filter_lock, 0); var $41=$name; var $42=_kfilter_byname($41); $kfilter=$42; var $43=$kfilter; var $44=(($43)|0)!=0; if ($44) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $46=$kfilter; var $47=(($46+4)|0); var $48=HEAP32[(($47)>>2)]; var $49=$km; var $50=(($49+8)|0); HEAP32[(($50)>>2)]=$48; __label__ = 12; break; case 11: $error=2; __label__ = 12; break; case 12: _rw_exit(_kqueue_filter_lock); __label__ = 14; break; case 13: $error=25; __label__ = 14; break; case 14: var $55=$name; _kmem_free($55, 256); var $56=$error; ; return $56; default: assert(0, "bad label: " + __label__); } } _kqueue_ioctl["X"]=1; function _kqueue_poll($fp, $events) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kq; var $revents; $1=$fp; $2=$events; var $3=$1; var $4=(($3+16)|0); var $5=HEAP32[(($4)>>2)]; var $6=$5; $kq=$6; $revents=0; var $7=$2; var $8=$7 & 65; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 7; break; } case 3: var $11=$kq; var $12=(($11+8)|0); _mutex_spin_enter($12); var $13=$kq; var $14=(($13+64)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($15)|0)!=0; if ($16) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $18=$2; var $19=$18 & 65; var $20=$revents; var $21=$20 | $19; $revents=$21; __label__ = 6; break; case 5: var $23=_rumpuser_get_curlwp(); var $24=$kq; var $25=(($24+16)|0); _selrecord($23, $25); __label__ = 6; break; case 6: var $27=$kq; var $28=(($27+8)|0); _mutex_spin_exit($28); __label__ = 7; break; case 7: var $30=$revents; ; return $30; default: assert(0, "bad label: " + __label__); } } function _kqueue_stat($fp, $st) { ; var __label__; var $1; var $2; var $kq; $1=$fp; $2=$st; var $3=$1; var $4=(($3+16)|0); var $5=HEAP32[(($4)>>2)]; var $6=$5; $kq=$6; var $7=$2; var $8=$7; for (var $$dest = $8>>2, $$stop = $$dest + 31; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $9=$kq; var $10=(($9+64)|0); var $11=HEAP32[(($10)>>2)]; var $12$0=$11; var $12$1=((($11)|0) < 0 ? -1 : 0); var $13=$2; var $14=(($13+88)|0); var $st$20$0=(($14)|0); HEAP32[(($st$20$0)>>2)]=$12$0; var $st$20$1=(($14+4)|0); HEAP32[(($st$20$1)>>2)]=$12$1; var $15=$2; var $16=(($15+104)|0); HEAP32[(($16)>>2)]=28; var $17=$2; var $18=(($17+8)|0); HEAP32[(($18)>>2)]=4096; ; return 0; } function _kqueue_close($fp) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $kq; var $fdp; var $ff; var $i; $1=$fp; var $2=$1; var $3=(($2+16)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4; $kq=$5; var $6=_rumpuser_get_curlwp(); var $7=(($6+484)|0); var $8=HEAP32[(($7)>>2)]; $fdp=$8; var $9=$fdp; var $10=(($9+384)|0); _mutex_enter($10); $i=0; __label__ = 3; break; case 3: var $12=$i; var $13=$fdp; var $14=(($13+404)|0); var $15=HEAP32[(($14)>>2)]; var $16=(($12)|0) <= (($15)|0); if ($16) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: var $18=$i; var $19=$fdp; var $20=(($19+388)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21+8)|0); var $23=(($22+($18<<2))|0); var $24=HEAP32[(($23)>>2)]; $ff=$24; var $25=(($24)|0)==0; if ($25) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 7; break; case 6: var $28=$kq; var $29=$ff; var $30=(($29+12)|0); var $31=$30; var $32=$i; _kqueue_doclose($28, $31, $32); __label__ = 7; break; case 7: var $34=$i; var $35=((($34)+(1))|0); $i=$35; __label__ = 3; break; case 8: var $37=$fdp; var $38=(($37+416)|0); var $39=HEAP32[(($38)>>2)]; var $40=(($39)|0)!=0; if ($40) { __label__ = 9; break; } else { __label__ = 14; break; } case 9: $i=0; __label__ = 10; break; case 10: var $43=$i; var $44=$fdp; var $45=(($44+416)|0); var $46=HEAP32[(($45)>>2)]; var $47=((($46)+(1))|0); var $48=(($43)>>>0) < (($47)>>>0); if ($48) { __label__ = 11; break; } else { __label__ = 13; break; } case 11: var $50=$kq; var $51=$i; var $52=$fdp; var $53=(($52+400)|0); var $54=HEAP32[(($53)>>2)]; var $55=(($54+($51<<2))|0); _kqueue_doclose($50, $55, -1); __label__ = 12; break; case 12: var $57=$i; var $58=((($57)+(1))|0); $i=$58; __label__ = 10; break; case 13: __label__ = 14; break; case 14: var $61=$fdp; var $62=(($61+384)|0); _mutex_exit($62); var $63=$kq; var $64=(($63+64)|0); var $65=HEAP32[(($64)>>2)]; var $66=(($65)|0)==0; var $67=(($66)&1); var $68=(($67)|0)!=0; var $69=(($68)&1); var $70=$69; var $71=(($70)|0)!=0; if ($71) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 17; break; case 16: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17358)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1439,tempInt)); __label__ = 17; break; case 17: var $75=$kq; var $76=(($75+8)|0); _mutex_destroy($76); var $77=$kq; var $78=(($77+52)|0); _cv_destroy($78); var $79=$kq; var $80=(($79+16)|0); _seldestroy($80); var $81=$kq; var $82=$81; _kmem_free($82, 68); var $83=$1; var $84=(($83+16)|0); HEAP32[(($84)>>2)]=0; STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } _kqueue_close["X"]=1; function _kqueue_kqfilter($fp, $kn) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $kq; $2=$fp; $3=$kn; var $4=$3; var $5=(($4+60)|0); var $6=HEAP32[(($5)>>2)]; var $7=$6; var $8=(($7+16)|0); var $9=HEAP32[(($8)>>2)]; var $10=$9; $kq=$10; var $11=$2; var $12=$3; var $13=(($12+60)|0); var $14=HEAP32[(($13)>>2)]; var $15=$14; var $16=(($11)|0)==(($15)|0); var $17=(($16)&1); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str16357)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1460,tempInt)); __label__ = 5; break; case 5: var $25=$3; var $26=(($25+20)|0); var $27=(($26+4)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28)|0)!=0; if ($29) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $1=1; __label__ = 10; break; case 7: var $32=$3; var $33=(($32+64)|0); HEAP32[(($33)>>2)]=_kqread_filtops; var $34=$kq; var $35=(($34+8)|0); _mutex_enter($35); __label__ = 8; break; case 8: var $37=$kq; var $38=(($37+16)|0); var $39=(($38)|0); var $40=(($39)|0); var $41=HEAP32[(($40)>>2)]; var $42=$3; var $43=(($42+4)|0); var $44=(($43)|0); HEAP32[(($44)>>2)]=$41; var $45=$3; var $46=$kq; var $47=(($46+16)|0); var $48=(($47)|0); var $49=(($48)|0); HEAP32[(($49)>>2)]=$45; __label__ = 9; break; case 9: var $51=$kq; var $52=(($51+8)|0); _mutex_exit($52); $1=0; __label__ = 10; break; case 10: var $54=$1; STACKTOP = __stackBase__; return $54; default: assert(0, "bad label: " + __label__); } } _kqueue_kqfilter["X"]=1; function _filt_kqdetach($kn) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $kq; var $curelm; $1=$kn; var $2=$1; var $3=(($2+60)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4; var $6=(($5+16)|0); var $7=HEAP32[(($6)>>2)]; var $8=$7; $kq=$8; var $9=$kq; var $10=(($9+8)|0); _mutex_spin_enter($10); __label__ = 3; break; case 3: var $12=$kq; var $13=(($12+16)|0); var $14=(($13)|0); var $15=(($14)|0); var $16=HEAP32[(($15)>>2)]; var $17=$1; var $18=(($16)|0)==(($17)|0); if ($18) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: __label__ = 5; break; case 5: var $21=$kq; var $22=(($21+16)|0); var $23=(($22)|0); var $24=(($23)|0); var $25=HEAP32[(($24)>>2)]; var $26=(($25+4)|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=$kq; var $30=(($29+16)|0); var $31=(($30)|0); var $32=(($31)|0); HEAP32[(($32)>>2)]=$28; __label__ = 6; break; case 6: __label__ = 11; break; case 7: var $35=$kq; var $36=(($35+16)|0); var $37=(($36)|0); var $38=(($37)|0); var $39=HEAP32[(($38)>>2)]; $curelm=$39; __label__ = 8; break; case 8: var $41=$curelm; var $42=(($41+4)|0); var $43=(($42)|0); var $44=HEAP32[(($43)>>2)]; var $45=$1; var $46=(($44)|0)!=(($45)|0); if ($46) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $48=$curelm; var $49=(($48+4)|0); var $50=(($49)|0); var $51=HEAP32[(($50)>>2)]; $curelm=$51; __label__ = 8; break; case 10: var $53=$curelm; var $54=(($53+4)|0); var $55=(($54)|0); var $56=HEAP32[(($55)>>2)]; var $57=(($56+4)|0); var $58=(($57)|0); var $59=HEAP32[(($58)>>2)]; var $60=$curelm; var $61=(($60+4)|0); var $62=(($61)|0); HEAP32[(($62)>>2)]=$59; __label__ = 11; break; case 11: __label__ = 12; break; case 12: var $65=$kq; var $66=(($65+8)|0); _mutex_spin_exit($66); ; return; default: assert(0, "bad label: " + __label__); } } _filt_kqdetach["X"]=1; function _filt_kqueue($kn, $hint) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $kq; var $rv; $1=$kn; $2=$hint; var $3=$1; var $4=(($3+60)|0); var $5=HEAP32[(($4)>>2)]; var $6=$5; var $7=(($6+16)|0); var $8=HEAP32[(($7)>>2)]; var $9=$8; $kq=$9; var $10=$2; var $11=(($10)|0)!=16777216; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $13=$kq; var $14=(($13+8)|0); _mutex_spin_enter($14); __label__ = 4; break; case 4: var $16=$kq; var $17=(($16+64)|0); var $18=HEAP32[(($17)>>2)]; var $19$0=$18; var $19$1=((($18)|0) < 0 ? -1 : 0); var $20=$1; var $21=(($20+20)|0); var $22=(($21+16)|0); var $st$8$0=(($22)|0); HEAP32[(($st$8$0)>>2)]=$19$0; var $st$8$1=(($22+4)|0); HEAP32[(($st$8$1)>>2)]=$19$1; var $23=$1; var $24=(($23+20)|0); var $25=(($24+16)|0); var $st$15$0=(($25)|0); var $26$0=HEAP32[(($st$15$0)>>2)]; var $st$15$1=(($25+4)|0); var $26$1=HEAP32[(($st$15$1)>>2)]; var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $27=($26$1|0) > ($$emscripten$temp$0$1|0) || (($26$1|0) == ($$emscripten$temp$0$1|0) && ($26$0>>>0) > ($$emscripten$temp$0$0>>>0)); var $28=(($27)&1); $rv=$28; var $29=$2; var $30=(($29)|0)!=16777216; if ($30) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $32=$kq; var $33=(($32+8)|0); _mutex_spin_exit($33); __label__ = 6; break; case 6: var $35=$rv; ; return $35; default: assert(0, "bad label: " + __label__); } } _filt_kqueue["X"]=1; function _kqueue_doclose($kq, $list, $fd) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $kn; var $fdp; $1=$kq; $2=$list; $3=$fd; var $4=$1; var $5=(($4+12)|0); var $6=HEAP32[(($5)>>2)]; $fdp=$6; var $7=$fdp; var $8=(($7+384)|0); var $9=_mutex_owned($8); var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=$11; var $13=(($12)|0)!=0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str1342)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2343)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5346)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4345)|0),HEAP32[(((tempInt)+(12))>>2)]=1398,tempInt)); __label__ = 5; break; case 5: var $17=$2; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; $kn=$19; __label__ = 6; break; case 6: var $21=$kn; var $22=(($21)|0)!=0; if ($22) { __label__ = 7; break; } else { __label__ = 10; break; } case 7: var $24=$1; var $25=$kn; var $26=(($25+16)|0); var $27=HEAP32[(($26)>>2)]; var $28=(($24)|0)!=(($27)|0); if ($28) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $30=$kn; var $31=(($30)|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; $kn=$33; __label__ = 6; break; case 9: var $35=$kn; var $36=$fdp; _knote_detach($35, $36, 1); var $37=$fdp; var $38=(($37+384)|0); _mutex_enter($38); var $39=$2; var $40=(($39)|0); var $41=HEAP32[(($40)>>2)]; $kn=$41; __label__ = 6; break; case 10: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _kqueue_doclose["X"]=1; function _shutdownhook_establish($fn, $arg) { ; var __label__; var $1; var $2; $1=$fn; $2=$arg; var $3=$1; var $4=$2; var $5=_hook_establish(_shutdownhook_list, $3, $4); ; return $5; } function _hook_establish($list, $fn, $arg) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $hd; $2=$list; $3=$fn; $4=$arg; var $5=_kern_malloc(16, 1); var $6=$5; $hd=$6; var $7=$hd; var $8=(($7)|0)==0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 9; break; case 4: var $11=$3; var $12=$hd; var $13=(($12+8)|0); HEAP32[(($13)>>2)]=$11; var $14=$4; var $15=$hd; var $16=(($15+12)|0); HEAP32[(($16)>>2)]=$14; __label__ = 5; break; case 5: var $18=$2; var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=$hd; var $22=(($21)|0); var $23=(($22)|0); HEAP32[(($23)>>2)]=$20; var $24=(($20)|0)!=0; if ($24) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $26=$hd; var $27=(($26)|0); var $28=(($27)|0); var $29=$2; var $30=(($29)|0); var $31=HEAP32[(($30)>>2)]; var $32=(($31)|0); var $33=(($32+4)|0); HEAP32[(($33)>>2)]=$28; __label__ = 7; break; case 7: var $35=$hd; var $36=$2; var $37=(($36)|0); HEAP32[(($37)>>2)]=$35; var $38=$2; var $39=(($38)|0); var $40=$hd; var $41=(($40)|0); var $42=(($41+4)|0); HEAP32[(($42)>>2)]=$39; __label__ = 8; break; case 8: var $44=$hd; var $45=$44; $1=$45; __label__ = 9; break; case 9: var $47=$1; ; return $47; default: assert(0, "bad label: " + __label__); } } _hook_establish["X"]=1; function _shutdownhook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; var $2=$1; _hook_disestablish(_shutdownhook_list, $2); ; return; } function _ksymsattach($arg) { ; var __label__; var $1; $1=$arg; ; return; } function _doshutdownhooks() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $dp; __label__ = 3; break; case 3: var $2=HEAP32[((((_shutdownhook_list)|0))>>2)]; $dp=$2; var $3=(($2)|0)!=0; if ($3) { __label__ = 4; break; } else { __label__ = 9; break; } case 4: __label__ = 5; break; case 5: var $6=$dp; var $7=(($6)|0); var $8=(($7)|0); var $9=HEAP32[(($8)>>2)]; var $10=(($9)|0)!=0; if ($10) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $12=$dp; var $13=(($12)|0); var $14=(($13+4)|0); var $15=HEAP32[(($14)>>2)]; var $16=$dp; var $17=(($16)|0); var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=(($19)|0); var $21=(($20+4)|0); HEAP32[(($21)>>2)]=$15; __label__ = 7; break; case 7: var $23=$dp; var $24=(($23)|0); var $25=(($24)|0); var $26=HEAP32[(($25)>>2)]; var $27=$dp; var $28=(($27)|0); var $29=(($28+4)|0); var $30=HEAP32[(($29)>>2)]; HEAP32[(($30)>>2)]=$26; __label__ = 8; break; case 8: var $32=$dp; var $33=(($32+8)|0); var $34=HEAP32[(($33)>>2)]; var $35=$dp; var $36=(($35+12)|0); var $37=HEAP32[(($36)>>2)]; FUNCTION_TABLE[$34]($37); __label__ = 3; break; case 9: ; return; default: assert(0, "bad label: " + __label__); } } function _mountroothook_establish($fn, $dev) { ; var __label__; var $1; var $2; $1=$fn; $2=$dev; var $3=$1; var $4=$3; var $5=$2; var $6=$5; var $7=_hook_establish(_mountroothook_list, $4, $6); ; return $7; } function _mountroothook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; var $2=$1; _hook_disestablish(_mountroothook_list, $2); ; return; } function _mountroothook_destroy() { ; var __label__; _hook_destroy(_mountroothook_list); ; return; } function _hook_destroy($list) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $hd; $1=$list; __label__ = 3; break; case 3: var $3=$1; var $4=(($3)|0); var $5=HEAP32[(($4)>>2)]; $hd=$5; var $6=(($5)|0)!=0; if ($6) { __label__ = 4; break; } else { __label__ = 9; break; } case 4: __label__ = 5; break; case 5: var $9=$hd; var $10=(($9)|0); var $11=(($10)|0); var $12=HEAP32[(($11)>>2)]; var $13=(($12)|0)!=0; if ($13) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $15=$hd; var $16=(($15)|0); var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; var $19=$hd; var $20=(($19)|0); var $21=(($20)|0); var $22=HEAP32[(($21)>>2)]; var $23=(($22)|0); var $24=(($23+4)|0); HEAP32[(($24)>>2)]=$18; __label__ = 7; break; case 7: var $26=$hd; var $27=(($26)|0); var $28=(($27)|0); var $29=HEAP32[(($28)>>2)]; var $30=$hd; var $31=(($30)|0); var $32=(($31+4)|0); var $33=HEAP32[(($32)>>2)]; HEAP32[(($33)>>2)]=$29; __label__ = 8; break; case 8: var $35=$hd; var $36=$35; _kern_free($36); __label__ = 3; break; case 9: ; return; default: assert(0, "bad label: " + __label__); } } function _domountroothook($therootdev) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $hd; $1=$therootdev; var $2=HEAP32[((((_mountroothook_list)|0))>>2)]; $hd=$2; __label__ = 3; break; case 3: var $4=$hd; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: var $7=$hd; var $8=(($7+12)|0); var $9=HEAP32[(($8)>>2)]; var $10=$1; var $11=$10; var $12=(($9)|0)==(($11)|0); if ($12) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $14=$hd; var $15=(($14+8)|0); var $16=HEAP32[(($15)>>2)]; var $17=$hd; var $18=(($17+12)|0); var $19=HEAP32[(($18)>>2)]; FUNCTION_TABLE[$16]($19); __label__ = 8; break; case 6: __label__ = 7; break; case 7: var $22=$hd; var $23=(($22)|0); var $24=(($23)|0); var $25=HEAP32[(($24)>>2)]; $hd=$25; __label__ = 3; break; case 8: ; return; default: assert(0, "bad label: " + __label__); } } function _exechook_establish($fn, $arg) { ; var __label__; var $1; var $2; $1=$fn; $2=$arg; var $3=$1; var $4=$3; var $5=$2; var $6=_hook_establish(_exechook_list, $4, $5); ; return $6; } function _exechook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; var $2=$1; _hook_disestablish(_exechook_list, $2); ; return; } function _doexechooks($p) { ; var __label__; var $1; $1=$p; var $2=$1; _hook_proc_run(_exechook_list, $2); ; return; } function _hook_proc_run($list, $p) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $hd; $1=$list; $2=$p; var $3=$1; var $4=(($3)|0); var $5=HEAP32[(($4)>>2)]; $hd=$5; __label__ = 3; break; case 3: var $7=$hd; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $10=$hd; var $11=(($10+8)|0); var $12=HEAP32[(($11)>>2)]; var $13=$12; var $14=$2; var $15=$hd; var $16=(($15+12)|0); var $17=HEAP32[(($16)>>2)]; FUNCTION_TABLE[$13]($14, $17); __label__ = 5; break; case 5: var $19=$hd; var $20=(($19)|0); var $21=(($20)|0); var $22=HEAP32[(($21)>>2)]; $hd=$22; __label__ = 3; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } function _exithook_establish($fn, $arg) { ; var __label__; var $1; var $2; var $rv; $1=$fn; $2=$arg; _rw_enter(_exec_lock, 1); var $3=$1; var $4=$3; var $5=$2; var $6=_hook_establish(_exithook_list, $4, $5); $rv=$6; _rw_exit(_exec_lock); var $7=$rv; ; return $7; } function _exithook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; _rw_enter(_exec_lock, 1); var $2=$1; _hook_disestablish(_exithook_list, $2); _rw_exit(_exec_lock); ; return; } function _doexithooks($p) { ; var __label__; var $1; $1=$p; var $2=$1; _hook_proc_run(_exithook_list, $2); ; return; } function _forkhook_establish($fn) { ; var __label__; var $1; $1=$fn; var $2=$1; var $3=$2; var $4=_hook_establish(_forkhook_list, $3, 0); ; return $4; } function _forkhook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; var $2=$1; _hook_disestablish(_forkhook_list, $2); ; return; } function _doforkhooks($p2, $p1) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $hd; $1=$p2; $2=$p1; var $3=HEAP32[((((_forkhook_list)|0))>>2)]; $hd=$3; __label__ = 3; break; case 3: var $5=$hd; var $6=(($5)|0)!=0; if ($6) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $8=$hd; var $9=(($8+8)|0); var $10=HEAP32[(($9)>>2)]; var $11=$10; var $12=$1; var $13=$2; FUNCTION_TABLE[$11]($12, $13); __label__ = 5; break; case 5: var $15=$hd; var $16=(($15)|0); var $17=(($16)|0); var $18=HEAP32[(($17)>>2)]; $hd=$18; __label__ = 3; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } function _critpollhook_establish($fn, $arg) { ; var __label__; var $1; var $2; $1=$fn; $2=$arg; var $3=$1; var $4=$2; var $5=_hook_establish(_critpollhook_list, $3, $4); ; return $5; } function _critpollhook_disestablish($vhook) { ; var __label__; var $1; $1=$vhook; var $2=$1; _hook_disestablish(_critpollhook_list, $2); ; return; } function _docritpollhooks() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $hd; var $1=HEAP32[((((_critpollhook_list)|0))>>2)]; $hd=$1; __label__ = 3; break; case 3: var $3=$hd; var $4=(($3)|0)!=0; if ($4) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $6=$hd; var $7=(($6+8)|0); var $8=HEAP32[(($7)>>2)]; var $9=$hd; var $10=(($9+12)|0); var $11=HEAP32[(($10)>>2)]; FUNCTION_TABLE[$8]($11); __label__ = 5; break; case 5: var $13=$hd; var $14=(($13)|0); var $15=(($14)|0); var $16=HEAP32[(($15)>>2)]; $hd=$16; __label__ = 3; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } function _powerhook_establish($name, $fn, $arg) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $ndp; $2=$name; $3=$fn; $4=$arg; var $5=_kern_malloc(32, 1); var $6=$5; $ndp=$6; var $7=$ndp; var $8=(($7)|0)==0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 10; break; case 4: var $11=$3; var $12=$ndp; var $13=(($12+8)|0); HEAP32[(($13)>>2)]=$11; var $14=$4; var $15=$ndp; var $16=(($15+12)|0); HEAP32[(($16)>>2)]=$14; var $17=$ndp; var $18=(($17+16)|0); var $19=(($18)|0); var $20=$2; var $21=_strlcpy($19, $20, 16); __label__ = 5; break; case 5: var $23=HEAP32[((((_powerhook_list)|0))>>2)]; var $24=$ndp; var $25=(($24)|0); var $26=(($25)|0); HEAP32[(($26)>>2)]=$23; var $27=$ndp; var $28=(($27)|0); var $29=(($28+4)|0); HEAP32[(($29)>>2)]=_powerhook_list; var $30=HEAP32[((((_powerhook_list+4)|0))>>2)]; var $31=(($30)|0)==((_powerhook_list)|0); if ($31) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $33=$ndp; HEAP32[((((_powerhook_list+4)|0))>>2)]=$33; __label__ = 8; break; case 7: var $35=$ndp; var $36=HEAP32[((((_powerhook_list)|0))>>2)]; var $37=(($36)|0); var $38=(($37+4)|0); HEAP32[(($38)>>2)]=$35; __label__ = 8; break; case 8: var $40=$ndp; HEAP32[((((_powerhook_list)|0))>>2)]=$40; __label__ = 9; break; case 9: var $42=$2; _aprint_error(((STRING_TABLE.__str363)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$42,tempInt)); var $43=$ndp; var $44=$43; $1=$44; __label__ = 10; break; case 10: var $46=$1; STACKTOP = __stackBase__; return $46; default: assert(0, "bad label: " + __label__); } } _powerhook_establish["X"]=1; function _dopowerhooks($why) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $dp; var $why_name; $1=$why; var $2=$1; var $3=(($2)>>>0) < 6; if ($3) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $5=$1; var $6=((_dopowerhooks_pwr_names+($5<<2))|0); var $7=HEAP32[(($6)>>2)]; var $10 = $7;__label__ = 5; break; case 4: var $10 = ((STRING_TABLE.__str8371)|0);__label__ = 5; break; case 5: var $10; $why_name=$10; var $11=$1; var $12=(($11)|0)==0; if ($12) { __label__ = 7; break; } else { __label__ = 6; break; } case 6: var $14=$1; var $15=(($14)|0)==3; if ($15) { __label__ = 7; break; } else { __label__ = 14; break; } case 7: var $17=HEAP32[((((_powerhook_list+4)|0))>>2)]; $dp=$17; __label__ = 8; break; case 8: var $19=$dp; var $20=(($19)|0)!=((_powerhook_list)|0); if ($20) { __label__ = 9; break; } else { __label__ = 13; break; } case 9: var $22=HEAP32[((_powerhook_debug)>>2)]; var $23=(($22)|0)!=0; if ($23) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $25=$why_name; var $26=$dp; var $27=(($26+16)|0); var $28=(($27)|0); var $29=$dp; _printf(((STRING_TABLE.__str9372)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$25,HEAP32[(((tempInt)+(4))>>2)]=$28,HEAP32[(((tempInt)+(8))>>2)]=$29,tempInt)); __label__ = 11; break; case 11: var $31=$dp; var $32=(($31+8)|0); var $33=HEAP32[(($32)>>2)]; var $34=$1; var $35=$dp; var $36=(($35+12)|0); var $37=HEAP32[(($36)>>2)]; FUNCTION_TABLE[$33]($34, $37); __label__ = 12; break; case 12: var $39=$dp; var $40=(($39)|0); var $41=(($40+4)|0); var $42=HEAP32[(($41)>>2)]; $dp=$42; __label__ = 8; break; case 13: __label__ = 21; break; case 14: var $45=HEAP32[((((_powerhook_list)|0))>>2)]; $dp=$45; __label__ = 15; break; case 15: var $47=$dp; var $48=(($47)|0)!=((_powerhook_list)|0); if ($48) { __label__ = 16; break; } else { __label__ = 20; break; } case 16: var $50=HEAP32[((_powerhook_debug)>>2)]; var $51=(($50)|0)!=0; if ($51) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $53=$why_name; var $54=$dp; var $55=(($54+16)|0); var $56=(($55)|0); var $57=$dp; _printf(((STRING_TABLE.__str9372)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$53,HEAP32[(((tempInt)+(4))>>2)]=$56,HEAP32[(((tempInt)+(8))>>2)]=$57,tempInt)); __label__ = 18; break; case 18: var $59=$dp; var $60=(($59+8)|0); var $61=HEAP32[(($60)>>2)]; var $62=$1; var $63=$dp; var $64=(($63+12)|0); var $65=HEAP32[(($64)>>2)]; FUNCTION_TABLE[$61]($62, $65); __label__ = 19; break; case 19: var $67=$dp; var $68=(($67)|0); var $69=(($68)|0); var $70=HEAP32[(($69)>>2)]; $dp=$70; __label__ = 15; break; case 20: __label__ = 21; break; case 21: var $73=HEAP32[((_powerhook_debug)>>2)]; var $74=(($73)|0)!=0; if ($74) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $76=$why_name; _printf(((STRING_TABLE.__str10373)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$76,tempInt)); __label__ = 23; break; case 23: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _dopowerhooks["X"]=1; function _ksyms_init() { ; var __label__; _mutex_init(_ksyms_lock, 2, 0); ; return; } function _hook_disestablish($list, $vhook) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $hd; $1=$list; $2=$vhook; var $3=$1; var $4=(($3)|0); var $5=HEAP32[(($4)>>2)]; $hd=$5; __label__ = 3; break; case 3: var $7=$hd; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: var $10=$hd; var $11=$2; var $12=$11; var $13=(($10)|0)==(($12)|0); if ($13) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 8; break; case 6: __label__ = 7; break; case 7: var $17=$hd; var $18=(($17)|0); var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; $hd=$20; __label__ = 3; break; case 8: var $22=$hd; var $23=(($22)|0)==0; if ($23) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $25=$2; _panic(((STRING_TABLE.__str11374)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$25,tempInt)); throw "Reached an unreachable!" case 10: __label__ = 11; break; case 11: var $28=$2; var $29=$28; var $30=(($29)|0); var $31=(($30)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($32)|0)!=0; if ($33) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $35=$2; var $36=$35; var $37=(($36)|0); var $38=(($37+4)|0); var $39=HEAP32[(($38)>>2)]; var $40=$2; var $41=$40; var $42=(($41)|0); var $43=(($42)|0); var $44=HEAP32[(($43)>>2)]; var $45=(($44)|0); var $46=(($45+4)|0); HEAP32[(($46)>>2)]=$39; __label__ = 13; break; case 13: var $48=$2; var $49=$48; var $50=(($49)|0); var $51=(($50)|0); var $52=HEAP32[(($51)>>2)]; var $53=$2; var $54=$53; var $55=(($54)|0); var $56=(($55+4)|0); var $57=HEAP32[(($56)>>2)]; HEAP32[(($57)>>2)]=$52; __label__ = 14; break; case 14: var $59=$2; _kern_free($59); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _hook_disestablish["X"]=1; function _powerhook_disestablish($vhook) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $dp; $1=$vhook; var $2=HEAP32[((((_powerhook_list)|0))>>2)]; $dp=$2; __label__ = 3; break; case 3: var $4=$dp; var $5=(($4)|0)!=((_powerhook_list)|0); if ($5) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: var $7=$dp; var $8=$1; var $9=$8; var $10=(($7)|0)==(($9)|0); if ($10) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 9; break; case 6: __label__ = 7; break; case 7: var $14=$dp; var $15=(($14)|0); var $16=(($15)|0); var $17=HEAP32[(($16)>>2)]; $dp=$17; __label__ = 3; break; case 8: var $19=$1; _panic(((STRING_TABLE.__str1364)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$19,tempInt)); throw "Reached an unreachable!" case 9: __label__ = 10; break; case 10: var $22=$1; var $23=$22; var $24=(($23)|0); var $25=(($24)|0); var $26=HEAP32[(($25)>>2)]; var $27=(($26)|0)==((_powerhook_list)|0); if ($27) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $29=$1; var $30=$29; var $31=(($30)|0); var $32=(($31+4)|0); var $33=HEAP32[(($32)>>2)]; HEAP32[((((_powerhook_list+4)|0))>>2)]=$33; __label__ = 13; break; case 12: var $35=$1; var $36=$35; var $37=(($36)|0); var $38=(($37+4)|0); var $39=HEAP32[(($38)>>2)]; var $40=$1; var $41=$40; var $42=(($41)|0); var $43=(($42)|0); var $44=HEAP32[(($43)>>2)]; var $45=(($44)|0); var $46=(($45+4)|0); HEAP32[(($46)>>2)]=$39; __label__ = 13; break; case 13: var $48=$1; var $49=$48; var $50=(($49)|0); var $51=(($50+4)|0); var $52=HEAP32[(($51)>>2)]; var $53=(($52)|0)==((_powerhook_list)|0); if ($53) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $55=$1; var $56=$55; var $57=(($56)|0); var $58=(($57)|0); var $59=HEAP32[(($58)>>2)]; HEAP32[((((_powerhook_list)|0))>>2)]=$59; __label__ = 16; break; case 15: var $61=$1; var $62=$61; var $63=(($62)|0); var $64=(($63)|0); var $65=HEAP32[(($64)>>2)]; var $66=$1; var $67=$66; var $68=(($67)|0); var $69=(($68+4)|0); var $70=HEAP32[(($69)>>2)]; var $71=(($70)|0); var $72=(($71)|0); HEAP32[(($72)>>2)]=$65; __label__ = 16; break; case 16: __label__ = 17; break; case 17: var $75=$1; _kern_free($75); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _powerhook_disestablish["X"]=1; function _ksyms_addsyms_elf($symsize, $start, $end) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $i; var $j; var $shdr; var $symstart; var $strstart; var $strsize; var $ehdr; var $ctfstart; var $ctfsize; $1=$symsize; $2=$start; $3=$end; $symstart=0; $strstart=0; $strsize=0; $ctfstart=0; $ctfsize=0; var $4=$1; var $5=(($4)|0) <= 0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _printf(((STRING_TABLE.__str376)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 23; break; case 4: var $8=$2; var $9=$8; var $10=$9 & 3; var $11=(($10)|0)==0; var $12=(($11)&1); var $13=(($12)|0)==0; if ($13) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $15=$2; _printf(((STRING_TABLE.__str1377)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$15,tempInt)); __label__ = 23; break; case 6: var $17=$2; var $18=$17; $ehdr=$18; var $19=$ehdr; var $20=(($19)|0); var $21=(($20)|0); var $22=_memcmp($21, ((STRING_TABLE.__str2378)|0), 4); var $23=(($22)|0)!=0; if ($23) { __label__ = 9; break; } else { __label__ = 7; break; } case 7: var $25=$ehdr; var $26=(($25)|0); var $27=(($26+4)|0); var $28=HEAP8[($27)]; var $29=(($28)&255); var $30=(($29)|0)!=1; if ($30) { __label__ = 9; break; } else { __label__ = 8; break; } case 8: var $32=$ehdr; var $33=(($32+20)|0); var $34=HEAP32[(($33)>>2)]; var $35=(($34)>>>0) > 1; if ($35) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: _printf(((STRING_TABLE.__str3379)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 23; break; case 10: var $38=$2; _ksyms_hdr_init($38); var $39=$2; var $40=$ehdr; var $41=(($40+32)|0); var $42=HEAP32[(($41)>>2)]; var $43=(($39+$42)|0); var $44=$43; $shdr=$44; $i=1; __label__ = 11; break; case 11: var $46=$i; var $47=$ehdr; var $48=(($47+48)|0); var $49=HEAP16[(($48)>>1)]; var $50=(($49)&65535); var $51=(($46)|0) < (($50)|0); if ($51) { __label__ = 12; break; } else { __label__ = 20; break; } case 12: var $53=$i; var $54=$shdr; var $55=(($54+($53)*(40))|0); var $56=(($55+4)|0); var $57=HEAP32[(($56)>>2)]; var $58=(($57)|0)!=2; if ($58) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 19; break; case 14: var $61=$i; var $62=$shdr; var $63=(($62+($61)*(40))|0); var $64=(($63+16)|0); var $65=HEAP32[(($64)>>2)]; var $66=(($65)|0)==0; if ($66) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 19; break; case 16: var $69=$2; var $70=$i; var $71=$shdr; var $72=(($71+($70)*(40))|0); var $73=(($72+16)|0); var $74=HEAP32[(($73)>>2)]; var $75=(($69+$74)|0); $symstart=$75; var $76=$i; var $77=$shdr; var $78=(($77+($76)*(40))|0); var $79=(($78+20)|0); var $80=HEAP32[(($79)>>2)]; $1=$80; var $81=$i; var $82=$shdr; var $83=(($82+($81)*(40))|0); var $84=(($83+24)|0); var $85=HEAP32[(($84)>>2)]; $j=$85; var $86=$j; var $87=$shdr; var $88=(($87+($86)*(40))|0); var $89=(($88+16)|0); var $90=HEAP32[(($89)>>2)]; var $91=(($90)|0)==0; if ($91) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 19; break; case 18: var $94=$2; var $95=$j; var $96=$shdr; var $97=(($96+($95)*(40))|0); var $98=(($97+16)|0); var $99=HEAP32[(($98)>>2)]; var $100=(($94+$99)|0); $strstart=$100; var $101=$j; var $102=$shdr; var $103=(($102+($101)*(40))|0); var $104=(($103+20)|0); var $105=HEAP32[(($104)>>2)]; $strsize=$105; __label__ = 20; break; case 19: var $107=$i; var $108=((($107)+(1))|0); $i=$108; __label__ = 11; break; case 20: var $110=$symstart; var $111=$strstart; var $112=_ksyms_verify($110, $111); var $113=(($112)|0)!=0; if ($113) { __label__ = 22; break; } else { __label__ = 21; break; } case 21: __label__ = 23; break; case 22: var $116=$symstart; var $117=$1; var $118=$strstart; var $119=$strsize; var $120=$2; var $121=$ctfstart; var $122=$ctfsize; var $123=HEAP32[((_ksyms_nmap)>>2)]; _addsymtab(((STRING_TABLE.__str4380)|0), $116, $117, $118, $119, _kernel_symtab, $120, $121, $122, $123); __label__ = 23; break; case 23: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _ksyms_addsyms_elf["X"]=1; function _ksyms_hdr_init($hdraddr) { ; var __label__; var $1; $1=$hdraddr; var $2=$1; assert(52 % 1 === 0, 'memcpy given ' + 52 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy(((_ksyms_hdr)|0), $2, 52, 1); HEAP32[((((_ksyms_hdr+28)|0))>>2)]=52; HEAP16[((((_ksyms_hdr+42)|0))>>1)]=32; HEAP16[((((_ksyms_hdr+44)|0))>>1)]=1; HEAP32[((((_ksyms_hdr+32)|0))>>2)]=84; HEAP16[((((_ksyms_hdr+46)|0))>>1)]=40; HEAP16[((((_ksyms_hdr+48)|0))>>1)]=5; HEAP16[((((_ksyms_hdr+50)|0))>>1)]=3; HEAP32[((((_ksyms_hdr+52)|0))>>2)]=1; HEAP32[((((_ksyms_hdr+72)|0))>>2)]=-1; HEAP32[((((_ksyms_hdr+76)|0))>>2)]=7; HEAP32[((((_ksyms_hdr+124)|0))>>2)]=1; HEAP32[((((_ksyms_hdr+128)|0))>>2)]=2; HEAP32[((((_ksyms_hdr+140)|0))>>2)]=328; HEAP32[((((_ksyms_hdr+148)|0))>>2)]=2; HEAP32[((((_ksyms_hdr+156)|0))>>2)]=4; HEAP32[((((_ksyms_hdr+160)|0))>>2)]=16; HEAP32[((((_ksyms_hdr+164)|0))>>2)]=9; HEAP32[((((_ksyms_hdr+168)|0))>>2)]=3; HEAP32[((((_ksyms_hdr+196)|0))>>2)]=1; HEAP32[((((_ksyms_hdr+204)|0))>>2)]=17; HEAP32[((((_ksyms_hdr+208)|0))>>2)]=3; HEAP32[((((_ksyms_hdr+220)|0))>>2)]=284; HEAP32[((((_ksyms_hdr+224)|0))>>2)]=42; HEAP32[((((_ksyms_hdr+236)|0))>>2)]=1; HEAP32[((((_ksyms_hdr+244)|0))>>2)]=27; HEAP32[((((_ksyms_hdr+248)|0))>>2)]=8; HEAP32[((((_ksyms_hdr+260)|0))>>2)]=0; HEAP32[((((_ksyms_hdr+264)|0))>>2)]=-1; HEAP32[((((_ksyms_hdr+276)|0))>>2)]=4096; HEAP32[((((_ksyms_hdr+252)|0))>>2)]=6; var $3=_strlcpy(((_ksyms_hdr+285)|0), ((STRING_TABLE.__str10386)|0), 41); var $4=_strlcpy(((_ksyms_hdr+293)|0), ((STRING_TABLE.__str11387)|0), 33); var $5=_strlcpy(((_ksyms_hdr+301)|0), ((STRING_TABLE.__str12388)|0), 25); var $6=_strlcpy(((_ksyms_hdr+311)|0), ((STRING_TABLE.__str13389)|0), 15); ; return; } function _ksyms_verify($symstart, $strstart) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $2=$symstart; $3=$strstart; var $4=$2; var $5=(($4)|0)==0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _printf(((STRING_TABLE.__str20396)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 4; break; case 4: var $8=$3; var $9=(($8)|0)==0; if ($9) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: _printf(((STRING_TABLE.__str21397)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 6; break; case 6: var $12=$2; var $13=(($12)|0)==0; if ($13) { __label__ = 8; break; } else { __label__ = 7; break; } case 7: var $15=$3; var $16=(($15)|0)==0; if ($16) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: _printf(((STRING_TABLE.__str22398)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 9; break; case 9: var $19=$2; var $20=(($19)|0)==0; if ($20) { __label__ = 11; break; } else { __label__ = 10; break; } case 10: var $22=$3; var $23=(($22)|0)==0; if ($23) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: $1=0; __label__ = 13; break; case 12: $1=1; __label__ = 13; break; case 13: var $27=$1; STACKTOP = __stackBase__; return $27; default: assert(0, "bad label: " + __label__); } } function _ksyms_addsyms_explicit($ehdr, $symstart, $symsize, $strstart, $strsize) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; $1=$ehdr; $2=$symstart; $3=$symsize; $4=$strstart; $5=$strsize; var $6=$2; var $7=$4; var $8=_ksyms_verify($6, $7); var $9=(($8)|0)!=0; if ($9) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: __label__ = 5; break; case 4: var $12=$1; _ksyms_hdr_init($12); var $13=$2; var $14=$3; var $15=$4; var $16=$5; var $17=$2; var $18=HEAP32[((_ksyms_nmap)>>2)]; _addsymtab(((STRING_TABLE.__str4380)|0), $13, $14, $15, $16, _kernel_symtab, $17, 0, 0, $18); __label__ = 5; break; case 5: ; return; default: assert(0, "bad label: " + __label__); } } function _ksyms_getval_unlocked($mod, $sym, $val, $type) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $st; var $es; $2=$mod; $3=$sym; $4=$val; $5=$type; var $6=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$6; __label__ = 3; break; case 3: var $8=$st; var $9=(($8)|0)!=0; if ($9) { __label__ = 4; break; } else { __label__ = 13; break; } case 4: var $11=$st; var $12=(($11+44)|0); var $13=HEAP8[($12)]; var $14=(($13) & 1); var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 12; break; case 6: var $22=$2; var $23=(($22)|0)!=0; if ($23) { __label__ = 7; break; } else { __label__ = 9; break; } case 7: var $25=$st; var $26=(($25+8)|0); var $27=HEAP32[(($26)>>2)]; var $28=$2; var $29=_strcmp($27, $28); var $30=(($29)|0)!=0; if ($30) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 12; break; case 9: var $33=$3; var $34=$st; var $35=$5; var $36=_findsym($33, $34, $35); $es=$36; var $37=(($36)|0)!=0; if ($37) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $39=$es; var $40=(($39+4)|0); var $41=HEAP32[(($40)>>2)]; var $42=$4; HEAP32[(($42)>>2)]=$41; $1=0; __label__ = 14; break; case 11: __label__ = 12; break; case 12: var $45=$st; var $46=(($45)|0); var $47=(($46)|0); var $48=HEAP32[(($47)>>2)]; $st=$48; __label__ = 3; break; case 13: $1=2; __label__ = 14; break; case 14: var $51=$1; ; return $51; default: assert(0, "bad label: " + __label__); } } _ksyms_getval_unlocked["X"]=1; function _addsymtab($name, $symstart, $symsize, $strstart, $strsize, $tab, $newstart, $ctfstart, $ctfsize, $nmap) { var __stackBase__ = STACKTOP; STACKTOP += 16; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $sym; var $nsym; var $ts=__stackBase__; var $i; var $j; var $n; var $nglob; var $str; var $nsyms; $1=$name; $2=$symstart; $3=$symsize; $4=$strstart; $5=$strsize; $6=$tab; $7=$newstart; $8=$ctfstart; $9=$ctfsize; $10=$nmap; var $11=$3; var $12=Math.floor(((($11)>>>0))/(16)); $nsyms=$12; var $13=$10; var $14=HEAP32[((_ksyms_nmap)>>2)]; var $15=(($13)|0)==(($14)|0); if ($15) { __label__ = 3; break; } else { __label__ = 5; break; } case 3: var $17=$nsyms; var $18=(($17)|0) >= 65536; if ($18) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $20=$nsyms; _printf(((STRING_TABLE.__str16392)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$20,HEAP32[(((tempInt)+(4))>>2)]=65536,tempInt)); $nsyms=65535; __label__ = 5; break; case 5: var $22=$2; var $23=$22; var $24=$6; var $25=(($24+12)|0); HEAP32[(($25)>>2)]=$23; var $26=$3; var $27=$6; var $28=(($27+32)|0); HEAP32[(($28)>>2)]=$26; var $29=$4; var $30=$6; var $31=(($30+24)|0); HEAP32[(($31)>>2)]=$29; var $32=$5; var $33=$6; var $34=(($33+36)|0); HEAP32[(($34)>>2)]=$32; var $35=$1; var $36=$6; var $37=(($36+8)|0); HEAP32[(($37)>>2)]=$35; var $38=$6; var $39=(($38+16)|0); HEAP32[(($39)>>2)]=-1; var $40=$6; var $41=(($40+20)|0); HEAP32[(($41)>>2)]=0; var $42=$6; var $43=(($42+28)|0); HEAP32[(($43)>>2)]=0; var $44=$6; var $45=(($44+44)|0); HEAP8[($45)]=0; var $46=$10; var $47=(($46)|0)!=0; if ($47) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $49=$10; var $50=$49; var $51=$nsyms; var $52=((($51<<2))|0); _memset($50, 0, $52, 4); __label__ = 7; break; case 7: var $54=$6; var $55=(($54+12)|0); var $56=HEAP32[(($55)>>2)]; $sym=$56; var $57=$7; var $58=$57; $nsym=$58; var $59=$6; var $60=(($59+24)|0); var $61=HEAP32[(($60)>>2)]; $str=$61; $nglob=0; $n=0; $i=0; __label__ = 8; break; case 8: var $63=$i; var $64=$nsyms; var $65=(($63)|0) < (($64)|0); if ($65) { __label__ = 9; break; } else { __label__ = 33; break; } case 9: var $67=$i; var $68=$sym; var $69=(($68+($67<<4))|0); var $70=(($69)|0); var $71=HEAP32[(($70)>>2)]; var $72=(($71)|0)==0; if ($72) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 32; break; case 11: var $75=$i; var $76=$sym; var $77=(($76+($75<<4))|0); var $78=(($77+14)|0); var $79=HEAP16[(($78)>>1)]; var $80=(($79)&65535); var $81=(($80)|0)==0; if ($81) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 32; break; case 13: var $84=$i; var $85=$sym; var $86=(($85+($84<<4))|0); var $87=(($86+12)|0); var $88=HEAP8[($87)]; var $89=(($88)&255); var $90=$89 & 15; var $91=(($90)|0)==4; if ($91) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 32; break; case 15: var $94=$i; var $95=$sym; var $96=(($95+($94<<4))|0); var $97=(($96+12)|0); var $98=HEAP8[($97)]; var $99=(($98)&255); var $100=$99 & 15; var $101=(($100)|0)==0; if ($101) { __label__ = 16; break; } else { __label__ = 19; break; } case 16: var $103=$i; var $104=$sym; var $105=(($104+($103<<4))|0); var $106=(($105+4)|0); var $107=HEAP32[(($106)>>2)]; var $108=(($107)|0)==0; if ($108) { __label__ = 17; break; } else { __label__ = 19; break; } case 17: var $110=$str; var $111=$i; var $112=$sym; var $113=(($112+($111<<4))|0); var $114=(($113)|0); var $115=HEAP32[(($114)>>2)]; var $116=(($110+$115)|0); var $117=_strcmp($116, ((STRING_TABLE.__str17393)|0)); var $118=(($117)|0)==0; if ($118) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: __label__ = 32; break; case 19: var $121=$i; var $122=$sym; var $123=(($122+($121<<4))|0); var $124=(($123+12)|0); var $125=HEAP8[($124)]; var $126=(($125)&255); var $127=$126 & 15; var $128=(($127)|0)==0; if ($128) { __label__ = 20; break; } else { __label__ = 22; break; } case 20: var $130=$str; var $131=$i; var $132=$sym; var $133=(($132+($131<<4))|0); var $134=(($133)|0); var $135=HEAP32[(($134)>>2)]; var $136=(($130+$135)|0); var $137=_strcmp($136, ((STRING_TABLE.__str18394)|0)); var $138=(($137)|0)==0; if ($138) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 32; break; case 22: var $141=$n; var $142=$nsym; var $143=(($142+($141<<4))|0); var $144=$i; var $145=$sym; var $146=(($145+($144<<4))|0); var $147=$143; var $148=$146; assert(16 % 1 === 0, 'memcpy given ' + 16 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($147)>>2)]=HEAP32[(($148)>>2)];HEAP32[((($147)+(4))>>2)]=HEAP32[((($148)+(4))>>2)];HEAP32[((($147)+(8))>>2)]=HEAP32[((($148)+(8))>>2)];HEAP32[((($147)+(12))>>2)]=HEAP32[((($148)+(12))>>2)]; var $149=$n; var $150=$nsym; var $151=(($150+($149<<4))|0); var $152=(($151+14)|0); HEAP16[(($152)>>1)]=4; var $153=$n; var $154=$nsym; var $155=(($154+($153<<4))|0); var $156=(($155)|0); var $157=HEAP32[(($156)>>2)]; var $158=$str; var $159=(($158+$157)|0); var $160=_strlen($159); var $161=((($160)+(1))|0); $j=$161; var $162=$j; var $163=HEAP32[((_ksyms_maxlen)>>2)]; var $164=(($162)|0) > (($163)|0); if ($164) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $166=$j; HEAP32[((_ksyms_maxlen)>>2)]=$166; __label__ = 24; break; case 24: var $168=$n; var $169=$nsym; var $170=(($169+($168<<4))|0); var $171=(($170+12)|0); var $172=HEAP8[($171)]; var $173=(($172)&255); var $174=$173 >>> 4; var $175=(($174)|0)==1; var $176=(($175)&1); var $177=$nglob; var $178=((($177)+($176))|0); $nglob=$178; var $179=$str; var $180=$i; var $181=$sym; var $182=(($181+($180<<4))|0); var $183=(($182)|0); var $184=HEAP32[(($183)>>2)]; var $185=(($179+$184)|0); var $186=_strcmp($185, ((STRING_TABLE.__str17393)|0)); var $187=(($186)|0)!=0; if ($187) { __label__ = 25; break; } else { __label__ = 31; break; } case 25: var $189=$n; var $190=$nsym; var $191=(($190+($189<<4))|0); var $192=(($191+12)|0); var $193=HEAP8[($192)]; var $194=(($193)&255); var $195=$194 & 15; var $196=(($195)|0)!=0; if ($196) { __label__ = 26; break; } else { __label__ = 31; break; } case 26: var $198=$n; var $199=$nsym; var $200=(($199+($198<<4))|0); var $201=(($200+4)|0); var $202=HEAP32[(($201)>>2)]; var $203=$6; var $204=(($203+16)|0); var $205=HEAP32[(($204)>>2)]; var $206=(($202)>>>0) < (($205)>>>0); if ($206) { __label__ = 27; break; } else { __label__ = 28; break; } case 27: var $208=$n; var $209=$nsym; var $210=(($209+($208<<4))|0); var $211=(($210+4)|0); var $212=HEAP32[(($211)>>2)]; var $213=$6; var $214=(($213+16)|0); HEAP32[(($214)>>2)]=$212; __label__ = 28; break; case 28: var $216=$n; var $217=$nsym; var $218=(($217+($216<<4))|0); var $219=(($218+4)|0); var $220=HEAP32[(($219)>>2)]; var $221=$6; var $222=(($221+20)|0); var $223=HEAP32[(($222)>>2)]; var $224=(($220)>>>0) > (($223)>>>0); if ($224) { __label__ = 29; break; } else { __label__ = 30; break; } case 29: var $226=$n; var $227=$nsym; var $228=(($227+($226<<4))|0); var $229=(($228+4)|0); var $230=HEAP32[(($229)>>2)]; var $231=$6; var $232=(($231+20)|0); HEAP32[(($232)>>2)]=$230; __label__ = 30; break; case 30: __label__ = 31; break; case 31: var $235=$n; var $236=((($235)+(1))|0); $n=$236; __label__ = 32; break; case 32: var $238=$i; var $239=((($238)+(1))|0); $i=$239; __label__ = 8; break; case 33: var $241=$nsym; var $242=$6; var $243=(($242+12)|0); HEAP32[(($243)>>2)]=$241; var $244=$n; var $245=((($244<<4))|0); var $246=$6; var $247=(($246+32)|0); HEAP32[(($247)>>2)]=$245; var $248=$nglob; var $249=$6; var $250=(($249+40)|0); HEAP32[(($250)>>2)]=$248; var $251=$str; HEAP32[((_addsymtab_strstart)>>2)]=$251; var $252=$nsym; var $253=$252; var $254=$n; var $255=$ts; var $256=_kheapsort($253, $254, 16, 28, $255); var $257=(($256)|0)!=0; if ($257) { __label__ = 34; break; } else { __label__ = 35; break; } case 34: _panic(((STRING_TABLE.__str19395)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 35: _membar_producer(); __label__ = 36; break; case 36: var $261=$6; var $262=(($261)|0); var $263=(($262)|0); HEAP32[(($263)>>2)]=0; var $264=HEAP32[((((_ksyms_symtabs+4)|0))>>2)]; var $265=$6; var $266=(($265)|0); var $267=(($266+4)|0); HEAP32[(($267)>>2)]=$264; var $268=$6; var $269=HEAP32[((((_ksyms_symtabs+4)|0))>>2)]; HEAP32[(($269)>>2)]=$268; var $270=$6; var $271=(($270)|0); var $272=(($271)|0); HEAP32[((((_ksyms_symtabs+4)|0))>>2)]=$272; __label__ = 37; break; case 37: _ksyms_sizes_calc(); HEAP8[(_ksyms_initted)]=1; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _addsymtab["X"]=1; function _ksyms_getname($mod, $sym, $v, $f) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $st; var $les; var $es; var $laddr; var $lmod; var $stable; var $type; var $i; var $sz; $2=$mod; $3=$sym; $4=$v; $5=$f; $es=0; $laddr=0; $lmod=0; $stable=0; var $6=HEAP8[(_ksyms_initted)]; var $7=(($6) & 1); if ($7) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: $1=2; __label__ = 39; break; case 4: var $10=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$10; __label__ = 5; break; case 5: var $12=$st; var $13=(($12)|0)!=0; if ($13) { __label__ = 6; break; } else { __label__ = 29; break; } case 6: var $15=$st; var $16=(($15+44)|0); var $17=HEAP8[($16)]; var $18=(($17) & 1); if ($18) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 28; break; case 8: var $21=$4; var $22=$st; var $23=(($22+16)|0); var $24=HEAP32[(($23)>>2)]; var $25=(($21)>>>0) < (($24)>>>0); if ($25) { __label__ = 10; break; } else { __label__ = 9; break; } case 9: var $27=$4; var $28=$st; var $29=(($28+20)|0); var $30=HEAP32[(($29)>>2)]; var $31=(($27)>>>0) > (($30)>>>0); if ($31) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 28; break; case 11: var $34=$st; var $35=(($34+32)|0); var $36=HEAP32[(($35)>>2)]; var $37=Math.floor(((($36)>>>0))/(16)); $sz=$37; $i=0; __label__ = 12; break; case 12: var $39=$i; var $40=$sz; var $41=(($39)|0) < (($40)|0); if ($41) { __label__ = 13; break; } else { __label__ = 27; break; } case 13: var $43=$st; var $44=(($43+12)|0); var $45=HEAP32[(($44)>>2)]; var $46=$i; var $47=(($45+($46<<4))|0); $les=$47; var $48=$les; var $49=(($48+12)|0); var $50=HEAP8[($49)]; var $51=(($50)&255); var $52=$51 & 15; $type=$52; var $53=$5; var $54=$53 & 64; var $55=(($54)|0)!=0; if ($55) { __label__ = 14; break; } else { __label__ = 16; break; } case 14: var $57=$type; var $58=(($57)|0)!=2; if ($58) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: __label__ = 26; break; case 16: var $61=$type; var $62=(($61)|0)==0; if ($62) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 26; break; case 18: var $65=$5; var $66=$65 & 128; var $67=(($66)|0)==0; if ($67) { __label__ = 19; break; } else { __label__ = 22; break; } case 19: var $69=$type; var $70=(($69)|0)!=2; if ($70) { __label__ = 20; break; } else { __label__ = 22; break; } case 20: var $72=$type; var $73=(($72)|0)!=1; if ($73) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: __label__ = 26; break; case 22: var $76=$les; var $77=(($76+4)|0); var $78=HEAP32[(($77)>>2)]; var $79=$4; var $80=(($78)>>>0) <= (($79)>>>0); if ($80) { __label__ = 23; break; } else { __label__ = 25; break; } case 23: var $82=$les; var $83=(($82+4)|0); var $84=HEAP32[(($83)>>2)]; var $85=$laddr; var $86=(($84)>>>0) > (($85)>>>0); if ($86) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: var $88=$les; var $89=(($88+4)|0); var $90=HEAP32[(($89)>>2)]; $laddr=$90; var $91=$les; $es=$91; var $92=$st; var $93=(($92+8)|0); var $94=HEAP32[(($93)>>2)]; $lmod=$94; var $95=$st; var $96=(($95+24)|0); var $97=HEAP32[(($96)>>2)]; var $98=$st; var $99=(($98+28)|0); var $100=HEAP32[(($99)>>2)]; var $101=(((-$100))|0); var $102=(($97+$101)|0); $stable=$102; __label__ = 25; break; case 25: __label__ = 26; break; case 26: var $105=$i; var $106=((($105)+(1))|0); $i=$106; __label__ = 12; break; case 27: __label__ = 28; break; case 28: var $109=$st; var $110=(($109)|0); var $111=(($110)|0); var $112=HEAP32[(($111)>>2)]; $st=$112; __label__ = 5; break; case 29: var $114=$es; var $115=(($114)|0)==0; if ($115) { __label__ = 30; break; } else { __label__ = 31; break; } case 30: $1=2; __label__ = 39; break; case 31: var $118=$5; var $119=$118 & 2; var $120=(($119)|0)!=0; if ($120) { __label__ = 32; break; } else { __label__ = 34; break; } case 32: var $122=$4; var $123=$es; var $124=(($123+4)|0); var $125=HEAP32[(($124)>>2)]; var $126=(($122)|0)!=(($125)|0); if ($126) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: $1=2; __label__ = 39; break; case 34: var $129=$2; var $130=(($129)|0)!=0; if ($130) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: var $132=$lmod; var $133=$2; HEAP32[(($133)>>2)]=$132; __label__ = 36; break; case 36: var $135=$3; var $136=(($135)|0)!=0; if ($136) { __label__ = 37; break; } else { __label__ = 38; break; } case 37: var $138=$stable; var $139=$es; var $140=(($139)|0); var $141=HEAP32[(($140)>>2)]; var $142=(($138+$141)|0); var $143=$3; HEAP32[(($143)>>2)]=$142; __label__ = 38; break; case 38: $1=0; __label__ = 39; break; case 39: var $146=$1; ; return $146; default: assert(0, "bad label: " + __label__); } } _ksyms_getname["X"]=1; function _ksyms_sizes_calc() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $st; var $i; var $delta; HEAP32[((_ksyms_strsz)>>2)]=0; HEAP32[((_ksyms_symsz)>>2)]=0; var $1=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$1; __label__ = 3; break; case 3: var $3=$st; var $4=(($3)|0)!=0; if ($4) { __label__ = 4; break; } else { __label__ = 12; break; } case 4: var $6=HEAP32[((_ksyms_strsz)>>2)]; var $7=$st; var $8=(($7+28)|0); var $9=HEAP32[(($8)>>2)]; var $10=((($6)-($9))|0); $delta=$10; var $11=$delta; var $12=(($11)|0)!=0; if ($12) { __label__ = 5; break; } else { __label__ = 10; break; } case 5: $i=0; __label__ = 6; break; case 6: var $15=$i; var $16=$st; var $17=(($16+32)|0); var $18=HEAP32[(($17)>>2)]; var $19=Math.floor(((($18)>>>0))/(16)); var $20=(($15)>>>0) < (($19)>>>0); if ($20) { __label__ = 7; break; } else { __label__ = 9; break; } case 7: var $22=$delta; var $23=$i; var $24=$st; var $25=(($24+12)|0); var $26=HEAP32[(($25)>>2)]; var $27=(($26+($23<<4))|0); var $28=(($27)|0); var $29=HEAP32[(($28)>>2)]; var $30=((($29)+($22))|0); HEAP32[(($28)>>2)]=$30; __label__ = 8; break; case 8: var $32=$i; var $33=((($32)+(1))|0); $i=$33; __label__ = 6; break; case 9: var $35=HEAP32[((_ksyms_strsz)>>2)]; var $36=$st; var $37=(($36+28)|0); HEAP32[(($37)>>2)]=$35; __label__ = 10; break; case 10: var $39=$st; var $40=(($39+32)|0); var $41=HEAP32[(($40)>>2)]; var $42=HEAP32[((_ksyms_symsz)>>2)]; var $43=((($42)+($41))|0); HEAP32[((_ksyms_symsz)>>2)]=$43; var $44=$st; var $45=(($44+36)|0); var $46=HEAP32[(($45)>>2)]; var $47=HEAP32[((_ksyms_strsz)>>2)]; var $48=((($47)+($46))|0); HEAP32[((_ksyms_strsz)>>2)]=$48; __label__ = 11; break; case 11: var $50=$st; var $51=(($50)|0); var $52=(($51)|0); var $53=HEAP32[(($52)>>2)]; $st=$53; __label__ = 3; break; case 12: ; return; default: assert(0, "bad label: " + __label__); } } _ksyms_sizes_calc["X"]=1; function _findsym($name, $table, $type) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $sym; var $maxsym; var $low; var $mid; var $high; var $nglob; var $str; var $cmp; $2=$name; $3=$table; $4=$type; var $5=$3; var $6=(($5+12)|0); var $7=HEAP32[(($6)>>2)]; $sym=$7; var $8=$3; var $9=(($8+24)|0); var $10=HEAP32[(($9)>>2)]; var $11=$3; var $12=(($11+28)|0); var $13=HEAP32[(($12)>>2)]; var $14=(((-$13))|0); var $15=(($10+$14)|0); $str=$15; var $16=$3; var $17=(($16+40)|0); var $18=HEAP32[(($17)>>2)]; $nglob=$18; $low=0; var $19=$nglob; $high=$19; __label__ = 3; break; case 3: var $21=$low; var $22=$high; var $23=(($21)|0) < (($22)|0); if ($23) { __label__ = 4; break; } else { __label__ = 9; break; } case 4: var $25=$low; var $26=$high; var $27=((($25)+($26))|0); var $28=$27 >> 1; $mid=$28; var $29=$mid; var $30=$sym; var $31=(($30+($29<<4))|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; var $34=$str; var $35=(($34+$33)|0); $cmp=$35; var $36=$cmp; var $37=(($36)|0); var $38=HEAP8[($37)]; var $39=(($38 << 24) >> 24); var $40=$2; var $41=(($40)|0); var $42=HEAP8[($41)]; var $43=(($42 << 24) >> 24); var $44=(($39)|0) < (($43)|0); if ($44) { __label__ = 6; break; } else { __label__ = 5; break; } case 5: var $46=$cmp; var $47=$2; var $48=_strcmp($46, $47); var $49=(($48)|0) < 0; if ($49) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $51=$mid; var $52=((($51)+(1))|0); $low=$52; __label__ = 8; break; case 7: var $54=$mid; $high=$54; __label__ = 8; break; case 8: __label__ = 3; break; case 9: var $57=$low; var $58=$high; var $59=(($57)|0)==(($58)|0); var $60=(($59)&1); var $61=(($60)|0)!=0; var $62=(($61)&1); var $63=$62; var $64=(($63)|0)!=0; if ($64) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 12; break; case 11: _kern_assert(((STRING_TABLE.__str5381)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str6382)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14390)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str8384)|0),HEAP32[(((tempInt)+(12))>>2)]=186,tempInt)); __label__ = 12; break; case 12: var $68=$low; var $69=$nglob; var $70=(($68)|0) < (($69)|0); if ($70) { __label__ = 13; break; } else { var $83 = 0;__label__ = 14; break; } case 13: var $72=$low; var $73=$sym; var $74=(($73+($72<<4))|0); var $75=(($74)|0); var $76=HEAP32[(($75)>>2)]; var $77=$str; var $78=(($77+$76)|0); var $79=$2; var $80=_strcmp($78, $79); var $81=(($80)|0)==0; var $83 = $81;__label__ = 14; break; case 14: var $83; var $84=(($83)&1); var $85=(($84)|0)!=0; var $86=(($85)&1); var $87=$86; var $88=(($87)|0)!=0; if ($88) { __label__ = 15; break; } else { __label__ = 19; break; } case 15: var $90=$low; var $91=$sym; var $92=(($91+($90<<4))|0); var $93=(($92+12)|0); var $94=HEAP8[($93)]; var $95=(($94)&255); var $96=$95 >>> 4; var $97=(($96)|0)==1; var $98=(($97)&1); var $99=(($98)|0)!=0; var $100=(($99)&1); var $101=$100; var $102=(($101)|0)!=0; if ($102) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str5381)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str6382)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str15391)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str8384)|0),HEAP32[(((tempInt)+(12))>>2)]=189,tempInt)); __label__ = 18; break; case 18: var $106=$low; var $107=$sym; var $108=(($107+($106<<4))|0); $1=$108; __label__ = 28; break; case 19: var $110=$4; var $111=(($110)|0)!=0; if ($111) { __label__ = 20; break; } else { __label__ = 27; break; } case 20: var $113=$sym; var $114=$3; var $115=(($114+32)|0); var $116=HEAP32[(($115)>>2)]; var $117=Math.floor(((($116)>>>0))/(16)); var $118=(($113+($117<<4))|0); $maxsym=$118; var $119=$nglob; var $120=$sym; var $121=(($120+($119<<4))|0); $sym=$121; __label__ = 21; break; case 21: var $123=$sym; var $124=$maxsym; var $125=(($123)>>>0) < (($124)>>>0); if ($125) { __label__ = 22; break; } else { __label__ = 26; break; } case 22: var $127=$2; var $128=$sym; var $129=(($128)|0); var $130=HEAP32[(($129)>>2)]; var $131=$str; var $132=(($131+$130)|0); var $133=_strcmp($127, $132); var $134=(($133)|0)==0; if ($134) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $136=$sym; $1=$136; __label__ = 28; break; case 24: __label__ = 25; break; case 25: var $139=$sym; var $140=(($139+16)|0); $sym=$140; __label__ = 21; break; case 26: __label__ = 27; break; case 27: $1=0; __label__ = 28; break; case 28: var $144=$1; STACKTOP = __stackBase__; return $144; default: assert(0, "bad label: " + __label__); } } _findsym["X"]=1; function _ksyms_getval($mod, $sym, $val, $type) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $rc; $2=$mod; $3=$sym; $4=$val; $5=$type; var $6=HEAP8[(_ksyms_initted)]; var $7=(($6) & 1); if ($7) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: $1=2; __label__ = 5; break; case 4: _mutex_enter(_ksyms_lock); var $10=$2; var $11=$3; var $12=$4; var $13=$5; var $14=_ksyms_getval_unlocked($10, $11, $12, $13); $rc=$14; _mutex_exit(_ksyms_lock); var $15=$rc; $1=$15; __label__ = 5; break; case 5: var $17=$1; ; return $17; default: assert(0, "bad label: " + __label__); } } function _ksyms_get_mod($mod) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $st; $1=$mod; _mutex_enter(_ksyms_lock); var $2=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$2; __label__ = 3; break; case 3: var $4=$st; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 11; break; } case 4: var $7=$st; var $8=(($7+44)|0); var $9=HEAP8[($8)]; var $10=(($9) & 1); var $11=(($10)&1); var $12=(($11)|0)!=0; var $13=(($12)&1); var $14=$13; var $15=(($14)|0)!=0; if ($15) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 10; break; case 6: var $18=$1; var $19=(($18)|0)!=0; if ($19) { __label__ = 7; break; } else { __label__ = 9; break; } case 7: var $21=$st; var $22=(($21+8)|0); var $23=HEAP32[(($22)>>2)]; var $24=$1; var $25=_strcmp($23, $24); var $26=(($25)|0)!=0; if ($26) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 10; break; case 9: __label__ = 11; break; case 10: var $30=$st; var $31=(($30)|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; $st=$33; __label__ = 3; break; case 11: _mutex_exit(_ksyms_lock); var $35=$st; ; return $35; default: assert(0, "bad label: " + __label__); } } function _ksyms_mod_foreach($mod, $callback, $opaque) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $st; var $sym; var $maxsym; var $str; var $symindx; $2=$mod; $3=$callback; $4=$opaque; var $5=HEAP8[(_ksyms_initted)]; var $6=(($5) & 1); if ($6) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: $1=2; __label__ = 20; break; case 4: _mutex_enter(_ksyms_lock); var $9=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$9; __label__ = 5; break; case 5: var $11=$st; var $12=(($11)|0)!=0; if ($12) { __label__ = 6; break; } else { __label__ = 19; break; } case 6: var $14=$st; var $15=(($14+44)|0); var $16=HEAP8[($15)]; var $17=(($16) & 1); var $18=(($17)&1); var $19=(($18)|0)!=0; var $20=(($19)&1); var $21=$20; var $22=(($21)|0)!=0; if ($22) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 18; break; case 8: var $25=$2; var $26=(($25)|0)!=0; if ($26) { __label__ = 9; break; } else { __label__ = 11; break; } case 9: var $28=$st; var $29=(($28+8)|0); var $30=HEAP32[(($29)>>2)]; var $31=$2; var $32=_strcmp($30, $31); var $33=(($32)|0)!=0; if ($33) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 18; break; case 11: var $36=$st; var $37=(($36+12)|0); var $38=HEAP32[(($37)>>2)]; $sym=$38; var $39=$st; var $40=(($39+24)|0); var $41=HEAP32[(($40)>>2)]; var $42=$st; var $43=(($42+28)|0); var $44=HEAP32[(($43)>>2)]; var $45=(((-$44))|0); var $46=(($41+$45)|0); $str=$46; var $47=$sym; var $48=$st; var $49=(($48+32)|0); var $50=HEAP32[(($49)>>2)]; var $51=Math.floor(((($50)>>>0))/(16)); var $52=(($47+($51<<4))|0); $maxsym=$52; $symindx=0; __label__ = 12; break; case 12: var $54=$sym; var $55=$maxsym; var $56=(($54)>>>0) < (($55)>>>0); if ($56) { __label__ = 13; break; } else { __label__ = 17; break; } case 13: var $58=$3; var $59=$str; var $60=$sym; var $61=(($60)|0); var $62=HEAP32[(($61)>>2)]; var $63=(($59+$62)|0); var $64=$symindx; var $65=$sym; var $66=(($65+4)|0); var $67=HEAP32[(($66)>>2)]; var $68=$67; var $69=$sym; var $70=(($69+8)|0); var $71=HEAP32[(($70)>>2)]; var $72=$sym; var $73=(($72+12)|0); var $74=HEAP8[($73)]; var $75=(($74)&255); var $76=$4; var $77=FUNCTION_TABLE[$58]($63, $64, $68, $71, $75, $76); var $78=(($77)|0)!=0; if ($78) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 17; break; case 15: __label__ = 16; break; case 16: var $82=$sym; var $83=(($82+16)|0); $sym=$83; var $84=$symindx; var $85=((($84)+(1))|0); $symindx=$85; __label__ = 12; break; case 17: __label__ = 18; break; case 18: var $88=$st; var $89=(($88)|0); var $90=(($89)|0); var $91=HEAP32[(($90)>>2)]; $st=$91; __label__ = 5; break; case 19: _mutex_exit(_ksyms_lock); $1=0; __label__ = 20; break; case 20: var $94=$1; ; return $94; default: assert(0, "bad label: " + __label__); } } _ksyms_mod_foreach["X"]=1; function _ksyms_modload($name, $symstart, $symsize, $strstart, $strsize) { ; var __label__; var $1; var $2; var $3; var $4; var $5; var $st; $1=$name; $2=$symstart; $3=$symsize; $4=$strstart; $5=$strsize; var $6=_kmem_zalloc(48, 1); var $7=$6; $st=$7; _mutex_enter(_ksyms_lock); var $8=$1; var $9=$2; var $10=$3; var $11=$4; var $12=$5; var $13=$st; var $14=$2; _addsymtab($8, $9, $10, $11, $12, $13, $14, 0, 0, 0); _mutex_exit(_ksyms_lock); ; return; } function _ksyms_modunload($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $st; $1=$name; _mutex_enter(_ksyms_lock); var $2=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$2; __label__ = 3; break; case 3: var $4=$st; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 17; break; } case 4: var $7=$st; var $8=(($7+44)|0); var $9=HEAP8[($8)]; var $10=(($9) & 1); if ($10) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: __label__ = 16; break; case 6: var $13=$1; var $14=$st; var $15=(($14+8)|0); var $16=HEAP32[(($15)>>2)]; var $17=_strcmp($13, $16); var $18=(($17)|0)!=0; if ($18) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 16; break; case 8: var $21=$st; var $22=(($21+44)|0); HEAP8[($22)]=1; var $23=HEAP8[(_ksyms_isopen)]; var $24=(($23) & 1); if ($24) { __label__ = 15; break; } else { __label__ = 9; break; } case 9: __label__ = 10; break; case 10: var $27=$st; var $28=(($27)|0); var $29=(($28)|0); var $30=HEAP32[(($29)>>2)]; var $31=(($30)|0)!=0; if ($31) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $33=$st; var $34=(($33)|0); var $35=(($34+4)|0); var $36=HEAP32[(($35)>>2)]; var $37=$st; var $38=(($37)|0); var $39=(($38)|0); var $40=HEAP32[(($39)>>2)]; var $41=(($40)|0); var $42=(($41+4)|0); HEAP32[(($42)>>2)]=$36; __label__ = 13; break; case 12: var $44=$st; var $45=(($44)|0); var $46=(($45+4)|0); var $47=HEAP32[(($46)>>2)]; HEAP32[((((_ksyms_symtabs+4)|0))>>2)]=$47; __label__ = 13; break; case 13: var $49=$st; var $50=(($49)|0); var $51=(($50)|0); var $52=HEAP32[(($51)>>2)]; var $53=$st; var $54=(($53)|0); var $55=(($54+4)|0); var $56=HEAP32[(($55)>>2)]; HEAP32[(($56)>>2)]=$52; __label__ = 14; break; case 14: _ksyms_sizes_calc(); var $58=$st; var $59=$58; _kmem_free($59, 48); __label__ = 15; break; case 15: __label__ = 17; break; case 16: var $62=$st; var $63=(($62)|0); var $64=(($63)|0); var $65=HEAP32[(($64)>>2)]; $st=$65; __label__ = 3; break; case 17: _mutex_exit(_ksyms_lock); var $67=$st; var $68=(($67)|0)!=0; var $69=(($68)&1); var $70=(($69)|0)!=0; var $71=(($70)&1); var $72=$71; var $73=(($72)|0)!=0; if ($73) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: __label__ = 20; break; case 19: _kern_assert(((STRING_TABLE.__str5381)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str6382)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str7383)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str8384)|0),HEAP32[(((tempInt)+(12))>>2)]=752,tempInt)); __label__ = 20; break; case 20: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _ksyms_modunload["X"]=1; function _ksymswrite($dev$0, $dev$1, $uio, $ioflag) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1=__stackBase__; var $2; var $3; var $st$3$0=(($1)|0); HEAP32[(($st$3$0)>>2)]=$dev$0; var $st$3$1=(($1+4)|0); HEAP32[(($st$3$1)>>2)]=$dev$1; $2=$uio; $3=$ioflag; STACKTOP = __stackBase__; return 30; } function _ksymsopen($dev$0, $dev$1, $oflags, $devtype, $l) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2=__stackBase__; var $3; var $4; var $5; var $st$5$0=(($2)|0); HEAP32[(($st$5$0)>>2)]=$dev$0; var $st$5$1=(($2+4)|0); HEAP32[(($st$5$1)>>2)]=$dev$1; $3=$oflags; $4=$devtype; $5=$l; var $st$12$0=(($2)|0); var $6$0=HEAP32[(($st$12$0)>>2)]; var $st$12$1=(($2+4)|0); var $6$1=HEAP32[(($st$12$1)>>2)]; var $7$0=$6$0; var $7=$7$0; var $8=$7 & -1048576; var $9=$8 >>> 12; var $st$20$0=(($2)|0); var $10$0=HEAP32[(($st$20$0)>>2)]; var $st$20$1=(($2+4)|0); var $10$1=HEAP32[(($st$20$1)>>2)]; var $11$0=$10$0; var $11=$11$0; var $12=$11 & 255; var $13=$12 >>> 0; var $14=$9 | $13; var $15=(($14)|0)!=0; if ($15) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $17=HEAP8[(_ksyms_initted)]; var $18=(($17) & 1); if ($18) { __label__ = 5; break; } else { __label__ = 4; break; } case 4: $1=6; __label__ = 6; break; case 5: _mutex_enter(_ksyms_lock); var $21=HEAP32[((_ksyms_symsz)>>2)]; HEAP32[((((_ksyms_hdr+144)|0))>>2)]=$21; var $22=HEAP32[((_ksyms_symsz)>>2)]; var $23=Math.floor(((($22)>>>0))/(16)); HEAP32[((((_ksyms_hdr+152)|0))>>2)]=$23; var $24=HEAP32[((_ksyms_symsz)>>2)]; var $25=HEAP32[((((_ksyms_hdr+140)|0))>>2)]; var $26=((($24)+($25))|0); HEAP32[((((_ksyms_hdr+180)|0))>>2)]=$26; var $27=HEAP32[((_ksyms_strsz)>>2)]; HEAP32[((((_ksyms_hdr+184)|0))>>2)]=$27; HEAP8[(_ksyms_isopen)]=1; _mutex_exit(_ksyms_lock); $1=0; __label__ = 6; break; case 6: var $29=$1; STACKTOP = __stackBase__; return $29; default: assert(0, "bad label: " + __label__); } } _ksymsopen["X"]=1; function _ksymsclose($dev$0, $dev$1, $oflags, $devtype, $l) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1=__stackBase__; var $2; var $3; var $4; var $st; var $next; var $resize; var $st$7$0=(($1)|0); HEAP32[(($st$7$0)>>2)]=$dev$0; var $st$7$1=(($1+4)|0); HEAP32[(($st$7$1)>>2)]=$dev$1; $2=$oflags; $3=$devtype; $4=$l; _mutex_enter(_ksyms_lock); HEAP8[(_ksyms_isopen)]=0; $resize=0; var $5=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$5; __label__ = 3; break; case 3: var $7=$st; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { __label__ = 13; break; } case 4: var $10=$st; var $11=(($10)|0); var $12=(($11)|0); var $13=HEAP32[(($12)>>2)]; $next=$13; var $14=$st; var $15=(($14+44)|0); var $16=HEAP8[($15)]; var $17=(($16) & 1); if ($17) { __label__ = 5; break; } else { __label__ = 11; break; } case 5: __label__ = 6; break; case 6: var $20=$st; var $21=(($20)|0); var $22=(($21)|0); var $23=HEAP32[(($22)>>2)]; var $24=(($23)|0)!=0; if ($24) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $26=$st; var $27=(($26)|0); var $28=(($27+4)|0); var $29=HEAP32[(($28)>>2)]; var $30=$st; var $31=(($30)|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($33)|0); var $35=(($34+4)|0); HEAP32[(($35)>>2)]=$29; __label__ = 9; break; case 8: var $37=$st; var $38=(($37)|0); var $39=(($38+4)|0); var $40=HEAP32[(($39)>>2)]; HEAP32[((((_ksyms_symtabs+4)|0))>>2)]=$40; __label__ = 9; break; case 9: var $42=$st; var $43=(($42)|0); var $44=(($43)|0); var $45=HEAP32[(($44)>>2)]; var $46=$st; var $47=(($46)|0); var $48=(($47+4)|0); var $49=HEAP32[(($48)>>2)]; HEAP32[(($49)>>2)]=$45; __label__ = 10; break; case 10: var $51=$st; var $52=$51; _kmem_free($52, 48); $resize=1; __label__ = 11; break; case 11: __label__ = 12; break; case 12: var $55=$next; $st=$55; __label__ = 3; break; case 13: var $57=$resize; var $58=(($57) & 1); if ($58) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: _ksyms_sizes_calc(); __label__ = 15; break; case 15: _mutex_exit(_ksyms_lock); STACKTOP = __stackBase__; return 0; default: assert(0, "bad label: " + __label__); } } _ksymsclose["X"]=1; function _ksymsread($dev$0, $dev$1, $uio, $ioflag) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2=__stackBase__; var $3; var $4; var $st; var $filepos; var $inpos; var $off; var $error; var $st$9$0=(($2)|0); HEAP32[(($st$9$0)>>2)]=$dev$0; var $st$9$1=(($2+4)|0); HEAP32[(($st$9$1)>>2)]=$dev$1; $3=$uio; $4=$ioflag; var $5=$3; var $6=(($5+8)|0); var $st$17$0=(($6)|0); var $7$0=HEAP32[(($st$17$0)>>2)]; var $st$17$1=(($6+4)|0); var $7$1=HEAP32[(($st$17$1)>>2)]; var $8$0=$7$0; var $8=$8$0; $off=$8; var $9=$off; var $10=(($9)>>>0) < 328; if ($10) { __label__ = 3; break; } else { __label__ = 6; break; } case 3: var $12=$off; var $13=((((_ksyms_hdr)|0)+$12)|0); var $14=$off; var $15=(((328)-($14))|0); var $16=$3; var $17=_uiomove($13, $15, $16); $error=$17; var $18=$error; var $19=(($18)|0)!=0; if ($19) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $21=$error; $1=$21; __label__ = 30; break; case 5: __label__ = 6; break; case 6: $filepos=328; var $24=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$24; __label__ = 7; break; case 7: var $26=$st; var $27=(($26)|0)!=0; if ($27) { __label__ = 8; break; } else { __label__ = 16; break; } case 8: var $29=$3; var $30=(($29+16)|0); var $31=HEAP32[(($30)>>2)]; var $32=(($31)|0)==0; if ($32) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $1=0; __label__ = 30; break; case 10: var $35=$3; var $36=(($35+8)|0); var $st$2$0=(($36)|0); var $37$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($36+4)|0); var $37$1=HEAP32[(($st$2$1)>>2)]; var $38=$st; var $39=(($38+32)|0); var $40=HEAP32[(($39)>>2)]; var $41=$filepos; var $42=((($40)+($41))|0); var $43$0=$42; var $43$1=0; var $44=($37$1|0) <= ($43$1|0) && (($37$1|0) < ($43$1|0) || ($37$0>>>0) <= ($43$0>>>0)); if ($44) { __label__ = 11; break; } else { __label__ = 14; break; } case 11: var $46=$3; var $47=(($46+8)|0); var $st$2$0=(($47)|0); var $48$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($47+4)|0); var $48$1=HEAP32[(($st$2$1)>>2)]; var $49=$filepos; var $50$0=$49; var $50$1=0; var $51$0 = (i64Math.subtract($48$0,$48$1,$50$0,$50$1),i64Math.result[0]); var $51$1 = i64Math.result[1]; var $52$0=$51$0; var $52=$52$0; $inpos=$52; var $53=$st; var $54=(($53+12)|0); var $55=HEAP32[(($54)>>2)]; var $56=$55; var $57=$inpos; var $58=(($56+$57)|0); var $59=$st; var $60=(($59+32)|0); var $61=HEAP32[(($60)>>2)]; var $62=$inpos; var $63=((($61)-($62))|0); var $64=$3; var $65=_uiomove($58, $63, $64); $error=$65; var $66=$error; var $67=(($66)|0)!=0; if ($67) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $69=$error; $1=$69; __label__ = 30; break; case 13: __label__ = 14; break; case 14: var $72=$st; var $73=(($72+32)|0); var $74=HEAP32[(($73)>>2)]; var $75=$filepos; var $76=((($75)+($74))|0); $filepos=$76; __label__ = 15; break; case 15: var $78=$st; var $79=(($78)|0); var $80=(($79)|0); var $81=HEAP32[(($80)>>2)]; $st=$81; __label__ = 7; break; case 16: var $83=$filepos; var $84=HEAP32[((((_ksyms_hdr+144)|0))>>2)]; var $85=((($84)+(328))|0); var $86=(($83)|0)==(($85)|0); var $87=(($86)&1); var $88=(($87)|0)!=0; var $89=(($88)&1); var $90=$89; var $91=(($90)|0)!=0; if ($91) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 19; break; case 18: _kern_assert(((STRING_TABLE.__str5381)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str6382)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str9385)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str8384)|0),HEAP32[(((tempInt)+(12))>>2)]=1020,tempInt)); __label__ = 19; break; case 19: var $95=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$95; __label__ = 20; break; case 20: var $97=$st; var $98=(($97)|0)!=0; if ($98) { __label__ = 21; break; } else { __label__ = 29; break; } case 21: var $100=$3; var $101=(($100+16)|0); var $102=HEAP32[(($101)>>2)]; var $103=(($102)|0)==0; if ($103) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: $1=0; __label__ = 30; break; case 23: var $106=$3; var $107=(($106+8)|0); var $st$2$0=(($107)|0); var $108$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($107+4)|0); var $108$1=HEAP32[(($st$2$1)>>2)]; var $109=$st; var $110=(($109+36)|0); var $111=HEAP32[(($110)>>2)]; var $112=$filepos; var $113=((($111)+($112))|0); var $114$0=$113; var $114$1=0; var $115=($108$1|0) <= ($114$1|0) && (($108$1|0) < ($114$1|0) || ($108$0>>>0) <= ($114$0>>>0)); if ($115) { __label__ = 24; break; } else { __label__ = 27; break; } case 24: var $117=$3; var $118=(($117+8)|0); var $st$2$0=(($118)|0); var $119$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($118+4)|0); var $119$1=HEAP32[(($st$2$1)>>2)]; var $120=$filepos; var $121$0=$120; var $121$1=0; var $122$0 = (i64Math.subtract($119$0,$119$1,$121$0,$121$1),i64Math.result[0]); var $122$1 = i64Math.result[1]; var $123$0=$122$0; var $123=$123$0; $inpos=$123; var $124=$st; var $125=(($124+24)|0); var $126=HEAP32[(($125)>>2)]; var $127=$inpos; var $128=(($126+$127)|0); var $129=$st; var $130=(($129+36)|0); var $131=HEAP32[(($130)>>2)]; var $132=$inpos; var $133=((($131)-($132))|0); var $134=$3; var $135=_uiomove($128, $133, $134); $error=$135; var $136=$error; var $137=(($136)|0)!=0; if ($137) { __label__ = 25; break; } else { __label__ = 26; break; } case 25: var $139=$error; $1=$139; __label__ = 30; break; case 26: __label__ = 27; break; case 27: var $142=$st; var $143=(($142+36)|0); var $144=HEAP32[(($143)>>2)]; var $145=$filepos; var $146=((($145)+($144))|0); $filepos=$146; __label__ = 28; break; case 28: var $148=$st; var $149=(($148)|0); var $150=(($149)|0); var $151=HEAP32[(($150)>>2)]; $st=$151; __label__ = 20; break; case 29: $1=0; __label__ = 30; break; case 30: var $154=$1; STACKTOP = __stackBase__; return $154; default: assert(0, "bad label: " + __label__); } } _ksymsread["X"]=1; function _ksymsioctl($dev$0, $dev$1, $cmd, $data, $fflag, $l) { var __stackBase__ = STACKTOP; STACKTOP += 28; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2=__stackBase__; var $3; var $4; var $5; var $6; var $kg; var $st; var $sym; var $copy=(__stackBase__)+(8); var $val=(__stackBase__)+(24); var $error; var $str; var $len; var $st$14$0=(($2)|0); HEAP32[(($st$14$0)>>2)]=$dev$0; var $st$14$1=(($2+4)|0); HEAP32[(($st$14$1)>>2)]=$dev$1; $3=$cmd; $4=$data; $5=$fflag; $6=$l; var $7=$4; var $8=$7; $kg=$8; $sym=0; $error=0; $str=0; var $9=HEAP32[((_ksyms_maxlen)>>2)]; $len=$9; var $10=$3; var $11=(($10)|0)==-2146931710; if ($11) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $13=$3; var $14=(($13)|0)==-2146931711; if ($14) { __label__ = 4; break; } else { __label__ = 7; break; } case 4: var $16=$len; var $17=_kmem_alloc($16, 1); $str=$17; var $18=$kg; var $19=(($18)|0); var $20=HEAP32[(($19)>>2)]; var $21=$str; var $22=$len; var $23=_copyinstr($20, $21, $22, 0); $error=$23; var $24=(($23)|0)!=0; if ($24) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $26=$str; var $27=$len; _kmem_free($26, $27); var $28=$error; $1=$28; __label__ = 26; break; case 6: __label__ = 7; break; case 7: var $31=$3; if ((($31)|0) == -2146931710) { __label__ = 8; break; } else if ((($31)|0) == -2146931711) { __label__ = 11; break; } else if ((($31)|0) == 1074031619) { __label__ = 23; break; } else { __label__ = 24; break; } case 8: var $33=$str; var $34=_ksyms_getval(0, $33, $val, 0); $error=$34; var $35=$error; var $36=(($35)|0)==0; if ($36) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $38=$val; var $39=$kg; var $40=(($39+4)|0); var $41=$40; var $42=HEAP32[(($41)>>2)]; var $43=$42; var $44=_copyout($38, $43, 4); $error=$44; __label__ = 10; break; case 10: var $46=$str; var $47=$len; _kmem_free($46, $47); __label__ = 25; break; case 11: _mutex_enter(_ksyms_lock); var $49=HEAP32[((((_ksyms_symtabs)|0))>>2)]; $st=$49; __label__ = 12; break; case 12: var $51=$st; var $52=(($51)|0)!=0; if ($52) { __label__ = 13; break; } else { __label__ = 19; break; } case 13: var $54=$st; var $55=(($54+44)|0); var $56=HEAP8[($55)]; var $57=(($56) & 1); if ($57) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 18; break; case 15: var $60=$str; var $61=$st; var $62=_findsym($60, $61, 128); $sym=$62; var $63=(($62)|0)==0; if ($63) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: __label__ = 19; break; case 18: var $67=$st; var $68=(($67)|0); var $69=(($68)|0); var $70=HEAP32[(($69)>>2)]; $st=$70; __label__ = 12; break; case 19: var $72=$sym; var $73=(($72)|0)!=0; if ($73) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: var $75=$copy; var $76=$sym; var $77=$76; assert(16 % 1 === 0, 'memcpy given ' + 16 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($75)>>2)]=HEAP32[(($77)>>2)];HEAP32[((($75)+(4))>>2)]=HEAP32[((($77)+(4))>>2)];HEAP32[((($75)+(8))>>2)]=HEAP32[((($77)+(8))>>2)];HEAP32[((($75)+(12))>>2)]=HEAP32[((($77)+(12))>>2)]; _mutex_exit(_ksyms_lock); var $78=$copy; var $79=$kg; var $80=(($79+4)|0); var $81=$80; var $82=HEAP32[(($81)>>2)]; var $83=_copyout($78, $82, 16); $error=$83; __label__ = 22; break; case 21: _mutex_exit(_ksyms_lock); $error=2; __label__ = 22; break; case 22: var $86=$str; var $87=$len; _kmem_free($86, $87); __label__ = 25; break; case 23: _mutex_enter(_ksyms_lock); var $89=HEAP32[((_ksyms_strsz)>>2)]; var $90=HEAP32[((_ksyms_symsz)>>2)]; var $91=((($89)+($90))|0); var $92=((($91)+(328))|0); var $93=$4; var $94=$93; HEAP32[(($94)>>2)]=$92; _mutex_exit(_ksyms_lock); __label__ = 25; break; case 24: $error=25; __label__ = 25; break; case 25: var $97=$error; $1=$97; __label__ = 26; break; case 26: var $99=$1; STACKTOP = __stackBase__; return $99; default: assert(0, "bad label: " + __label__); } } _ksymsioctl["X"]=1; function _addsymtab_compar($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $sa; var $sb; $2=$a; $3=$b; var $4=$2; var $5=$4; $sa=$5; var $6=$3; var $7=$6; $sb=$7; var $8=$sa; var $9=(($8+12)|0); var $10=HEAP8[($9)]; var $11=(($10)&255); var $12=$11 >>> 4; var $13=$sb; var $14=(($13+12)|0); var $15=HEAP8[($14)]; var $16=(($15)&255); var $17=$16 >>> 4; var $18=(($12)|0)!=(($17)|0); if ($18) { __label__ = 3; break; } else { __label__ = 8; break; } case 3: var $20=$sa; var $21=(($20+12)|0); var $22=HEAP8[($21)]; var $23=(($22)&255); var $24=$23 >>> 4; var $25=(($24)|0)==1; if ($25) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: $1=-1; __label__ = 9; break; case 5: var $28=$sb; var $29=(($28+12)|0); var $30=HEAP8[($29)]; var $31=(($30)&255); var $32=$31 >>> 4; var $33=(($32)|0)==1; if ($33) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $1=1; __label__ = 9; break; case 7: __label__ = 8; break; case 8: var $37=$sa; var $38=(($37)|0); var $39=HEAP32[(($38)>>2)]; var $40=HEAP32[((_addsymtab_strstart)>>2)]; var $41=(($40+$39)|0); var $42=$sb; var $43=(($42)|0); var $44=HEAP32[(($43)>>2)]; var $45=HEAP32[((_addsymtab_strstart)>>2)]; var $46=(($45+$44)|0); var $47=_strcmp($41, $46); $1=$47; __label__ = 9; break; case 9: var $49=$1; ; return $49; default: assert(0, "bad label: " + __label__); } } _addsymtab_compar["X"]=1; function _module_error($fmt) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $ap=__stackBase__; $1=$fmt; var $2=$ap; HEAP32[(($2)>>2)]=arguments[_module_error.length]; _printf(((STRING_TABLE.__str399)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $3=$1; var $4=HEAP32[(($ap)>>2)]; _vprintf($3, $4); _printf(((STRING_TABLE.__str1400)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $5=$ap; ; STACKTOP = __stackBase__; return; } function _module_print($fmt) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $ap=__stackBase__; $1=$fmt; var $2=HEAP8[(_module_verbose_on)]; var $3=(($2) & 1); if ($3) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $5=$ap; HEAP32[(($5)>>2)]=arguments[_module_print.length]; _printf(((STRING_TABLE.__str2401)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $6=$1; var $7=HEAP32[(($ap)>>2)]; _vprintf($6, $7); _printf(((STRING_TABLE.__str1400)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $8=$ap; ; __label__ = 4; break; case 4: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _module_newmodule($source) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $mod; $1=$source; var $2=_kmem_zalloc(88, 1); var $3=$2; $mod=$3; var $4=$mod; var $5=(($4)|0)!=0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $8=$mod; var $9=(($8+64)|0); HEAP32[(($9)>>2)]=$7; var $10=$mod; var $11=(($10+4)|0); HEAP32[(($11)>>2)]=0; var $12=$mod; var $13=(($12+84)|0); HEAP32[(($13)>>2)]=0; __label__ = 4; break; case 4: var $15=$mod; ; return $15; default: assert(0, "bad label: " + __label__); } } function _module_lookup($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $mod; $1=$name; var $2=_kernconfig_is_held(); var $3=(($2)&1); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=615,tempInt)); __label__ = 5; break; case 5: var $11=HEAP32[((((_module_list)|0))>>2)]; $mod=$11; __label__ = 6; break; case 6: var $13=$mod; var $14=(($13)|0)!=0; if ($14) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $16=$mod; var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18+12)|0); var $20=HEAP32[(($19)>>2)]; var $21=$1; var $22=_strcmp($20, $21); var $23=(($22)|0)==0; if ($23) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 11; break; case 9: __label__ = 10; break; case 10: var $27=$mod; var $28=(($27+12)|0); var $29=(($28)|0); var $30=HEAP32[(($29)>>2)]; $mod=$30; __label__ = 6; break; case 11: var $32=$mod; STACKTOP = __stackBase__; return $32; default: assert(0, "bad label: " + __label__); } } function _module_do_builtin($name, $modp, $props) { var __stackBase__ = STACKTOP; STACKTOP += 36; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $p; var $s; var $buf=__stackBase__; var $mi; var $mod; var $mod2=(__stackBase__)+(32); var $mod_loaded; var $prev_active; var $len; var $error; $2=$name; $3=$modp; $4=$props; $mi=0; var $5=_kernconfig_is_held(); var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=718,tempInt)); __label__ = 5; break; case 5: var $14=HEAP32[((((_module_builtins)|0))>>2)]; $mod=$14; __label__ = 6; break; case 6: var $16=$mod; var $17=(($16)|0)!=0; if ($17) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $19=$mod; var $20=(($19+4)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21+12)|0); var $23=HEAP32[(($22)>>2)]; var $24=$2; var $25=_strcmp($23, $24); var $26=(($25)|0)==0; if ($26) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $28=$mod; var $29=(($28+4)|0); var $30=HEAP32[(($29)>>2)]; $mi=$30; __label__ = 11; break; case 9: __label__ = 10; break; case 10: var $33=$mod; var $34=(($33+12)|0); var $35=(($34)|0); var $36=HEAP32[(($35)>>2)]; $mod=$36; __label__ = 6; break; case 11: var $38=$2; var $39=_module_lookup($38); $mod_loaded=$39; var $40=(($39)|0)!=0; if ($40) { __label__ = 12; break; } else { __label__ = 18; break; } case 12: var $42=$mod; var $43=(($42)|0)==0; var $44=(($43)&1); var $45=(($44)|0)!=0; var $46=(($45)&1); var $47=$46; var $48=(($47)|0)!=0; if ($48) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str46445)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=735,tempInt)); __label__ = 15; break; case 15: var $52=$3; var $53=(($52)|0)!=0; if ($53) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $55=$mod_loaded; var $56=$3; HEAP32[(($56)>>2)]=$55; __label__ = 17; break; case 17: $1=0; __label__ = 49; break; case 18: var $59=$mi; var $60=(($59)|0)==0; if ($60) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $62=$2; _module_error(((STRING_TABLE.__str47446)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$62,tempInt)); $1=2; __label__ = 49; break; case 20: var $64=$mi; var $65=(($64+16)|0); var $66=HEAP32[(($65)>>2)]; var $67=(($66)|0)!=0; if ($67) { __label__ = 21; break; } else { __label__ = 39; break; } case 21: var $69=$mi; var $70=(($69+16)|0); var $71=HEAP32[(($70)>>2)]; $s=$71; __label__ = 22; break; case 22: var $73=$s; var $74=HEAP8[($73)]; var $75=(($74 << 24) >> 24); var $76=(($75)|0)!=0; if ($76) { __label__ = 23; break; } else { __label__ = 38; break; } case 23: var $78=$s; var $79=HEAP8[($78)]; var $80=(($79 << 24) >> 24); var $81=(($80)|0)==44; if ($81) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: var $83=$s; var $84=(($83+1)|0); $s=$84; __label__ = 25; break; case 25: var $86=$s; $p=$86; __label__ = 26; break; case 26: var $88=$p; var $89=HEAP8[($88)]; var $90=(($89 << 24) >> 24); var $91=(($90)|0)!=0; if ($91) { __label__ = 27; break; } else { var $98 = 0;__label__ = 28; break; } case 27: var $93=$p; var $94=HEAP8[($93)]; var $95=(($94 << 24) >> 24); var $96=(($95)|0)!=44; var $98 = $96;__label__ = 28; break; case 28: var $98; if ($98) { __label__ = 29; break; } else { __label__ = 30; break; } case 29: var $100=$p; var $101=(($100+1)|0); $p=$101; __label__ = 26; break; case 30: var $103=$p; var $104=$s; var $105=$103; var $106=$104; var $107=((($105)-($106))|0); var $108=((($107)+(1))|0); var $109=_min454($108, 32); $len=$109; var $110=(($buf)|0); var $111=$s; var $112=$len; var $113=_strlcpy($110, $111, $112); var $114=(($buf)|0); var $115=HEAP8[($114)]; var $116=(($115 << 24) >> 24); var $117=(($116)|0)==0; if ($117) { __label__ = 31; break; } else { __label__ = 32; break; } case 31: __label__ = 38; break; case 32: var $120=$mod; var $121=(($120+60)|0); var $122=HEAP32[(($121)>>2)]; var $123=(($122)|0)==9; if ($123) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: _module_error(((STRING_TABLE.__str48447)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); $1=22; __label__ = 49; break; case 34: var $126=(($buf)|0); var $127=_module_do_builtin($126, $mod2, 0); $error=$127; var $128=$error; var $129=(($128)|0)!=0; if ($129) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: var $131=$error; $1=$131; __label__ = 49; break; case 36: var $133=HEAP32[(($mod2)>>2)]; var $134=$mod; var $135=(($134+60)|0); var $136=HEAP32[(($135)>>2)]; var $137=((($136)+(1))|0); HEAP32[(($135)>>2)]=$137; var $138=$mod; var $139=(($138+20)|0); var $140=(($139+($136<<2))|0); HEAP32[(($140)>>2)]=$133; __label__ = 37; break; case 37: var $142=$p; $s=$142; __label__ = 22; break; case 38: __label__ = 39; break; case 39: var $145=HEAP32[((_module_active)>>2)]; $prev_active=$145; var $146=$mod; HEAP32[((_module_active)>>2)]=$146; var $147=$mi; var $148=(($147+8)|0); var $149=HEAP32[(($148)>>2)]; var $150=$4; var $151=$150; var $152=FUNCTION_TABLE[$149](0, $151); $error=$152; var $153=$prev_active; HEAP32[((_module_active)>>2)]=$153; var $154=$error; var $155=(($154)|0)!=0; if ($155) { __label__ = 40; break; } else { __label__ = 41; break; } case 40: var $157=$mi; var $158=(($157+12)|0); var $159=HEAP32[(($158)>>2)]; _module_error(((STRING_TABLE.__str49448)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$159,tempInt)); var $160=$error; $1=$160; __label__ = 49; break; case 41: __label__ = 42; break; case 42: var $163=$mod; var $164=(($163+12)|0); var $165=(($164)|0); var $166=HEAP32[(($165)>>2)]; var $167=(($166)|0)!=0; if ($167) { __label__ = 43; break; } else { __label__ = 44; break; } case 43: var $169=$mod; var $170=(($169+12)|0); var $171=(($170+4)|0); var $172=HEAP32[(($171)>>2)]; var $173=$mod; var $174=(($173+12)|0); var $175=(($174)|0); var $176=HEAP32[(($175)>>2)]; var $177=(($176+12)|0); var $178=(($177+4)|0); HEAP32[(($178)>>2)]=$172; __label__ = 45; break; case 44: var $180=$mod; var $181=(($180+12)|0); var $182=(($181+4)|0); var $183=HEAP32[(($182)>>2)]; HEAP32[((((_module_builtins+4)|0))>>2)]=$183; __label__ = 45; break; case 45: var $185=$mod; var $186=(($185+12)|0); var $187=(($186)|0); var $188=HEAP32[(($187)>>2)]; var $189=$mod; var $190=(($189+12)|0); var $191=(($190+4)|0); var $192=HEAP32[(($191)>>2)]; HEAP32[(($192)>>2)]=$188; __label__ = 46; break; case 46: var $194=HEAP32[((_module_builtinlist)>>2)]; var $195=((($194)-(1))|0); HEAP32[((_module_builtinlist)>>2)]=$195; var $196=$3; var $197=(($196)|0)!=0; if ($197) { __label__ = 47; break; } else { __label__ = 48; break; } case 47: var $199=$mod; var $200=$3; HEAP32[(($200)>>2)]=$199; __label__ = 48; break; case 48: var $202=$mod; _module_enqueue($202); $1=0; __label__ = 49; break; case 49: var $204=$1; STACKTOP = __stackBase__; return $204; default: assert(0, "bad label: " + __label__); } } _module_do_builtin["X"]=1; function _module_builtin_add($mip, $nmodinfo, $init) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $modp; var $mod_iter; var $rv; var $i; var $mipskip; $2=$mip; $3=$nmodinfo; var $5=(($init)&1); $4=$5; $modp=0; $rv=0; var $6=$4; var $7=(($6) & 1); if ($7) { __label__ = 3; break; } else { __label__ = 6; break; } case 3: var $9=_kauth_cred_get(); var $10=_kauth_authorize_system($9, 15, 0, 0, 1, 0); $rv=$10; var $11=$rv; var $12=(($11)|0)!=0; if ($12) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $14=$rv; $1=$14; __label__ = 61; break; case 5: __label__ = 6; break; case 6: $i=0; $mipskip=0; __label__ = 7; break; case 7: var $18=$i; var $19=$3; var $20=(($18)>>>0) < (($19)>>>0); if ($20) { __label__ = 8; break; } else { __label__ = 15; break; } case 8: var $22=$i; var $23=$2; var $24=(($23+($22<<2))|0); var $25=HEAP32[(($24)>>2)]; var $26=(($25)|0)==((_module_dummy)|0); if ($26) { __label__ = 9; break; } else { __label__ = 13; break; } case 9: var $28=$3; var $29=(($28)>>>0) > 0; var $30=(($29)&1); var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=$32; var $34=(($33)|0)!=0; if ($34) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 12; break; case 11: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str5404)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=207,tempInt)); __label__ = 12; break; case 12: var $38=$3; var $39=((($38)-(1))|0); $3=$39; __label__ = 13; break; case 13: __label__ = 14; break; case 14: var $42=$i; var $43=((($42)+(1))|0); $i=$43; __label__ = 7; break; case 15: var $45=$3; var $46=(($45)|0)==0; if ($46) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: $1=0; __label__ = 61; break; case 17: var $49=$3; var $50=((($49<<2))|0); var $51=_kmem_zalloc($50, 1); var $52=$51; $modp=$52; $i=0; $mipskip=0; __label__ = 18; break; case 18: var $54=$i; var $55=$3; var $56=(($54)>>>0) < (($55)>>>0); if ($56) { __label__ = 19; break; } else { __label__ = 23; break; } case 19: var $58=$i; var $59=$mipskip; var $60=((($58)+($59))|0); var $61=$2; var $62=(($61+($60<<2))|0); var $63=HEAP32[(($62)>>2)]; var $64=(($63)|0)==((_module_dummy)|0); if ($64) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: var $66=$mipskip; var $67=((($66)+(1))|0); $mipskip=$67; __label__ = 22; break; case 21: var $69=_module_newmodule(0); var $70=$i; var $71=$modp; var $72=(($71+($70<<2))|0); HEAP32[(($72)>>2)]=$69; var $73=$i; var $74=$mipskip; var $75=((($73)+($74))|0); var $76=$2; var $77=(($76+($75<<2))|0); var $78=HEAP32[(($77)>>2)]; var $79=$i; var $80=$modp; var $81=(($80+($79<<2))|0); var $82=HEAP32[(($81)>>2)]; var $83=(($82+4)|0); HEAP32[(($83)>>2)]=$78; __label__ = 22; break; case 22: var $85=$i; var $86=((($85)+(1))|0); $i=$86; __label__ = 18; break; case 23: _kernconfig_lock(); $i=0; __label__ = 24; break; case 24: var $89=$i; var $90=$3; var $91=(($89)>>>0) < (($90)>>>0); if ($91) { __label__ = 25; break; } else { __label__ = 37; break; } case 25: var $93=HEAP32[((((_module_builtins)|0))>>2)]; $mod_iter=$93; __label__ = 26; break; case 26: var $95=$mod_iter; var $96=(($95)|0)!=0; if ($96) { __label__ = 27; break; } else { __label__ = 31; break; } case 27: var $98=$mod_iter; var $99=(($98+4)|0); var $100=HEAP32[(($99)>>2)]; var $101=(($100+12)|0); var $102=HEAP32[(($101)>>2)]; var $103=$i; var $104=$modp; var $105=(($104+($103<<2))|0); var $106=HEAP32[(($105)>>2)]; var $107=(($106+4)|0); var $108=HEAP32[(($107)>>2)]; var $109=(($108+12)|0); var $110=HEAP32[(($109)>>2)]; var $111=_strcmp($102, $110); var $112=(($111)|0)==0; if ($112) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: __label__ = 31; break; case 29: __label__ = 30; break; case 30: var $116=$mod_iter; var $117=(($116+12)|0); var $118=(($117)|0); var $119=HEAP32[(($118)>>2)]; $mod_iter=$119; __label__ = 26; break; case 31: var $121=$mod_iter; var $122=(($121)|0)!=0; if ($122) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: $rv=17; __label__ = 52; break; case 33: var $125=$i; var $126=$modp; var $127=(($126+($125<<2))|0); var $128=HEAP32[(($127)>>2)]; var $129=(($128+4)|0); var $130=HEAP32[(($129)>>2)]; var $131=(($130+12)|0); var $132=HEAP32[(($131)>>2)]; var $133=_module_lookup($132); var $134=(($133)|0)!=0; if ($134) { __label__ = 34; break; } else { __label__ = 35; break; } case 34: $rv=17; __label__ = 52; break; case 35: __label__ = 36; break; case 36: var $138=$i; var $139=((($138)+(1))|0); $i=$139; __label__ = 24; break; case 37: $i=0; __label__ = 38; break; case 38: var $142=$i; var $143=$3; var $144=(($142)>>>0) < (($143)>>>0); if ($144) { __label__ = 39; break; } else { __label__ = 43; break; } case 39: __label__ = 40; break; case 40: var $147=$i; var $148=$modp; var $149=(($148+($147<<2))|0); var $150=HEAP32[(($149)>>2)]; var $151=(($150+12)|0); var $152=(($151)|0); HEAP32[(($152)>>2)]=0; var $153=HEAP32[((((_module_builtins+4)|0))>>2)]; var $154=$i; var $155=$modp; var $156=(($155+($154<<2))|0); var $157=HEAP32[(($156)>>2)]; var $158=(($157+12)|0); var $159=(($158+4)|0); HEAP32[(($159)>>2)]=$153; var $160=$i; var $161=$modp; var $162=(($161+($160<<2))|0); var $163=HEAP32[(($162)>>2)]; var $164=HEAP32[((((_module_builtins+4)|0))>>2)]; HEAP32[(($164)>>2)]=$163; var $165=$i; var $166=$modp; var $167=(($166+($165<<2))|0); var $168=HEAP32[(($167)>>2)]; var $169=(($168+12)|0); var $170=(($169)|0); HEAP32[((((_module_builtins+4)|0))>>2)]=$170; __label__ = 41; break; case 41: var $172=HEAP32[((_module_builtinlist)>>2)]; var $173=((($172)+(1))|0); HEAP32[((_module_builtinlist)>>2)]=$173; __label__ = 42; break; case 42: var $175=$i; var $176=((($175)+(1))|0); $i=$176; __label__ = 38; break; case 43: var $178=$4; var $179=(($178) & 1); if ($179) { __label__ = 44; break; } else { __label__ = 51; break; } case 44: $i=0; __label__ = 45; break; case 45: var $182=$i; var $183=$3; var $184=(($182)>>>0) < (($183)>>>0); if ($184) { __label__ = 46; break; } else { __label__ = 50; break; } case 46: var $186=$i; var $187=$modp; var $188=(($187+($186<<2))|0); var $189=HEAP32[(($188)>>2)]; var $190=(($189+4)|0); var $191=HEAP32[(($190)>>2)]; var $192=(($191+12)|0); var $193=HEAP32[(($192)>>2)]; var $194=_module_do_builtin($193, 0, 0); $rv=$194; var $195=$rv; var $196=(($195)|0)!=0; if ($196) { __label__ = 47; break; } else { __label__ = 48; break; } case 47: var $198=$i; var $199=$modp; var $200=(($199+($198<<2))|0); var $201=HEAP32[(($200)>>2)]; var $202=(($201+4)|0); var $203=HEAP32[(($202)>>2)]; var $204=(($203+12)|0); var $205=HEAP32[(($204)>>2)]; var $206=$rv; _panic(((STRING_TABLE.__str7406)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$205,HEAP32[(((tempInt)+(4))>>2)]=$206,tempInt)); throw "Reached an unreachable!" case 48: __label__ = 49; break; case 49: var $209=$i; var $210=((($209)+(1))|0); $i=$210; __label__ = 45; break; case 50: __label__ = 51; break; case 51: __label__ = 52; break; case 52: _kernconfig_unlock(); var $214=$rv; var $215=(($214)|0)!=0; if ($215) { __label__ = 53; break; } else { __label__ = 60; break; } case 53: $i=0; __label__ = 54; break; case 54: var $218=$i; var $219=$3; var $220=(($218)>>>0) < (($219)>>>0); if ($220) { __label__ = 55; break; } else { __label__ = 59; break; } case 55: var $222=$i; var $223=$modp; var $224=(($223+($222<<2))|0); var $225=HEAP32[(($224)>>2)]; var $226=(($225)|0)!=0; if ($226) { __label__ = 56; break; } else { __label__ = 57; break; } case 56: var $228=$i; var $229=$modp; var $230=(($229+($228<<2))|0); var $231=HEAP32[(($230)>>2)]; var $232=$231; _kmem_free($232, 88); __label__ = 57; break; case 57: __label__ = 58; break; case 58: var $235=$i; var $236=((($235)+(1))|0); $i=$236; __label__ = 54; break; case 59: __label__ = 60; break; case 60: var $239=$modp; var $240=$239; var $241=$3; var $242=((($241<<2))|0); _kmem_free($240, $242); var $243=$rv; $1=$243; __label__ = 61; break; case 61: var $245=$1; STACKTOP = __stackBase__; return $245; default: assert(0, "bad label: " + __label__); } } _module_builtin_add["X"]=1; // WARNING: content after a branch in a label, line: 35606 function _module_listener_cb($cred, $action, $cookie, $arg0, $arg1, $arg2, $arg3) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $result; $2=$cred; $3=$action; $4=$cookie; $5=$arg0; $6=$arg1; $7=$arg2; $8=$arg3; $result=2; var $9=$3; var $10=(($9)|0)!=15; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $12=$result; $1=$12; __label__ = 7; break; case 4: var $14=$7; var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $result=0; __label__ = 6; break; case 6: var $19=$result; $1=$19; __label__ = 7; break; case 7: var $21=$1; ; return $21; default: assert(0, "bad label: " + __label__); } } function _module_require_force($mod) { ; var __label__; var $1; $1=$mod; var $2=$1; var $3=(($2+84)|0); var $4=HEAP32[(($3)>>2)]; var $5=$4 | 1; HEAP32[(($3)>>2)]=$5; ; return; } function _module_builtin_remove($mi, $fini) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $mod; var $rv; $2=$mi; var $4=(($fini)&1); $3=$4; $rv=0; var $5=$3; var $6=(($5) & 1); if ($6) { __label__ = 3; break; } else { __label__ = 8; break; } case 3: var $8=_kauth_cred_get(); var $9=_kauth_authorize_system($8, 15, 0, 1, 0, 0); $rv=$9; var $10=$rv; var $11=(($10)|0)!=0; if ($11) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $13=$rv; $1=$13; __label__ = 28; break; case 5: _kernconfig_lock(); var $15=$2; var $16=(($15+12)|0); var $17=HEAP32[(($16)>>2)]; var $18=_module_do_unload($17, 1); $rv=$18; var $19=$rv; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 27; break; case 7: __label__ = 9; break; case 8: _kernconfig_lock(); __label__ = 9; break; case 9: var $25=HEAP32[((((_module_builtins)|0))>>2)]; $mod=$25; __label__ = 10; break; case 10: var $27=$mod; var $28=(($27)|0)!=0; if ($28) { __label__ = 11; break; } else { __label__ = 15; break; } case 11: var $30=$mod; var $31=(($30+4)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($32+12)|0); var $34=HEAP32[(($33)>>2)]; var $35=$2; var $36=(($35+12)|0); var $37=HEAP32[(($36)>>2)]; var $38=_strcmp($34, $37); var $39=(($38)|0)==0; if ($39) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 15; break; case 13: __label__ = 14; break; case 14: var $43=$mod; var $44=(($43+12)|0); var $45=(($44)|0); var $46=HEAP32[(($45)>>2)]; $mod=$46; __label__ = 10; break; case 15: var $48=$mod; var $49=(($48)|0)!=0; if ($49) { __label__ = 16; break; } else { __label__ = 22; break; } case 16: __label__ = 17; break; case 17: var $52=$mod; var $53=(($52+12)|0); var $54=(($53)|0); var $55=HEAP32[(($54)>>2)]; var $56=(($55)|0)!=0; if ($56) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: var $58=$mod; var $59=(($58+12)|0); var $60=(($59+4)|0); var $61=HEAP32[(($60)>>2)]; var $62=$mod; var $63=(($62+12)|0); var $64=(($63)|0); var $65=HEAP32[(($64)>>2)]; var $66=(($65+12)|0); var $67=(($66+4)|0); HEAP32[(($67)>>2)]=$61; __label__ = 20; break; case 19: var $69=$mod; var $70=(($69+12)|0); var $71=(($70+4)|0); var $72=HEAP32[(($71)>>2)]; HEAP32[((((_module_builtins+4)|0))>>2)]=$72; __label__ = 20; break; case 20: var $74=$mod; var $75=(($74+12)|0); var $76=(($75)|0); var $77=HEAP32[(($76)>>2)]; var $78=$mod; var $79=(($78+12)|0); var $80=(($79+4)|0); var $81=HEAP32[(($80)>>2)]; HEAP32[(($81)>>2)]=$77; __label__ = 21; break; case 21: var $83=HEAP32[((_module_builtinlist)>>2)]; var $84=((($83)-(1))|0); HEAP32[((_module_builtinlist)>>2)]=$84; __label__ = 26; break; case 22: var $86=$3; var $87=(($86) & 1); var $88=(($87)&1); var $89=(($88)|0)==0; var $90=(($89)&1); var $91=(($90)|0)!=0; var $92=(($91)&1); var $93=$92; var $94=(($93)|0)!=0; if ($94) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: __label__ = 25; break; case 24: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str8407)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=308,tempInt)); __label__ = 25; break; case 25: $rv=2; __label__ = 26; break; case 26: __label__ = 27; break; case 27: _kernconfig_unlock(); var $100=$rv; $1=$100; __label__ = 28; break; case 28: var $102=$1; STACKTOP = __stackBase__; return $102; default: assert(0, "bad label: " + __label__); } } _module_builtin_remove["X"]=1; function _module_do_unload($name, $load_requires_force) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $mod; var $prev_active; var $error; var $i; $2=$name; var $4=(($load_requires_force)&1); $3=$4; var $5=_kernconfig_is_held(); var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=1118,tempInt)); __label__ = 5; break; case 5: var $14=$2; var $15=(($14)|0)!=0; var $16=(($15)&1); var $17=(($16)|0)!=0; var $18=(($17)&1); var $19=$18; var $20=(($19)|0)!=0; if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22421)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=1119,tempInt)); __label__ = 8; break; case 8: var $24=$2; var $25=_module_lookup($24); $mod=$25; var $26=$mod; var $27=(($26)|0)==0; if ($27) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $29=$2; _module_error(((STRING_TABLE.__str23422)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$29,tempInt)); $1=2; __label__ = 36; break; case 10: var $31=$mod; var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($33)|0)!=0; if ($34) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $36=$2; _module_print(((STRING_TABLE.__str24423)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$36,tempInt)); $1=16; __label__ = 36; break; case 12: var $38=$mod; var $39=(($38+64)|0); var $40=HEAP32[(($39)>>2)]; var $41=(($40)|0)==0; if ($41) { __label__ = 13; break; } else { __label__ = 15; break; } case 13: var $43=$mod; var $44=(($43+4)|0); var $45=HEAP32[(($44)>>2)]; var $46=(($45+4)|0); var $47=HEAP32[(($46)>>2)]; var $48=(($47)|0)==5; if ($48) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: $1=1; __label__ = 36; break; case 15: var $51=HEAP32[((_module_active)>>2)]; $prev_active=$51; var $52=$mod; HEAP32[((_module_active)>>2)]=$52; var $53=$mod; var $54=(($53+4)|0); var $55=HEAP32[(($54)>>2)]; var $56=(($55+8)|0); var $57=HEAP32[(($56)>>2)]; var $58=FUNCTION_TABLE[$57](1, 0); $error=$58; var $59=$prev_active; HEAP32[((_module_active)>>2)]=$59; var $60=$error; var $61=(($60)|0)!=0; if ($61) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $63=$2; var $64=$error; _module_print(((STRING_TABLE.__str25424)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$63,HEAP32[(((tempInt)+(4))>>2)]=$64,tempInt)); var $65=$error; $1=$65; __label__ = 36; break; case 17: var $67=HEAP32[((_module_count)>>2)]; var $68=((($67)-(1))|0); HEAP32[((_module_count)>>2)]=$68; __label__ = 18; break; case 18: var $70=$mod; var $71=(($70+12)|0); var $72=(($71)|0); var $73=HEAP32[(($72)>>2)]; var $74=(($73)|0)!=0; if ($74) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $76=$mod; var $77=(($76+12)|0); var $78=(($77+4)|0); var $79=HEAP32[(($78)>>2)]; var $80=$mod; var $81=(($80+12)|0); var $82=(($81)|0); var $83=HEAP32[(($82)>>2)]; var $84=(($83+12)|0); var $85=(($84+4)|0); HEAP32[(($85)>>2)]=$79; __label__ = 21; break; case 20: var $87=$mod; var $88=(($87+12)|0); var $89=(($88+4)|0); var $90=HEAP32[(($89)>>2)]; HEAP32[((((_module_list+4)|0))>>2)]=$90; __label__ = 21; break; case 21: var $92=$mod; var $93=(($92+12)|0); var $94=(($93)|0); var $95=HEAP32[(($94)>>2)]; var $96=$mod; var $97=(($96+12)|0); var $98=(($97+4)|0); var $99=HEAP32[(($98)>>2)]; HEAP32[(($99)>>2)]=$95; __label__ = 22; break; case 22: $i=0; __label__ = 23; break; case 23: var $102=$i; var $103=$mod; var $104=(($103+60)|0); var $105=HEAP32[(($104)>>2)]; var $106=(($102)>>>0) < (($105)>>>0); if ($106) { __label__ = 24; break; } else { __label__ = 26; break; } case 24: var $108=$i; var $109=$mod; var $110=(($109+20)|0); var $111=(($110+($108<<2))|0); var $112=HEAP32[(($111)>>2)]; var $113=(($112)|0); var $114=HEAP32[(($113)>>2)]; var $115=((($114)-(1))|0); HEAP32[(($113)>>2)]=$115; __label__ = 25; break; case 25: var $117=$i; var $118=((($117)+(1))|0); $i=$118; __label__ = 23; break; case 26: var $120=$2; _module_print(((STRING_TABLE.__str26425)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$120,tempInt)); var $121=$mod; var $122=(($121+8)|0); var $123=HEAP32[(($122)>>2)]; var $124=(($123)|0)!=0; if ($124) { __label__ = 27; break; } else { __label__ = 28; break; } case 27: var $126=$mod; var $127=(($126+8)|0); var $128=HEAP32[(($127)>>2)]; _kobj_unload($128); __label__ = 28; break; case 28: var $130=$mod; var $131=(($130+64)|0); var $132=HEAP32[(($131)>>2)]; var $133=(($132)|0)==0; if ($133) { __label__ = 29; break; } else { __label__ = 34; break; } case 29: var $135=$mod; var $136=(($135+60)|0); HEAP32[(($136)>>2)]=0; var $137=$3; var $138=(($137) & 1); if ($138) { __label__ = 30; break; } else { __label__ = 31; break; } case 30: var $140=$mod; _module_require_force($140); __label__ = 31; break; case 31: __label__ = 32; break; case 32: var $143=$mod; var $144=(($143+12)|0); var $145=(($144)|0); HEAP32[(($145)>>2)]=0; var $146=HEAP32[((((_module_builtins+4)|0))>>2)]; var $147=$mod; var $148=(($147+12)|0); var $149=(($148+4)|0); HEAP32[(($149)>>2)]=$146; var $150=$mod; var $151=HEAP32[((((_module_builtins+4)|0))>>2)]; HEAP32[(($151)>>2)]=$150; var $152=$mod; var $153=(($152+12)|0); var $154=(($153)|0); HEAP32[((((_module_builtins+4)|0))>>2)]=$154; __label__ = 33; break; case 33: var $156=HEAP32[((_module_builtinlist)>>2)]; var $157=((($156)+(1))|0); HEAP32[((_module_builtinlist)>>2)]=$157; __label__ = 35; break; case 34: var $159=$mod; var $160=$159; _kmem_free($160, 88); __label__ = 35; break; case 35: var $162=HEAP32[((_module_gen)>>2)]; var $163=((($162)+(1))|0); HEAP32[((_module_gen)>>2)]=$163; $1=0; __label__ = 36; break; case 36: var $165=$1; STACKTOP = __stackBase__; return $165; default: assert(0, "bad label: " + __label__); } } _module_do_unload["X"]=1; function _module_init() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $mip; var $rv; var $1=HEAP32[((_module_map)>>2)]; var $2=(($1)|0)==0; if ($2) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $4=HEAP32[((_kernel_map)>>2)]; HEAP32[((_module_map)>>2)]=$4; __label__ = 4; break; case 4: _cv_init(_module_thread_cv, ((STRING_TABLE.__str9408)|0)); _mutex_init(_module_thread_lock, 2, 0); _module_init_md(); var $6=HEAP32[((_module_machine)>>2)]; var $7=(($6)|0)!=0; if ($7) { __label__ = 6; break; } else { __label__ = 5; break; } case 5: HEAP32[((_module_machine)>>2)]=((STRING_TABLE._machine)|0); __label__ = 6; break; case 6: var $10=HEAP32[((_module_machine)>>2)]; var $11=_snprintf(((_module_base)|0), 64, ((STRING_TABLE.__str10409)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$10,HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE._osrelease)|0),tempInt)); var $12=_kauth_listen_scope(((STRING_TABLE.__str11410)|0), 30, 0); HEAP32[((_module_listener)>>2)]=$12; $mip=((___start_link_set_modules)|0); __label__ = 7; break; case 7: var $14=$mip; var $15=(($14)>>>0) < (((((___stop_link_set_modules)|0)))>>>0); if ($15) { __label__ = 8; break; } else { __label__ = 12; break; } case 8: var $17=$mip; var $18=_module_builtin_add($17, 1, 0); $rv=$18; var $19=(($18)|0)!=0; if ($19) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $21=$mip; var $22=HEAP32[(($21)>>2)]; var $23=(($22+12)|0); var $24=HEAP32[(($23)>>2)]; var $25=$rv; _module_error(((STRING_TABLE.__str12411)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$24,HEAP32[(((tempInt)+(4))>>2)]=$25,tempInt)); __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $28=$mip; var $29=(($28+4)|0); $mip=$29; __label__ = 7; break; case 12: _sysctl_module_setup(); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _sysctl_module_setup() { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $node=__stackBase__; HEAP32[(($node)>>2)]=0; $4=0; var $5=$4; var $6=$5; var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $$emscripten$temp$0=((STRING_TABLE.__str50449)|0); var $7=_sysctl_createv(_module_sysctllog, 0, 0, 0, 512, 1, $$emscripten$temp$0, 0, 0, $$emscripten$temp$1$0, $$emscripten$temp$1$1, $6, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); $1=0; var $8=$1; var $9=$8; var $$emscripten$temp$3$0=0; var $$emscripten$temp$3$1=0; var $$emscripten$temp$2=((STRING_TABLE.__str51450)|0); var $10=_sysctl_createv(_module_sysctllog, 0, 0, $node, 512, 1, $$emscripten$temp$2, 0, 0, $$emscripten$temp$3$0, $$emscripten$temp$3$1, $9, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=-3,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); var $11=HEAP32[(($node)>>2)]; var $12=(($11)|0)==0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: $2=_module_autoload_on; var $15=$2; var $$emscripten$temp$5$0=0; var $$emscripten$temp$5$1=0; var $$emscripten$temp$4=((STRING_TABLE.__str52451)|0); var $16=_sysctl_createv(_module_sysctllog, 0, $node, 0, 624, 6, $$emscripten$temp$4, 0, 0, $$emscripten$temp$5$0, $$emscripten$temp$5$1, $15, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=-3,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); $3=_module_verbose_on; var $17=$3; var $$emscripten$temp$7$0=0; var $$emscripten$temp$7$1=0; var $$emscripten$temp$6=((STRING_TABLE.__str53452)|0); var $18=_sysctl_createv(_module_sysctllog, 0, $node, 0, 624, 6, $$emscripten$temp$6, 0, 0, $$emscripten$temp$7$0, $$emscripten$temp$7$1, $17, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=-3,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); __label__ = 5; break; case 5: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _module_thread($cookie) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $mod; var $next; var $mi; var $error; $1=$cookie; __label__ = 3; break; case 3: _kernconfig_lock(); var $3=HEAP32[((((_module_list)|0))>>2)]; $mod=$3; __label__ = 4; break; case 4: var $5=$mod; var $6=(($5)|0)!=0; if ($6) { __label__ = 5; break; } else { __label__ = 23; break; } case 5: var $8=$mod; var $9=(($8+12)|0); var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; $next=$11; var $12=$mod; var $13=(($12+64)|0); var $14=HEAP32[(($13)>>2)]; var $15=(($14)|0)==0; if ($15) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 22; break; case 7: var $18=$mod; var $19=(($18+84)|0); var $20=HEAP32[(($19)>>2)]; var $21=$20 & 2; var $22=(($21)|0)==0; if ($22) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: __label__ = 22; break; case 9: var $25=HEAP32[((((_uvmexp+16)|0))>>2)]; var $26=HEAP32[((((_uvmexp+60)|0))>>2)]; var $27=(($25)|0) < (($26)|0); if ($27) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $29=HEAP32[((_hz)>>2)]; HEAP32[((_module_thread_ticks)>>2)]=$29; __label__ = 18; break; case 11: var $31=$mod; var $32=(($31+68)|0); var $st$2$0=(($32)|0); var $33$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($32+4)|0); var $33$1=HEAP32[(($st$2$1)>>2)]; var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $34=$33$0 == $$emscripten$temp$0$0 && $33$1 == $$emscripten$temp$0$1; if ($34) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 22; break; case 13: var $st$0$0=((_time_second)|0); var $37$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_second+4)|0); var $37$1=HEAP32[(($st$0$1)>>2)]; var $38=$mod; var $39=(($38+68)|0); var $st$6$0=(($39)|0); var $40$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($39+4)|0); var $40$1=HEAP32[(($st$6$1)>>2)]; var $41=($37$1|0) < ($40$1|0) || (($37$1|0) == ($40$1|0) && ($37$0>>>0) < ($40$0>>>0)); if ($41) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $43=HEAP32[((_hz)>>2)]; HEAP32[((_module_thread_ticks)>>2)]=$43; __label__ = 22; break; case 15: var $45=$mod; var $46=(($45+68)|0); var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $st$4$0=(($46)|0); HEAP32[(($st$4$0)>>2)]=$$emscripten$temp$1$0; var $st$4$1=(($46+4)|0); HEAP32[(($st$4$1)>>2)]=$$emscripten$temp$1$1; __label__ = 16; break; case 16: __label__ = 17; break; case 17: __label__ = 18; break; case 18: var $50=$mod; var $51=(($50+4)|0); var $52=HEAP32[(($51)>>2)]; $mi=$52; var $53=$mi; var $54=(($53+8)|0); var $55=HEAP32[(($54)>>2)]; var $56=FUNCTION_TABLE[$55](3, 0); $error=$56; var $57=$error; var $58=(($57)|0)==0; if ($58) { __label__ = 20; break; } else { __label__ = 19; break; } case 19: var $60=$error; var $61=(($60)|0)==25; if ($61) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: var $63=$mi; var $64=(($63+12)|0); var $65=HEAP32[(($64)>>2)]; var $66=_module_do_unload($65, 0); __label__ = 21; break; case 21: __label__ = 22; break; case 22: var $69=$next; $mod=$69; __label__ = 4; break; case 23: _kernconfig_unlock(); _mutex_enter(_module_thread_lock); var $71=HEAP32[((_module_thread_ticks)>>2)]; var $72=_cv_timedwait(_module_thread_cv, _module_thread_lock, $71); HEAP32[((_module_thread_ticks)>>2)]=0; _mutex_exit(_module_thread_lock); __label__ = 3; break; default: assert(0, "bad label: " + __label__); } } _module_thread["X"]=1; function _module_builtin_require_force() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $mod; _kernconfig_lock(); var $1=HEAP32[((((_module_builtins)|0))>>2)]; $mod=$1; __label__ = 3; break; case 3: var $3=$mod; var $4=(($3)|0)!=0; if ($4) { __label__ = 4; break; } else { __label__ = 6; break; } case 4: var $6=$mod; _module_require_force($6); __label__ = 5; break; case 5: var $8=$mod; var $9=(($8+12)|0); var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; $mod=$11; __label__ = 3; break; case 6: _kernconfig_unlock(); ; return; default: assert(0, "bad label: " + __label__); } } function _module_start_unload_thread() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $error; var $1=HEAP32[((_schedppq)>>2)]; var $2=((($1<<1))|0); var $3=(((127)-($2))|0); var $4=_kthread_create($3, 2, 0, 32, 0, 0, ((STRING_TABLE.__str13412)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); $error=$4; var $5=$error; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $8=$error; _panic(((STRING_TABLE.__str14413)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$8,tempInt)); throw "Reached an unreachable!" case 4: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _module_init_class($class) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $bi_fail=__stackBase__; var $mod; var $mi; $1=$class; var $2=(($bi_fail)|0); HEAP32[(($2)>>2)]=0; var $3=(($bi_fail+4)|0); var $4=(($bi_fail)|0); HEAP32[(($3)>>2)]=$4; _kernconfig_lock(); __label__ = 3; break; case 3: var $6=HEAP32[((((_module_builtins)|0))>>2)]; $mod=$6; __label__ = 4; break; case 4: var $8=$mod; var $9=(($8)|0)!=0; if ($9) { __label__ = 5; break; } else { __label__ = 20; break; } case 5: var $11=$mod; var $12=(($11+4)|0); var $13=HEAP32[(($12)>>2)]; $mi=$13; var $14=$1; var $15=(($14)|0)!=0; if ($15) { __label__ = 6; break; } else { __label__ = 8; break; } case 6: var $17=$1; var $18=$mi; var $19=(($18+4)|0); var $20=HEAP32[(($19)>>2)]; var $21=(($17)|0)!=(($20)|0); if ($21) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 19; break; case 8: var $24=$mod; var $25=(($24+84)|0); var $26=HEAP32[(($25)>>2)]; var $27=$26 & 1; var $28=(($27)|0)!=0; if ($28) { __label__ = 10; break; } else { __label__ = 9; break; } case 9: var $30=$mi; var $31=(($30+12)|0); var $32=HEAP32[(($31)>>2)]; var $33=_module_do_builtin($32, 0, 0); var $34=(($33)|0)!=0; if ($34) { __label__ = 10; break; } else { __label__ = 18; break; } case 10: __label__ = 11; break; case 11: var $37=$mod; var $38=(($37+12)|0); var $39=(($38)|0); var $40=HEAP32[(($39)>>2)]; var $41=(($40)|0)!=0; if ($41) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $43=$mod; var $44=(($43+12)|0); var $45=(($44+4)|0); var $46=HEAP32[(($45)>>2)]; var $47=$mod; var $48=(($47+12)|0); var $49=(($48)|0); var $50=HEAP32[(($49)>>2)]; var $51=(($50+12)|0); var $52=(($51+4)|0); HEAP32[(($52)>>2)]=$46; __label__ = 14; break; case 13: var $54=$mod; var $55=(($54+12)|0); var $56=(($55+4)|0); var $57=HEAP32[(($56)>>2)]; HEAP32[((((_module_builtins+4)|0))>>2)]=$57; __label__ = 14; break; case 14: var $59=$mod; var $60=(($59+12)|0); var $61=(($60)|0); var $62=HEAP32[(($61)>>2)]; var $63=$mod; var $64=(($63+12)|0); var $65=(($64+4)|0); var $66=HEAP32[(($65)>>2)]; HEAP32[(($66)>>2)]=$62; __label__ = 15; break; case 15: __label__ = 16; break; case 16: var $69=$mod; var $70=(($69+12)|0); var $71=(($70)|0); HEAP32[(($71)>>2)]=0; var $72=(($bi_fail+4)|0); var $73=HEAP32[(($72)>>2)]; var $74=$mod; var $75=(($74+12)|0); var $76=(($75+4)|0); HEAP32[(($76)>>2)]=$73; var $77=$mod; var $78=(($bi_fail+4)|0); var $79=HEAP32[(($78)>>2)]; HEAP32[(($79)>>2)]=$77; var $80=$mod; var $81=(($80+12)|0); var $82=(($81)|0); var $83=(($bi_fail+4)|0); HEAP32[(($83)>>2)]=$82; __label__ = 17; break; case 17: __label__ = 18; break; case 18: __label__ = 20; break; case 19: var $87=$mod; var $88=(($87+12)|0); var $89=(($88)|0); var $90=HEAP32[(($89)>>2)]; $mod=$90; __label__ = 4; break; case 20: __label__ = 21; break; case 21: var $93=$mod; var $94=(($93)|0)!=0; if ($94) { __label__ = 3; break; } else { __label__ = 22; break; } case 22: __label__ = 23; break; case 23: var $97=HEAP32[((((_module_bootlist)|0))>>2)]; $mod=$97; __label__ = 24; break; case 24: var $99=$mod; var $100=(($99)|0)!=0; if ($100) { __label__ = 25; break; } else { __label__ = 30; break; } case 25: var $102=$mod; var $103=(($102+4)|0); var $104=HEAP32[(($103)>>2)]; $mi=$104; var $105=$1; var $106=(($105)|0)!=0; if ($106) { __label__ = 26; break; } else { __label__ = 28; break; } case 26: var $108=$1; var $109=$mi; var $110=(($109+4)|0); var $111=HEAP32[(($110)>>2)]; var $112=(($108)|0)!=(($111)|0); if ($112) { __label__ = 27; break; } else { __label__ = 28; break; } case 27: __label__ = 29; break; case 28: var $115=$mi; var $116=(($115+12)|0); var $117=HEAP32[(($116)>>2)]; var $118=$1; var $119=_module_do_load($117, 0, 0, 0, 0, $118, 0); __label__ = 30; break; case 29: var $121=$mod; var $122=(($121+12)|0); var $123=(($122)|0); var $124=HEAP32[(($123)>>2)]; $mod=$124; __label__ = 24; break; case 30: __label__ = 31; break; case 31: var $127=$mod; var $128=(($127)|0)!=0; if ($128) { __label__ = 23; break; } else { __label__ = 32; break; } case 32: __label__ = 33; break; case 33: var $131=(($bi_fail)|0); var $132=HEAP32[(($131)>>2)]; $mod=$132; var $133=(($132)|0)!=0; if ($133) { __label__ = 34; break; } else { __label__ = 42; break; } case 34: __label__ = 35; break; case 35: var $136=$mod; var $137=(($136+12)|0); var $138=(($137)|0); var $139=HEAP32[(($138)>>2)]; var $140=(($139)|0)!=0; if ($140) { __label__ = 36; break; } else { __label__ = 37; break; } case 36: var $142=$mod; var $143=(($142+12)|0); var $144=(($143+4)|0); var $145=HEAP32[(($144)>>2)]; var $146=$mod; var $147=(($146+12)|0); var $148=(($147)|0); var $149=HEAP32[(($148)>>2)]; var $150=(($149+12)|0); var $151=(($150+4)|0); HEAP32[(($151)>>2)]=$145; __label__ = 38; break; case 37: var $153=$mod; var $154=(($153+12)|0); var $155=(($154+4)|0); var $156=HEAP32[(($155)>>2)]; var $157=(($bi_fail+4)|0); HEAP32[(($157)>>2)]=$156; __label__ = 38; break; case 38: var $159=$mod; var $160=(($159+12)|0); var $161=(($160)|0); var $162=HEAP32[(($161)>>2)]; var $163=$mod; var $164=(($163+12)|0); var $165=(($164+4)|0); var $166=HEAP32[(($165)>>2)]; HEAP32[(($166)>>2)]=$162; __label__ = 39; break; case 39: __label__ = 40; break; case 40: var $169=$mod; var $170=(($169+12)|0); var $171=(($170)|0); HEAP32[(($171)>>2)]=0; var $172=HEAP32[((((_module_builtins+4)|0))>>2)]; var $173=$mod; var $174=(($173+12)|0); var $175=(($174+4)|0); HEAP32[(($175)>>2)]=$172; var $176=$mod; var $177=HEAP32[((((_module_builtins+4)|0))>>2)]; HEAP32[(($177)>>2)]=$176; var $178=$mod; var $179=(($178+12)|0); var $180=(($179)|0); HEAP32[((((_module_builtins+4)|0))>>2)]=$180; __label__ = 41; break; case 41: __label__ = 33; break; case 42: _kernconfig_unlock(); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _module_init_class["X"]=1; function _module_do_load($name, $isdep, $flags, $props, $modp, $class, $autoload) { var __stackBase__ = STACKTOP; STACKTOP += 48; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $pending; var $new_pending=__stackBase__; var $mi; var $mod; var $mod2=(__stackBase__)+(8); var $prev_active; var $filedict=(__stackBase__)+(12); var $buf=(__stackBase__)+(16); var $s; var $p; var $error; var $len; $2=$name; var $9=(($isdep)&1); $3=$9; $4=$flags; $5=$props; $6=$modp; $7=$class; var $10=(($autoload)&1); $8=$10; var $11=(($new_pending)|0); HEAP32[(($11)>>2)]=0; var $12=(($new_pending+4)|0); var $13=(($new_pending)|0); HEAP32[(($12)>>2)]=$13; var $14=_kernconfig_is_held(); var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=828,tempInt)); __label__ = 5; break; case 5: HEAP32[(($filedict)>>2)]=0; $error=0; var $23=HEAP32[((_module_do_load_depth)>>2)]; var $24=((($23)+(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$24; var $25=(($24)|0) > 6; if ($25) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: _module_error(((STRING_TABLE.__str27426)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $27=HEAP32[((_module_do_load_depth)>>2)]; var $28=((($27)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$28; $1=31; __label__ = 136; break; case 7: var $30=$3; var $31=(($30) & 1); if ($31) { __label__ = 8; break; } else { __label__ = 12; break; } case 8: var $33=HEAP32[((_module_do_load_depth)>>2)]; var $34=(($33)|0) > 1; var $35=(($34)&1); var $36=(($35)|0)!=0; var $37=(($36)&1); var $38=$37; var $39=(($38)|0)!=0; if ($39) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str28427)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=849,tempInt)); __label__ = 11; break; case 11: var $43=HEAP32[((_module_do_load_depth)>>2)]; var $44=((($43)-(2))|0); var $45=((_module_do_load_pending_lists+($44<<2))|0); var $46=HEAP32[(($45)>>2)]; $pending=$46; __label__ = 13; break; case 12: $pending=$new_pending; __label__ = 13; break; case 13: var $49=$pending; var $50=HEAP32[((_module_do_load_depth)>>2)]; var $51=((($50)-(1))|0); var $52=((_module_do_load_pending_lists+($51<<2))|0); HEAP32[(($52)>>2)]=$49; var $53=HEAP32[((((_module_builtins)|0))>>2)]; $mod=$53; __label__ = 14; break; case 14: var $55=$mod; var $56=(($55)|0)!=0; if ($56) { __label__ = 15; break; } else { __label__ = 19; break; } case 15: var $58=$mod; var $59=(($58+4)|0); var $60=HEAP32[(($59)>>2)]; var $61=(($60+12)|0); var $62=HEAP32[(($61)>>2)]; var $63=$2; var $64=_strcmp($62, $63); var $65=(($64)|0)==0; if ($65) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 19; break; case 17: __label__ = 18; break; case 18: var $69=$mod; var $70=(($69+12)|0); var $71=(($70)|0); var $72=HEAP32[(($71)>>2)]; $mod=$72; __label__ = 14; break; case 19: var $74=$mod; var $75=(($74)|0)!=0; if ($75) { __label__ = 20; break; } else { __label__ = 26; break; } case 20: var $77=$mod; var $78=(($77+84)|0); var $79=HEAP32[(($78)>>2)]; var $80=$79 & 1; var $81=(($80)|0)!=0; if ($81) { __label__ = 21; break; } else { __label__ = 25; break; } case 21: var $83=$4; var $84=$83 & 1; var $85=(($84)|0)==0; if ($85) { __label__ = 22; break; } else { __label__ = 25; break; } case 22: var $87=$8; var $88=(($87) & 1); if ($88) { __label__ = 24; break; } else { __label__ = 23; break; } case 23: var $90=$2; _module_error(((STRING_TABLE.__str29428)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$90,tempInt)); __label__ = 24; break; case 24: var $92=HEAP32[((_module_do_load_depth)>>2)]; var $93=((($92)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$93; $1=1; __label__ = 136; break; case 25: var $95=$2; var $96=$6; var $97=$5; var $98=_module_do_builtin($95, $96, $97); $error=$98; var $99=HEAP32[((_module_do_load_depth)>>2)]; var $100=((($99)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$100; var $101=$error; $1=$101; __label__ = 136; break; case 26: var $103=HEAP32[((((_module_bootlist)|0))>>2)]; $mod=$103; __label__ = 27; break; case 27: var $105=$mod; var $106=(($105)|0)!=0; if ($106) { __label__ = 28; break; } else { __label__ = 37; break; } case 28: var $108=$mod; var $109=(($108+4)|0); var $110=HEAP32[(($109)>>2)]; var $111=(($110+12)|0); var $112=HEAP32[(($111)>>2)]; var $113=$2; var $114=_strcmp($112, $113); var $115=(($114)|0)==0; if ($115) { __label__ = 29; break; } else { __label__ = 35; break; } case 29: __label__ = 30; break; case 30: var $118=$mod; var $119=(($118+12)|0); var $120=(($119)|0); var $121=HEAP32[(($120)>>2)]; var $122=(($121)|0)!=0; if ($122) { __label__ = 31; break; } else { __label__ = 32; break; } case 31: var $124=$mod; var $125=(($124+12)|0); var $126=(($125+4)|0); var $127=HEAP32[(($126)>>2)]; var $128=$mod; var $129=(($128+12)|0); var $130=(($129)|0); var $131=HEAP32[(($130)>>2)]; var $132=(($131+12)|0); var $133=(($132+4)|0); HEAP32[(($133)>>2)]=$127; __label__ = 33; break; case 32: var $135=$mod; var $136=(($135+12)|0); var $137=(($136+4)|0); var $138=HEAP32[(($137)>>2)]; HEAP32[((((_module_bootlist+4)|0))>>2)]=$138; __label__ = 33; break; case 33: var $140=$mod; var $141=(($140+12)|0); var $142=(($141)|0); var $143=HEAP32[(($142)>>2)]; var $144=$mod; var $145=(($144+12)|0); var $146=(($145+4)|0); var $147=HEAP32[(($146)>>2)]; HEAP32[(($147)>>2)]=$143; __label__ = 34; break; case 34: __label__ = 37; break; case 35: __label__ = 36; break; case 36: var $151=$mod; var $152=(($151+12)|0); var $153=(($152)|0); var $154=HEAP32[(($153)>>2)]; $mod=$154; __label__ = 27; break; case 37: var $156=$mod; var $157=(($156)|0)!=0; if ($157) { __label__ = 38; break; } else { __label__ = 41; break; } case 38: __label__ = 39; break; case 39: var $160=$mod; var $161=(($160+12)|0); var $162=(($161)|0); HEAP32[(($162)>>2)]=0; var $163=$pending; var $164=(($163+4)|0); var $165=HEAP32[(($164)>>2)]; var $166=$mod; var $167=(($166+12)|0); var $168=(($167+4)|0); HEAP32[(($168)>>2)]=$165; var $169=$mod; var $170=$pending; var $171=(($170+4)|0); var $172=HEAP32[(($171)>>2)]; HEAP32[(($172)>>2)]=$169; var $173=$mod; var $174=(($173+12)|0); var $175=(($174)|0); var $176=$pending; var $177=(($176+4)|0); HEAP32[(($177)>>2)]=$175; __label__ = 40; break; case 40: __label__ = 56; break; case 41: var $180=$3; var $181=(($180) & 1); if ($181) { __label__ = 42; break; } else { __label__ = 47; break; } case 42: var $183=$2; var $184=_module_lookup($183); $mod=$184; var $185=$mod; var $186=(($185)|0)!=0; if ($186) { __label__ = 43; break; } else { __label__ = 46; break; } case 43: var $188=$6; var $189=(($188)|0)!=0; if ($189) { __label__ = 44; break; } else { __label__ = 45; break; } case 44: var $191=$mod; var $192=$6; HEAP32[(($192)>>2)]=$191; __label__ = 45; break; case 45: var $194=HEAP32[((_module_do_load_depth)>>2)]; var $195=((($194)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$195; $1=0; __label__ = 136; break; case 46: __label__ = 47; break; case 47: var $198=_module_newmodule(2); $mod=$198; var $199=$mod; var $200=(($199)|0)==0; if ($200) { __label__ = 48; break; } else { __label__ = 49; break; } case 48: var $202=$2; _module_error(((STRING_TABLE.__str30429)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$202,tempInt)); var $203=HEAP32[((_module_do_load_depth)>>2)]; var $204=((($203)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$204; $1=12; __label__ = 136; break; case 49: var $206=HEAP32[((_module_load_vfs_vec)>>2)]; var $207=$2; var $208=$4; var $209=$8; var $210=(($209) & 1); var $211=$mod; var $212=FUNCTION_TABLE[$206]($207, $208, $210, $211, $filedict); $error=$212; var $213=$error; var $214=(($213)|0)!=0; if ($214) { __label__ = 50; break; } else { __label__ = 51; break; } case 50: var $216=$mod; var $217=$216; _kmem_free($217, 88); var $218=HEAP32[((_module_do_load_depth)>>2)]; var $219=((($218)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$219; var $220=$error; $1=$220; __label__ = 136; break; case 51: __label__ = 52; break; case 52: var $223=$mod; var $224=(($223+12)|0); var $225=(($224)|0); HEAP32[(($225)>>2)]=0; var $226=$pending; var $227=(($226+4)|0); var $228=HEAP32[(($227)>>2)]; var $229=$mod; var $230=(($229+12)|0); var $231=(($230+4)|0); HEAP32[(($231)>>2)]=$228; var $232=$mod; var $233=$pending; var $234=(($233+4)|0); var $235=HEAP32[(($234)>>2)]; HEAP32[(($235)>>2)]=$232; var $236=$mod; var $237=(($236+12)|0); var $238=(($237)|0); var $239=$pending; var $240=(($239+4)|0); HEAP32[(($240)>>2)]=$238; __label__ = 53; break; case 53: var $242=$mod; var $243=_module_fetch_info($242); $error=$243; var $244=$error; var $245=(($244)|0)!=0; if ($245) { __label__ = 54; break; } else { __label__ = 55; break; } case 54: var $247=$2; _module_error(((STRING_TABLE.__str31430)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$247,tempInt)); __label__ = 127; break; case 55: __label__ = 56; break; case 56: var $250=$mod; var $251=(($250+4)|0); var $252=HEAP32[(($251)>>2)]; $mi=$252; var $253=$mi; var $254=(($253+12)|0); var $255=HEAP32[(($254)>>2)]; var $256=_strlen($255); var $257=(($256)>>>0) >= 32; if ($257) { __label__ = 57; break; } else { __label__ = 58; break; } case 57: $error=22; var $259=$mi; var $260=(($259+12)|0); var $261=HEAP32[(($260)>>2)]; _module_error(((STRING_TABLE.__str32431)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$261,tempInt)); __label__ = 127; break; case 58: var $263=$mi; var $264=(($263)|0); var $265=HEAP32[(($264)>>2)]; var $266=_module_compatible($265, 699001400); if ($266) { __label__ = 63; break; } else { __label__ = 59; break; } case 59: var $268=$mi; var $269=(($268)|0); var $270=HEAP32[(($269)>>2)]; _module_error(((STRING_TABLE.__str33432)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$270,HEAP32[(((tempInt)+(4))>>2)]=699001400,tempInt)); var $271=$4; var $272=$271 & 1; var $273=(($272)|0)!=0; if ($273) { __label__ = 60; break; } else { __label__ = 61; break; } case 60: _module_error(((STRING_TABLE.__str34433)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); __label__ = 62; break; case 61: $error=75; __label__ = 127; break; case 62: __label__ = 63; break; case 63: var $278=$7; var $279=(($278)|0)!=0; if ($279) { __label__ = 64; break; } else { __label__ = 66; break; } case 64: var $281=$7; var $282=$mi; var $283=(($282+4)|0); var $284=HEAP32[(($283)>>2)]; var $285=(($281)|0)!=(($284)|0); if ($285) { __label__ = 65; break; } else { __label__ = 66; break; } case 65: var $287=$2; var $288=$7; var $289=$mi; var $290=(($289+4)|0); var $291=HEAP32[(($290)>>2)]; _module_print(((STRING_TABLE.__str35434)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$287,HEAP32[(((tempInt)+(4))>>2)]=$288,HEAP32[(((tempInt)+(8))>>2)]=$291,tempInt)); $error=2; __label__ = 127; break; case 66: var $293=$3; var $294=(($293) & 1); if ($294) { __label__ = 67; break; } else { __label__ = 69; break; } case 67: var $296=$mi; var $297=(($296+12)|0); var $298=HEAP32[(($297)>>2)]; var $299=$2; var $300=_strcmp($298, $299); var $301=(($300)|0)!=0; if ($301) { __label__ = 68; break; } else { __label__ = 69; break; } case 68: var $303=$2; var $304=$mi; var $305=(($304+12)|0); var $306=HEAP32[(($305)>>2)]; _module_error(((STRING_TABLE.__str36435)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$303,HEAP32[(((tempInt)+(4))>>2)]=$306,tempInt)); $error=2; __label__ = 127; break; case 69: var $308=$mi; var $309=(($308+12)|0); var $310=HEAP32[(($309)>>2)]; var $311=_module_lookup($310); HEAP32[(($mod2)>>2)]=$311; var $312=(($311)|0)!=0; if ($312) { __label__ = 70; break; } else { __label__ = 73; break; } case 70: var $314=$6; var $315=(($314)|0)!=0; if ($315) { __label__ = 71; break; } else { __label__ = 72; break; } case 71: var $317=HEAP32[(($mod2)>>2)]; var $318=$6; HEAP32[(($318)>>2)]=$317; __label__ = 72; break; case 72: var $320=$mi; var $321=(($320+12)|0); var $322=HEAP32[(($321)>>2)]; _module_print(((STRING_TABLE.__str37436)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$322,tempInt)); $error=17; __label__ = 127; break; case 73: var $324=$pending; var $325=(($324)|0); var $326=HEAP32[(($325)>>2)]; HEAP32[(($mod2)>>2)]=$326; __label__ = 74; break; case 74: var $328=HEAP32[(($mod2)>>2)]; var $329=(($328)|0)!=0; if ($329) { __label__ = 75; break; } else { __label__ = 81; break; } case 75: var $331=$mod; var $332=HEAP32[(($mod2)>>2)]; var $333=(($331)|0)==(($332)|0); if ($333) { __label__ = 76; break; } else { __label__ = 77; break; } case 76: __label__ = 80; break; case 77: var $336=HEAP32[(($mod2)>>2)]; var $337=(($336+4)|0); var $338=HEAP32[(($337)>>2)]; var $339=(($338+12)|0); var $340=HEAP32[(($339)>>2)]; var $341=$mi; var $342=(($341+12)|0); var $343=HEAP32[(($342)>>2)]; var $344=_strcmp($340, $343); var $345=(($344)|0)==0; if ($345) { __label__ = 78; break; } else { __label__ = 79; break; } case 78: $error=11; var $347=$mi; var $348=(($347+12)|0); var $349=HEAP32[(($348)>>2)]; _module_error(((STRING_TABLE.__str38437)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$349,tempInt)); __label__ = 127; break; case 79: __label__ = 80; break; case 80: var $352=HEAP32[(($mod2)>>2)]; var $353=(($352+12)|0); var $354=(($353)|0); var $355=HEAP32[(($354)>>2)]; HEAP32[(($mod2)>>2)]=$355; __label__ = 74; break; case 81: var $357=$mi; var $358=(($357+16)|0); var $359=HEAP32[(($358)>>2)]; var $360=(($359)|0)!=0; if ($360) { __label__ = 82; break; } else { __label__ = 104; break; } case 82: var $362=$mi; var $363=(($362+16)|0); var $364=HEAP32[(($363)>>2)]; $s=$364; __label__ = 83; break; case 83: var $366=$s; var $367=HEAP8[($366)]; var $368=(($367 << 24) >> 24); var $369=(($368)|0)!=0; if ($369) { __label__ = 84; break; } else { __label__ = 103; break; } case 84: var $371=$s; var $372=HEAP8[($371)]; var $373=(($372 << 24) >> 24); var $374=(($373)|0)==44; if ($374) { __label__ = 85; break; } else { __label__ = 86; break; } case 85: var $376=$s; var $377=(($376+1)|0); $s=$377; __label__ = 86; break; case 86: var $379=$s; $p=$379; __label__ = 87; break; case 87: var $381=$p; var $382=HEAP8[($381)]; var $383=(($382 << 24) >> 24); var $384=(($383)|0)!=0; if ($384) { __label__ = 88; break; } else { var $391 = 0;__label__ = 89; break; } case 88: var $386=$p; var $387=HEAP8[($386)]; var $388=(($387 << 24) >> 24); var $389=(($388)|0)!=44; var $391 = $389;__label__ = 89; break; case 89: var $391; if ($391) { __label__ = 90; break; } else { __label__ = 91; break; } case 90: var $393=$p; var $394=(($393+1)|0); $p=$394; __label__ = 87; break; case 91: var $396=$p; var $397=$s; var $398=$396; var $399=$397; var $400=((($398)-($399))|0); var $401=((($400)+(1))|0); $len=$401; var $402=$len; var $403=(($402)>>>0) >= 32; if ($403) { __label__ = 92; break; } else { __label__ = 93; break; } case 92: $error=22; var $405=$mi; var $406=(($405+16)|0); var $407=HEAP32[(($406)>>2)]; _module_error(((STRING_TABLE.__str39438)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$407,tempInt)); __label__ = 127; break; case 93: var $409=(($buf)|0); var $410=$s; var $411=$len; var $412=_strlcpy($409, $410, $411); var $413=(($buf)|0); var $414=HEAP8[($413)]; var $415=(($414 << 24) >> 24); var $416=(($415)|0)==0; if ($416) { __label__ = 94; break; } else { __label__ = 95; break; } case 94: __label__ = 103; break; case 95: var $419=$mod; var $420=(($419+60)|0); var $421=HEAP32[(($420)>>2)]; var $422=(($421)|0)==9; if ($422) { __label__ = 96; break; } else { __label__ = 97; break; } case 96: $error=22; var $424=$mod; var $425=(($424+60)|0); var $426=HEAP32[(($425)>>2)]; _module_error(((STRING_TABLE.__str40439)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$426,tempInt)); __label__ = 127; break; case 97: var $428=(($buf)|0); var $429=$mi; var $430=(($429+12)|0); var $431=HEAP32[(($430)>>2)]; var $432=_strcmp($428, $431); var $433=(($432)|0)==0; if ($433) { __label__ = 98; break; } else { __label__ = 99; break; } case 98: $error=11; var $435=$mi; var $436=(($435+12)|0); var $437=HEAP32[(($436)>>2)]; _module_error(((STRING_TABLE.__str41440)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$437,tempInt)); __label__ = 127; break; case 99: var $439=(($buf)|0); var $440=$4; var $441=_module_do_load($439, 1, $440, 0, $mod2, 0, 1); $error=$441; var $442=$error; var $443=(($442)|0)!=0; if ($443) { __label__ = 100; break; } else { __label__ = 101; break; } case 100: __label__ = 127; break; case 101: var $446=HEAP32[(($mod2)>>2)]; var $447=$mod; var $448=(($447+60)|0); var $449=HEAP32[(($448)>>2)]; var $450=((($449)+(1))|0); HEAP32[(($448)>>2)]=$450; var $451=$mod; var $452=(($451+20)|0); var $453=(($452+($449<<2))|0); HEAP32[(($453)>>2)]=$446; __label__ = 102; break; case 102: var $455=$p; $s=$455; __label__ = 83; break; case 103: __label__ = 104; break; case 104: var $458=$mod; var $459=(($458+8)|0); var $460=HEAP32[(($459)>>2)]; var $461=$mi; var $462=(($461+12)|0); var $463=HEAP32[(($462)>>2)]; var $464=_kobj_affix($460, $463); $error=$464; var $465=$error; var $466=(($465)|0)!=0; if ($466) { __label__ = 105; break; } else { __label__ = 106; break; } case 105: var $468=$2; _module_error(((STRING_TABLE.__str42441)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$468,tempInt)); __label__ = 128; break; case 106: var $470=HEAP32[(($filedict)>>2)]; var $471=(($470)|0)!=0; if ($471) { __label__ = 107; break; } else { __label__ = 110; break; } case 107: var $473=HEAP32[(($filedict)>>2)]; var $474=$5; var $475=_module_merge_dicts($473, $474); if ($475) { __label__ = 109; break; } else { __label__ = 108; break; } case 108: _module_error(((STRING_TABLE.__str43442)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); $error=22; __label__ = 127; break; case 109: __label__ = 110; break; case 110: var $479=HEAP32[((_module_active)>>2)]; $prev_active=$479; var $480=$mod; HEAP32[((_module_active)>>2)]=$480; var $481=$mi; var $482=(($481+8)|0); var $483=HEAP32[(($482)>>2)]; var $484=HEAP32[(($filedict)>>2)]; var $485=(($484)|0)!=0; if ($485) { __label__ = 111; break; } else { __label__ = 112; break; } case 111: var $487=HEAP32[(($filedict)>>2)]; var $491 = $487;__label__ = 113; break; case 112: var $489=$5; var $491 = $489;__label__ = 113; break; case 113: var $491; var $492=$491; var $493=FUNCTION_TABLE[$483](0, $492); $error=$493; var $494=$prev_active; HEAP32[((_module_active)>>2)]=$494; var $495=HEAP32[(($filedict)>>2)]; var $496=(($495)|0)!=0; if ($496) { __label__ = 114; break; } else { __label__ = 115; break; } case 114: var $498=HEAP32[(($filedict)>>2)]; var $499=$498; _prop_object_release($499); HEAP32[(($filedict)>>2)]=0; __label__ = 115; break; case 115: var $501=$error; var $502=(($501)|0)!=0; if ($502) { __label__ = 116; break; } else { __label__ = 117; break; } case 116: var $504=$error; var $505=$mi; var $506=(($505+12)|0); var $507=HEAP32[(($506)>>2)]; _module_error(((STRING_TABLE.__str44443)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$504,HEAP32[(((tempInt)+(4))>>2)]=$507,tempInt)); __label__ = 127; break; case 117: __label__ = 118; break; case 118: var $510=$mod; var $511=(($510+12)|0); var $512=(($511)|0); var $513=HEAP32[(($512)>>2)]; var $514=(($513)|0)!=0; if ($514) { __label__ = 119; break; } else { __label__ = 120; break; } case 119: var $516=$mod; var $517=(($516+12)|0); var $518=(($517+4)|0); var $519=HEAP32[(($518)>>2)]; var $520=$mod; var $521=(($520+12)|0); var $522=(($521)|0); var $523=HEAP32[(($522)>>2)]; var $524=(($523+12)|0); var $525=(($524+4)|0); HEAP32[(($525)>>2)]=$519; __label__ = 121; break; case 120: var $527=$mod; var $528=(($527+12)|0); var $529=(($528+4)|0); var $530=HEAP32[(($529)>>2)]; var $531=$pending; var $532=(($531+4)|0); HEAP32[(($532)>>2)]=$530; __label__ = 121; break; case 121: var $534=$mod; var $535=(($534+12)|0); var $536=(($535)|0); var $537=HEAP32[(($536)>>2)]; var $538=$mod; var $539=(($538+12)|0); var $540=(($539+4)|0); var $541=HEAP32[(($540)>>2)]; HEAP32[(($541)>>2)]=$537; __label__ = 122; break; case 122: var $543=$mod; _module_enqueue($543); var $544=$6; var $545=(($544)|0)!=0; if ($545) { __label__ = 123; break; } else { __label__ = 124; break; } case 123: var $547=$mod; var $548=$6; HEAP32[(($548)>>2)]=$547; __label__ = 124; break; case 124: var $550=$8; var $551=(($550) & 1); if ($551) { __label__ = 125; break; } else { __label__ = 126; break; } case 125: var $st$0$0=((_time_second)|0); var $553$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_second+4)|0); var $553$1=HEAP32[(($st$0$1)>>2)]; var $554=HEAP32[((_module_autotime)>>2)]; var $555$0=$554; var $555$1=0; var $556$0 = (i64Math.add($553$0,$553$1,$555$0,$555$1),i64Math.result[0]); var $556$1 = i64Math.result[1]; var $557=$mod; var $558=(($557+68)|0); var $st$10$0=(($558)|0); HEAP32[(($st$10$0)>>2)]=$556$0; var $st$10$1=(($558+4)|0); HEAP32[(($st$10$1)>>2)]=$556$1; var $559=$mod; var $560=(($559+84)|0); var $561=HEAP32[(($560)>>2)]; var $562=$561 | 2; HEAP32[(($560)>>2)]=$562; _module_thread_kick(); __label__ = 126; break; case 126: var $564=HEAP32[((_module_do_load_depth)>>2)]; var $565=((($564)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$565; $1=0; __label__ = 136; break; case 127: var $567=$mod; var $568=(($567+8)|0); var $569=HEAP32[(($568)>>2)]; _kobj_unload($569); __label__ = 128; break; case 128: var $571=HEAP32[(($filedict)>>2)]; var $572=(($571)|0)!=0; if ($572) { __label__ = 129; break; } else { __label__ = 130; break; } case 129: var $574=HEAP32[(($filedict)>>2)]; var $575=$574; _prop_object_release($575); HEAP32[(($filedict)>>2)]=0; __label__ = 130; break; case 130: __label__ = 131; break; case 131: var $578=$mod; var $579=(($578+12)|0); var $580=(($579)|0); var $581=HEAP32[(($580)>>2)]; var $582=(($581)|0)!=0; if ($582) { __label__ = 132; break; } else { __label__ = 133; break; } case 132: var $584=$mod; var $585=(($584+12)|0); var $586=(($585+4)|0); var $587=HEAP32[(($586)>>2)]; var $588=$mod; var $589=(($588+12)|0); var $590=(($589)|0); var $591=HEAP32[(($590)>>2)]; var $592=(($591+12)|0); var $593=(($592+4)|0); HEAP32[(($593)>>2)]=$587; __label__ = 134; break; case 133: var $595=$mod; var $596=(($595+12)|0); var $597=(($596+4)|0); var $598=HEAP32[(($597)>>2)]; var $599=$pending; var $600=(($599+4)|0); HEAP32[(($600)>>2)]=$598; __label__ = 134; break; case 134: var $602=$mod; var $603=(($602+12)|0); var $604=(($603)|0); var $605=HEAP32[(($604)>>2)]; var $606=$mod; var $607=(($606+12)|0); var $608=(($607+4)|0); var $609=HEAP32[(($608)>>2)]; HEAP32[(($609)>>2)]=$605; __label__ = 135; break; case 135: var $611=$mod; var $612=$611; _kmem_free($612, 88); var $613=HEAP32[((_module_do_load_depth)>>2)]; var $614=((($613)-(1))|0); HEAP32[((_module_do_load_depth)>>2)]=$614; var $615=$error; $1=$615; __label__ = 136; break; case 136: var $617=$1; STACKTOP = __stackBase__; return $617; default: assert(0, "bad label: " + __label__); } } _module_do_load["X"]=1; function _module_compatible($v1, $v2) { ; var __label__; var $1; var $2; $1=$v1; $2=$v2; var $3=$1; var $4=$2; var $5=(($3)|0)==(($4)|0); ; return $5; } function _min454($a, $b) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; $1=$a; $2=$b; var $3=$1; var $4=$2; var $5=(($3)>>>0) < (($4)>>>0); if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $7=$1; var $11 = $7;__label__ = 5; break; case 4: var $9=$2; var $11 = $9;__label__ = 5; break; case 5: var $11; ; return $11; default: assert(0, "bad label: " + __label__); } } function _mutex_obj_ctor($arg, $obj, $flags) { ; var __label__; var $1; var $2; var $3; var $mo; $1=$arg; $2=$obj; $3=$flags; var $4=$2; var $5=$4; $mo=$5; var $6=$mo; var $7=(($6+4)|0); HEAP32[(($7)>>2)]=1520683101; ; return 0; } function _ntp_init() { ; var __label__; var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$2$0=((_time_adj)|0); HEAP32[(($st$2$0)>>2)]=$$emscripten$temp$0$0; var $st$2$1=((_time_adj+4)|0); HEAP32[(($st$2$1)>>2)]=$$emscripten$temp$0$1; ; return; } function _module_load($filename, $flags, $props, $class) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $error; $2=$filename; $3=$flags; $4=$props; $5=$class; var $6=_kauth_cred_get(); var $7=_kauth_authorize_system($6, 15, 0, 0, 0, 0); $error=$7; var $8=$error; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $11=$error; $1=$11; __label__ = 5; break; case 4: _kernconfig_lock(); var $13=$2; var $14=$3; var $15=$4; var $16=$5; var $17=_module_do_load($13, 0, $14, $15, 0, $16, 0); $error=$17; _kernconfig_unlock(); var $18=$error; $1=$18; __label__ = 5; break; case 5: var $20=$1; ; return $20; default: assert(0, "bad label: " + __label__); } } function _module_autoload($filename, $class) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $error; $2=$filename; $3=$class; _kernconfig_lock(); var $4=HEAP8[(_module_autoload_on)]; var $5=(($4) & 1); if ($5) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: _kernconfig_unlock(); $1=1; __label__ = 11; break; case 4: var $8=$2; var $9=_strchr($8, 47); var $10=(($9)|0)!=0; if ($10) { __label__ = 7; break; } else { __label__ = 5; break; } case 5: var $12=$2; var $13=_strchr($12, 64); var $14=(($13)|0)!=0; if ($14) { __label__ = 7; break; } else { __label__ = 6; break; } case 6: var $16=$2; var $17=_strchr($16, 46); var $18=(($17)|0)!=0; if ($18) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: _kernconfig_unlock(); $1=1; __label__ = 11; break; case 8: var $21=_kauth_cred_get(); var $22=_kauth_authorize_system($21, 15, 0, 0, 1, 0); $error=$22; var $23=$error; var $24=(($23)|0)==0; if ($24) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $26=$2; var $27=$3; var $28=_module_do_load($26, 0, 0, 0, 0, $27, 1); $error=$28; __label__ = 10; break; case 10: _kernconfig_unlock(); var $30=$error; $1=$30; __label__ = 11; break; case 11: var $32=$1; ; return $32; default: assert(0, "bad label: " + __label__); } } function _module_unload($name) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $error; $2=$name; var $3=_kauth_cred_get(); var $4=_kauth_authorize_system($3, 15, 0, 1, 0, 0); $error=$4; var $5=$error; var $6=(($5)|0)!=0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $8=$error; $1=$8; __label__ = 5; break; case 4: _kernconfig_lock(); var $10=$2; var $11=_module_do_unload($10, 1); $error=$11; _kernconfig_unlock(); var $12=$error; $1=$12; __label__ = 5; break; case 5: var $14=$1; ; return $14; default: assert(0, "bad label: " + __label__); } } function _module_hold($name) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $mod; $2=$name; _kernconfig_lock(); var $3=$2; var $4=_module_lookup($3); $mod=$4; var $5=$mod; var $6=(($5)|0)==0; if ($6) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _kernconfig_unlock(); $1=2; __label__ = 5; break; case 4: var $9=$mod; var $10=(($9)|0); var $11=HEAP32[(($10)>>2)]; var $12=((($11)+(1))|0); HEAP32[(($10)>>2)]=$12; _kernconfig_unlock(); $1=0; __label__ = 5; break; case 5: var $14=$1; ; return $14; default: assert(0, "bad label: " + __label__); } } function _module_prime($name, $base, $size) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $mod; var $error; $2=$name; $3=$base; $4=$size; var $5=_module_newmodule(1); $mod=$5; var $6=$mod; var $7=(($6)|0)==0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=12; __label__ = 11; break; case 4: var $10=$mod; var $11=(($10+8)|0); var $12=$2; var $13=$3; var $14=$4; var $15=_kobj_load_mem($11, $12, $13, $14); $error=$15; var $16=$error; var $17=(($16)|0)!=0; if ($17) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $19=$mod; var $20=$19; _kmem_free($20, 88); _module_error(((STRING_TABLE.__str16415)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $21=$error; $1=$21; __label__ = 11; break; case 6: var $23=$mod; var $24=_module_fetch_info($23); $error=$24; var $25=$error; var $26=(($25)|0)!=0; if ($26) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $28=$mod; var $29=(($28+8)|0); var $30=HEAP32[(($29)>>2)]; _kobj_unload($30); var $31=$mod; var $32=$31; _kmem_free($32, 88); _module_error(((STRING_TABLE.__str16415)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $33=$error; $1=$33; __label__ = 11; break; case 8: __label__ = 9; break; case 9: var $36=$mod; var $37=(($36+12)|0); var $38=(($37)|0); HEAP32[(($38)>>2)]=0; var $39=HEAP32[((((_module_bootlist+4)|0))>>2)]; var $40=$mod; var $41=(($40+12)|0); var $42=(($41+4)|0); HEAP32[(($42)>>2)]=$39; var $43=$mod; var $44=HEAP32[((((_module_bootlist+4)|0))>>2)]; HEAP32[(($44)>>2)]=$43; var $45=$mod; var $46=(($45+12)|0); var $47=(($46)|0); HEAP32[((((_module_bootlist+4)|0))>>2)]=$47; __label__ = 10; break; case 10: $1=0; __label__ = 11; break; case 11: var $50=$1; STACKTOP = __stackBase__; return $50; default: assert(0, "bad label: " + __label__); } } _module_prime["X"]=1; function _module_fetch_info($mod) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $error; var $addr=__stackBase__; var $size=(__stackBase__)+(4); $2=$mod; var $3=$2; var $4=(($3+8)|0); var $5=HEAP32[(($4)>>2)]; var $6=_kobj_find_section($5, ((STRING_TABLE.__str19418)|0), $addr, $size); $error=$6; var $7=$error; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _module_error(((STRING_TABLE.__str20419)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); var $10=$error; $1=$10; __label__ = 7; break; case 4: var $12=HEAP32[(($size)>>2)]; var $13=(($12)|0)!=4; if ($13) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: _module_error(((STRING_TABLE.__str21420)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); $1=8; __label__ = 7; break; case 6: var $16=HEAP32[(($addr)>>2)]; var $17=$16; var $18=HEAP32[(($17)>>2)]; var $19=$2; var $20=(($19+4)|0); HEAP32[(($20)>>2)]=$18; $1=0; __label__ = 7; break; case 7: var $22=$1; STACKTOP = __stackBase__; return $22; default: assert(0, "bad label: " + __label__); } } function _module_find_section($name, $addr, $size) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $1=$name; $2=$addr; $3=$size; var $4=_kernconfig_is_held(); var $5=(($4)&1); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=1247,tempInt)); __label__ = 5; break; case 5: var $13=HEAP32[((_module_active)>>2)]; var $14=(($13)|0)!=0; var $15=(($14)&1); var $16=(($15)|0)!=0; var $17=(($16)&1); var $18=$17; var $19=(($18)|0)!=0; if ($19) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str18417)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=1248,tempInt)); __label__ = 8; break; case 8: var $23=HEAP32[((_module_active)>>2)]; var $24=(($23+8)|0); var $25=HEAP32[(($24)>>2)]; var $26=$1; var $27=$2; var $28=$3; var $29=_kobj_find_section($25, $26, $27, $28); STACKTOP = __stackBase__; return $29; default: assert(0, "bad label: " + __label__); } } function _module_thread_kick() { ; var __label__; _mutex_enter(_module_thread_lock); var $1=HEAP32[((_hz)>>2)]; HEAP32[((_module_thread_ticks)>>2)]=$1; _cv_broadcast(_module_thread_cv); _mutex_exit(_module_thread_lock); ; return; } function _module_merge_dicts($existing_dict, $new_dict) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $props_keysym; var $props_iter; var $props_obj; var $props_key; var $error; $2=$existing_dict; $3=$new_dict; var $4=$3; var $5=(($4)|0)==0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=1; __label__ = 14; break; case 4: $error=0; var $8=$3; var $9=_prop_dictionary_iterator($8); $props_iter=$9; var $10=$props_iter; var $11=(($10)|0)==0; if ($11) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=0; __label__ = 14; break; case 6: __label__ = 7; break; case 7: var $15=$props_iter; var $16=_prop_object_iterator_next($15); $props_obj=$16; var $17=(($16)|0)!=0; if ($17) { __label__ = 8; break; } else { __label__ = 12; break; } case 8: var $19=$props_obj; var $20=$19; $props_keysym=$20; var $21=$props_keysym; var $22=_prop_dictionary_keysym_cstring_nocopy($21); $props_key=$22; var $23=$3; var $24=$props_keysym; var $25=_prop_dictionary_get_keysym($23, $24); $props_obj=$25; var $26=$props_obj; var $27=(($26)|0)==0; if ($27) { __label__ = 10; break; } else { __label__ = 9; break; } case 9: var $29=$2; var $30=$props_key; var $31=$props_obj; var $32=_prop_dictionary_set($29, $30, $31); if ($32) { __label__ = 11; break; } else { __label__ = 10; break; } case 10: $error=1; __label__ = 13; break; case 11: __label__ = 7; break; case 12: $error=0; __label__ = 13; break; case 13: var $37=$props_iter; _prop_object_iterator_release($37); var $38=$error; var $39=(($38) & 1); var $40=$39 ^ 1; $1=$40; __label__ = 14; break; case 14: var $42=$1; ; return $42; default: assert(0, "bad label: " + __label__); } } _module_merge_dicts["X"]=1; function _module_enqueue($mod) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $i; $1=$mod; var $2=_kernconfig_is_held(); var $3=(($2)&1); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str17416)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=680,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=(($11+60)|0); var $13=HEAP32[(($12)>>2)]; var $14=(($13)|0)!=0; if ($14) { __label__ = 6; break; } else { __label__ = 19; break; } case 6: __label__ = 7; break; case 7: var $17=HEAP32[((((_module_list)|0))>>2)]; var $18=$1; var $19=(($18+12)|0); var $20=(($19)|0); HEAP32[(($20)>>2)]=$17; var $21=(($17)|0)!=0; if ($21) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $23=$1; var $24=(($23+12)|0); var $25=(($24)|0); var $26=HEAP32[((((_module_list)|0))>>2)]; var $27=(($26+12)|0); var $28=(($27+4)|0); HEAP32[(($28)>>2)]=$25; __label__ = 10; break; case 9: var $30=$1; var $31=(($30+12)|0); var $32=(($31)|0); HEAP32[((((_module_list+4)|0))>>2)]=$32; __label__ = 10; break; case 10: var $34=$1; HEAP32[((((_module_list)|0))>>2)]=$34; var $35=$1; var $36=(($35+12)|0); var $37=(($36+4)|0); HEAP32[(($37)>>2)]=((_module_list)|0); __label__ = 11; break; case 11: $i=0; __label__ = 12; break; case 12: var $40=$i; var $41=$1; var $42=(($41+60)|0); var $43=HEAP32[(($42)>>2)]; var $44=(($40)>>>0) < (($43)>>>0); if ($44) { __label__ = 13; break; } else { __label__ = 18; break; } case 13: var $46=$i; var $47=$1; var $48=(($47+20)|0); var $49=(($48+($46<<2))|0); var $50=HEAP32[(($49)>>2)]; var $51=(($50)|0)!=0; var $52=(($51)&1); var $53=(($52)|0)!=0; var $54=(($53)&1); var $55=$54; var $56=(($55)|0)!=0; if ($56) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: __label__ = 16; break; case 15: _kern_assert(((STRING_TABLE.__str3402)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str4403)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str45444)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str6405)|0),HEAP32[(((tempInt)+(12))>>2)]=692,tempInt)); __label__ = 16; break; case 16: var $60=$i; var $61=$1; var $62=(($61+20)|0); var $63=(($62+($60<<2))|0); var $64=HEAP32[(($63)>>2)]; var $65=(($64)|0); var $66=HEAP32[(($65)>>2)]; var $67=((($66)+(1))|0); HEAP32[(($65)>>2)]=$67; __label__ = 17; break; case 17: var $69=$i; var $70=((($69)+(1))|0); $i=$70; __label__ = 12; break; case 18: __label__ = 22; break; case 19: __label__ = 20; break; case 20: var $74=$1; var $75=(($74+12)|0); var $76=(($75)|0); HEAP32[(($76)>>2)]=0; var $77=HEAP32[((((_module_list+4)|0))>>2)]; var $78=$1; var $79=(($78+12)|0); var $80=(($79+4)|0); HEAP32[(($80)>>2)]=$77; var $81=$1; var $82=HEAP32[((((_module_list+4)|0))>>2)]; HEAP32[(($82)>>2)]=$81; var $83=$1; var $84=(($83+12)|0); var $85=(($84)|0); HEAP32[((((_module_list+4)|0))>>2)]=$85; __label__ = 21; break; case 21: __label__ = 22; break; case 22: var $88=HEAP32[((_module_count)>>2)]; var $89=((($88)+(1))|0); HEAP32[((_module_count)>>2)]=$89; var $90=HEAP32[((_module_gen)>>2)]; var $91=((($90)+(1))|0); HEAP32[((_module_gen)>>2)]=$91; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _module_enqueue["X"]=1; function _mutex_obj_init() { ; var __label__; var $1=HEAP32[((_coherency_unit)>>2)]; var $2=_pool_cache_init(12, $1, 0, 0, ((STRING_TABLE.__str455)|0), 0, 0, 34, 0, 0); HEAP32[((_mutex_obj_cache)>>2)]=$2; ; return; } function _mutex_obj_alloc($type, $ipl) { ; var __label__; var $1; var $2; var $mo; $1=$type; $2=$ipl; var $3=HEAP32[((_mutex_obj_cache)>>2)]; var $4=_pool_cache_get_paddr($3, 1, 0); var $5=$4; $mo=$5; var $6=$mo; var $7=(($6)|0); var $8=$1; var $9=$2; _mutex_init($7, $8, $9); var $10=$mo; var $11=(($10+8)|0); HEAP32[(($11)>>2)]=1; var $12=$mo; var $13=$12; ; return $13; } function _mutex_obj_hold($lock) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $mo; $1=$lock; var $2=$1; var $3=$2; $mo=$3; var $4=$mo; var $5=(($4+4)|0); var $6=HEAP32[(($5)>>2)]; var $7=(($6)|0)==1520683101; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: var $15=$mo; var $16=$mo; var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; _kern_assert(((STRING_TABLE.__str1456)|0), (tempInt=STACKTOP,STACKTOP += 32,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2457)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3458)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4459)|0),HEAP32[(((tempInt)+(12))>>2)]=111,HEAP32[(((tempInt)+(16))>>2)]=((STRING_TABLE.___func___mutex_obj_hold)|0),HEAP32[(((tempInt)+(20))>>2)]=$15,HEAP32[(((tempInt)+(24))>>2)]=$18,HEAP32[(((tempInt)+(28))>>2)]=1520683101,tempInt)); __label__ = 5; break; case 5: var $20=$mo; var $21=(($20+8)|0); var $22=HEAP32[(($21)>>2)]; var $23=(($22)>>>0) > 0; var $24=(($23)&1); var $25=(($24)|0)!=0; var $26=(($25)&1); var $27=$26; var $28=(($27)|0)!=0; if ($28) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: var $31=$mo; var $32=$mo; var $33=(($32+8)|0); var $34=HEAP32[(($33)>>2)]; _kern_assert(((STRING_TABLE.__str5460)|0), (tempInt=STACKTOP,STACKTOP += 28,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2457)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6461)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4459)|0),HEAP32[(((tempInt)+(12))>>2)]=114,HEAP32[(((tempInt)+(16))>>2)]=((STRING_TABLE.___func___mutex_obj_hold)|0),HEAP32[(((tempInt)+(20))>>2)]=$31,HEAP32[(((tempInt)+(24))>>2)]=$34,tempInt)); __label__ = 8; break; case 8: var $36=$mo; var $37=(($36+8)|0); _atomic_inc_uint($37); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _mutex_obj_free($lock) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $mo; $2=$lock; var $3=$2; var $4=$3; $mo=$4; var $5=$mo; var $6=(($5+4)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($7)|0)==1520683101; var $9=(($8)&1); var $10=(($9)|0)!=0; var $11=(($10)&1); var $12=$11; var $13=(($12)|0)!=0; if ($13) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: var $16=$mo; var $17=$mo; var $18=(($17+4)|0); var $19=HEAP32[(($18)>>2)]; _kern_assert(((STRING_TABLE.__str1456)|0), (tempInt=STACKTOP,STACKTOP += 32,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2457)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str3458)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4459)|0),HEAP32[(((tempInt)+(12))>>2)]=132,HEAP32[(((tempInt)+(16))>>2)]=((STRING_TABLE.___func___mutex_obj_free)|0),HEAP32[(((tempInt)+(20))>>2)]=$16,HEAP32[(((tempInt)+(24))>>2)]=$19,HEAP32[(((tempInt)+(28))>>2)]=1520683101,tempInt)); __label__ = 5; break; case 5: var $21=$mo; var $22=(($21+8)|0); var $23=HEAP32[(($22)>>2)]; var $24=(($23)>>>0) > 0; var $25=(($24)&1); var $26=(($25)|0)!=0; var $27=(($26)&1); var $28=$27; var $29=(($28)|0)!=0; if ($29) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: var $32=$mo; var $33=$mo; var $34=(($33+8)|0); var $35=HEAP32[(($34)>>2)]; _kern_assert(((STRING_TABLE.__str5460)|0), (tempInt=STACKTOP,STACKTOP += 28,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str2457)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str6461)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str4459)|0),HEAP32[(((tempInt)+(12))>>2)]=135,HEAP32[(((tempInt)+(16))>>2)]=((STRING_TABLE.___func___mutex_obj_free)|0),HEAP32[(((tempInt)+(20))>>2)]=$32,HEAP32[(((tempInt)+(24))>>2)]=$35,tempInt)); __label__ = 8; break; case 8: var $37=$mo; var $38=(($37+8)|0); var $39=_atomic_dec_uint_nv($38); var $40=(($39)>>>0) > 0; if ($40) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $1=0; __label__ = 11; break; case 10: var $43=$mo; var $44=(($43)|0); _mutex_destroy($44); var $45=HEAP32[((_mutex_obj_cache)>>2)]; var $46=$mo; var $47=$46; _pool_cache_put_paddr($45, $47, -1); $1=1; __label__ = 11; break; case 11: var $49=$1; STACKTOP = __stackBase__; return $49; default: assert(0, "bad label: " + __label__); } } _mutex_obj_free["X"]=1; function _ntp_update_second($adjustment, $newsec) { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $tickrate; var $ftemp=__stackBase__; $1=$adjustment; $2=$newsec; var $3=_mutex_owned(_timecounter_lock); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str462)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1463)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2464)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3465)|0),HEAP32[(((tempInt)+(12))>>2)]=421,tempInt)); __label__ = 5; break; case 5: var $$emscripten$temp$0$0=0; var $$emscripten$temp$0$1=0; var $st$2$0=((_time_adj)|0); HEAP32[(($st$2$0)>>2)]=$$emscripten$temp$0$0; var $st$2$1=((_time_adj+4)|0); HEAP32[(($st$2$1)>>2)]=$$emscripten$temp$0$1; var $st$6$0=((_time_adjtime)|0); var $11$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=((_time_adjtime+4)|0); var $11$1=HEAP32[(($st$6$1)>>2)]; var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $12=$11$0 != $$emscripten$temp$1$0 || $11$1 != $$emscripten$temp$1$1; if ($12) { __label__ = 6; break; } else { __label__ = 19; break; } case 6: var $st$0$0=((_time_adjtime)|0); var $14$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adjtime+4)|0); var $14$1=HEAP32[(($st$0$1)>>2)]; var $$emscripten$temp$2$0=1000000; var $$emscripten$temp$2$1=0; var $15=($14$1|0) > ($$emscripten$temp$2$1|0) || (($14$1|0) == ($$emscripten$temp$2$1|0) && ($14$0>>>0) > ($$emscripten$temp$2$0>>>0)); if ($15) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $tickrate=5000; __label__ = 18; break; case 8: var $st$0$0=((_time_adjtime)|0); var $18$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adjtime+4)|0); var $18$1=HEAP32[(($st$0$1)>>2)]; var $$emscripten$temp$3$0=-1000000; var $$emscripten$temp$3$1=-1; var $19=($18$1|0) < ($$emscripten$temp$3$1|0) || (($18$1|0) == ($$emscripten$temp$3$1|0) && ($18$0>>>0) < ($$emscripten$temp$3$0>>>0)); if ($19) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $tickrate=-5000; __label__ = 17; break; case 10: var $st$0$0=((_time_adjtime)|0); var $22$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adjtime+4)|0); var $22$1=HEAP32[(($st$0$1)>>2)]; var $$emscripten$temp$4$0=500; var $$emscripten$temp$4$1=0; var $23=($22$1|0) > ($$emscripten$temp$4$1|0) || (($22$1|0) == ($$emscripten$temp$4$1|0) && ($22$0>>>0) > ($$emscripten$temp$4$0>>>0)); if ($23) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: $tickrate=500; __label__ = 16; break; case 12: var $st$0$0=((_time_adjtime)|0); var $26$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adjtime+4)|0); var $26$1=HEAP32[(($st$0$1)>>2)]; var $$emscripten$temp$5$0=-500; var $$emscripten$temp$5$1=-1; var $27=($26$1|0) < ($$emscripten$temp$5$1|0) || (($26$1|0) == ($$emscripten$temp$5$1|0) && ($26$0>>>0) < ($$emscripten$temp$5$0>>>0)); if ($27) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: $tickrate=-500; __label__ = 15; break; case 14: var $st$0$0=((_time_adjtime)|0); var $30$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adjtime+4)|0); var $30$1=HEAP32[(($st$0$1)>>2)]; var $31$0=$30$0; var $31=$31$0; $tickrate=$31; __label__ = 15; break; case 15: __label__ = 16; break; case 16: __label__ = 17; break; case 17: __label__ = 18; break; case 18: var $36=$tickrate; var $37$0=$36; var $37$1=((($36)|0) < 0 ? -1 : 0); var $st$3$0=((_time_adjtime)|0); var $38$0=HEAP32[(($st$3$0)>>2)]; var $st$3$1=((_time_adjtime+4)|0); var $38$1=HEAP32[(($st$3$1)>>2)]; var $39$0 = (i64Math.subtract($38$0,$38$1,$37$0,$37$1),i64Math.result[0]); var $39$1 = i64Math.result[1]; var $st$8$0=((_time_adjtime)|0); HEAP32[(($st$8$0)>>2)]=$39$0; var $st$8$1=((_time_adjtime+4)|0); HEAP32[(($st$8$1)>>2)]=$39$1; var $40=$tickrate; var $41=((($40)*(1000))|0); var $42$0=$41; var $42$1=((($41)|0) < 0 ? -1 : 0); var $43$0=0; var $43$1=$42$0; var $st$18$0=(($ftemp)|0); HEAP32[(($st$18$0)>>2)]=$43$0; var $st$18$1=(($ftemp+4)|0); HEAP32[(($st$18$1)>>2)]=$43$1; var $st$22$0=(($ftemp)|0); var $44$0=HEAP32[(($st$22$0)>>2)]; var $st$22$1=(($ftemp+4)|0); var $44$1=HEAP32[(($st$22$1)>>2)]; var $st$26$0=((_time_adj)|0); var $45$0=HEAP32[(($st$26$0)>>2)]; var $st$26$1=((_time_adj+4)|0); var $45$1=HEAP32[(($st$26$1)>>2)]; var $46$0 = (i64Math.add($45$0,$45$1,$44$0,$44$1),i64Math.result[0]); var $46$1 = i64Math.result[1]; var $st$31$0=((_time_adj)|0); HEAP32[(($st$31$0)>>2)]=$46$0; var $st$31$1=((_time_adj+4)|0); HEAP32[(($st$31$1)>>2)]=$46$1; __label__ = 19; break; case 19: var $st$0$0=((_time_adj)|0); var $48$0=HEAP32[(($st$0$0)>>2)]; var $st$0$1=((_time_adj+4)|0); var $48$1=HEAP32[(($st$0$1)>>2)]; var $49=$1; var $st$5$0=(($49)|0); HEAP32[(($st$5$0)>>2)]=$48$0; var $st$5$1=(($49+4)|0); HEAP32[(($st$5$1)>>2)]=$48$1; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _ntp_update_second["X"]=1; function _module_rele($name) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $mod; $1=$name; _kernconfig_lock(); var $2=$1; var $3=_module_lookup($2); $mod=$3; var $4=$mod; var $5=(($4)|0)==0; if ($5) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: _kernconfig_unlock(); _panic(((STRING_TABLE.__str15414)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 4: var $8=$mod; var $9=(($8)|0); var $10=HEAP32[(($9)>>2)]; var $11=((($10)-(1))|0); HEAP32[(($9)>>2)]=$11; _kernconfig_unlock(); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _procinit() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $pd; var $i; $pd=((_proclists)|0); __label__ = 3; break; case 3: var $2=$pd; var $3=(($2)|0); var $4=HEAP32[(($3)>>2)]; var $5=(($4)|0)!=0; if ($5) { __label__ = 4; break; } else { __label__ = 8; break; } case 4: __label__ = 5; break; case 5: var $8=$pd; var $9=(($8)|0); var $10=HEAP32[(($9)>>2)]; var $11=(($10)|0); HEAP32[(($11)>>2)]=0; __label__ = 6; break; case 6: __label__ = 7; break; case 7: var $14=$pd; var $15=(($14+4)|0); $pd=$15; __label__ = 3; break; case 8: var $17=_mutex_obj_alloc(2, 0); HEAP32[((_proc_lock)>>2)]=$17; var $18=_kmem_alloc(384, 1); var $19=$18; HEAP32[((_pid_table)>>2)]=$19; HEAP32[((_pid_tbl_mask)>>2)]=31; HEAP32[((_pid_max)>>2)]=30000; $i=0; __label__ = 9; break; case 9: var $21=$i; var $22=HEAP32[((_pid_tbl_mask)>>2)]; var $23=(($21)>>>0) <= (($22)>>>0); if ($23) { __label__ = 10; break; } else { __label__ = 12; break; } case 10: var $25=$i; var $26=((($25)+(30016))|0); var $27=((($26)+(1))|0); var $28=$27 << 1; var $29=$28 | 1; var $30=$29; var $31=$i; var $32=HEAP32[((_pid_table)>>2)]; var $33=(($32+($31)*(12))|0); var $34=(($33)|0); HEAP32[(($34)>>2)]=$30; var $35=$i; var $36=HEAP32[((_pid_table)>>2)]; var $37=(($36+($35)*(12))|0); var $38=(($37+4)|0); HEAP32[(($38)>>2)]=0; var $39=$i; var $40=HEAP32[((_pid_table)>>2)]; var $41=(($40+($39)*(12))|0); var $42=(($41+8)|0); HEAP32[(($42)>>2)]=0; __label__ = 11; break; case 11: var $44=$i; var $45=((($44)+(1))|0); $i=$45; __label__ = 9; break; case 12: HEAP32[((_next_free_pt)>>2)]=1; var $47=HEAP32[((_pid_tbl_mask)>>2)]; HEAP32[((_last_free_pt)>>2)]=$47; var $48=HEAP32[((_last_free_pt)>>2)]; var $49=HEAP32[((_pid_table)>>2)]; var $50=(($49+($48)*(12))|0); var $51=(($50)|0); HEAP32[(($51)>>2)]=60033; var $52=HEAP32[((_pid_tbl_mask)>>2)]; var $53=((($52)-(1))|0); HEAP32[((_pid_alloc_lim)>>2)]=$53; var $54=_specificdata_domain_create(); HEAP32[((_proc_specificdata_domain)>>2)]=$54; var $55=HEAP32[((_proc_specificdata_domain)>>2)]; var $56=(($55)|0)!=0; var $57=(($56)&1); var $58=(($57)|0)!=0; var $59=(($58)&1); var $60=$59; var $61=(($60)|0)!=0; if ($61) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str2476)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=344,tempInt)); __label__ = 15; break; case 15: var $65=_pool_cache_init(428, 0, 0, 0, ((STRING_TABLE.__str4478)|0), 0, 0, 0, 0, 0); HEAP32[((_proc_cache)>>2)]=$65; var $66=_kauth_listen_scope(((STRING_TABLE.__str5479)|0), 36, 0); HEAP32[((_proc_listener)>>2)]=$66; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _procinit["X"]=1; function _proc_listener_cb($cred, $action, $cookie, $arg0, $arg1, $arg2, $arg3) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $p; var $result; var $req; var $lnprocs; $1=$cred; $2=$action; $3=$cookie; $4=$arg0; $5=$arg1; $6=$arg2; $7=$arg3; $result=2; var $8=$4; var $9=$8; $p=$9; var $10=$2; if ((($10)|0) == 1) { __label__ = 3; break; } else if ((($10)|0) == 3) { __label__ = 11; break; } else if ((($10)|0) == 2 || (($10)|0) == 16) { __label__ = 14; break; } else { __label__ = 17; break; } case 3: var $12=$5; var $13=$12; $req=$13; var $14=$req; if ((($14)|0) == 1 || (($14)|0) == 2 || (($14)|0) == 4) { __label__ = 4; break; } else if ((($14)|0) == 3) { __label__ = 5; break; } else { __label__ = 9; break; } case 4: $result=0; __label__ = 10; break; case 5: var $17=$1; var $18=_kauth_cred_getuid($17); var $19=$p; var $20=(($19+48)|0); var $21=HEAP32[(($20)>>2)]; var $22=_kauth_cred_getuid($21); var $23=(($18)|0)!=(($22)|0); if ($23) { __label__ = 7; break; } else { __label__ = 6; break; } case 6: var $25=$1; var $26=_kauth_cred_getuid($25); var $27=$p; var $28=(($27+48)|0); var $29=HEAP32[(($28)>>2)]; var $30=_kauth_cred_getsvuid($29); var $31=(($26)|0)!=(($30)|0); if ($31) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 10; break; case 8: $result=0; __label__ = 10; break; case 9: __label__ = 10; break; case 10: __label__ = 18; break; case 11: var $37=$6; var $38=$37; $lnprocs=$38; var $39=$lnprocs; var $40=HEAP32[((_maxproc)>>2)]; var $41=((($40)-(5))|0); var $42=(($39)|0) >= (($41)|0); var $43=(($42)&1); var $44=(($43)|0)!=0; var $45=(($44)&1); var $46=$45; var $47=(($46)|0)!=0; if ($47) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 18; break; case 13: $result=0; __label__ = 18; break; case 14: var $51=$1; var $52=$p; var $53=(($52+48)|0); var $54=HEAP32[(($53)>>2)]; var $55=_proc_uidmatch($51, $54); var $56=(($55)|0)==0; if ($56) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: $result=0; __label__ = 16; break; case 16: __label__ = 18; break; case 17: __label__ = 18; break; case 18: var $61=$result; ; return $61; default: assert(0, "bad label: " + __label__); } } _proc_listener_cb["X"]=1; function _procinit_sysctl() { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; var $1; var $2; var $3; var $4; $4=0; var $5=$4; var $6=$5; var $$emscripten$temp$1$0=0; var $$emscripten$temp$1$1=0; var $$emscripten$temp$0=((STRING_TABLE.__str6480)|0); var $7=_sysctl_createv(_procinit_sysctl_clog, 0, 0, 0, 512, 1, $$emscripten$temp$0, 0, 0, $$emscripten$temp$1$0, $$emscripten$temp$1$1, $6, (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=-1,tempInt)); $1=0; var $8=$1; var $9=$8; var $$emscripten$temp$3$0=0; var $$emscripten$temp$3$1=0; var $$emscripten$temp$2=((STRING_TABLE.__str7481)|0); var $10=_sysctl_createv(_procinit_sysctl_clog, 0, 0, 0, 512, 1, $$emscripten$temp$2, 0, 38, $$emscripten$temp$3$0, $$emscripten$temp$3$1, $9, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=14,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); $2=0; var $11=$2; var $12=$11; var $$emscripten$temp$5$0=0; var $$emscripten$temp$5$1=0; var $$emscripten$temp$4=((STRING_TABLE.__str8482)|0); var $13=_sysctl_createv(_procinit_sysctl_clog, 0, 0, 0, 512, 1, $$emscripten$temp$4, 0, 38, $$emscripten$temp$5$0, $$emscripten$temp$5$1, $12, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=47,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); $3=0; var $14=$3; var $15=$14; var $$emscripten$temp$7$0=0; var $$emscripten$temp$7$1=0; var $$emscripten$temp$6=((STRING_TABLE.__str9483)|0); var $16=_sysctl_createv(_procinit_sysctl_clog, 0, 0, 0, 512, 1, $$emscripten$temp$6, 0, 40, $$emscripten$temp$7$0, $$emscripten$temp$7$1, $15, (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,HEAP32[(((tempInt)+(4))>>2)]=1,HEAP32[(((tempInt)+(8))>>2)]=48,HEAP32[(((tempInt)+(12))>>2)]=-1,tempInt)); STACKTOP = __stackBase__; return; } function _sysctl_doeproc($name, $namelen, $oldp, $oldlenp, $newp, $newlen, $oname, $l, $rnode) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $kbuf; var $p; var $next; var $marker; var $where; var $dp; var $type; var $op; var $arg; var $error; var $elem_size; var $kelem_size; var $elem_count; var $buflen; var $needed; var $match; var $zombie; var $mmmbrains; $2=$name; $3=$namelen; $4=$oldp; $5=$oldlenp; $6=$newp; $7=$newlen; $8=$oname; $9=$l; $10=$rnode; var $11=$3; var $12=(($11)|0)==1; if ($12) { __label__ = 3; break; } else { __label__ = 5; break; } case 3: var $14=$2; var $15=(($14)|0); var $16=HEAP32[(($15)>>2)]; var $17=(($16)|0)==-2; if ($17) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $19=$2; var $20=$3; var $21=$4; var $22=$5; var $23=$6; var $24=$7; var $25=$8; var $26=$9; var $27=$10; var $28=_sysctl_query($19, $20, $21, $22, $23, $24, $25, $26, $27); $1=$28; __label__ = 113; break; case 5: var $30=$4; $where=$30; $dp=$30; var $31=$where; var $32=(($31)|0)!=0; if ($32) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $34=$5; var $35=HEAP32[(($34)>>2)]; var $38 = $35;__label__ = 8; break; case 7: var $38 = 0;__label__ = 8; break; case 8: var $38; $buflen=$38; $error=0; $needed=0; var $39=$10; var $40=(($39+4)|0); var $41=HEAP32[(($40)>>2)]; $type=$41; var $42=$type; var $43=(($42)|0)==14; if ($43) { __label__ = 9; break; } else { __label__ = 17; break; } case 9: var $45=$3; var $46=(($45)|0)!=2; if ($46) { __label__ = 10; break; } else { __label__ = 13; break; } case 10: var $48=$3; var $49=(($48)|0)==1; if ($49) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: var $51=$2; var $52=(($51)|0); var $53=HEAP32[(($52)>>2)]; var $54=(($53)|0)==0; if ($54) { __label__ = 13; break; } else { __label__ = 12; break; } case 12: $1=22; __label__ = 113; break; case 13: var $57=$2; var $58=(($57)|0); var $59=HEAP32[(($58)>>2)]; $op=$59; var $60=$op; var $61=(($60)|0)!=0; if ($61) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $63=$2; var $64=(($63+4)|0); var $65=HEAP32[(($64)>>2)]; $arg=$65; __label__ = 16; break; case 15: $arg=0; __label__ = 16; break; case 16: $elem_count=0; $elem_size=832; $kelem_size=832; __label__ = 20; break; case 17: var $69=$3; var $70=(($69)|0)!=4; if ($70) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: $1=22; __label__ = 113; break; case 19: var $73=$2; var $74=(($73)|0); var $75=HEAP32[(($74)>>2)]; $op=$75; var $76=$2; var $77=(($76+4)|0); var $78=HEAP32[(($77)>>2)]; $arg=$78; var $79=$2; var $80=(($79+8)|0); var $81=HEAP32[(($80)>>2)]; $elem_size=$81; var $82=$2; var $83=(($82+12)|0); var $84=HEAP32[(($83)>>2)]; $elem_count=$84; $kelem_size=680; __label__ = 20; break; case 20: _sysctl_unlock(); var $86=_kmem_alloc(832, 1); var $87=$86; $kbuf=$87; var $88=_kmem_alloc(428, 1); var $89=$88; $marker=$89; var $90=$marker; var $91=(($90+96)|0); HEAP32[(($91)>>2)]=-2147483648; var $92=HEAP32[((_proc_lock)>>2)]; _mutex_enter($92); $mmmbrains=0; var $93=HEAP32[((((_allproc)|0))>>2)]; $p=$93; __label__ = 21; break; case 21: var $95=$p; var $96=(($95)|0)==0; if ($96) { __label__ = 22; break; } else { __label__ = 27; break; } case 22: var $98=$mmmbrains; var $99=(($98) & 1); if ($99) { __label__ = 24; break; } else { __label__ = 23; break; } case 23: var $101=HEAP32[((((_zombproc)|0))>>2)]; $p=$101; $mmmbrains=1; __label__ = 24; break; case 24: var $103=$p; var $104=(($103)|0)==0; if ($104) { __label__ = 25; break; } else { __label__ = 26; break; } case 25: __label__ = 89; break; case 26: __label__ = 27; break; case 27: var $108=$p; var $109=(($108)|0); var $110=(($109)|0); var $111=HEAP32[(($110)>>2)]; $next=$111; var $112=$p; var $113=(($112+96)|0); var $114=HEAP32[(($113)>>2)]; var $115=$114 & -2147483648; var $116=(($115)|0)!=0; if ($116) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: __label__ = 88; break; case 29: var $119=$p; var $120=(($119+116)|0); var $121=HEAP8[($120)]; var $122=(($121 << 24) >> 24); var $123=(($122)|0)==1; if ($123) { __label__ = 30; break; } else { __label__ = 31; break; } case 30: __label__ = 88; break; case 31: var $126=$p; var $127=(($126+12)|0); var $128=HEAP32[(($127)>>2)]; _mutex_enter($128); var $129=$9; var $130=(($129+480)|0); var $131=HEAP32[(($130)>>2)]; var $132=$p; var $133=_kauth_authorize_process($131, 1, $132, 2, 0, 0); $error=$133; var $134=$error; var $135=(($134)|0)!=0; if ($135) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: var $137=$p; var $138=(($137+12)|0); var $139=HEAP32[(($138)>>2)]; _mutex_exit($139); __label__ = 88; break; case 33: var $141=$op; if ((($141)|0) == 1) { __label__ = 34; break; } else if ((($141)|0) == 2) { __label__ = 35; break; } else if ((($141)|0) == 3) { __label__ = 36; break; } else if ((($141)|0) == 4) { __label__ = 37; break; } else if ((($141)|0) == 5) { __label__ = 53; break; } else if ((($141)|0) == 6) { __label__ = 54; break; } else if ((($141)|0) == 7) { __label__ = 55; break; } else if ((($141)|0) == 8) { __label__ = 56; break; } else if ((($141)|0) == 0) { __label__ = 57; break; } else { __label__ = 58; break; } case 34: var $143=$p; var $144=(($143+120)|0); var $145=HEAP32[(($144)>>2)]; var $146=$arg; var $147=(($145)|0)==(($146)|0); var $148=(($147)&1); $match=$148; __label__ = 59; break; case 35: var $150=$p; var $151=(($150+400)|0); var $152=HEAP32[(($151)>>2)]; var $153=(($152+8)|0); var $154=HEAP32[(($153)>>2)]; var $155=$arg; var $156=(($154)|0)==(($155)|0); var $157=(($156)&1); $match=$157; __label__ = 59; break; case 36: var $159=$p; var $160=(($159+400)|0); var $161=HEAP32[(($160)>>2)]; var $162=(($161+4)|0); var $163=HEAP32[(($162)>>2)]; var $164=(($163+36)|0); var $165=HEAP32[(($164)>>2)]; var $166=$arg; var $167=(($165)|0)==(($166)|0); var $168=(($167)&1); $match=$168; __label__ = 59; break; case 37: $match=1; var $170=$arg; var $171=(($170)|0)==-2; if ($171) { __label__ = 38; break; } else { __label__ = 43; break; } case 38: var $173=$p; var $174=(($173+108)|0); var $175=HEAP32[(($174)>>2)]; var $176=$175 & 2; var $177=(($176)|0)==0; if ($177) { __label__ = 41; break; } else { __label__ = 39; break; } case 39: var $179=$p; var $180=(($179+400)|0); var $181=HEAP32[(($180)>>2)]; var $182=(($181+4)|0); var $183=HEAP32[(($182)>>2)]; var $184=(($183+16)|0); var $185=HEAP32[(($184)>>2)]; var $186=(($185)|0)==0; if ($186) { __label__ = 41; break; } else { __label__ = 40; break; } case 40: var $188=$p; var $189=(($188+400)|0); var $190=HEAP32[(($189)>>2)]; var $191=(($190+4)|0); var $192=HEAP32[(($191)>>2)]; var $193=(($192+12)|0); var $194=HEAP32[(($193)>>2)]; var $195=(($194)|0)!=0; if ($195) { __label__ = 41; break; } else { __label__ = 42; break; } case 41: $match=0; __label__ = 42; break; case 42: __label__ = 52; break; case 43: var $199=$p; var $200=(($199+108)|0); var $201=HEAP32[(($200)>>2)]; var $202=$201 & 2; var $203=(($202)|0)==0; if ($203) { __label__ = 45; break; } else { __label__ = 44; break; } case 44: var $205=$p; var $206=(($205+400)|0); var $207=HEAP32[(($206)>>2)]; var $208=(($207+4)|0); var $209=HEAP32[(($208)>>2)]; var $210=(($209+16)|0); var $211=HEAP32[(($210)>>2)]; var $212=(($211)|0)==0; if ($212) { __label__ = 45; break; } else { __label__ = 48; break; } case 45: var $214=$arg; var $215$0=$214; var $215$1=((($214)|0) < 0 ? -1 : 0); var $$emscripten$temp$0$0=-1; var $$emscripten$temp$0$1=-1; var $216=$215$0 != $$emscripten$temp$0$0 || $215$1 != $$emscripten$temp$0$1; if ($216) { __label__ = 46; break; } else { __label__ = 47; break; } case 46: $match=0; __label__ = 47; break; case 47: __label__ = 51; break; case 48: var $220=$p; var $221=(($220+400)|0); var $222=HEAP32[(($221)>>2)]; var $223=(($222+4)|0); var $224=HEAP32[(($223)>>2)]; var $225=(($224+16)|0); var $226=HEAP32[(($225)>>2)]; var $227=(($226+220)|0); var $st$8$0=(($227)|0); var $228$0=HEAP32[(($st$8$0)>>2)]; var $st$8$1=(($227+4)|0); var $228$1=HEAP32[(($st$8$1)>>2)]; var $229=$arg; var $230$0=$229; var $230$1=((($229)|0) < 0 ? -1 : 0); var $231=$228$0 != $230$0 || $228$1 != $230$1; if ($231) { __label__ = 49; break; } else { __label__ = 50; break; } case 49: $match=0; __label__ = 50; break; case 50: __label__ = 51; break; case 51: __label__ = 52; break; case 52: __label__ = 59; break; case 53: var $237=$p; var $238=(($237+48)|0); var $239=HEAP32[(($238)>>2)]; var $240=_kauth_cred_geteuid($239); var $241=$arg; var $242=(($240)|0)==(($241)|0); var $243=(($242)&1); $match=$243; __label__ = 59; break; case 54: var $245=$p; var $246=(($245+48)|0); var $247=HEAP32[(($246)>>2)]; var $248=_kauth_cred_getuid($247); var $249=$arg; var $250=(($248)|0)==(($249)|0); var $251=(($250)&1); $match=$251; __label__ = 59; break; case 55: var $253=$p; var $254=(($253+48)|0); var $255=HEAP32[(($254)>>2)]; var $256=_kauth_cred_getegid($255); var $257=$arg; var $258=(($256)|0)==(($257)|0); var $259=(($258)&1); $match=$259; __label__ = 59; break; case 56: var $261=$p; var $262=(($261+48)|0); var $263=HEAP32[(($262)>>2)]; var $264=_kauth_cred_getgid($263); var $265=$arg; var $266=(($264)|0)==(($265)|0); var $267=(($266)&1); $match=$267; __label__ = 59; break; case 57: $match=1; __label__ = 59; break; case 58: $error=22; var $270=$p; var $271=(($270+12)|0); var $272=HEAP32[(($271)>>2)]; _mutex_exit($272); __label__ = 107; break; case 59: var $274=$match; var $275=(($274) & 1); if ($275) { __label__ = 61; break; } else { __label__ = 60; break; } case 60: var $277=$p; var $278=(($277+12)|0); var $279=HEAP32[(($278)>>2)]; _mutex_exit($279); __label__ = 88; break; case 61: var $281=$mmmbrains; var $282=(($281) & 1); if ($282) { __label__ = 62; break; } else { __label__ = 63; break; } case 62: $zombie=1; __label__ = 64; break; case 63: var $285=$p; var $286=(($285+20)|0); var $287=_rw_tryenter($286, 0); var $288=(($287)|0)!=0; var $289=$288 ^ 1; var $290=(($289)&1); $zombie=$290; __label__ = 64; break; case 64: var $292=$zombie; var $293=(($292) & 1); if ($293) { __label__ = 65; break; } else { __label__ = 70; break; } case 65: __label__ = 66; break; case 66: var $296=$p; var $297=(($296)|0); var $298=(($297)|0); var $299=HEAP32[(($298)>>2)]; var $300=$marker; var $301=(($300)|0); var $302=(($301)|0); HEAP32[(($302)>>2)]=$299; var $303=(($299)|0)!=0; if ($303) { __label__ = 67; break; } else { __label__ = 68; break; } case 67: var $305=$marker; var $306=(($305)|0); var $307=(($306)|0); var $308=$p; var $309=(($308)|0); var $310=(($309)|0); var $311=HEAP32[(($310)>>2)]; var $312=(($311)|0); var $313=(($312+4)|0); HEAP32[(($313)>>2)]=$307; __label__ = 68; break; case 68: var $315=$marker; var $316=$p; var $317=(($316)|0); var $318=(($317)|0); HEAP32[(($318)>>2)]=$315; var $319=$p; var $320=(($319)|0); var $321=(($320)|0); var $322=$marker; var $323=(($322)|0); var $324=(($323+4)|0); HEAP32[(($324)>>2)]=$321; __label__ = 69; break; case 69: __label__ = 70; break; case 70: var $327=$buflen; var $328=$elem_size; var $329=(($327)>>>0) >= (($328)>>>0); if ($329) { __label__ = 71; break; } else { __label__ = 79; break; } case 71: var $331=$type; var $332=(($331)|0)==14; if ($332) { __label__ = 73; break; } else { __label__ = 72; break; } case 72: var $334=$elem_count; var $335=(($334)>>>0) > 0; if ($335) { __label__ = 73; break; } else { __label__ = 79; break; } case 73: var $337=$type; var $338=(($337)|0)==14; if ($338) { __label__ = 74; break; } else { __label__ = 75; break; } case 74: var $340=$kbuf; var $341=$340; var $342=(($341)|0); var $343=$p; var $344=$342; var $345=$343; assert(428 % 1 === 0, 'memcpy given ' + 428 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $345>>2, $$dest = $344>>2, $$stop = $$src + 107; $$src < $$stop; $$src++, $$dest++) { HEAP32[$$dest] = HEAP32[$$src] }; var $346=$p; var $347=$kbuf; var $348=$347; var $349=(($348+428)|0); var $350=$zombie; var $351=(($350) & 1); _fill_eproc($346, $349, $351); __label__ = 76; break; case 75: var $353=$p; var $354=$kbuf; var $355=$354; var $356=$zombie; var $357=(($356) & 1); _fill_kproc2($353, $355, $357); var $358=$elem_count; var $359=((($358)-(1))|0); $elem_count=$359; __label__ = 76; break; case 76: var $361=$p; var $362=(($361+12)|0); var $363=HEAP32[(($362)>>2)]; _mutex_exit($363); var $364=HEAP32[((_proc_lock)>>2)]; _mutex_exit($364); var $365=$9; var $366=$kbuf; var $367=$366; var $368=$dp; var $369=$kelem_size; var $370=$elem_size; var $371=_min512($369, $370); var $372=_sysctl_copyout($365, $367, $368, $371); $error=$372; var $373=HEAP32[((_proc_lock)>>2)]; _mutex_enter($373); var $374=$error; var $375=(($374)|0)!=0; if ($375) { __label__ = 77; break; } else { __label__ = 78; break; } case 77: __label__ = 99; break; case 78: var $378=$elem_size; var $379=$dp; var $380=(($379+$378)|0); $dp=$380; var $381=$elem_size; var $382=$buflen; var $383=((($382)-($381))|0); $buflen=$383; __label__ = 80; break; case 79: var $385=$p; var $386=(($385+12)|0); var $387=HEAP32[(($386)>>2)]; _mutex_exit($387); __label__ = 80; break; case 80: var $389=$elem_size; var $390=$needed; var $391=((($390)+($389))|0); $needed=$391; var $392=$zombie; var $393=(($392) & 1); if ($393) { __label__ = 81; break; } else { __label__ = 86; break; } case 81: var $395=$marker; var $396=(($395)|0); var $397=(($396)|0); var $398=HEAP32[(($397)>>2)]; $next=$398; __label__ = 82; break; case 82: var $400=$marker; var $401=(($400)|0); var $402=(($401)|0); var $403=HEAP32[(($402)>>2)]; var $404=(($403)|0)!=0; if ($404) { __label__ = 83; break; } else { __label__ = 84; break; } case 83: var $406=$marker; var $407=(($406)|0); var $408=(($407+4)|0); var $409=HEAP32[(($408)>>2)]; var $410=$marker; var $411=(($410)|0); var $412=(($411)|0); var $413=HEAP32[(($412)>>2)]; var $414=(($413)|0); var $415=(($414+4)|0); HEAP32[(($415)>>2)]=$409; __label__ = 84; break; case 84: var $417=$marker; var $418=(($417)|0); var $419=(($418)|0); var $420=HEAP32[(($419)>>2)]; var $421=$marker; var $422=(($421)|0); var $423=(($422+4)|0); var $424=HEAP32[(($423)>>2)]; HEAP32[(($424)>>2)]=$420; __label__ = 85; break; case 85: __label__ = 87; break; case 86: var $427=$p; var $428=(($427+20)|0); _rw_exit($428); var $429=$p; var $430=(($429)|0); var $431=(($430)|0); var $432=HEAP32[(($431)>>2)]; $next=$432; __label__ = 87; break; case 87: __label__ = 88; break; case 88: var $435=$next; $p=$435; __label__ = 21; break; case 89: var $437=HEAP32[((_proc_lock)>>2)]; _mutex_exit($437); var $438=$where; var $439=(($438)|0)!=0; if ($439) { __label__ = 90; break; } else { __label__ = 93; break; } case 90: var $441=$dp; var $442=$where; var $443=$441; var $444=$442; var $445=((($443)-($444))|0); var $446=$5; HEAP32[(($446)>>2)]=$445; var $447=$needed; var $448=$5; var $449=HEAP32[(($448)>>2)]; var $450=(($447)>>>0) > (($449)>>>0); if ($450) { __label__ = 91; break; } else { __label__ = 92; break; } case 91: $error=12; __label__ = 108; break; case 92: __label__ = 94; break; case 93: var $454=$needed; var $455=((($454)+(4160))|0); $needed=$455; var $456=$needed; var $457=$5; HEAP32[(($457)>>2)]=$456; __label__ = 94; break; case 94: var $459=$kbuf; var $460=(($459)|0)!=0; if ($460) { __label__ = 95; break; } else { __label__ = 96; break; } case 95: var $462=$kbuf; var $463=$462; _kmem_free($463, 832); __label__ = 96; break; case 96: var $465=$marker; var $466=(($465)|0)!=0; if ($466) { __label__ = 97; break; } else { __label__ = 98; break; } case 97: var $468=$marker; var $469=$468; _kmem_free($469, 428); __label__ = 98; break; case 98: _sysctl_relock(); $1=0; __label__ = 113; break; case 99: var $472=$zombie; var $473=(($472) & 1); if ($473) { __label__ = 100; break; } else { __label__ = 105; break; } case 100: __label__ = 101; break; case 101: var $476=$marker; var $477=(($476)|0); var $478=(($477)|0); var $479=HEAP32[(($478)>>2)]; var $480=(($479)|0)!=0; if ($480) { __label__ = 102; break; } else { __label__ = 103; break; } case 102: var $482=$marker; var $483=(($482)|0); var $484=(($483+4)|0); var $485=HEAP32[(($484)>>2)]; var $486=$marker; var $487=(($486)|0); var $488=(($487)|0); var $489=HEAP32[(($488)>>2)]; var $490=(($489)|0); var $491=(($490+4)|0); HEAP32[(($491)>>2)]=$485; __label__ = 103; break; case 103: var $493=$marker; var $494=(($493)|0); var $495=(($494)|0); var $496=HEAP32[(($495)>>2)]; var $497=$marker; var $498=(($497)|0); var $499=(($498+4)|0); var $500=HEAP32[(($499)>>2)]; HEAP32[(($500)>>2)]=$496; __label__ = 104; break; case 104: __label__ = 106; break; case 105: var $503=$p; var $504=(($503+20)|0); _rw_exit($504); __label__ = 106; break; case 106: __label__ = 107; break; case 107: var $507=HEAP32[((_proc_lock)>>2)]; _mutex_exit($507); __label__ = 108; break; case 108: var $509=$kbuf; var $510=(($509)|0)!=0; if ($510) { __label__ = 109; break; } else { __label__ = 110; break; } case 109: var $512=$kbuf; var $513=$512; _kmem_free($513, 832); __label__ = 110; break; case 110: var $515=$marker; var $516=(($515)|0)!=0; if ($516) { __label__ = 111; break; } else { __label__ = 112; break; } case 111: var $518=$marker; var $519=$518; _kmem_free($519, 428); __label__ = 112; break; case 112: _sysctl_relock(); var $521=$error; $1=$521; __label__ = 113; break; case 113: var $523=$1; ; return $523; default: assert(0, "bad label: " + __label__); } } _sysctl_doeproc["X"]=1; function _kdtrace_proc_ctor($arg, $p) { ; var __label__; var $1; var $2; $1=$arg; $2=$p; ; return; } function _sysctl_kern_proc_args($name, $namelen, $oldp, $oldlenp, $newp, $newlen, $oname, $l, $rnode) { var __stackBase__ = STACKTOP; STACKTOP += 28; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $6; var $7; var $8; var $9; var $10; var $pss=__stackBase__; var $p; var $pid; var $type; var $error; var $cookie=(__stackBase__)+(16); var $value=(__stackBase__)+(24); $2=$name; $3=$namelen; $4=$oldp; $5=$oldlenp; $6=$newp; $7=$newlen; $8=$oname; $9=$l; $10=$rnode; var $11=$3; var $12=(($11)|0)==1; if ($12) { __label__ = 3; break; } else { __label__ = 5; break; } case 3: var $14=$2; var $15=(($14)|0); var $16=HEAP32[(($15)>>2)]; var $17=(($16)|0)==-2; if ($17) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $19=$2; var $20=$3; var $21=$4; var $22=$5; var $23=$6; var $24=$7; var $25=$8; var $26=$9; var $27=$10; var $28=_sysctl_query($19, $20, $21, $22, $23, $24, $25, $26, $27); $1=$28; __label__ = 47; break; case 5: var $30=$6; var $31=(($30)|0)!=0; if ($31) { __label__ = 7; break; } else { __label__ = 6; break; } case 6: var $33=$3; var $34=(($33)|0)!=2; if ($34) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $1=22; __label__ = 47; break; case 8: var $37=$2; var $38=(($37)|0); var $39=HEAP32[(($38)>>2)]; $pid=$39; var $40=$2; var $41=(($40+4)|0); var $42=HEAP32[(($41)>>2)]; $type=$42; var $43=$type; if ((($43)|0) == 1 || (($43)|0) == 2 || (($43)|0) == 3 || (($43)|0) == 4) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: $1=22; __label__ = 47; break; case 11: _sysctl_unlock(); var $47=HEAP32[((_proc_lock)>>2)]; _mutex_enter($47); var $48=$pid; var $49=_proc_find($48); $p=$49; var $50=(($49)|0)==0; if ($50) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: $error=22; __label__ = 46; break; case 13: var $53=$p; var $54=(($53+12)|0); var $55=HEAP32[(($54)>>2)]; _mutex_enter($55); var $56=$type; var $57=(($56)|0)==1; if ($57) { __label__ = 15; break; } else { __label__ = 14; break; } case 14: var $59=$type; var $60=(($59)|0)==2; if ($60) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: var $62=$9; var $63=(($62+480)|0); var $64=HEAP32[(($63)>>2)]; var $65=$p; var $66=_kauth_authorize_process($64, 1, $65, 1, 0, 0); $error=$66; __label__ = 21; break; case 16: var $68=$type; var $69=(($68)|0)==3; if ($69) { __label__ = 18; break; } else { __label__ = 17; break; } case 17: var $71=$type; var $72=(($71)|0)==4; if ($72) { __label__ = 18; break; } else { __label__ = 19; break; } case 18: var $74=$9; var $75=(($74+480)|0); var $76=HEAP32[(($75)>>2)]; var $77=$p; var $78=_kauth_authorize_process($76, 1, $77, 3, 0, 0); $error=$78; __label__ = 20; break; case 19: $error=22; __label__ = 20; break; case 20: __label__ = 21; break; case 21: var $82=$error; var $83=(($82)|0)!=0; if ($83) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $85=$p; var $86=(($85+12)|0); var $87=HEAP32[(($86)>>2)]; _mutex_exit($87); __label__ = 46; break; case 23: var $89=$4; var $90=(($89)|0)==0; if ($90) { __label__ = 24; break; } else { __label__ = 29; break; } case 24: var $92=$type; var $93=(($92)|0)==2; if ($93) { __label__ = 26; break; } else { __label__ = 25; break; } case 25: var $95=$type; var $96=(($95)|0)==4; if ($96) { __label__ = 26; break; } else { __label__ = 27; break; } case 26: var $98=$5; HEAP32[(($98)>>2)]=4; __label__ = 28; break; case 27: var $100=$5; HEAP32[(($100)>>2)]=262144; __label__ = 28; break; case 28: $error=0; var $102=$p; var $103=(($102+12)|0); var $104=HEAP32[(($103)>>2)]; _mutex_exit($104); __label__ = 46; break; case 29: var $106=$p; var $107=(($106+116)|0); var $108=HEAP8[($107)]; var $109=(($108 << 24) >> 24); var $110=(($109)|0)==5; if ($110) { __label__ = 33; break; } else { __label__ = 30; break; } case 30: var $112=$p; var $113=(($112+116)|0); var $114=HEAP8[($113)]; var $115=(($114 << 24) >> 24); var $116=(($115)|0)==3; if ($116) { __label__ = 33; break; } else { __label__ = 31; break; } case 31: var $118=$p; var $119=(($118+116)|0); var $120=HEAP8[($119)]; var $121=(($120 << 24) >> 24); var $122=(($121)|0)==6; if ($122) { __label__ = 33; break; } else { __label__ = 32; break; } case 32: var $124=$p; var $125=(($124+96)|0); var $126=HEAP32[(($125)>>2)]; var $127=$126 & 2; var $128=(($127)|0)!=0; if ($128) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: $error=22; var $130=$p; var $131=(($130+12)|0); var $132=HEAP32[(($131)>>2)]; _mutex_exit($132); __label__ = 46; break; case 34: var $134=$p; var $135=(($134+20)|0); var $136=_rw_tryenter($135, 0); var $137=(($136)|0)!=0; var $138=$137 ? 0 : 16; $error=$138; var $139=$p; var $140=(($139+12)|0); var $141=HEAP32[(($140)>>2)]; _mutex_exit($141); var $142=$error; var $143=(($142)|0)!=0; if ($143) { __label__ = 35; break; } else { __label__ = 36; break; } case 35: __label__ = 46; break; case 36: var $146=HEAP32[((_proc_lock)>>2)]; _mutex_exit($146); var $147=$type; var $148=(($147)|0)==2; if ($148) { __label__ = 38; break; } else { __label__ = 37; break; } case 37: var $150=$type; var $151=(($150)|0)==4; if ($151) { __label__ = 38; break; } else { __label__ = 44; break; } case 38: var $153=$p; var $154=_copyin_psstrings($153, $pss); $error=$154; var $155=(($154)|0)==0; if ($155) { __label__ = 39; break; } else { __label__ = 43; break; } case 39: var $157=$type; var $158=(($157)|0)==2; if ($158) { __label__ = 40; break; } else { __label__ = 41; break; } case 40: var $160=(($pss+4)|0); var $161=HEAP32[(($160)>>2)]; HEAP32[(($value)>>2)]=$161; __label__ = 42; break; case 41: var $163=(($pss+12)|0); var $164=HEAP32[(($163)>>2)]; HEAP32[(($value)>>2)]=$164; __label__ = 42; break; case 42: var $166=$9; var $167=$value; var $168=$4; var $169=_sysctl_copyout($166, $167, $168, 4); $error=$169; var $170=$5; HEAP32[(($170)>>2)]=4; __label__ = 43; break; case 43: __label__ = 45; break; case 44: var $173=$9; var $174=$173; var $175=(($cookie)|0); HEAP32[(($175)>>2)]=$174; var $176=$4; var $177=(($cookie+4)|0); HEAP32[(($177)>>2)]=$176; var $178=$p; var $179=$type; var $180=$5; var $181=(($cookie)|0); var $182=$181; var $183=_copy_procargs($178, $179, $180, 42, $182); $error=$183; __label__ = 45; break; case 45: var $185=$p; var $186=(($185+20)|0); _rw_exit($186); _sysctl_relock(); var $187=$error; $1=$187; __label__ = 47; break; case 46: var $189=HEAP32[((_proc_lock)>>2)]; _mutex_exit($189); _sysctl_relock(); var $190=$error; $1=$190; __label__ = 47; break; case 47: var $192=$1; STACKTOP = __stackBase__; return $192; default: assert(0, "bad label: " + __label__); } } _sysctl_kern_proc_args["X"]=1; function _proc0_init() { var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $p; var $pg; var $rlim; var $lim=__stackBase__; var $i; $p=_proc0; $pg=_pgrp0; var $1=$p; var $2=(($1+16)|0); _mutex_init($2, 2, 2); var $3=$p; var $4=(($3+8)|0); _mutex_init($4, 2, 0); var $5=_mutex_obj_alloc(2, 0); var $6=$p; var $7=(($6+12)|0); HEAP32[(($7)>>2)]=$5; var $8=$p; var $9=(($8+20)|0); _rw_init($9); var $10=$p; var $11=(($10+24)|0); _cv_init($11, ((STRING_TABLE.__str10484)|0)); var $12=$p; var $13=(($12+36)|0); _cv_init($13, ((STRING_TABLE.__str11485)|0)); __label__ = 3; break; case 3: var $15=$p; var $16=(($15+148)|0); var $17=(($16)|0); var $18=HEAP32[(($17)>>2)]; HEAP32[((((_lwp0+276)|0))>>2)]=$18; var $19=(($18)|0)!=0; if ($19) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $21=$p; var $22=(($21+148)|0); var $23=(($22)|0); var $24=HEAP32[(($23)>>2)]; var $25=(($24+276)|0); var $26=(($25+4)|0); HEAP32[(($26)>>2)]=((_lwp0+276)|0); __label__ = 5; break; case 5: var $28=$p; var $29=(($28+148)|0); var $30=(($29)|0); HEAP32[(($30)>>2)]=_lwp0; var $31=$p; var $32=(($31+148)|0); var $33=(($32)|0); HEAP32[((((_lwp0+280)|0))>>2)]=$33; __label__ = 6; break; case 6: var $35=$p; var $36=HEAP32[((_pid_table)>>2)]; var $37=(($36)|0); var $38=(($37)|0); HEAP32[(($38)>>2)]=$35; __label__ = 7; break; case 7: var $40=HEAP32[((((_allproc)|0))>>2)]; var $41=$p; var $42=(($41)|0); var $43=(($42)|0); HEAP32[(($43)>>2)]=$40; var $44=(($40)|0)!=0; if ($44) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $46=$p; var $47=(($46)|0); var $48=(($47)|0); var $49=HEAP32[((((_allproc)|0))>>2)]; var $50=(($49)|0); var $51=(($50+4)|0); HEAP32[(($51)>>2)]=$48; __label__ = 9; break; case 9: var $53=$p; HEAP32[((((_allproc)|0))>>2)]=$53; var $54=$p; var $55=(($54)|0); var $56=(($55+4)|0); HEAP32[(($56)>>2)]=((_allproc)|0); __label__ = 10; break; case 10: var $58=$pg; var $59=HEAP32[((_pid_table)>>2)]; var $60=(($59)|0); var $61=(($60+4)|0); HEAP32[(($61)>>2)]=$58; __label__ = 11; break; case 11: var $63=$pg; var $64=(($63)|0); var $65=(($64)|0); var $66=HEAP32[(($65)>>2)]; var $67=$p; var $68=(($67+124)|0); var $69=(($68)|0); HEAP32[(($69)>>2)]=$66; var $70=(($66)|0)!=0; if ($70) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: var $72=$p; var $73=(($72+124)|0); var $74=(($73)|0); var $75=$pg; var $76=(($75)|0); var $77=(($76)|0); var $78=HEAP32[(($77)>>2)]; var $79=(($78+124)|0); var $80=(($79+4)|0); HEAP32[(($80)>>2)]=$74; __label__ = 13; break; case 13: var $82=$p; var $83=$pg; var $84=(($83)|0); var $85=(($84)|0); HEAP32[(($85)>>2)]=$82; var $86=$pg; var $87=(($86)|0); var $88=(($87)|0); var $89=$p; var $90=(($89+124)|0); var $91=(($90+4)|0); HEAP32[(($91)>>2)]=$88; __label__ = 14; break; case 14: var $93=_kauth_cred_alloc(); HEAP32[((_cred0)>>2)]=$93; var $94=HEAP32[((_cred0)>>2)]; var $95=$p; var $96=(($95+48)|0); HEAP32[(($96)>>2)]=$94; _rw_init(((_cwdi0+12)|0)); _mutex_init(((_limit0+208)|0), 2, 0); $rlim=((_limit0)|0); $i=0; __label__ = 15; break; case 15: var $98=$i; var $99=(($98)>>>0) < 12; if ($99) { __label__ = 16; break; } else { __label__ = 18; break; } case 16: var $101=$i; var $102=$rlim; var $103=(($102+($101<<4))|0); var $104=(($103)|0); var $$emscripten$temp$0$0=-1; var $$emscripten$temp$0$1=2147483647; var $st$6$0=(($104)|0); HEAP32[(($st$6$0)>>2)]=$$emscripten$temp$0$0; var $st$6$1=(($104+4)|0); HEAP32[(($st$6$1)>>2)]=$$emscripten$temp$0$1; var $105=$i; var $106=$rlim; var $107=(($106+($105<<4))|0); var $108=(($107+8)|0); var $$emscripten$temp$1$0=-1; var $$emscripten$temp$1$1=2147483647; var $st$16$0=(($108)|0); HEAP32[(($st$16$0)>>2)]=$$emscripten$temp$1$0; var $st$16$1=(($108+4)|0); HEAP32[(($st$16$1)>>2)]=$$emscripten$temp$1$1; __label__ = 17; break; case 17: var $110=$i; var $111=((($110)+(1))|0); $i=$111; __label__ = 15; break; case 18: var $113=HEAP32[((_maxfiles)>>2)]; var $114$0=$113; var $114$1=0; var $115=$rlim; var $116=(($115+128)|0); var $117=(($116+8)|0); var $st$6$0=(($117)|0); HEAP32[(($st$6$0)>>2)]=$114$0; var $st$6$1=(($117+4)|0); HEAP32[(($st$6$1)>>2)]=$114$1; var $118=HEAP32[((_maxfiles)>>2)]; var $119=(($118)>>>0) < 128; if ($119) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $121=HEAP32[((_maxfiles)>>2)]; var $124 = $121;__label__ = 21; break; case 20: var $124 = 128;__label__ = 21; break; case 21: var $124; var $125$0=$124; var $125$1=0; var $126=$rlim; var $127=(($126+128)|0); var $128=(($127)|0); var $st$6$0=(($128)|0); HEAP32[(($st$6$0)>>2)]=$125$0; var $st$6$1=(($128+4)|0); HEAP32[(($st$6$1)>>2)]=$125$1; var $129=HEAP32[((_maxproc)>>2)]; var $130$0=$129; var $130$1=((($129)|0) < 0 ? -1 : 0); var $131=$rlim; var $132=(($131+112)|0); var $133=(($132+8)|0); var $st$16$0=(($133)|0); HEAP32[(($st$16$0)>>2)]=$130$0; var $st$16$1=(($133+4)|0); HEAP32[(($st$16$1)>>2)]=$130$1; var $134=HEAP32[((_maxproc)>>2)]; var $135=(($134)|0) < 160; if ($135) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $137=HEAP32[((_maxproc)>>2)]; var $140 = $137;__label__ = 24; break; case 23: var $140 = 160;__label__ = 24; break; case 24: var $140; var $141$0=$140; var $141$1=((($140)|0) < 0 ? -1 : 0); var $142=$rlim; var $143=(($142+112)|0); var $144=(($143)|0); var $st$6$0=(($144)|0); HEAP32[(($st$6$0)>>2)]=$141$0; var $st$6$1=(($144+4)|0); HEAP32[(($st$6$1)>>2)]=$141$1; var $145=HEAP32[((((_uvmexp+16)|0))>>2)]; var $146$0=$145; var $146$1=((($145)|0) < 0 ? -1 : 0); var $147$0=($146$0 << 12) | (0 >>> 20); var $147$1=($146$1 << 12) | ($146$0 >>> 20); var $$emscripten$temp$2$0=1; var $$emscripten$temp$2$1=0; var $148=($$emscripten$temp$2$1>>>0) < ($147$1>>>0) || (($$emscripten$temp$2$1>>>0) == ($147$1>>>0) && ($$emscripten$temp$2$0>>>0) < ($147$0>>>0)); if ($148) { __label__ = 25; break; } else { __label__ = 26; break; } case 25: var $155$1 = 0;var $155$0 = 1;__label__ = 27; break; case 26: var $151=HEAP32[((((_uvmexp+16)|0))>>2)]; var $152$0=$151; var $152$1=((($151)|0) < 0 ? -1 : 0); var $153$0=($152$0 << 12) | (0 >>> 20); var $153$1=($152$1 << 12) | ($152$0 >>> 20); var $155$1 = $153$1;var $155$0 = $153$0;__label__ = 27; break; case 27: var $155$0; var $155$1; var $st$2$0=(($lim)|0); HEAP32[(($st$2$0)>>2)]=$155$0; var $st$2$1=(($lim+4)|0); HEAP32[(($st$2$1)>>2)]=$155$1; var $st$6$0=(($lim)|0); var $156$0=HEAP32[(($st$6$0)>>2)]; var $st$6$1=(($lim+4)|0); var $156$1=HEAP32[(($st$6$1)>>2)]; var $157=$rlim; var $158=(($157+80)|0); var $159=(($158+8)|0); var $st$13$0=(($159)|0); HEAP32[(($st$13$0)>>2)]=$156$0; var $st$13$1=(($159+4)|0); HEAP32[(($st$13$1)>>2)]=$156$1; var $st$17$0=(($lim)|0); var $160$0=HEAP32[(($st$17$0)>>2)]; var $st$17$1=(($lim+4)|0); var $160$1=HEAP32[(($st$17$1)>>2)]; var $161=$rlim; var $162=(($161+96)|0); var $163=(($162+8)|0); var $st$24$0=(($163)|0); HEAP32[(($st$24$0)>>2)]=$160$0; var $st$24$1=(($163+4)|0); HEAP32[(($st$24$1)>>2)]=$160$1; var $st$28$0=(($lim)|0); var $164$0=HEAP32[(($st$28$0)>>2)]; var $st$28$1=(($lim+4)|0); var $164$1=HEAP32[(($st$28$1)>>2)]; var $$emscripten$temp$3$0=3; var $$emscripten$temp$3$1=0; var $165$0 = (i64Math.divide($164$0,$164$1,$$emscripten$temp$3$0,$$emscripten$temp$3$1,true),i64Math.result[0]); var $165$1 = i64Math.result[1]; var $166=$rlim; var $167=(($166+96)|0); var $168=(($167)|0); var $st$38$0=(($168)|0); HEAP32[(($st$38$0)>>2)]=$165$0; var $st$38$1=(($168+4)|0); HEAP32[(($st$38$1)>>2)]=$165$1; var $169=HEAP32[((_maxlwp)>>2)]; var $170$0=$169; var $170$1=((($169)|0) < 0 ? -1 : 0); var $171=$rlim; var $172=(($171+176)|0); var $173=(($172+8)|0); var $st$48$0=(($173)|0); HEAP32[(($st$48$0)>>2)]=$170$0; var $st$48$1=(($173+4)|0); HEAP32[(($st$48$1)>>2)]=$170$1; var $174=HEAP32[((_maxlwp)>>2)]; var $175=(($174)|0) < 160; if ($175) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: var $177=HEAP32[((_maxlwp)>>2)]; var $180 = $177;__label__ = 30; break; case 29: var $180 = 160;__label__ = 30; break; case 30: var $180; var $181$0=$180; var $181$1=((($180)|0) < 0 ? -1 : 0); var $182=$rlim; var $183=(($182+176)|0); var $184=(($183)|0); var $st$6$0=(($184)|0); HEAP32[(($st$6$0)>>2)]=$181$0; var $st$6$1=(($184+4)|0); HEAP32[(($st$6$1)>>2)]=$181$1; HEAP32[((((_limit0+192)|0))>>2)]=((STRING_TABLE._defcorename)|0); HEAP32[((((_limit0+196)|0))>>2)]=0; HEAP32[((((_limit0+200)|0))>>2)]=1; HEAP8[(((_limit0+204)|0))]=0; HEAP32[((((_limit0+212)|0))>>2)]=0; var $185=$p; _uvm_init_limits($185); var $186=_fd_init(_filedesc0); var $187=HEAP32[((_kernel_pmap_ptr)>>2)]; _uvmspace_init(_vmspace0, $187, 0, 0); var $188=$p; var $189=(($188+72)|0); var $190=HEAP32[(($189)>>2)]; var $191=(($190+2052)|0); _mutex_init($191, 2, 2); var $192=$p; _siginit($192); var $193=$p; _proc_initspecific($193); var $194=$p; _kdtrace_proc_ctor(0, $194); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _proc0_init["X"]=1; function _proc_initspecific($p) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $error; $1=$p; var $2=HEAP32[((_proc_specificdata_domain)>>2)]; var $3=$1; var $4=(($3+84)|0); var $5=_specificdata_init($2, $4); $error=$5; var $6=$error; var $7=(($6)|0)==0; var $8=(($7)&1); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str20494)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1456,tempInt)); __label__ = 5; break; case 5: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _proc_sesshold($ss) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; $1=$ss; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=502,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=(($11)|0); var $13=HEAP32[(($12)>>2)]; var $14=((($13)+(1))|0); HEAP32[(($12)>>2)]=$14; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _proc_sessrele($ss) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pg; $1=$ss; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=510,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=(($11)|0); var $13=HEAP32[(($12)>>2)]; var $14=((($13)-(1))|0); HEAP32[(($12)>>2)]=$14; var $15=(($14)|0)==0; if ($15) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $17=$1; var $18=(($17+36)|0); var $19=HEAP32[(($18)>>2)]; var $20=_pg_remove($19); $pg=$20; var $21=HEAP32[((_proc_lock)>>2)]; _mutex_exit($21); var $22=$pg; var $23=$22; _kmem_free($23, 16); var $24=$1; var $25=$24; _kmem_free($25, 40); __label__ = 8; break; case 7: var $27=HEAP32[((_proc_lock)>>2)]; _mutex_exit($27); __label__ = 8; break; case 8: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _pg_remove($pg_id) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pgrp; var $pt; $1=$pg_id; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1043,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=HEAP32[((_pid_tbl_mask)>>2)]; var $13=$11 & $12; var $14=HEAP32[((_pid_table)>>2)]; var $15=(($14+($13)*(12))|0); $pt=$15; var $16=$pt; var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; $pgrp=$18; var $19=$pgrp; var $20=(($19)|0)!=0; var $21=(($20)&1); var $22=(($21)|0)!=0; var $23=(($22)&1); var $24=$23; var $25=(($24)|0)!=0; if ($25) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str24498)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1048,tempInt)); __label__ = 8; break; case 8: var $29=$pgrp; var $30=(($29+8)|0); var $31=HEAP32[(($30)>>2)]; var $32=$1; var $33=(($31)|0)==(($32)|0); var $34=(($33)&1); var $35=(($34)|0)!=0; var $36=(($35)&1); var $37=$36; var $38=(($37)|0)!=0; if ($38) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: __label__ = 11; break; case 10: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str25499)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1049,tempInt)); __label__ = 11; break; case 11: var $42=$pgrp; var $43=(($42)|0); var $44=(($43)|0); var $45=HEAP32[(($44)>>2)]; var $46=(($45)|0)==0; var $47=(($46)&1); var $48=(($47)|0)!=0; var $49=(($48)&1); var $50=$49; var $51=(($50)|0)!=0; if ($51) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str26500)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1050,tempInt)); __label__ = 14; break; case 14: var $55=$pt; var $56=(($55+4)|0); HEAP32[(($56)>>2)]=0; var $57=$pt; var $58=(($57)|0); var $59=HEAP32[(($58)>>2)]; var $60=_p2u($59); var $61=$60 & 1; var $62=(($61)|0)!=0; if ($62) { __label__ = 15; break; } else { __label__ = 22; break; } case 15: var $64=$pt; var $65=(($64)|0); var $66=HEAP32[(($65)>>2)]; var $67=_p2u($66); var $68=$67 >>> 1; var $69=HEAP32[((_pid_tbl_mask)>>2)]; var $70=$68 & $69; var $71=(($70)|0)==0; var $72=(($71)&1); var $73=(($72)|0)!=0; var $74=(($73)&1); var $75=$74; var $76=(($75)|0)!=0; if ($76) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str27501)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1056,tempInt)); __label__ = 18; break; case 18: var $80=HEAP32[((_pid_tbl_mask)>>2)]; var $81=$1; var $82=$81 & $80; $1=$82; var $83=HEAP32[((_last_free_pt)>>2)]; var $84=HEAP32[((_pid_table)>>2)]; var $85=(($84+($83)*(12))|0); $pt=$85; var $86=$pt; var $87=(($86)|0); var $88=HEAP32[(($87)>>2)]; var $89=_p2u($88); var $90=$89 >>> 1; var $91=$1; var $92=$90 | $91; var $93=$92 << 1; var $94=$93 | 1; var $95=$94; var $96=$pt; var $97=(($96)|0); HEAP32[(($97)>>2)]=$95; var $98=$pt; var $99=(($98+8)|0); var $100=HEAP32[(($99)>>2)]; var $101=(($100)|0)==0; var $102=(($101)&1); var $103=(($102)|0)!=0; var $104=(($103)&1); var $105=$104; var $106=(($105)|0)!=0; if ($106) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: __label__ = 21; break; case 20: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14488)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1060,tempInt)); __label__ = 21; break; case 21: var $110=$1; HEAP32[((_last_free_pt)>>2)]=$110; var $111=HEAP32[((_pid_alloc_cnt)>>2)]; var $112=((($111)-(1))|0); HEAP32[((_pid_alloc_cnt)>>2)]=$112; __label__ = 22; break; case 22: var $114=$pgrp; STACKTOP = __stackBase__; return $114; default: assert(0, "bad label: " + __label__); } } _pg_remove["X"]=1; function _kdtrace_proc_dtor($arg, $p) { ; var __label__; var $1; var $2; $1=$arg; $2=$p; ; return; } function _p2u($p) { ; var __label__; var $1; $1=$p; var $2=$1; var $3=$2; ; return $3; } function _pgid_in_session($p, $pg_id) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $pgrp; var $session; var $error; var $p1; $1=$p; $2=$pg_id; var $3=HEAP32[((_proc_lock)>>2)]; _mutex_enter($3); var $4=$2; var $5=(($4)|0) < 0; if ($5) { __label__ = 3; break; } else { __label__ = 6; break; } case 3: var $7=$2; var $8=(((-$7))|0); var $9=_proc_find($8); $p1=$9; var $10=$p1; var $11=(($10)|0)==0; if ($11) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: $error=22; __label__ = 10; break; case 5: var $14=$p1; var $15=(($14+400)|0); var $16=HEAP32[(($15)>>2)]; $pgrp=$16; __label__ = 9; break; case 6: var $18=$2; var $19=_pgrp_find($18); $pgrp=$19; var $20=$pgrp; var $21=(($20)|0)==0; if ($21) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: $error=22; __label__ = 10; break; case 8: __label__ = 9; break; case 9: var $25=$pgrp; var $26=(($25+4)|0); var $27=HEAP32[(($26)>>2)]; $session=$27; var $28=$session; var $29=$1; var $30=(($29+400)|0); var $31=HEAP32[(($30)>>2)]; var $32=(($31+4)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($28)|0)!=(($33)|0); var $35=$34 ? 1 : 0; $error=$35; __label__ = 10; break; case 10: var $37=HEAP32[((_proc_lock)>>2)]; _mutex_exit($37); var $38=$error; ; return $38; default: assert(0, "bad label: " + __label__); } } _pgid_in_session["X"]=1; function _proc_find($pid) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $p; $2=$pid; var $3=$2; var $4=_proc_find_raw($3); $p=$4; var $5=$p; var $6=(($5)|0)==0; var $7=(($6)&1); var $8=(($7)|0)!=0; var $9=(($8)&1); var $10=$9; var $11=(($10)|0)!=0; if ($11) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: $1=0; __label__ = 9; break; case 4: var $14=$p; var $15=(($14+116)|0); var $16=HEAP8[($15)]; var $17=(($16 << 24) >> 24); var $18=(($17)|0)==2; if ($18) { var $26 = 1;__label__ = 6; break; } else { __label__ = 5; break; } case 5: var $20=$p; var $21=(($20+116)|0); var $22=HEAP8[($21)]; var $23=(($22 << 24) >> 24); var $24=(($23)|0)==4; var $26 = $24;__label__ = 6; break; case 6: var $26; var $27=(($26)&1); var $28=(($27)|0)!=0; var $29=(($28)&1); var $30=$29; var $31=(($30)|0)!=0; if ($31) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $33=$p; $1=$33; __label__ = 9; break; case 8: $1=0; __label__ = 9; break; case 9: var $36=$1; ; return $36; default: assert(0, "bad label: " + __label__); } } function _pgrp_find($pgid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $pg; $2=$pgid; var $3=HEAP32[((_proc_lock)>>2)]; var $4=_mutex_owned($3); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=629,tempInt)); __label__ = 5; break; case 5: var $12=$2; var $13=HEAP32[((_pid_tbl_mask)>>2)]; var $14=$12 & $13; var $15=HEAP32[((_pid_table)>>2)]; var $16=(($15+($14)*(12))|0); var $17=(($16+4)|0); var $18=HEAP32[(($17)>>2)]; $pg=$18; var $19=$pg; var $20=(($19)|0)==0; if ($20) { __label__ = 8; break; } else { __label__ = 6; break; } case 6: var $22=$pg; var $23=(($22+8)|0); var $24=HEAP32[(($23)>>2)]; var $25=$2; var $26=(($24)|0)!=(($25)|0); if ($26) { __label__ = 8; break; } else { __label__ = 7; break; } case 7: var $28=$pg; var $29=(($28)|0); var $30=(($29)|0); var $31=HEAP32[(($30)>>2)]; var $32=(($31)|0)==0; if ($32) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $1=0; __label__ = 10; break; case 9: var $35=$pg; $1=$35; __label__ = 10; break; case 10: var $37=$1; STACKTOP = __stackBase__; return $37; default: assert(0, "bad label: " + __label__); } } function _proc_find_raw($pid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $pt; var $p; $2=$pid; var $3=HEAP32[((_proc_lock)>>2)]; var $4=_mutex_owned($3); var $5=(($4)|0)!=0; var $6=(($5)&1); var $7=$6; var $8=(($7)|0)!=0; if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=590,tempInt)); __label__ = 5; break; case 5: var $12=$2; var $13=HEAP32[((_pid_tbl_mask)>>2)]; var $14=$12 & $13; var $15=HEAP32[((_pid_table)>>2)]; var $16=(($15+($14)*(12))|0); $pt=$16; var $17=$pt; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; $p=$19; var $20=$p; var $21=_p2u($20); var $22=$21 & 1; var $23=(($22)|0)!=0; if ($23) { var $31 = 1;__label__ = 7; break; } else { __label__ = 6; break; } case 6: var $25=$pt; var $26=(($25+8)|0); var $27=HEAP32[(($26)>>2)]; var $28=$2; var $29=(($27)|0)!=(($28)|0); var $31 = $29;__label__ = 7; break; case 7: var $31; var $32=(($31)&1); var $33=(($32)|0)!=0; var $34=(($33)&1); var $35=$34; var $36=(($35)|0)!=0; if ($36) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $1=0; __label__ = 10; break; case 9: var $39=$p; $1=$39; __label__ = 10; break; case 10: var $41=$1; STACKTOP = __stackBase__; return $41; default: assert(0, "bad label: " + __label__); } } _proc_find_raw["X"]=1; function _proc_alloc() { ; var __label__; var $p; var $1=HEAP32[((_proc_cache)>>2)]; var $2=_pool_cache_get_paddr($1, 1, 0); var $3=$2; $p=$3; var $4=$p; var $5=(($4+116)|0); HEAP8[($5)]=1; var $6=$p; _proc_initspecific($6); var $7=$p; _kdtrace_proc_ctor(0, $7); var $8=$p; var $9=(($8+120)|0); HEAP32[(($9)>>2)]=-1; var $10=$p; var $11=_proc_alloc_pid($10); var $12=$p; ; return $12; } function _expand_pid_table() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $pt_size; var $tsz; var $n_pt; var $new_pt; var $proc; var $pgrp; var $pid; var $rpid; var $i; var $new_pt_mask; var $1=HEAP32[((_pid_tbl_mask)>>2)]; var $2=((($1)+(1))|0); $pt_size=$2; var $3=$pt_size; var $4=((($3<<1))|0); var $5=((($4)*(12))|0); $tsz=$5; var $6=$tsz; var $7=_kmem_alloc($6, 1); var $8=$7; $new_pt=$8; var $9=$pt_size; var $10=((($9<<1))|0); var $11=((($10)-(1))|0); $new_pt_mask=$11; var $12=HEAP32[((_proc_lock)>>2)]; _mutex_enter($12); var $13=$pt_size; var $14=HEAP32[((_pid_tbl_mask)>>2)]; var $15=((($14)+(1))|0); var $16=(($13)|0)!=(($15)|0); if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $18=HEAP32[((_proc_lock)>>2)]; _mutex_exit($18); var $19=$new_pt; var $20=$19; var $21=$tsz; _kmem_free($20, $21); __label__ = 18; break; case 4: var $23=$pt_size; var $24=((($23)-(1))|0); $i=$24; var $25=$new_pt; var $26=$i; var $27=(($25+($26)*(12))|0); $n_pt=$27; __label__ = 5; break; case 5: var $29=$i; var $30=HEAP32[((_pid_table)>>2)]; var $31=(($30+($29)*(12))|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; $proc=$33; var $34=$i; var $35=HEAP32[((_pid_table)>>2)]; var $36=(($35+($34)*(12))|0); var $37=(($36+4)|0); var $38=HEAP32[(($37)>>2)]; $pgrp=$38; var $39=$proc; var $40=_p2u($39); var $41=$40 & 1; var $42=(($41)|0)!=0; if ($42) { __label__ = 6; break; } else { __label__ = 9; break; } case 6: var $44=$proc; var $45=_p2u($44); var $46=$45 >>> 1; var $47=$pt_size; var $48=((($46)+($47))|0); var $49=$pt_size; var $50=$49 ^ -1; var $51=$48 & $50; $pid=$51; $rpid=0; var $52=$pid; var $53=$52 << 1; var $54=$53 | 1; var $55=$54; $proc=$55; var $56=$pgrp; var $57=(($56)|0)!=0; if ($57) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $59=$pgrp; var $60=(($59+8)|0); var $61=HEAP32[(($60)>>2)]; $pid=$61; __label__ = 8; break; case 8: __label__ = 10; break; case 9: var $64=$i; var $65=HEAP32[((_pid_table)>>2)]; var $66=(($65+($64)*(12))|0); var $67=(($66+8)|0); var $68=HEAP32[(($67)>>2)]; $pid=$68; var $69=$pid; $rpid=$69; __label__ = 10; break; case 10: var $71=$proc; var $72=$pid; var $73=$pt_size; var $74=$72 & $73; var $75=$n_pt; var $76=(($75+($74)*(12))|0); var $77=(($76)|0); HEAP32[(($77)>>2)]=$71; var $78=$pgrp; var $79=$pid; var $80=$pt_size; var $81=$79 & $80; var $82=$n_pt; var $83=(($82+($81)*(12))|0); var $84=(($83+4)|0); HEAP32[(($84)>>2)]=$78; var $85=$rpid; var $86=$pid; var $87=$pt_size; var $88=$86 & $87; var $89=$n_pt; var $90=(($89+($88)*(12))|0); var $91=(($90+8)|0); HEAP32[(($91)>>2)]=$85; var $92=$pid; var $93=$pt_size; var $94=$92 ^ $93; var $95=HEAP32[((_pid_tbl_mask)>>2)]; var $96=$95 ^ -1; var $97=$94 & $96; $pid=$97; var $98=$pid; var $99=$pt_size; var $100=$99 ^ -1; var $101=$98 & $100; var $102=HEAP32[((_next_free_pt)>>2)]; var $103=$101 | $102; var $104=$103 << 1; var $105=$104 | 1; var $106=$105; var $107=$pid; var $108=$pt_size; var $109=$107 & $108; var $110=$n_pt; var $111=(($110+($109)*(12))|0); var $112=(($111)|0); HEAP32[(($112)>>2)]=$106; var $113=$pid; var $114=$pt_size; var $115=$113 & $114; var $116=$n_pt; var $117=(($116+($115)*(12))|0); var $118=(($117+4)|0); HEAP32[(($118)>>2)]=0; var $119=$pid; var $120=$pt_size; var $121=$119 & $120; var $122=$n_pt; var $123=(($122+($121)*(12))|0); var $124=(($123+8)|0); HEAP32[(($124)>>2)]=0; var $125=$i; var $126=$pid; var $127=$pt_size; var $128=$126 & $127; var $129=$125 | $128; HEAP32[((_next_free_pt)>>2)]=$129; var $130=$i; var $131=(($130)|0)==0; if ($131) { __label__ = 11; break; } else { __label__ = 12; break; } case 11: __label__ = 14; break; case 12: __label__ = 13; break; case 13: var $135=$i; var $136=((($135)-(1))|0); $i=$136; var $137=$n_pt; var $138=((($137)-(12))|0); $n_pt=$138; __label__ = 5; break; case 14: var $140=$pt_size; var $141=((($140)*(12))|0); $tsz=$141; var $142=HEAP32[((_pid_table)>>2)]; $n_pt=$142; var $143=$new_pt; HEAP32[((_pid_table)>>2)]=$143; var $144=$new_pt_mask; HEAP32[((_pid_tbl_mask)>>2)]=$144; var $145=HEAP32[((_pid_tbl_mask)>>2)]; var $146=(($145)>>>0) > 30000; if ($146) { __label__ = 15; break; } else { __label__ = 16; break; } case 15: var $148=HEAP32[((_pid_tbl_mask)>>2)]; var $149=((($148<<1))|0); var $150=((($149)+(1))|0); HEAP32[((_pid_max)>>2)]=$150; var $151=HEAP32[((_pid_alloc_lim)>>2)]; var $152=$151 << 1; var $153=HEAP32[((_pid_alloc_lim)>>2)]; var $154=$153 | $152; HEAP32[((_pid_alloc_lim)>>2)]=$154; __label__ = 17; break; case 16: var $156=HEAP32[((_pid_alloc_lim)>>2)]; var $157=$156 << 1; HEAP32[((_pid_alloc_lim)>>2)]=$157; __label__ = 17; break; case 17: var $159=HEAP32[((_proc_lock)>>2)]; _mutex_exit($159); var $160=$n_pt; var $161=$160; var $162=$tsz; _kmem_free($161, $162); __label__ = 18; break; case 18: ; return; default: assert(0, "bad label: " + __label__); } } _expand_pid_table["X"]=1; function _proc_free_pid($pid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pt; $1=$pid; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=805,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=HEAP32[((_pid_tbl_mask)>>2)]; var $13=$11 & $12; var $14=HEAP32[((_pid_table)>>2)]; var $15=(($14+($13)*(12))|0); $pt=$15; var $16=$1; var $17=HEAP32[((_pid_tbl_mask)>>2)]; var $18=$17 ^ -1; var $19=$16 & $18; var $20=$19 << 1; var $21=$20 | 1; var $22=$21; var $23=$pt; var $24=(($23)|0); HEAP32[(($24)>>2)]=$22; var $25=$pt; var $26=(($25+8)|0); var $27=HEAP32[(($26)>>2)]; var $28=$1; var $29=(($27)|0)==(($28)|0); var $30=(($29)&1); var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=$32; var $34=(($33)|0)!=0; if ($34) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str15489)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=811,tempInt)); __label__ = 8; break; case 8: var $38=$pt; var $39=(($38+8)|0); HEAP32[(($39)>>2)]=0; var $40=$pt; var $41=(($40+4)|0); var $42=HEAP32[(($41)>>2)]; var $43=(($42)|0)==0; if ($43) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $45=HEAP32[((_pid_tbl_mask)>>2)]; var $46=$1; var $47=$46 & $45; $1=$47; var $48=HEAP32[((_last_free_pt)>>2)]; var $49=HEAP32[((_pid_table)>>2)]; var $50=(($49+($48)*(12))|0); $pt=$50; var $51=$pt; var $52=(($51)|0); var $53=HEAP32[(($52)>>2)]; var $54=_p2u($53); var $55=$54 >>> 1; var $56=$1; var $57=$55 | $56; var $58=$57 << 1; var $59=$58 | 1; var $60=$59; var $61=$pt; var $62=(($61)|0); HEAP32[(($62)>>2)]=$60; var $63=$pt; var $64=(($63+8)|0); HEAP32[(($64)>>2)]=0; var $65=$1; HEAP32[((_last_free_pt)>>2)]=$65; var $66=HEAP32[((_pid_alloc_cnt)>>2)]; var $67=((($66)-(1))|0); HEAP32[((_pid_alloc_cnt)>>2)]=$67; __label__ = 10; break; case 10: _atomic_dec_uint(_nprocs); STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _proc_free_pid["X"]=1; function _proc_free_mem($p) { ; var __label__; var $1; $1=$p; var $2=$1; _kdtrace_proc_dtor(0, $2); var $3=HEAP32[((_proc_cache)>>2)]; var $4=$1; var $5=$4; _pool_cache_put_paddr($3, $5, -1); ; return; } function _proc_alloc_pid($p) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pt; var $pid; var $nxt; $1=$p; __label__ = 3; break; case 3: var $3=HEAP32[((_pid_alloc_cnt)>>2)]; var $4=HEAP32[((_pid_alloc_lim)>>2)]; var $5=(($3)>>>0) >= (($4)>>>0); var $6=(($5)&1); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: __label__ = 12; break; case 5: var $13=HEAP32[((_proc_lock)>>2)]; _mutex_enter($13); var $14=HEAP32[((_next_free_pt)>>2)]; var $15=HEAP32[((_pid_table)>>2)]; var $16=(($15+($14)*(12))|0); $pt=$16; var $17=$pt; var $18=(($17)|0); var $19=HEAP32[(($18)>>2)]; var $20=_p2u($19); var $21=$20 & 1; var $22=(($21)|0)!=0; if ($22) { __label__ = 6; break; } else { var $29 = 1;__label__ = 7; break; } case 6: var $24=$pt; var $25=(($24+4)|0); var $26=HEAP32[(($25)>>2)]; var $27=(($26)|0)!=0; var $29 = $27;__label__ = 7; break; case 7: var $29; var $30=(($29)&1); var $31=(($30)|0)!=0; var $32=(($31)&1); var $33=$32; var $34=(($33)|0)!=0; if ($34) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: _panic(((STRING_TABLE.__str13487)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 9: var $37=$pt; var $38=(($37)|0); var $39=HEAP32[(($38)>>2)]; var $40=_p2u($39); var $41=$40 >>> 1; $nxt=$41; var $42=$nxt; var $43=HEAP32[((_pid_tbl_mask)>>2)]; var $44=$42 & $43; var $45=(($44)|0)!=0; if ($45) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 13; break; case 11: var $48=HEAP32[((_proc_lock)>>2)]; _mutex_exit($48); __label__ = 12; break; case 12: _expand_pid_table(); __label__ = 3; break; case 13: var $51=$nxt; var $52=HEAP32[((_pid_tbl_mask)>>2)]; var $53=$52 ^ -1; var $54=$51 & $53; var $55=HEAP32[((_pid_tbl_mask)>>2)]; var $56=((($54)+($55))|0); var $57=((($56)+(1))|0); var $58=HEAP32[((_next_free_pt)>>2)]; var $59=((($57)+($58))|0); $pid=$59; var $60=$pid; var $61=HEAP32[((_pid_max)>>2)]; var $62=(($60)>>>0) > (($61)>>>0); if ($62) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $64=HEAP32[((_pid_tbl_mask)>>2)]; var $65=$pid; var $66=$65 & $64; $pid=$66; __label__ = 15; break; case 15: var $68=$nxt; var $69=HEAP32[((_pid_tbl_mask)>>2)]; var $70=$68 & $69; HEAP32[((_next_free_pt)>>2)]=$70; var $71=$1; var $72=$pt; var $73=(($72)|0); HEAP32[(($73)>>2)]=$71; var $74=$pt; var $75=(($74+8)|0); var $76=HEAP32[(($75)>>2)]; var $77=(($76)|0)==0; var $78=(($77)&1); var $79=(($78)|0)!=0; var $80=(($79)&1); var $81=$80; var $82=(($81)|0)!=0; if ($82) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str14488)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=784,tempInt)); __label__ = 18; break; case 18: var $86=$pid; var $87=$pt; var $88=(($87+8)|0); HEAP32[(($88)>>2)]=$86; var $89=$1; var $90=(($89+120)|0); var $91=HEAP32[(($90)>>2)]; var $92=(($91)|0)==-1; if ($92) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $94=$pid; var $95=$1; var $96=(($95+120)|0); HEAP32[(($96)>>2)]=$94; __label__ = 20; break; case 20: var $98=HEAP32[((_pid_alloc_cnt)>>2)]; var $99=((($98)+(1))|0); HEAP32[((_pid_alloc_cnt)>>2)]=$99; var $100=HEAP32[((_proc_lock)>>2)]; _mutex_exit($100); var $101=$pid; STACKTOP = __stackBase__; return $101; default: assert(0, "bad label: " + __label__); } } _proc_alloc_pid["X"]=1; function _p_inferior($p, $q) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $2=$p; $3=$q; var $4=HEAP32[((_proc_lock)>>2)]; var $5=_mutex_owned($4); var $6=(($5)|0)!=0; var $7=(($6)&1); var $8=$7; var $9=(($8)|0)!=0; if ($9) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=571,tempInt)); __label__ = 5; break; case 5: __label__ = 6; break; case 6: var $14=$2; var $15=$3; var $16=(($14)|0)!=(($15)|0); if ($16) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $18=$2; var $19=(($18+120)|0); var $20=HEAP32[(($19)>>2)]; var $21=(($20)|0)==0; if ($21) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: $1=0; __label__ = 12; break; case 9: __label__ = 10; break; case 10: var $25=$2; var $26=(($25+132)|0); var $27=HEAP32[(($26)>>2)]; $2=$27; __label__ = 6; break; case 11: $1=1; __label__ = 12; break; case 12: var $30=$1; STACKTOP = __stackBase__; return $30; default: assert(0, "bad label: " + __label__); } } function _fixjobc($p, $pgrp, $entering) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $hispgrp; var $mysession; var $child; $1=$p; $2=$pgrp; $3=$entering; var $4=$2; var $5=(($4+4)|0); var $6=HEAP32[(($5)>>2)]; $mysession=$6; var $7=HEAP32[((_proc_lock)>>2)]; var $8=_mutex_owned($7); var $9=(($8)|0)!=0; var $10=(($9)&1); var $11=$10; var $12=(($11)|0)!=0; if ($12) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1129,tempInt)); __label__ = 5; break; case 5: var $16=$1; var $17=(($16+132)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18+400)|0); var $20=HEAP32[(($19)>>2)]; $hispgrp=$20; var $21=$hispgrp; var $22=$2; var $23=(($21)|0)!=(($22)|0); if ($23) { __label__ = 6; break; } else { __label__ = 13; break; } case 6: var $25=$hispgrp; var $26=(($25+4)|0); var $27=HEAP32[(($26)>>2)]; var $28=$mysession; var $29=(($27)|0)==(($28)|0); if ($29) { __label__ = 7; break; } else { __label__ = 13; break; } case 7: var $31=$3; var $32=(($31)|0)!=0; if ($32) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $34=$2; var $35=(($34+12)|0); var $36=HEAP32[(($35)>>2)]; var $37=((($36)+(1))|0); HEAP32[(($35)>>2)]=$37; var $38=$1; var $39=(($38+108)|0); var $40=HEAP32[(($39)>>2)]; var $41=$40 & -536870913; HEAP32[(($39)>>2)]=$41; __label__ = 12; break; case 9: var $43=$2; var $44=(($43+12)|0); var $45=HEAP32[(($44)>>2)]; var $46=((($45)-(1))|0); HEAP32[(($44)>>2)]=$46; var $47=(($46)|0)==0; if ($47) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $49=$2; _orphanpg($49); __label__ = 11; break; case 11: __label__ = 12; break; case 12: __label__ = 13; break; case 13: var $53=$1; var $54=(($53+144)|0); var $55=(($54)|0); var $56=HEAP32[(($55)>>2)]; $child=$56; __label__ = 14; break; case 14: var $58=$child; var $59=(($58)|0)!=0; if ($59) { __label__ = 15; break; } else { __label__ = 28; break; } case 15: var $61=$child; var $62=(($61+400)|0); var $63=HEAP32[(($62)>>2)]; $hispgrp=$63; var $64=$hispgrp; var $65=$2; var $66=(($64)|0)!=(($65)|0); if ($66) { __label__ = 16; break; } else { __label__ = 26; break; } case 16: var $68=$hispgrp; var $69=(($68+4)|0); var $70=HEAP32[(($69)>>2)]; var $71=$mysession; var $72=(($70)|0)==(($71)|0); if ($72) { __label__ = 17; break; } else { __label__ = 26; break; } case 17: var $74=$child; var $75=(($74+116)|0); var $76=HEAP8[($75)]; var $77=(($76 << 24) >> 24); var $78=(($77)|0)==5; if ($78) { __label__ = 26; break; } else { __label__ = 18; break; } case 18: var $80=$child; var $81=(($80+116)|0); var $82=HEAP8[($81)]; var $83=(($82 << 24) >> 24); var $84=(($83)|0)==3; if ($84) { __label__ = 26; break; } else { __label__ = 19; break; } case 19: var $86=$child; var $87=(($86+116)|0); var $88=HEAP8[($87)]; var $89=(($88 << 24) >> 24); var $90=(($89)|0)==6; if ($90) { __label__ = 26; break; } else { __label__ = 20; break; } case 20: var $92=$3; var $93=(($92)|0)!=0; if ($93) { __label__ = 21; break; } else { __label__ = 22; break; } case 21: var $95=$child; var $96=(($95+108)|0); var $97=HEAP32[(($96)>>2)]; var $98=$97 & -536870913; HEAP32[(($96)>>2)]=$98; var $99=$hispgrp; var $100=(($99+12)|0); var $101=HEAP32[(($100)>>2)]; var $102=((($101)+(1))|0); HEAP32[(($100)>>2)]=$102; __label__ = 25; break; case 22: var $104=$hispgrp; var $105=(($104+12)|0); var $106=HEAP32[(($105)>>2)]; var $107=((($106)-(1))|0); HEAP32[(($105)>>2)]=$107; var $108=(($107)|0)==0; if ($108) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $110=$hispgrp; _orphanpg($110); __label__ = 24; break; case 24: __label__ = 25; break; case 25: __label__ = 26; break; case 26: __label__ = 27; break; case 27: var $115=$child; var $116=(($115+136)|0); var $117=(($116)|0); var $118=HEAP32[(($117)>>2)]; $child=$118; __label__ = 14; break; case 28: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fixjobc["X"]=1; function _pg_delete($pg_id) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pg; var $ttyp; var $ss; $1=$pg_id; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1078,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=HEAP32[((_pid_tbl_mask)>>2)]; var $13=$11 & $12; var $14=HEAP32[((_pid_table)>>2)]; var $15=(($14+($13)*(12))|0); var $16=(($15+4)|0); var $17=HEAP32[(($16)>>2)]; $pg=$17; var $18=$pg; var $19=(($18)|0)==0; if ($19) { __label__ = 8; break; } else { __label__ = 6; break; } case 6: var $21=$pg; var $22=(($21+8)|0); var $23=HEAP32[(($22)>>2)]; var $24=$1; var $25=(($23)|0)!=(($24)|0); if ($25) { __label__ = 8; break; } else { __label__ = 7; break; } case 7: var $27=$pg; var $28=(($27)|0); var $29=(($28)|0); var $30=HEAP32[(($29)>>2)]; var $31=(($30)|0)==0; if ($31) { __label__ = 9; break; } else { __label__ = 8; break; } case 8: var $33=HEAP32[((_proc_lock)>>2)]; _mutex_exit($33); __label__ = 20; break; case 9: var $35=$pg; var $36=(($35+4)|0); var $37=HEAP32[(($36)>>2)]; $ss=$37; _mutex_spin_enter(_tty_lock); var $38=$ss; var $39=(($38+16)|0); var $40=HEAP32[(($39)>>2)]; $ttyp=$40; var $41=$ttyp; var $42=(($41)|0)!=0; if ($42) { __label__ = 10; break; } else { __label__ = 15; break; } case 10: var $44=$ttyp; var $45=(($44+244)|0); var $46=HEAP32[(($45)>>2)]; var $47=$pg; var $48=(($46)|0)==(($47)|0); if ($48) { __label__ = 11; break; } else { __label__ = 15; break; } case 11: var $50=$ttyp; var $51=(($50+244)|0); HEAP32[(($51)>>2)]=0; var $52=$ttyp; var $53=(($52+248)|0); var $54=HEAP32[(($53)>>2)]; var $55=$ss; var $56=(($54)|0)==(($55)|0); var $57=(($56)&1); var $58=(($57)|0)!=0; var $59=(($58)&1); var $60=$59; var $61=(($60)|0)!=0; if ($61) { __label__ = 12; break; } else { __label__ = 13; break; } case 12: __label__ = 14; break; case 13: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str23497)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1093,tempInt)); __label__ = 14; break; case 14: __label__ = 15; break; case 15: _mutex_spin_exit(_tty_lock); var $66=$ss; var $67=(($66+36)|0); var $68=HEAP32[(($67)>>2)]; var $69=$pg; var $70=(($69+8)|0); var $71=HEAP32[(($70)>>2)]; var $72=(($68)|0)!=(($71)|0); if ($72) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: var $74=$1; var $75=_pg_remove($74); var $78 = $75;__label__ = 18; break; case 17: var $78 = 0;__label__ = 18; break; case 18: var $78; $pg=$78; var $79=$ss; _proc_sessrele($79); var $80=$pg; var $81=(($80)|0)!=0; if ($81) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $83=$pg; var $84=$83; _kmem_free($84, 16); __label__ = 20; break; case 20: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _pg_delete["X"]=1; function _proc_enterpgrp($curp, $pid, $pgid, $mksess) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $new_pgrp; var $pgrp; var $sess; var $p; var $rval; var $pg_id; $1=$curp; $2=$pid; $3=$pgid; var $5=(($mksess)&1); $4=$5; $pg_id=-1; var $6=$4; var $7=(($6) & 1); if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $9=_kmem_alloc(40, 1); var $12 = $9;__label__ = 5; break; case 4: var $12 = 0;__label__ = 5; break; case 5: var $12; var $13=$12; $sess=$13; var $14=HEAP32[((_proc_lock)>>2)]; _mutex_enter($14); var $15=$3; var $16=HEAP32[((_pid_tbl_mask)>>2)]; var $17=$15 & $16; var $18=HEAP32[((_pid_table)>>2)]; var $19=(($18+($17)*(12))|0); var $20=(($19+4)|0); var $21=HEAP32[(($20)>>2)]; var $22=(($21)|0)==0; if ($22) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: var $24=HEAP32[((_proc_lock)>>2)]; _mutex_exit($24); var $25=_kmem_alloc(16, 1); var $26=$25; $new_pgrp=$26; var $27=HEAP32[((_proc_lock)>>2)]; _mutex_enter($27); __label__ = 8; break; case 7: $new_pgrp=0; __label__ = 8; break; case 8: $rval=1; var $30=$3; var $31=HEAP32[((_pid_tbl_mask)>>2)]; var $32=$30 & $31; var $33=HEAP32[((_pid_table)>>2)]; var $34=(($33+($32)*(12))|0); var $35=(($34+4)|0); var $36=HEAP32[(($35)>>2)]; $pgrp=$36; var $37=$pgrp; var $38=(($37)|0)!=0; if ($38) { __label__ = 9; break; } else { __label__ = 11; break; } case 9: var $40=$pgrp; var $41=(($40+8)|0); var $42=HEAP32[(($41)>>2)]; var $43=$3; var $44=(($42)|0)!=(($43)|0); if ($44) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: __label__ = 72; break; case 11: var $47=$2; var $48=$1; var $49=(($48+120)|0); var $50=HEAP32[(($49)>>2)]; var $51=(($47)|0)!=(($50)|0); if ($51) { __label__ = 12; break; } else { __label__ = 24; break; } case 12: var $53=$2; var $54=_proc_find($53); $p=$54; var $55=$p; var $56=(($55)|0)==0; if ($56) { __label__ = 14; break; } else { __label__ = 13; break; } case 13: var $58=$p; var $59=$1; var $60=_p_inferior($58, $59); if ($60) { __label__ = 15; break; } else { __label__ = 14; break; } case 14: $rval=3; __label__ = 72; break; case 15: var $63=$sess; var $64=(($63)|0)!=0; if ($64) { __label__ = 17; break; } else { __label__ = 16; break; } case 16: var $66=$p; var $67=(($66+400)|0); var $68=HEAP32[(($67)>>2)]; var $69=(($68+4)|0); var $70=HEAP32[(($69)>>2)]; var $71=$1; var $72=(($71+400)|0); var $73=HEAP32[(($72)>>2)]; var $74=(($73+4)|0); var $75=HEAP32[(($74)>>2)]; var $76=(($70)|0)!=(($75)|0); if ($76) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 72; break; case 18: var $79=$pgrp; var $80=(($79)|0)!=0; if ($80) { __label__ = 19; break; } else { __label__ = 21; break; } case 19: var $82=$pgrp; var $83=(($82+4)|0); var $84=HEAP32[(($83)>>2)]; var $85=$p; var $86=(($85+400)|0); var $87=HEAP32[(($86)>>2)]; var $88=(($87+4)|0); var $89=HEAP32[(($88)>>2)]; var $90=(($84)|0)!=(($89)|0); if ($90) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 72; break; case 21: var $93=$p; var $94=(($93+96)|0); var $95=HEAP32[(($94)>>2)]; var $96=$95 & 16384; var $97=(($96)|0)!=0; if ($97) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: $rval=13; __label__ = 72; break; case 23: __label__ = 29; break; case 24: var $101=$4; var $102=(($101) & 1); if ($102) { __label__ = 25; break; } else { __label__ = 28; break; } case 25: var $104=$1; var $105=(($104+400)|0); var $106=HEAP32[(($105)>>2)]; var $107=(($106+8)|0); var $108=HEAP32[(($107)>>2)]; var $109=$1; var $110=(($109+120)|0); var $111=HEAP32[(($110)>>2)]; var $112=(($108)|0)==(($111)|0); if ($112) { __label__ = 27; break; } else { __label__ = 26; break; } case 26: var $114=$1; var $115=(($114+120)|0); var $116=HEAP32[(($115)>>2)]; var $117=_pgrp_find($116); var $118=(($117)|0)!=0; if ($118) { __label__ = 27; break; } else { __label__ = 28; break; } case 27: __label__ = 72; break; case 28: var $121=$1; $p=$121; __label__ = 29; break; case 29: var $123=$p; var $124=(($123+400)|0); var $125=HEAP32[(($124)>>2)]; var $126=(($125+4)|0); var $127=HEAP32[(($126)>>2)]; var $128=(($127+8)|0); var $129=HEAP32[(($128)>>2)]; var $130=$p; var $131=(($129)|0)==(($130)|0); if ($131) { __label__ = 30; break; } else { __label__ = 34; break; } case 30: var $133=$sess; var $134=(($133)|0)==0; if ($134) { __label__ = 31; break; } else { __label__ = 33; break; } case 31: var $136=$p; var $137=(($136+400)|0); var $138=HEAP32[(($137)>>2)]; var $139=$pgrp; var $140=(($138)|0)==(($139)|0); if ($140) { __label__ = 32; break; } else { __label__ = 33; break; } case 32: $rval=0; __label__ = 33; break; case 33: __label__ = 72; break; case 34: var $144=$pgrp; var $145=(($144)|0)==0; if ($145) { __label__ = 35; break; } else { __label__ = 37; break; } case 35: var $147=$3; var $148=$2; var $149=(($147)|0)!=(($148)|0); if ($149) { __label__ = 36; break; } else { __label__ = 37; break; } case 36: __label__ = 72; break; case 37: var $152=$sess; var $153=(($152)|0)!=0; if ($153) { __label__ = 38; break; } else { __label__ = 40; break; } case 38: var $155=$pgrp; var $156=(($155)|0)!=0; if ($156) { __label__ = 39; break; } else { __label__ = 40; break; } case 39: __label__ = 72; break; case 40: var $159=$pgrp; var $160=(($159)|0)==0; if ($160) { __label__ = 41; break; } else { __label__ = 43; break; } case 41: var $162=$new_pgrp; var $163=(($162)|0)==0; if ($163) { __label__ = 42; break; } else { __label__ = 43; break; } case 42: __label__ = 72; break; case 43: var $166=$pgrp; var $167=(($166)|0)!=0; if ($167) { __label__ = 44; break; } else { __label__ = 46; break; } case 44: var $169=$pgrp; var $170=(($169)|0); var $171=(($170)|0); var $172=HEAP32[(($171)>>2)]; var $173=(($172)|0)==0; if ($173) { __label__ = 45; break; } else { __label__ = 46; break; } case 45: __label__ = 72; break; case 46: $rval=0; var $176=$pgrp; var $177=$p; var $178=(($177+400)|0); var $179=HEAP32[(($178)>>2)]; var $180=(($176)|0)==(($179)|0); if ($180) { __label__ = 47; break; } else { __label__ = 48; break; } case 47: __label__ = 72; break; case 48: var $183=$pgrp; var $184=(($183)|0)==0; if ($184) { __label__ = 49; break; } else { __label__ = 61; break; } case 49: var $186=$new_pgrp; $pgrp=$186; $new_pgrp=0; var $187=$sess; var $188=(($187)|0)!=0; if ($188) { __label__ = 50; break; } else { __label__ = 51; break; } case 50: var $190=$p; var $191=(($190+120)|0); var $192=HEAP32[(($191)>>2)]; var $193=$sess; var $194=(($193+36)|0); HEAP32[(($194)>>2)]=$192; var $195=$p; var $196=$sess; var $197=(($196+8)|0); HEAP32[(($197)>>2)]=$195; var $198=$sess; var $199=(($198)|0); HEAP32[(($199)>>2)]=1; var $200=$sess; var $201=(($200+12)|0); HEAP32[(($201)>>2)]=0; var $202=$sess; var $203=(($202+16)|0); HEAP32[(($203)>>2)]=0; var $204=$p; var $205=(($204+400)|0); var $206=HEAP32[(($205)>>2)]; var $207=(($206+4)|0); var $208=HEAP32[(($207)>>2)]; var $209=(($208+4)|0); var $210=HEAP32[(($209)>>2)]; var $211=$210 & -2; var $212=$sess; var $213=(($212+4)|0); HEAP32[(($213)>>2)]=$211; var $214=$sess; var $215=(($214+20)|0); var $216=(($215)|0); var $217=$p; var $218=(($217+400)|0); var $219=HEAP32[(($218)>>2)]; var $220=(($219+4)|0); var $221=HEAP32[(($220)>>2)]; var $222=(($221+20)|0); var $223=(($222)|0); assert(16 % 1 === 0, 'memcpy given ' + 16 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $223, $$dest = $216, $$stop = $$src + 16; $$src < $$stop; $$src++, $$dest++) { HEAP8[$$dest] = HEAP8[$$src] }; var $224=$p; var $225=(($224+108)|0); var $226=HEAP32[(($225)>>2)]; var $227=$226 & -3; HEAP32[(($225)>>2)]=$227; __label__ = 52; break; case 51: var $229=$p; var $230=(($229+400)|0); var $231=HEAP32[(($230)>>2)]; var $232=(($231+4)|0); var $233=HEAP32[(($232)>>2)]; $sess=$233; var $234=$sess; _proc_sesshold($234); __label__ = 52; break; case 52: var $236=$sess; var $237=$pgrp; var $238=(($237+4)|0); HEAP32[(($238)>>2)]=$236; $sess=0; var $239=$3; var $240=$pgrp; var $241=(($240+8)|0); HEAP32[(($241)>>2)]=$239; __label__ = 53; break; case 53: var $243=$pgrp; var $244=(($243)|0); var $245=(($244)|0); HEAP32[(($245)>>2)]=0; __label__ = 54; break; case 54: var $247=$3; var $248=HEAP32[((_pid_tbl_mask)>>2)]; var $249=$247 & $248; var $250=HEAP32[((_pid_table)>>2)]; var $251=(($250+($249)*(12))|0); var $252=(($251+4)|0); var $253=HEAP32[(($252)>>2)]; var $254=(($253)|0)!=0; var $255=(($254)&1); var $256=$255; var $257=(($256)|0)!=0; if ($257) { __label__ = 55; break; } else { __label__ = 56; break; } case 55: _panic(((STRING_TABLE.__str16490)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 56: var $260=$4; var $261=(($260) & 1); if ($261) { __label__ = 57; break; } else { var $267 = 0;__label__ = 58; break; } case 57: var $263=$p; var $264=$1; var $265=(($263)|0)!=(($264)|0); var $267 = $265;__label__ = 58; break; case 58: var $267; var $268=(($267)&1); var $269=(($268)|0)!=0; var $270=(($269)&1); var $271=$270; var $272=(($271)|0)!=0; if ($272) { __label__ = 59; break; } else { __label__ = 60; break; } case 59: _panic(((STRING_TABLE.__str17491)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt)); throw "Reached an unreachable!" case 60: var $275=$pgrp; var $276=$3; var $277=HEAP32[((_pid_tbl_mask)>>2)]; var $278=$276 & $277; var $279=HEAP32[((_pid_table)>>2)]; var $280=(($279+($278)*(12))|0); var $281=(($280+4)|0); HEAP32[(($281)>>2)]=$275; var $282=$pgrp; var $283=(($282+12)|0); HEAP32[(($283)>>2)]=0; __label__ = 61; break; case 61: var $285=$p; var $286=$pgrp; _fixjobc($285, $286, 1); var $287=$p; var $288=$p; var $289=(($288+400)|0); var $290=HEAP32[(($289)>>2)]; _fixjobc($287, $290, 0); _mutex_spin_enter(_tty_lock); __label__ = 62; break; case 62: var $292=$p; var $293=(($292+124)|0); var $294=(($293)|0); var $295=HEAP32[(($294)>>2)]; var $296=(($295)|0)!=0; if ($296) { __label__ = 63; break; } else { __label__ = 64; break; } case 63: var $298=$p; var $299=(($298+124)|0); var $300=(($299+4)|0); var $301=HEAP32[(($300)>>2)]; var $302=$p; var $303=(($302+124)|0); var $304=(($303)|0); var $305=HEAP32[(($304)>>2)]; var $306=(($305+124)|0); var $307=(($306+4)|0); HEAP32[(($307)>>2)]=$301; __label__ = 64; break; case 64: var $309=$p; var $310=(($309+124)|0); var $311=(($310)|0); var $312=HEAP32[(($311)>>2)]; var $313=$p; var $314=(($313+124)|0); var $315=(($314+4)|0); var $316=HEAP32[(($315)>>2)]; HEAP32[(($316)>>2)]=$312; __label__ = 65; break; case 65: var $318=$p; var $319=(($318+400)|0); var $320=HEAP32[(($319)>>2)]; var $321=(($320)|0); var $322=(($321)|0); var $323=HEAP32[(($322)>>2)]; var $324=(($323)|0)==0; if ($324) { __label__ = 66; break; } else { __label__ = 67; break; } case 66: var $326=$p; var $327=(($326+400)|0); var $328=HEAP32[(($327)>>2)]; var $329=(($328+8)|0); var $330=HEAP32[(($329)>>2)]; $pg_id=$330; __label__ = 67; break; case 67: var $332=$pgrp; var $333=$p; var $334=(($333+400)|0); HEAP32[(($334)>>2)]=$332; __label__ = 68; break; case 68: var $336=$pgrp; var $337=(($336)|0); var $338=(($337)|0); var $339=HEAP32[(($338)>>2)]; var $340=$p; var $341=(($340+124)|0); var $342=(($341)|0); HEAP32[(($342)>>2)]=$339; var $343=(($339)|0)!=0; if ($343) { __label__ = 69; break; } else { __label__ = 70; break; } case 69: var $345=$p; var $346=(($345+124)|0); var $347=(($346)|0); var $348=$pgrp; var $349=(($348)|0); var $350=(($349)|0); var $351=HEAP32[(($350)>>2)]; var $352=(($351+124)|0); var $353=(($352+4)|0); HEAP32[(($353)>>2)]=$347; __label__ = 70; break; case 70: var $355=$p; var $356=$pgrp; var $357=(($356)|0); var $358=(($357)|0); HEAP32[(($358)>>2)]=$355; var $359=$pgrp; var $360=(($359)|0); var $361=(($360)|0); var $362=$p; var $363=(($362+124)|0); var $364=(($363+4)|0); HEAP32[(($364)>>2)]=$361; __label__ = 71; break; case 71: _mutex_spin_exit(_tty_lock); __label__ = 72; break; case 72: var $367=$pg_id; var $368=(($367)|0)!=-1; if ($368) { __label__ = 73; break; } else { __label__ = 74; break; } case 73: var $370=$pg_id; _pg_delete($370); __label__ = 75; break; case 74: var $372=HEAP32[((_proc_lock)>>2)]; _mutex_exit($372); __label__ = 75; break; case 75: var $374=$sess; var $375=(($374)|0)!=0; if ($375) { __label__ = 76; break; } else { __label__ = 77; break; } case 76: var $377=$sess; var $378=$377; _kmem_free($378, 40); __label__ = 77; break; case 77: var $380=$new_pgrp; var $381=(($380)|0)!=0; if ($381) { __label__ = 78; break; } else { __label__ = 79; break; } case 78: var $383=$new_pgrp; var $384=$383; _kmem_free($384, 16); __label__ = 79; break; case 79: var $386=$rval; STACKTOP = __stackBase__; return $386; default: assert(0, "bad label: " + __label__); } } _proc_enterpgrp["X"]=1; function _proc_leavepgrp($p) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $pgrp; $1=$p; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1015,tempInt)); __label__ = 5; break; case 5: _mutex_spin_enter(_tty_lock); var $11=$1; var $12=(($11+400)|0); var $13=HEAP32[(($12)>>2)]; $pgrp=$13; __label__ = 6; break; case 6: var $15=$1; var $16=(($15+124)|0); var $17=(($16)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18)|0)!=0; if ($19) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $21=$1; var $22=(($21+124)|0); var $23=(($22+4)|0); var $24=HEAP32[(($23)>>2)]; var $25=$1; var $26=(($25+124)|0); var $27=(($26)|0); var $28=HEAP32[(($27)>>2)]; var $29=(($28+124)|0); var $30=(($29+4)|0); HEAP32[(($30)>>2)]=$24; __label__ = 8; break; case 8: var $32=$1; var $33=(($32+124)|0); var $34=(($33)|0); var $35=HEAP32[(($34)>>2)]; var $36=$1; var $37=(($36+124)|0); var $38=(($37+4)|0); var $39=HEAP32[(($38)>>2)]; HEAP32[(($39)>>2)]=$35; __label__ = 9; break; case 9: var $41=$1; var $42=(($41+400)|0); HEAP32[(($42)>>2)]=0; _mutex_spin_exit(_tty_lock); var $43=$pgrp; var $44=(($43)|0); var $45=(($44)|0); var $46=HEAP32[(($45)>>2)]; var $47=(($46)|0)==0; if ($47) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $49=$pgrp; var $50=(($49+8)|0); var $51=HEAP32[(($50)>>2)]; _pg_delete($51); __label__ = 12; break; case 11: var $53=HEAP32[((_proc_lock)>>2)]; _mutex_exit($53); __label__ = 12; break; case 12: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _proc_leavepgrp["X"]=1; function _orphanpg($pg) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $p; $1=$pg; var $2=HEAP32[((_proc_lock)>>2)]; var $3=_mutex_owned($2); var $4=(($3)|0)!=0; var $5=(($4)&1); var $6=$5; var $7=(($6)|0)!=0; if ($7) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1174,tempInt)); __label__ = 5; break; case 5: var $11=$1; var $12=(($11)|0); var $13=(($12)|0); var $14=HEAP32[(($13)>>2)]; $p=$14; __label__ = 6; break; case 6: var $16=$p; var $17=(($16)|0)!=0; if ($17) { __label__ = 7; break; } else { __label__ = 11; break; } case 7: var $19=$p; var $20=(($19+116)|0); var $21=HEAP8[($20)]; var $22=(($21 << 24) >> 24); var $23=(($22)|0)==4; if ($23) { __label__ = 8; break; } else { __label__ = 9; break; } case 8: var $25=$p; var $26=(($25+108)|0); var $27=HEAP32[(($26)>>2)]; var $28=$27 | 536870912; HEAP32[(($26)>>2)]=$28; var $29=$p; _psignal($29, 1); var $30=$p; _psignal($30, 19); __label__ = 9; break; case 9: __label__ = 10; break; case 10: var $33=$p; var $34=(($33+124)|0); var $35=(($34)|0); var $36=HEAP32[(($35)>>2)]; $p=$36; __label__ = 6; break; case 11: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } function _proclist_foreach_call($list, $callback, $arg) { var __stackBase__ = STACKTOP; STACKTOP += 428; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $marker=__stackBase__; var $p; var $ret; $1=$list; $2=$callback; $3=$arg; $ret=0; var $4=(($marker+96)|0); HEAP32[(($4)>>2)]=-2147483648; var $5=HEAP32[((_proc_lock)>>2)]; _mutex_enter($5); var $6=$1; var $7=(($6)|0); var $8=HEAP32[(($7)>>2)]; $p=$8; __label__ = 3; break; case 3: var $10=$ret; var $11=(($10)|0)==0; if ($11) { __label__ = 4; break; } else { var $16 = 0;__label__ = 5; break; } case 4: var $13=$p; var $14=(($13)|0)!=0; var $16 = $14;__label__ = 5; break; case 5: var $16; if ($16) { __label__ = 6; break; } else { __label__ = 20; break; } case 6: var $18=$p; var $19=(($18+96)|0); var $20=HEAP32[(($19)>>2)]; var $21=$20 & -2147483648; var $22=(($21)|0)!=0; if ($22) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: var $24=$p; var $25=(($24)|0); var $26=(($25)|0); var $27=HEAP32[(($26)>>2)]; $p=$27; __label__ = 3; break; case 8: __label__ = 9; break; case 9: var $30=$p; var $31=(($30)|0); var $32=(($31)|0); var $33=HEAP32[(($32)>>2)]; var $34=(($marker)|0); var $35=(($34)|0); HEAP32[(($35)>>2)]=$33; var $36=(($33)|0)!=0; if ($36) { __label__ = 10; break; } else { __label__ = 11; break; } case 10: var $38=(($marker)|0); var $39=(($38)|0); var $40=$p; var $41=(($40)|0); var $42=(($41)|0); var $43=HEAP32[(($42)>>2)]; var $44=(($43)|0); var $45=(($44+4)|0); HEAP32[(($45)>>2)]=$39; __label__ = 11; break; case 11: var $47=$p; var $48=(($47)|0); var $49=(($48)|0); HEAP32[(($49)>>2)]=$marker; var $50=$p; var $51=(($50)|0); var $52=(($51)|0); var $53=(($marker)|0); var $54=(($53+4)|0); HEAP32[(($54)>>2)]=$52; __label__ = 12; break; case 12: var $56=$2; var $57=$p; var $58=$3; var $59=FUNCTION_TABLE[$56]($57, $58); $ret=$59; var $60=HEAP32[((_proc_lock)>>2)]; var $61=_mutex_owned($60); var $62=(($61)|0)!=0; var $63=(($62)&1); var $64=$63; var $65=(($64)|0)!=0; if ($65) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: __label__ = 15; break; case 14: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1321,tempInt)); __label__ = 15; break; case 15: var $69=(($marker)|0); var $70=(($69)|0); var $71=HEAP32[(($70)>>2)]; $p=$71; __label__ = 16; break; case 16: var $73=(($marker)|0); var $74=(($73)|0); var $75=HEAP32[(($74)>>2)]; var $76=(($75)|0)!=0; if ($76) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $78=(($marker)|0); var $79=(($78+4)|0); var $80=HEAP32[(($79)>>2)]; var $81=(($marker)|0); var $82=(($81)|0); var $83=HEAP32[(($82)>>2)]; var $84=(($83)|0); var $85=(($84+4)|0); HEAP32[(($85)>>2)]=$80; __label__ = 18; break; case 18: var $87=(($marker)|0); var $88=(($87)|0); var $89=HEAP32[(($88)>>2)]; var $90=(($marker)|0); var $91=(($90+4)|0); var $92=HEAP32[(($91)>>2)]; HEAP32[(($92)>>2)]=$89; __label__ = 19; break; case 19: __label__ = 3; break; case 20: var $95=HEAP32[((_proc_lock)>>2)]; _mutex_exit($95); var $96=$ret; STACKTOP = __stackBase__; return $96; default: assert(0, "bad label: " + __label__); } } _proclist_foreach_call["X"]=1; function _proc_vmspace_getref($p, $vm) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; $2=$p; $3=$vm; var $4=$2; var $5=_rumpuser_get_curlwp(); var $6=(($5+272)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($4)|0)!=(($7)|0); if ($8) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $10=$2; var $11=(($10+100)|0); var $12=HEAP32[(($11)>>2)]; var $13=$12 & 8192; var $14=(($13)|0)!=0; if ($14) { __label__ = 5; break; } else { __label__ = 4; break; } case 4: var $16=$2; var $17=(($16+68)|0); var $18=HEAP32[(($17)>>2)]; var $19=(($18+160)|0); var $20=HEAP32[(($19)>>2)]; var $21=(($20)|0) < 1; if ($21) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: $1=14; __label__ = 7; break; case 6: var $24=$2; var $25=(($24+68)|0); var $26=HEAP32[(($25)>>2)]; _uvmspace_addref($26); var $27=$2; var $28=(($27+68)|0); var $29=HEAP32[(($28)>>2)]; var $30=$3; HEAP32[(($30)>>2)]=$29; $1=0; __label__ = 7; break; case 7: var $32=$1; ; return $32; default: assert(0, "bad label: " + __label__); } } function _proc_crmod_enter() { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $l; var $p; var $oc; var $1=_rumpuser_get_curlwp(); $l=$1; var $2=$l; var $3=(($2+272)|0); var $4=HEAP32[(($3)>>2)]; $p=$4; var $5=$p; var $6=(($5+64)|0); var $7=HEAP32[(($6)>>2)]; var $8=(($7+192)|0); var $9=HEAP32[(($8)>>2)]; var $10=(($9)|0)!=(((((STRING_TABLE._defcorename)|0)))|0); if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: var $12=$p; _lim_setcorename($12, ((STRING_TABLE._defcorename)|0), 0); __label__ = 4; break; case 4: var $14=$p; var $15=(($14+12)|0); var $16=HEAP32[(($15)>>2)]; _mutex_enter($16); var $17=$l; var $18=(($17+480)|0); var $19=HEAP32[(($18)>>2)]; $oc=$19; var $20=$p; var $21=(($20+48)|0); var $22=HEAP32[(($21)>>2)]; var $23=(($19)|0)!=(($22)|0); if ($23) { __label__ = 5; break; } else { __label__ = 6; break; } case 5: var $25=$p; var $26=(($25+48)|0); var $27=HEAP32[(($26)>>2)]; _kauth_cred_hold($27); var $28=$p; var $29=(($28+48)|0); var $30=HEAP32[(($29)>>2)]; var $31=$l; var $32=(($31+480)|0); HEAP32[(($32)>>2)]=$30; var $33=$oc; _kauth_cred_free($33); __label__ = 6; break; case 6: ; return; default: assert(0, "bad label: " + __label__); } } function _proc_crmod_leave($scred, $fcred, $sugid) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $l; var $l2; var $p; var $oc; $1=$scred; $2=$fcred; var $4=(($sugid)&1); $3=$4; var $5=_rumpuser_get_curlwp(); $l=$5; var $6=$l; var $7=(($6+272)|0); var $8=HEAP32[(($7)>>2)]; $p=$8; var $9=$p; var $10=(($9+12)|0); var $11=HEAP32[(($10)>>2)]; var $12=_mutex_owned($11); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str18492)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1387,tempInt)); __label__ = 5; break; case 5: var $20=$1; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 15; break; } case 6: var $23=$1; var $24=$p; var $25=(($24+48)|0); HEAP32[(($25)>>2)]=$23; var $26=$p; var $27=(($26+148)|0); var $28=(($27)|0); var $29=HEAP32[(($28)>>2)]; $l2=$29; __label__ = 7; break; case 7: var $31=$l2; var $32=(($31)|0)!=0; if ($32) { __label__ = 8; break; } else { __label__ = 12; break; } case 8: var $34=$l2; var $35=$l; var $36=(($34)|0)!=(($35)|0); if ($36) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $38=$l2; var $39=(($38+292)|0); var $40=HEAP32[(($39)>>2)]; var $41=$40 | 256; HEAP32[(($39)>>2)]=$41; __label__ = 10; break; case 10: __label__ = 11; break; case 11: var $44=$l2; var $45=(($44+276)|0); var $46=(($45)|0); var $47=HEAP32[(($46)>>2)]; $l2=$47; __label__ = 7; break; case 12: var $49=$l; var $50=(($49+480)|0); var $51=HEAP32[(($50)>>2)]; $oc=$51; var $52=$1; var $53=(($51)|0)!=(($52)|0); if ($53) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: var $55=$1; _kauth_cred_hold($55); var $56=$1; var $57=$l; var $58=(($57+480)|0); HEAP32[(($58)>>2)]=$56; __label__ = 14; break; case 14: __label__ = 16; break; case 15: $oc=0; __label__ = 16; break; case 16: var $62=$3; var $63=(($62) & 1); if ($63) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: var $65=$p; var $66=(($65+96)|0); var $67=HEAP32[(($66)>>2)]; var $68=$67 | 256; HEAP32[(($66)>>2)]=$68; __label__ = 18; break; case 18: var $70=$p; var $71=(($70+12)|0); var $72=HEAP32[(($71)>>2)]; _mutex_exit($72); var $73=$2; var $74=(($73)|0)!=0; if ($74) { __label__ = 19; break; } else { __label__ = 25; break; } case 19: var $76=$1; var $77=(($76)|0)!=0; var $78=(($77)&1); var $79=(($78)|0)!=0; var $80=(($79)&1); var $81=$80; var $82=(($81)|0)!=0; if ($82) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 22; break; case 21: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str19493)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1417,tempInt)); __label__ = 22; break; case 22: var $86=$2; _kauth_cred_free($86); var $87=$oc; var $88=$1; var $89=(($87)|0)!=(($88)|0); if ($89) { __label__ = 23; break; } else { __label__ = 24; break; } case 23: var $91=$oc; _kauth_cred_free($91); __label__ = 24; break; case 24: __label__ = 25; break; case 25: STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _proc_crmod_leave["X"]=1; function _proc_specific_key_create($keyp, $dtor) { ; var __label__; var $1; var $2; $1=$keyp; $2=$dtor; var $3=HEAP32[((_proc_specificdata_domain)>>2)]; var $4=$1; var $5=$2; var $6=_specificdata_key_create($3, $4, $5); ; return $6; } function _proc_specific_key_delete($key) { ; var __label__; var $1; $1=$key; var $2=HEAP32[((_proc_specificdata_domain)>>2)]; var $3=$1; _specificdata_key_delete($2, $3); ; return; } function _proc_finispecific($p) { ; var __label__; var $1; $1=$p; var $2=HEAP32[((_proc_specificdata_domain)>>2)]; var $3=$1; var $4=(($3+84)|0); _specificdata_fini($2, $4); ; return; } function _proc_getspecific($p, $key) { ; var __label__; var $1; var $2; $1=$p; $2=$key; var $3=HEAP32[((_proc_specificdata_domain)>>2)]; var $4=$1; var $5=(($4+84)|0); var $6=$2; var $7=_specificdata_getspecific($3, $5, $6); ; return $7; } function _proc_setspecific($p, $key, $data) { ; var __label__; var $1; var $2; var $3; $1=$p; $2=$key; $3=$data; var $4=HEAP32[((_proc_specificdata_domain)>>2)]; var $5=$1; var $6=(($5+84)|0); var $7=$2; var $8=$3; _specificdata_setspecific($4, $6, $7, $8); ; return; } function _proc_uidmatch($cred, $target) { var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $r; var $ismember=__stackBase__; $1=$cred; $2=$target; $r=0; var $3=$1; var $4=_kauth_cred_getuid($3); var $5=$2; var $6=_kauth_cred_getuid($5); var $7=(($4)|0)!=(($6)|0); if ($7) { __label__ = 4; break; } else { __label__ = 3; break; } case 3: var $9=$1; var $10=_kauth_cred_getuid($9); var $11=$2; var $12=_kauth_cred_getsvuid($11); var $13=(($10)|0)!=(($12)|0); if ($13) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: $r=1; __label__ = 12; break; case 5: var $16=$2; var $17=_kauth_cred_getgid($16); var $18=$2; var $19=_kauth_cred_getsvgid($18); var $20=(($17)|0)!=(($19)|0); if ($20) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: $r=1; __label__ = 11; break; case 7: HEAP32[(($ismember)>>2)]=0; var $23=$1; var $24=$2; var $25=_kauth_cred_getgid($24); var $26=_kauth_cred_ismember_gid($23, $25, $ismember); var $27=(($26)|0)!=0; if ($27) { __label__ = 9; break; } else { __label__ = 8; break; } case 8: var $29=HEAP32[(($ismember)>>2)]; var $30=(($29)|0)!=0; if ($30) { __label__ = 10; break; } else { __label__ = 9; break; } case 9: $r=1; __label__ = 10; break; case 10: __label__ = 11; break; case 11: __label__ = 12; break; case 12: var $35=$r; STACKTOP = __stackBase__; return $35; default: assert(0, "bad label: " + __label__); } } function _copyin_psstrings($p, $arginfo) { ; var __label__; var $1; var $2; $1=$p; $2=$arginfo; var $3=$1; var $4=$1; var $5=(($4+404)|0); var $6=HEAP32[(($5)>>2)]; var $7=$6; var $8=$2; var $9=$8; var $10=_copyin_proc($3, $7, $9, 16); ; return $10; } function _copy_procargs($p, $oid, $limit, $cb, $cookie) { var __stackBase__ = STACKTOP; STACKTOP += 52; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $4; var $5; var $pss=__stackBase__; var $len; var $i; var $loaded; var $entry_len; var $auio=(__stackBase__)+(16); var $aiov=(__stackBase__)+(44); var $error; var $argvlen; var $arg; var $argv; var $user_argv; var $vmspace; var $finished; var $base; var $xlen; var $j; var $rem; $1=$p; $2=$oid; $3=$limit; $4=$cb; $5=$cookie; var $6=_kmem_alloc(4096, 1); $arg=$6; var $7=_kmem_alloc(4096, 1); var $8=$7; $argv=$8; var $9=$1; var $10=(($9+68)|0); var $11=HEAP32[(($10)>>2)]; $vmspace=$11; var $12=$vmspace; _uvmspace_addref($12); var $13=$1; var $14=_copyin_psstrings($13, $pss); $error=$14; var $15=(($14)|0)!=0; if ($15) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 42; break; case 4: var $18=$2; if ((($18)|0) == 1) { __label__ = 5; break; } else if ((($18)|0) == 3) { __label__ = 6; break; } else { __label__ = 7; break; } case 5: var $20=(($pss)|0); var $21=HEAP32[(($20)>>2)]; var $22=$21; $user_argv=$22; var $23=(($pss+4)|0); var $24=HEAP32[(($23)>>2)]; $argvlen=$24; __label__ = 8; break; case 6: var $26=(($pss+8)|0); var $27=HEAP32[(($26)>>2)]; var $28=$27; $user_argv=$28; var $29=(($pss+12)|0); var $30=HEAP32[(($29)>>2)]; $argvlen=$30; __label__ = 8; break; case 7: $error=22; __label__ = 42; break; case 8: var $33=$argvlen; var $34=(($33)|0) < 0; if ($34) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: $error=5; __label__ = 42; break; case 10: $entry_len=4; $len=0; $loaded=0; $i=0; __label__ = 11; break; case 11: var $38=$argvlen; var $39=(($38)|0)!=0; if ($39) { __label__ = 12; break; } else { __label__ = 41; break; } case 12: $finished=0; var $41=$loaded; var $42=(($41)|0)==0; if ($42) { __label__ = 13; break; } else { __label__ = 19; break; } case 13: var $44=$entry_len; var $45=$argvlen; var $46=((($44)*($45))|0); $rem=$46; var $47=$rem; var $48=(($47)>>>0) < 4096; if ($48) { __label__ = 14; break; } else { __label__ = 15; break; } case 14: var $50=$rem; var $53 = $50;__label__ = 16; break; case 15: var $53 = 4096;__label__ = 16; break; case 16: var $53; $loaded=$53; var $54=$vmspace; var $55=$user_argv; var $56=$55; var $57=$argv; var $58=$57; var $59=$loaded; var $60=_copyin_vmspace($54, $56, $58, $59); $error=$60; var $61=$error; var $62=(($61)|0)!=0; if ($62) { __label__ = 17; break; } else { __label__ = 18; break; } case 17: __label__ = 41; break; case 18: var $65=$loaded; var $66=$user_argv; var $67=((($66)+($65))|0); $user_argv=$67; $i=0; __label__ = 19; break; case 19: var $69=$i; var $70=((($69)+(1))|0); $i=$70; var $71=$argv; var $72=(($71+($69<<2))|0); var $73=HEAP32[(($72)>>2)]; var $74=$73; $base=$74; var $75=$entry_len; var $76=$loaded; var $77=((($76)-($75))|0); $loaded=$77; var $78=$base; var $79=(($78)|0)==0; if ($79) { __label__ = 20; break; } else { __label__ = 21; break; } case 20: __label__ = 41; break; case 21: __label__ = 22; break; case 22: var $83=$finished; var $84=(($83)|0)!=0; var $85=$84 ^ 1; if ($85) { __label__ = 23; break; } else { __label__ = 39; break; } case 23: var $87=$base; var $88=$87 & 4095; var $89=(((4096)-($88))|0); $xlen=$89; var $90=$arg; var $91=(($aiov)|0); HEAP32[(($91)>>2)]=$90; var $92=(($aiov+4)|0); HEAP32[(($92)>>2)]=4096; var $93=(($auio)|0); HEAP32[(($93)>>2)]=$aiov; var $94=(($auio+4)|0); HEAP32[(($94)>>2)]=1; var $95=$base; var $96$0=$95; var $96$1=0; var $97=(($auio+8)|0); var $st$17$0=(($97)|0); HEAP32[(($st$17$0)>>2)]=$96$0; var $st$17$1=(($97+4)|0); HEAP32[(($st$17$1)>>2)]=$96$1; var $98=$xlen; var $99=(($auio+16)|0); HEAP32[(($99)>>2)]=$98; var $100=(($auio+20)|0); HEAP32[(($100)>>2)]=0; _uio_setup_sysspace($auio); var $101=$vmspace; var $102=(($101)|0); var $103=_uvm_io($102, $auio); $error=$103; var $104=$error; var $105=(($104)|0)!=0; if ($105) { __label__ = 24; break; } else { __label__ = 25; break; } case 24: __label__ = 42; break; case 25: $j=0; __label__ = 26; break; case 26: var $109=$j; var $110=$xlen; var $111=(($109)>>>0) < (($110)>>>0); if ($111) { __label__ = 27; break; } else { __label__ = 31; break; } case 27: var $113=$j; var $114=$arg; var $115=(($114+$113)|0); var $116=HEAP8[($115)]; var $117=(($116 << 24) >> 24); var $118=(($117)|0)==0; if ($118) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: var $120=$j; var $121=((($120)+(1))|0); $xlen=$121; $finished=1; __label__ = 31; break; case 29: __label__ = 30; break; case 30: var $124=$j; var $125=((($124)+(1))|0); $j=$125; __label__ = 26; break; case 31: var $127=$len; var $128=$xlen; var $129=((($127)+($128))|0); var $130=$3; var $131=HEAP32[(($130)>>2)]; var $132=(($129)>>>0) > (($131)>>>0); if ($132) { __label__ = 32; break; } else { __label__ = 36; break; } case 32: $finished=1; var $134=$len; var $135=$3; var $136=HEAP32[(($135)>>2)]; var $137=(($134)>>>0) > (($136)>>>0); if ($137) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: $xlen=0; __label__ = 35; break; case 34: var $140=$3; var $141=HEAP32[(($140)>>2)]; var $142=$len; var $143=((($141)-($142))|0); $xlen=$143; __label__ = 35; break; case 35: __label__ = 36; break; case 36: var $146=$4; var $147=$5; var $148=$arg; var $149=$len; var $150=$xlen; var $151=FUNCTION_TABLE[$146]($147, $148, $149, $150); $error=$151; var $152=$error; var $153=(($152)|0)!=0; if ($153) { __label__ = 37; break; } else { __label__ = 38; break; } case 37: __label__ = 42; break; case 38: var $156=$xlen; var $157=$len; var $158=((($157)+($156))|0); $len=$158; var $159=$xlen; var $160=$base; var $161=((($160)+($159))|0); $base=$161; __label__ = 22; break; case 39: __label__ = 40; break; case 40: var $164=$argvlen; var $165=((($164)-(1))|0); $argvlen=$165; __label__ = 11; break; case 41: var $167=$len; var $168=$3; HEAP32[(($168)>>2)]=$167; __label__ = 42; break; case 42: var $170=$argv; var $171=$170; _kmem_free($171, 4096); var $172=$arg; _kmem_free($172, 4096); var $173=$vmspace; _uvmspace_free($173); var $174=$error; STACKTOP = __stackBase__; return $174; default: assert(0, "bad label: " + __label__); } } _copy_procargs["X"]=1; function _fill_eproc($p, $ep, $zombie) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $tp; var $l; var $vm; $1=$p; $2=$ep; var $4=(($zombie)&1); $3=$4; var $5=HEAP32[((_proc_lock)>>2)]; var $6=_mutex_owned($5); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=2148,tempInt)); __label__ = 5; break; case 5: var $14=$1; var $15=(($14+12)|0); var $16=HEAP32[(($15)>>2)]; var $17=_mutex_owned($16); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } else { __label__ = 7; break; } case 6: __label__ = 8; break; case 7: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str18492)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=2149,tempInt)); __label__ = 8; break; case 8: var $25=$2; var $26=$25; for (var $$dest = $26>>2, $$stop = $$dest + 101; $$dest < $$stop; $$dest++) { HEAP32[$$dest] = 0 }; var $27=$1; var $28=$2; var $29=(($28)|0); HEAP32[(($29)>>2)]=$27; var $30=$1; var $31=(($30+400)|0); var $32=HEAP32[(($31)>>2)]; var $33=(($32+4)|0); var $34=HEAP32[(($33)>>2)]; var $35=$2; var $36=(($35+4)|0); HEAP32[(($36)>>2)]=$34; var $37=$1; var $38=(($37+48)|0); var $39=HEAP32[(($38)>>2)]; var $40=(($39)|0)!=0; if ($40) { __label__ = 9; break; } else { __label__ = 10; break; } case 9: var $42=$1; var $43=(($42+48)|0); var $44=HEAP32[(($43)>>2)]; var $45=$2; var $46=(($45+8)|0); _kauth_cred_topcred($44, $46); var $47=$1; var $48=(($47+48)|0); var $49=HEAP32[(($48)>>2)]; var $50=$2; var $51=(($50+32)|0); _kauth_cred_toucred($49, $51); __label__ = 10; break; case 10: var $53=$1; var $54=(($53+116)|0); var $55=HEAP8[($54)]; var $56=(($55 << 24) >> 24); var $57=(($56)|0)!=1; if ($57) { __label__ = 11; break; } else { __label__ = 21; break; } case 11: var $59=$1; var $60=(($59+116)|0); var $61=HEAP8[($60)]; var $62=(($61 << 24) >> 24); var $63=(($62)|0)==5; if ($63) { __label__ = 21; break; } else { __label__ = 12; break; } case 12: var $65=$1; var $66=(($65+116)|0); var $67=HEAP8[($66)]; var $68=(($67 << 24) >> 24); var $69=(($68)|0)==3; if ($69) { __label__ = 21; break; } else { __label__ = 13; break; } case 13: var $71=$1; var $72=(($71+116)|0); var $73=HEAP8[($72)]; var $74=(($73 << 24) >> 24); var $75=(($74)|0)==6; if ($75) { __label__ = 21; break; } else { __label__ = 14; break; } case 14: var $77=$3; var $78=(($77) & 1); if ($78) { __label__ = 21; break; } else { __label__ = 15; break; } case 15: var $80=$1; var $81=(($80+68)|0); var $82=HEAP32[(($81)>>2)]; $vm=$82; var $83=$2; var $84=(($83+112)|0); var $85=(($84+168)|0); HEAP32[(($85)>>2)]=0; var $86=$vm; var $87=(($86+176)|0); var $88=HEAP32[(($87)>>2)]; var $89=$2; var $90=(($89+112)|0); var $91=(($90+176)|0); HEAP32[(($91)>>2)]=$88; var $92=$vm; var $93=(($92+180)|0); var $94=HEAP32[(($93)>>2)]; var $95=$2; var $96=(($95+112)|0); var $97=(($96+180)|0); HEAP32[(($97)>>2)]=$94; var $98=$vm; var $99=(($98+184)|0); var $100=HEAP32[(($99)>>2)]; var $101=$2; var $102=(($101+112)|0); var $103=(($102+184)|0); HEAP32[(($103)>>2)]=$100; var $104=$vm; var $105=(($104)|0); var $106=(($105+140)|0); var $107=HEAP32[(($106)>>2)]; var $108=$2; var $109=(($108+112)|0); var $110=(($109)|0); var $111=(($110+140)|0); HEAP32[(($111)>>2)]=$107; var $112=$1; var $113=_proc_active_lwp($112); $l=$113; var $114=$l; var $115=(($114)|0)!=0; var $116=(($115)&1); var $117=(($116)|0)!=0; var $118=(($117)&1); var $119=$118; var $120=(($119)|0)!=0; if ($120) { __label__ = 16; break; } else { __label__ = 17; break; } case 16: __label__ = 18; break; case 17: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str21495)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=2170,tempInt)); __label__ = 18; break; case 18: var $124=$l; _lwp_lock($124); var $125=$l; var $126=(($125+184)|0); var $127=HEAP32[(($126)>>2)]; var $128=(($127)|0)!=0; if ($128) { __label__ = 19; break; } else { __label__ = 20; break; } case 19: var $130=$2; var $131=(($130+348)|0); var $132=(($131)|0); var $133=$l; var $134=(($133+188)|0); var $135=HEAP32[(($134)>>2)]; var $136=_strncpy($132, $135, 8); __label__ = 20; break; case 20: var $138=$l; _lwp_unlock($138); __label__ = 21; break; case 21: var $140=$1; var $141=(($140+132)|0); var $142=HEAP32[(($141)>>2)]; var $143=(($142)|0)!=0; if ($143) { __label__ = 22; break; } else { __label__ = 23; break; } case 22: var $145=$1; var $146=(($145+132)|0); var $147=HEAP32[(($146)>>2)]; var $148=(($147+120)|0); var $149=HEAP32[(($148)>>2)]; var $150=$2; var $151=(($150+324)|0); HEAP32[(($151)>>2)]=$149; __label__ = 23; break; case 23: var $153=$1; var $154=(($153+400)|0); var $155=HEAP32[(($154)>>2)]; var $156=(($155)|0)!=0; if ($156) { __label__ = 24; break; } else { __label__ = 35; break; } case 24: var $158=$1; var $159=(($158+400)|0); var $160=HEAP32[(($159)>>2)]; var $161=(($160+4)|0); var $162=HEAP32[(($161)>>2)]; var $163=(($162)|0)!=0; if ($163) { __label__ = 25; break; } else { __label__ = 35; break; } case 25: var $165=$1; var $166=(($165+400)|0); var $167=HEAP32[(($166)>>2)]; var $168=(($167+8)|0); var $169=HEAP32[(($168)>>2)]; var $170=$2; var $171=(($170+328)|0); HEAP32[(($171)>>2)]=$169; var $172=$1; var $173=(($172+400)|0); var $174=HEAP32[(($173)>>2)]; var $175=(($174+12)|0); var $176=HEAP32[(($175)>>2)]; var $177=(($176) & 65535); var $178=$2; var $179=(($178+332)|0); HEAP16[(($179)>>1)]=$177; var $180=$1; var $181=(($180+400)|0); var $182=HEAP32[(($181)>>2)]; var $183=(($182+4)|0); var $184=HEAP32[(($183)>>2)]; var $185=(($184+36)|0); var $186=HEAP32[(($185)>>2)]; var $187=$2; var $188=(($187+388)|0); HEAP32[(($188)>>2)]=$186; var $189=$1; var $190=(($189+108)|0); var $191=HEAP32[(($190)>>2)]; var $192=$191 & 2; var $193=(($192)|0)!=0; if ($193) { __label__ = 26; break; } else { __label__ = 31; break; } case 26: var $195=$2; var $196=(($195+4)|0); var $197=HEAP32[(($196)>>2)]; var $198=(($197+16)|0); var $199=HEAP32[(($198)>>2)]; $tp=$199; var $200=(($199)|0)!=0; if ($200) { __label__ = 27; break; } else { __label__ = 31; break; } case 27: var $202=$tp; var $203=(($202+220)|0); var $st$2$0=(($203)|0); var $204$0=HEAP32[(($st$2$0)>>2)]; var $st$2$1=(($203+4)|0); var $204$1=HEAP32[(($st$2$1)>>2)]; var $205$0=$204$0; var $205=$205$0; var $206=$2; var $207=(($206+336)|0); HEAP32[(($207)>>2)]=$205; var $208=$tp; var $209=(($208+244)|0); var $210=HEAP32[(($209)>>2)]; var $211=(($210)|0)!=0; if ($211) { __label__ = 28; break; } else { __label__ = 29; break; } case 28: var $213=$tp; var $214=(($213+244)|0); var $215=HEAP32[(($214)>>2)]; var $216=(($215+8)|0); var $217=HEAP32[(($216)>>2)]; var $220 = $217;__label__ = 30; break; case 29: var $220 = -1;__label__ = 30; break; case 30: var $220; var $221=$2; var $222=(($221+340)|0); HEAP32[(($222)>>2)]=$220; var $223=$tp; var $224=(($223+248)|0); var $225=HEAP32[(($224)>>2)]; var $226=$2; var $227=(($226+344)|0); HEAP32[(($227)>>2)]=$225; __label__ = 32; break; case 31: var $229=$2; var $230=(($229+336)|0); HEAP32[(($230)>>2)]=-1; __label__ = 32; break; case 32: var $232=$2; var $233=(($232+4)|0); var $234=HEAP32[(($233)>>2)]; var $235=(($234+12)|0); var $236=HEAP32[(($235)>>2)]; var $237=(($236)|0)!=0; var $238=$237 ? 1 : 0; var $239=$2; var $240=(($239+368)|0); HEAP32[(($240)>>2)]=$238; var $241=$1; var $242=(($241+400)|0); var $243=HEAP32[(($242)>>2)]; var $244=(($243+4)|0); var $245=HEAP32[(($244)>>2)]; var $246=(($245+8)|0); var $247=HEAP32[(($246)>>2)]; var $248=$1; var $249=(($247)|0)==(($248)|0); if ($249) { __label__ = 33; break; } else { __label__ = 34; break; } case 33: var $251=$2; var $252=(($251+368)|0); var $253=HEAP32[(($252)>>2)]; var $254=$253 | 2; HEAP32[(($252)>>2)]=$254; __label__ = 34; break; case 34: var $256=$2; var $257=(($256+372)|0); var $258=(($257)|0); var $259=$2; var $260=(($259+4)|0); var $261=HEAP32[(($260)>>2)]; var $262=(($261+20)|0); var $263=(($262)|0); var $264=_strncpy($258, $263, 16); __label__ = 35; break; case 35: var $266=$2; var $267=(($266+360)|0); HEAP16[(($267)>>1)]=0; var $268=$2; var $269=(($268+356)|0); HEAP32[(($269)>>2)]=0; var $270=$2; var $271=(($270+364)|0); HEAP16[(($271)>>1)]=0; var $272=$2; var $273=(($272+362)|0); HEAP16[(($273)>>1)]=0; STACKTOP = __stackBase__; return; default: assert(0, "bad label: " + __label__); } } _fill_eproc["X"]=1; function _proc_active_lwp($p) { var __stackBase__ = STACKTOP; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $l; var $lp; $1=$p; $lp=0; var $2=$1; var $3=(($2+148)|0); var $4=(($3)|0); var $5=HEAP32[(($4)>>2)]; $l=$5; __label__ = 3; break; case 3: var $7=$l; var $8=(($7)|0)!=0; if ($8) { __label__ = 4; break; } else { __label__ = 16; break; } case 4: var $10=$l; var $11=(($10+36)|0); var $12=HEAP32[(($11)>>2)]; var $13=(($12)|0) >= 0; if ($13) { __label__ = 5; break; } else { var $20 = 0;__label__ = 6; break; } case 5: var $15=$l; var $16=(($15+36)|0); var $17=HEAP32[(($16)>>2)]; var $18=(($17)>>>0) < 9; var $20 = $18;__label__ = 6; break; case 6: var $20; var $21=(($20)&1); var $22=(($21)|0)!=0; var $23=(($22)&1); var $24=$23; var $25=(($24)|0)!=0; if ($25) { __label__ = 7; break; } else { __label__ = 8; break; } case 7: __label__ = 9; break; case 8: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str22496)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=1599,tempInt)); __label__ = 9; break; case 9: var $29=$lp; var $30=(($29)|0)==0; if ($30) { __label__ = 13; break; } else { __label__ = 10; break; } case 10: var $32=$l; var $33=(($32+36)|0); var $34=HEAP32[(($33)>>2)]; var $35=((_proc_active_lwp_ostat+($34<<2))|0); var $36=HEAP32[(($35)>>2)]; var $37=$lp; var $38=(($37+36)|0); var $39=HEAP32[(($38)>>2)]; var $40=((_proc_active_lwp_ostat+($39<<2))|0); var $41=HEAP32[(($40)>>2)]; var $42=(($36)|0) > (($41)|0); if ($42) { __label__ = 13; break; } else { __label__ = 11; break; } case 11: var $44=$l; var $45=(($44+36)|0); var $46=HEAP32[(($45)>>2)]; var $47=((_proc_active_lwp_ostat+($46<<2))|0); var $48=HEAP32[(($47)>>2)]; var $49=$lp; var $50=(($49+36)|0); var $51=HEAP32[(($50)>>2)]; var $52=((_proc_active_lwp_ostat+($51<<2))|0); var $53=HEAP32[(($52)>>2)]; var $54=(($48)|0)==(($53)|0); if ($54) { __label__ = 12; break; } else { __label__ = 14; break; } case 12: var $56=$l; var $57=(($56+136)|0); var $58=HEAP32[(($57)>>2)]; var $59=$lp; var $60=(($59+136)|0); var $61=HEAP32[(($60)>>2)]; var $62=(($58)>>>0) > (($61)>>>0); if ($62) { __label__ = 13; break; } else { __label__ = 14; break; } case 13: var $64=$l; $lp=$64; __label__ = 15; break; case 14: __label__ = 15; break; case 15: var $67=$l; var $68=(($67+276)|0); var $69=(($68)|0); var $70=HEAP32[(($69)>>2)]; $l=$70; __label__ = 3; break; case 16: var $72=$lp; STACKTOP = __stackBase__; return $72; default: assert(0, "bad label: " + __label__); } } _proc_active_lwp["X"]=1; function _lwp_lock($l) { ; var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $old; $1=$l; var $2=$1; var $3=(($2+16)|0); var $4=HEAP32[(($3)>>2)]; $old=$4; var $5=$old; _mutex_spin_enter($5); __label__ = 3; break; case 3: var $7=$1; var $8=(($7+16)|0); var $9=HEAP32[(($8)>>2)]; var $10=$old; var $11=(($9)|0)!=(($10)|0); var $12=(($11)&1); var $13=(($12)|0)!=0; var $14=(($13)&1); var $15=$14; var $16=(($15)|0)!=0; if ($16) { __label__ = 4; break; } else { __label__ = 5; break; } case 4: var $18=$old; _mutex_spin_exit($18); var $19=$1; var $20=(($19+16)|0); var $21=HEAP32[(($20)>>2)]; $old=$21; var $22=$old; _mutex_spin_enter($22); __label__ = 3; break; case 5: ; return; default: assert(0, "bad label: " + __label__); } } function _lwp_unlock($l) { ; var __label__; var $1; $1=$l; var $2=$1; var $3=(($2+16)|0); var $4=HEAP32[(($3)>>2)]; _mutex_spin_exit($4); ; return; } function _copy_procargs_sysctl_cb($cookie_, $src, $off, $len) { ; var __label__; var $1; var $2; var $3; var $4; var $cookie; var $l; var $dst; $1=$cookie_; $2=$src; $3=$off; $4=$len; var $5=$1; var $6=$5; $cookie=$6; var $7=$cookie; var $8=(($7)|0); var $9=HEAP32[(($8)>>2)]; var $10=$9; $l=$10; var $11=$cookie; var $12=(($11+4)|0); var $13=HEAP32[(($12)>>2)]; $dst=$13; var $14=$l; var $15=$2; var $16=$dst; var $17=$3; var $18=(($16+$17)|0); var $19=$4; var $20=_sysctl_copyout($14, $15, $18, $19); ; return $20; } function _fill_kproc2($p, $ki, $zombie) { var __stackBase__ = STACKTOP; STACKTOP += 148; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack"); var __label__; __label__ = 2; while(1) switch(__label__) { case 2: var $1; var $2; var $3; var $tp; var $l; var $l2; var $ut=__stackBase__; var $st=(__stackBase__)+(12); var $rt=(__stackBase__)+(24); var $ss1=(__stackBase__)+(36); var $ss2=(__stackBase__)+(52); var $ru=(__stackBase__)+(68); var $vm; $1=$p; $2=$ki; var $4=(($zombie)&1); $3=$4; var $5=HEAP32[((_proc_lock)>>2)]; var $6=_mutex_owned($5); var $7=(($6)|0)!=0; var $8=(($7)&1); var $9=$8; var $10=(($9)|0)!=0; if ($10) { __label__ = 3; break; } else { __label__ = 4; break; } case 3: __label__ = 5; break; case 4: _kern_assert(((STRING_TABLE.__str474)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=((STRING_TABLE.__str1475)|0),HEAP32[(((tempInt)+(4))>>2)]=((STRING_TABLE.__str12486)|0),HEAP32[(((tempInt)+(8))>>2)]=((STRING_TABLE.__str3477)|0),HEAP32[(((tempInt)+(12))>>2)]=2211,tempInt)); __label__ = 5; break; case 5: var $14=$1; var $15=(($14+12)|0); var $16=HEAP32[(($15)>>2)]; var $17=_mutex_owned($16); var $18=(($17)|0)!=0; var $19=(($18)&1); var $20=$19; var $21=(($20)|0)!=0; if ($21) { __label__ = 6; break; } els