function instantiate(asmLibraryArg, wasmMemory) {
function asmFunc(env, buffer) {
 var FUNCTION_TABLE = env.table;
 var HEAP8 = new Int8Array(buffer);
 var HEAP16 = new Int16Array(buffer);
 var HEAP32 = new Int32Array(buffer);
 var HEAPU8 = new Uint8Array(buffer);
 var HEAPU16 = new Uint16Array(buffer);
 var HEAPU32 = new Uint32Array(buffer);
 var HEAPF32 = new Float32Array(buffer);
 var HEAPF64 = new Float64Array(buffer);
 var Math_imul = Math.imul;
 var Math_fround = Math.fround;
 var Math_abs = Math.abs;
 var Math_clz32 = Math.clz32;
 var Math_min = Math.min;
 var Math_max = Math.max;
 var Math_floor = Math.floor;
 var Math_ceil = Math.ceil;
 var Math_sqrt = Math.sqrt;
 var abort = env.abort;
 var nan = NaN;
 var infinity = Infinity;
 var syscall$6 = env.__syscall6;
 var syscall$54 = env.__syscall54;
 // EMSCRIPTEN_START_FUNCS
;
 function main() {
  syscall$6(1, 2) | 0;
  syscall$54(3, 4) | 0;
  FUNCTION_TABLE[HEAP32[257]]();
 }
 
 function other() {
  main();
 }
 
 function foo() {
  abort();
 }
 
 function bar() {
  HEAP32[4] = 3;
  HEAPF32[4] = 7;
  HEAPF64[2] = 11;
  HEAP8[16] = 15;
  HEAP16[8] = 19;
  if (HEAP32[25] == 1) {
   bar()
  }
  if (HEAP32[26] < 2) {
   bar()
  }
  if (HEAPU32[27] < 3) {
   bar()
  }
  if (HEAP16[56] == 1) {
   bar()
  }
  if (HEAP16[58] < 2) {
   bar()
  }
  if (HEAPU16[60] < 2) {
   bar()
  }
  if (HEAP16[62] >>> 0 < 3) {
   bar()
  }
  if (HEAPU16[64] < 3) {
   bar()
  }
  if (HEAP8[132] < 2) {
   bar()
  }
  if (HEAPU8[136] < 2) {
   bar()
  }
  if (HEAP8[140] >>> 0 < 3) {
   bar()
  }
  if (HEAPU8[144] < 3) {
   bar()
  }
  if (bools(314159) >>> 7 | 0) {
   bar()
  }
  if (bools(314159) >> 8) {
   bar()
  }
  if (~~getf32() >>> 0) {
   bar()
  }
  if (~~getf32()) {
   bar()
  }
  if (~~getf64() >>> 0) {
   bar()
  }
  if (~~getf64()) {
   bar()
  }
  if ((geti32() + geti32() | 0) + geti32() | 0) {
   bar()
  }
  if (geti32() + (geti32() + geti32() | 0) | 0) {
   bar()
  }
  if (geti32() + geti32() + (geti32() + geti32()) | 0) {
   bar()
  }
  if (geti32() + geti32() + (geti32() + geti32()) + (geti32() + geti32() + (geti32() + geti32())) | 0) {
   bar()
  }
 }
 
 function geti32() {
  return geti32();
 }
 
 function getf32() {
  return getf32();
 }
 
 function getf64() {
  return getf64();
 }
 
 function __growWasmMemory($0) {
  $0 = $0 | 0;
  return abort() | 0;
 }
 
 function internal($0) {
  return $0;
 }
 
 function sub_zero($0) {
  $0 = $0 | 0;
  return $0 + 5 | 0;
 }
 
 function select($0) {
  $0 = $0 | 0;
  return ($0 ? $0 : HEAP32[4]) | 0;
 }
 
 function bools($0) {
  $0 = $0 | 0;
  bools(HEAP8[0] & 1);
  bools(HEAP8[0] & 1);
  bools(HEAP16[0] & 1);
  bools(HEAP16[0] & 1);
  bools(HEAP32[0] & 1);
  bools(HEAPU8[0] & 2);
  bools($0 ^ 1);
  if ($0 ^ 1) {
   bools(2)
  }
  if ($0 ^ 2) {
   bools(2)
  }
  bools(!($0 ^ 1));
  abort();
 }
 
 // EMSCRIPTEN_END_FUNCS
;
 FUNCTION_TABLE[1] = foo;
 FUNCTION_TABLE[2] = bar;
 FUNCTION_TABLE[3] = internal;
 function __wasm_memory_size() {
  return buffer.byteLength / 65536 | 0;
 }
 
 return {
  "main": main, 
  "other": other, 
  "__growWasmMemory": __growWasmMemory, 
  "exported": internal, 
  "sub_zero": sub_zero, 
  "select": select, 
  "bools": bools
 };
}

var bufferView = new Uint8Array(wasmMemory.buffer);
for (var base64ReverseLookup = new Uint8Array(123/*'z'+1*/), i = 25; i >= 0; --i) {
    base64ReverseLookup[48+i] = 52+i; // '0-9'
    base64ReverseLookup[65+i] = i; // 'A-Z'
    base64ReverseLookup[97+i] = 26+i; // 'a-z'
  }
  base64ReverseLookup[43] = 62; // '+'
  base64ReverseLookup[47] = 63; // '/'
  /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */
  function base64DecodeToExistingUint8Array(uint8Array, offset, b64) {
    var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '=');
    for (; i < bLength; i += 4) {
      b1 = base64ReverseLookup[b64.charCodeAt(i+1)];
      b2 = base64ReverseLookup[b64.charCodeAt(i+2)];
      uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;
      if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2;
      if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)];
    }
    return uint8Array;
  }
  base64DecodeToExistingUint8Array(bufferView, 1024, "aGVsbG8sIHdvcmxkIQoAAJwMAAAtKyAgIDBYMHgAKG51bGwp");
base64DecodeToExistingUint8Array(bufferView, 1072, "EQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAARERE=");
base64DecodeToExistingUint8Array(bufferView, 1153, "CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL");
base64DecodeToExistingUint8Array(bufferView, 1211, "DA==");
base64DecodeToExistingUint8Array(bufferView, 1223, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM");
base64DecodeToExistingUint8Array(bufferView, 1269, "Dg==");
base64DecodeToExistingUint8Array(bufferView, 1281, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO");
base64DecodeToExistingUint8Array(bufferView, 1327, "EA==");
base64DecodeToExistingUint8Array(bufferView, 1339, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS");
base64DecodeToExistingUint8Array(bufferView, 1394, "EgAAABISEgAAAAAAAAk=");
base64DecodeToExistingUint8Array(bufferView, 1443, "Cw==");
base64DecodeToExistingUint8Array(bufferView, 1455, "CgAAAAAKAAAAAAkLAAAAAAALAAAL");
base64DecodeToExistingUint8Array(bufferView, 1501, "DA==");
base64DecodeToExistingUint8Array(bufferView, 1513, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu");
return asmFunc(asmLibraryArg, wasmMemory.buffer)

}