text: 
  let wasm;
  
  const heap = new Array(32).fill(undefined);
  
  heap.push(undefined, null, true, false);
  
  function getObject(idx) { return heap[idx]; }
  
  let heap_next = heap.length;
  
  function dropObject(idx) {
      if (idx < 36) return;
      heap[idx] = heap_next;
      heap_next = idx;
  }
  
  function takeObject(idx) {
      const ret = getObject(idx);
      dropObject(idx);
      return ret;
  }
  
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
  
  cachedTextDecoder.decode();
  
  let cachegetUint8Memory0 = null;
  function getUint8Memory0() {
      if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {
          cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
      }
      return cachegetUint8Memory0;
  }
  
  function getStringFromWasm0(ptr, len) {
      return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
  }
  
  function addHeapObject(obj) {
      if (heap_next === heap.length) heap.push(heap.length + 1);
      const idx = heap_next;
      heap_next = heap[idx];
  
      heap[idx] = obj;
      return idx;
  }
  
  function debugString(val) {
      // primitive types
      const type = typeof val;
      if (type == 'number' || type == 'boolean' || val == null) {
          return  `${val}`;
      }
      if (type == 'string') {
          return `"${val}"`;
      }
      if (type == 'symbol') {
          const description = val.description;
          if (description == null) {
              return 'Symbol';
          } else {
              return `Symbol(${description})`;
          }
      }
      if (type == 'function') {
          const name = val.name;
          if (typeof name == 'string' && name.length > 0) {
              return `Function(${name})`;
          } else {
              return 'Function';
          }
      }
      // objects
      if (Array.isArray(val)) {
          const length = val.length;
          let debug = '[';
          if (length > 0) {
              debug += debugString(val[0]);
          }
          for(let i = 1; i < length; i++) {
              debug += ', ' + debugString(val[i]);
          }
          debug += ']';
          return debug;
      }
      // Test for built-in
      const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
      let className;
      if (builtInMatches.length > 1) {
          className = builtInMatches[1];
      } else {
          // Failed to match the standard '[object ClassName]'
          return toString.call(val);
      }
      if (className == 'Object') {
          // we're a user defined class or Object
          // JSON.stringify avoids problems with cycles, and is generally much
          // easier than looping through ownProperties of `val`.
          try {
              return 'Object(' + JSON.stringify(val) + ')';
          } catch (_) {
              return 'Object';
          }
      }
      // errors
      if (val instanceof Error) {
          return `${val.name}: ${val.message}\n${val.stack}`;
      }
      // TODO we could test for more things here, like `Set`s and `Map`s.
      return className;
  }
  
  let WASM_VECTOR_LEN = 0;
  
  let cachedTextEncoder = new TextEncoder('utf-8');
  
  const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
      ? function (arg, view) {
      return cachedTextEncoder.encodeInto(arg, view);
  }
      : function (arg, view) {
      const buf = cachedTextEncoder.encode(arg);
      view.set(buf);
      return {
          read: arg.length,
          written: buf.length
      };
  });
  
  function passStringToWasm0(arg, malloc, realloc) {
  
      if (realloc === undefined) {
          const buf = cachedTextEncoder.encode(arg);
          const ptr = malloc(buf.length);
          getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
          WASM_VECTOR_LEN = buf.length;
          return ptr;
      }
  
      let len = arg.length;
      let ptr = malloc(len);
  
      const mem = getUint8Memory0();
  
      let offset = 0;
  
      for (; offset < len; offset++) {
          const code = arg.charCodeAt(offset);
          if (code > 0x7F) break;
          mem[ptr + offset] = code;
      }
  
      if (offset !== len) {
          if (offset !== 0) {
              arg = arg.slice(offset);
          }
          ptr = realloc(ptr, len, len = offset + arg.length * 3);
          const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
          const ret = encodeString(arg, view);
  
          offset += ret.written;
      }
  
      WASM_VECTOR_LEN = offset;
      return ptr;
  }
  
  let cachegetInt32Memory0 = null;
  function getInt32Memory0() {
      if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
          cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
      }
      return cachegetInt32Memory0;
  }
  
  function makeMutClosure(arg0, arg1, dtor, f) {
      const state = { a: arg0, b: arg1, cnt: 1, dtor };
      const real = (...args) => {
          // First up with a closure we increment the internal reference
          // count. This ensures that the Rust closure environment won't
          // be deallocated while we're invoking it.
          state.cnt++;
          const a = state.a;
          state.a = 0;
          try {
              return f(a, state.b, ...args);
          } finally {
              if (--state.cnt === 0) {
                  wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
  
              } else {
                  state.a = a;
              }
          }
      };
      real.original = state;
  
      return real;
  }
  
  let stack_pointer = 32;
  
  function addBorrowedObject(obj) {
      if (stack_pointer == 1) throw new Error('out of js stack');
      heap[--stack_pointer] = obj;
      return stack_pointer;
  }
  function __wbg_adapter_18(arg0, arg1, arg2) {
      try {
          wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6587abb9b2422832(arg0, arg1, addBorrowedObject(arg2));
      } finally {
          heap[stack_pointer++] = undefined;
      }
  }
  
  function makeClosure(arg0, arg1, dtor, f) {
      const state = { a: arg0, b: arg1, cnt: 1, dtor };
      const real = (...args) => {
          // First up with a closure we increment the internal reference
          // count. This ensures that the Rust closure environment won't
          // be deallocated while we're invoking it.
          state.cnt++;
          try {
              return f(state.a, state.b, ...args);
          } finally {
              if (--state.cnt === 0) {
                  wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b);
                  state.a = 0;
  
              }
          }
      };
      real.original = state;
  
      return real;
  }
  function __wbg_adapter_21(arg0, arg1, arg2) {
      wasm._dyn_core__ops__function__Fn__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3fe662a3dd21bbac(arg0, arg1, addHeapObject(arg2));
  }
  
  function __wbg_adapter_24(arg0, arg1, arg2) {
      wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h17039ad25cf21466(arg0, arg1, addHeapObject(arg2));
  }
  
  function __wbg_adapter_27(arg0, arg1) {
      wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h2a4dd0b3b5ddb951(arg0, arg1);
  }
  
  function isLikeNone(x) {
      return x === undefined || x === null;
  }
  
  function handleError(f, args) {
      try {
          return f.apply(this, args);
      } catch (e) {
          wasm.__wbindgen_exn_store(addHeapObject(e));
      }
  }
  
  function getCachedStringFromWasm0(ptr, len) {
      if (ptr === 0) {
          return getObject(len);
      } else {
          return getStringFromWasm0(ptr, len);
      }
  }
  
  async function load(module, imports) {
      if (typeof Response === 'function' && module instanceof Response) {
          if (typeof WebAssembly.instantiateStreaming === 'function') {
              try {
                  return await WebAssembly.instantiateStreaming(module, imports);
  
              } catch (e) {
                  if (module.headers.get('Content-Type') != 'application/wasm') {
                      console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
  
                  } else {
                      throw e;
                  }
              }
          }
  
          const bytes = await module.arrayBuffer();
          return await WebAssembly.instantiate(bytes, imports);
  
      } else {
          const instance = await WebAssembly.instantiate(module, imports);
  
          if (instance instanceof WebAssembly.Instance) {
              return { instance, module };
  
          } else {
              return instance;
          }
      }
  }
  
  async function init(input) {
      if (typeof input === 'undefined') {
          input = new URL('spa_bg.wasm', import.meta.url);
      }
      const imports = {};
      imports.wbg = {};
      imports.wbg.__wbindgen_cb_drop = function(arg0) {
          const obj = takeObject(arg0).original;
          if (obj.cnt-- == 1) {
              obj.a = 0;
              return true;
          }
          var ret = false;
          return ret;
      };
      imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
          takeObject(arg0);
      };
      imports.wbg.__wbindgen_is_function = function(arg0) {
          var ret = typeof(getObject(arg0)) === 'function';
          return ret;
      };
      imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
          var ret = getStringFromWasm0(arg0, arg1);
          return addHeapObject(ret);
      };
      imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
          var ret = getObject(arg0);
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_Window_f826a1dec163bacb = function(arg0) {
          var ret = getObject(arg0).Window;
          return addHeapObject(ret);
      };
      imports.wbg.__wbindgen_is_undefined = function(arg0) {
          var ret = getObject(arg0) === undefined;
          return ret;
      };
      imports.wbg.__wbg_WorkerGlobalScope_967d186155183d38 = function(arg0) {
          var ret = getObject(arg0).WorkerGlobalScope;
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_instanceof_Window_11e25482011fc506 = function(arg0) {
          var ret = getObject(arg0) instanceof Window;
          return ret;
      };
      imports.wbg.__wbg_document_5aff8cd83ef968f5 = function(arg0) {
          var ret = getObject(arg0).document;
          return isLikeNone(ret) ? 0 : addHeapObject(ret);
      };
      imports.wbg.__wbg_requestAnimationFrame_1fb079d39e1b8a26 = function() { return handleError(function (arg0, arg1) {
          var ret = getObject(arg0).requestAnimationFrame(getObject(arg1));
          return ret;
      }, arguments) };
      imports.wbg.__wbg_requestIdleCallback_dee3c47a68ffd06a = function() { return handleError(function (arg0, arg1) {
          var ret = getObject(arg0).requestIdleCallback(getObject(arg1));
          return ret;
      }, arguments) };
      imports.wbg.__wbg_clearTimeout_4eb40605bf9d9f0d = function(arg0, arg1) {
          getObject(arg0).clearTimeout(arg1);
      };
      imports.wbg.__wbg_setTimeout_ce28a603906ebcbb = function() { return handleError(function (arg0, arg1, arg2) {
          var ret = getObject(arg0).setTimeout(getObject(arg1), arg2);
          return ret;
      }, arguments) };
      imports.wbg.__wbg_createComment_f2cbcf92ef9a57ef = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var ret = getObject(arg0).createComment(v0);
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_createElement_ac65a6ce60c4812c = function() { return handleError(function (arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var ret = getObject(arg0).createElement(v0);
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_createElementNS_267edeea0c97331c = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var v1 = getCachedStringFromWasm0(arg3, arg4);
          var ret = getObject(arg0).createElementNS(v0, v1);
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_createTextNode_442392ad92e75695 = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var ret = getObject(arg0).createTextNode(v0);
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_getElementById_b180ea4ada06a837 = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var ret = getObject(arg0).getElementById(v0);
          return isLikeNone(ret) ? 0 : addHeapObject(ret);
      };
      imports.wbg.__wbg_querySelectorAll_f61da9a1dd00b38a = function() { return handleError(function (arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var ret = getObject(arg0).querySelectorAll(v0);
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_instanceof_HtmlInputElement_df6fbc606ba24e20 = function(arg0) {
          var ret = getObject(arg0) instanceof HTMLInputElement;
          return ret;
      };
      imports.wbg.__wbg_checked_dc000202a8fa9328 = function(arg0) {
          var ret = getObject(arg0).checked;
          return ret;
      };
      imports.wbg.__wbg_setchecked_dc7daac77dc0e73e = function(arg0, arg1) {
          getObject(arg0).checked = arg1 !== 0;
      };
      imports.wbg.__wbg_type_8154bde586a1b6a5 = function(arg0, arg1) {
          var ret = getObject(arg1).type;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_value_f4c762446c572119 = function(arg0, arg1) {
          var ret = getObject(arg1).value;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_setvalue_65a652cfd99c8a4a = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).value = v0;
      };
      imports.wbg.__wbg_instanceof_HtmlOptionElement_578360b3a193111a = function(arg0) {
          var ret = getObject(arg0) instanceof HTMLOptionElement;
          return ret;
      };
      imports.wbg.__wbg_setselected_b4e2894ed91d35ad = function(arg0, arg1) {
          getObject(arg0).selected = arg1 !== 0;
      };
      imports.wbg.__wbg_instanceof_KeyboardEvent_61a0135987c0e26f = function(arg0) {
          var ret = getObject(arg0) instanceof KeyboardEvent;
          return ret;
      };
      imports.wbg.__wbg_charCode_1b72114f0ae882b4 = function(arg0) {
          var ret = getObject(arg0).charCode;
          return ret;
      };
      imports.wbg.__wbg_keyCode_218ac9c01e06b3d5 = function(arg0) {
          var ret = getObject(arg0).keyCode;
          return ret;
      };
      imports.wbg.__wbg_altKey_5136125f8a64c2cf = function(arg0) {
          var ret = getObject(arg0).altKey;
          return ret;
      };
      imports.wbg.__wbg_ctrlKey_8fa508d0b540bc8f = function(arg0) {
          var ret = getObject(arg0).ctrlKey;
          return ret;
      };
      imports.wbg.__wbg_shiftKey_21477313df4f5291 = function(arg0) {
          var ret = getObject(arg0).shiftKey;
          return ret;
      };
      imports.wbg.__wbg_metaKey_d60075e40f8f06d7 = function(arg0) {
          var ret = getObject(arg0).metaKey;
          return ret;
      };
      imports.wbg.__wbg_location_77f65b69069b2f15 = function(arg0) {
          var ret = getObject(arg0).location;
          return ret;
      };
      imports.wbg.__wbg_repeat_35fcce34cf544d49 = function(arg0) {
          var ret = getObject(arg0).repeat;
          return ret;
      };
      imports.wbg.__wbg_key_6827d862c9cc3928 = function(arg0, arg1) {
          var ret = getObject(arg1).key;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_instanceof_Event_e93b4e0fbf62d0e6 = function(arg0) {
          var ret = getObject(arg0) instanceof Event;
          return ret;
      };
      imports.wbg.__wbg_type_55a19f61b3198ce6 = function(arg0, arg1) {
          var ret = getObject(arg1).type;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_target_2dfa485f32a6d005 = function(arg0) {
          var ret = getObject(arg0).target;
          return isLikeNone(ret) ? 0 : addHeapObject(ret);
      };
      imports.wbg.__wbg_instanceof_HtmlSelectElement_08764d1c89383377 = function(arg0) {
          var ret = getObject(arg0) instanceof HTMLSelectElement;
          return ret;
      };
      imports.wbg.__wbg_value_265001c20fda4531 = function(arg0, arg1) {
          var ret = getObject(arg1).value;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_length_5dff05fb57a644be = function(arg0) {
          var ret = getObject(arg0).length;
          return ret;
      };
      imports.wbg.__wbg_get_4356d77a5acc3122 = function(arg0, arg1) {
          var ret = getObject(arg0)[arg1 >>> 0];
          return isLikeNone(ret) ? 0 : addHeapObject(ret);
      };
      imports.wbg.__wbg_instanceof_IdleDeadline_0e0efe3623116ac7 = function(arg0) {
          var ret = getObject(arg0) instanceof IdleDeadline;
          return ret;
      };
      imports.wbg.__wbg_timeRemaining_7c62c1c8156908e6 = function(arg0) {
          var ret = getObject(arg0).timeRemaining();
          return ret;
      };
      imports.wbg.__wbg_instanceof_Node_97f1c5650b36a093 = function(arg0) {
          var ret = getObject(arg0) instanceof Node;
          return ret;
      };
      imports.wbg.__wbg_parentNode_e1dd029be06cee39 = function(arg0) {
          var ret = getObject(arg0).parentNode;
          return isLikeNone(ret) ? 0 : addHeapObject(ret);
      };
      imports.wbg.__wbg_textContent_84c7c9309daf5b7d = function(arg0, arg1) {
          var ret = getObject(arg1).textContent;
          var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_settextContent_2e55253528a044b7 = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).textContent = v0;
      };
      imports.wbg.__wbg_appendChild_6ed236bb79c198df = function() { return handleError(function (arg0, arg1) {
          var ret = getObject(arg0).appendChild(getObject(arg1));
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_insertBefore_7159f24556965e30 = function() { return handleError(function (arg0, arg1, arg2) {
          var ret = getObject(arg0).insertBefore(getObject(arg1), getObject(arg2));
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_removeChild_f633f19eb895b696 = function() { return handleError(function (arg0, arg1) {
          var ret = getObject(arg0).removeChild(getObject(arg1));
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_instanceof_Text_4fafb3f4ef4728fc = function(arg0) {
          var ret = getObject(arg0) instanceof Text;
          return ret;
      };
      imports.wbg.__wbg_pageX_6959a4d2251be7a5 = function(arg0) {
          var ret = getObject(arg0).pageX;
          return ret;
      };
      imports.wbg.__wbg_pageY_2cd18972c38345bc = function(arg0) {
          var ret = getObject(arg0).pageY;
          return ret;
      };
      imports.wbg.__wbg_which_f29855ef63dad540 = function(arg0) {
          var ret = getObject(arg0).which;
          return ret;
      };
      imports.wbg.__wbg_instanceof_CompositionEvent_2ae5c083bf9e188c = function(arg0) {
          var ret = getObject(arg0) instanceof CompositionEvent;
          return ret;
      };
      imports.wbg.__wbg_data_327df0625d734e68 = function(arg0, arg1) {
          var ret = getObject(arg1).data;
          var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_setProperty_dccccce3a52c26db = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var v1 = getCachedStringFromWasm0(arg3, arg4);
          getObject(arg0).setProperty(v0, v1);
      }, arguments) };
      imports.wbg.__wbg_addEventListener_936431894dca4639 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).addEventListener(v0, getObject(arg3));
      }, arguments) };
      imports.wbg.__wbg_instanceof_MouseEvent_4b4fde998de0347c = function(arg0) {
          var ret = getObject(arg0) instanceof MouseEvent;
          return ret;
      };
      imports.wbg.__wbg_screenX_a430f07c9eb66707 = function(arg0) {
          var ret = getObject(arg0).screenX;
          return ret;
      };
      imports.wbg.__wbg_screenY_6603842969ba99d9 = function(arg0) {
          var ret = getObject(arg0).screenY;
          return ret;
      };
      imports.wbg.__wbg_clientX_5bbce6c078e1510e = function(arg0) {
          var ret = getObject(arg0).clientX;
          return ret;
      };
      imports.wbg.__wbg_clientY_af6c4369507b54f0 = function(arg0) {
          var ret = getObject(arg0).clientY;
          return ret;
      };
      imports.wbg.__wbg_ctrlKey_0b565cc670a6a49b = function(arg0) {
          var ret = getObject(arg0).ctrlKey;
          return ret;
      };
      imports.wbg.__wbg_shiftKey_257c3f6b1ca35555 = function(arg0) {
          var ret = getObject(arg0).shiftKey;
          return ret;
      };
      imports.wbg.__wbg_altKey_d11cfe960de1bdcc = function(arg0) {
          var ret = getObject(arg0).altKey;
          return ret;
      };
      imports.wbg.__wbg_metaKey_a3c6ad6306b6adc3 = function(arg0) {
          var ret = getObject(arg0).metaKey;
          return ret;
      };
      imports.wbg.__wbg_button_e27f6f9aa0a0c496 = function(arg0) {
          var ret = getObject(arg0).button;
          return ret;
      };
      imports.wbg.__wbg_buttons_9968de39db81ecf2 = function(arg0) {
          var ret = getObject(arg0).buttons;
          return ret;
      };
      imports.wbg.__wbg_instanceof_PointerEvent_3c66347512fdfdf8 = function(arg0) {
          var ret = getObject(arg0) instanceof PointerEvent;
          return ret;
      };
      imports.wbg.__wbg_pointerId_becee344c77e967f = function(arg0) {
          var ret = getObject(arg0).pointerId;
          return ret;
      };
      imports.wbg.__wbg_width_29886aa832e75727 = function(arg0) {
          var ret = getObject(arg0).width;
          return ret;
      };
      imports.wbg.__wbg_height_09f6055401bc0a19 = function(arg0) {
          var ret = getObject(arg0).height;
          return ret;
      };
      imports.wbg.__wbg_pressure_837a4a4062239477 = function(arg0) {
          var ret = getObject(arg0).pressure;
          return ret;
      };
      imports.wbg.__wbg_tangentialPressure_122e2093d209850e = function(arg0) {
          var ret = getObject(arg0).tangentialPressure;
          return ret;
      };
      imports.wbg.__wbg_tiltX_c0af6666b6d28419 = function(arg0) {
          var ret = getObject(arg0).tiltX;
          return ret;
      };
      imports.wbg.__wbg_tiltY_604fed003e9b9751 = function(arg0) {
          var ret = getObject(arg0).tiltY;
          return ret;
      };
      imports.wbg.__wbg_twist_c6f3dc3a199d8a85 = function(arg0) {
          var ret = getObject(arg0).twist;
          return ret;
      };
      imports.wbg.__wbg_pointerType_f17c4c9395f2f70e = function(arg0, arg1) {
          var ret = getObject(arg1).pointerType;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_isPrimary_baf371780263538a = function(arg0) {
          var ret = getObject(arg0).isPrimary;
          return ret;
      };
      imports.wbg.__wbg_instanceof_WheelEvent_cd99f0024b9fdafc = function(arg0) {
          var ret = getObject(arg0) instanceof WheelEvent;
          return ret;
      };
      imports.wbg.__wbg_deltaX_d726e0224b540206 = function(arg0) {
          var ret = getObject(arg0).deltaX;
          return ret;
      };
      imports.wbg.__wbg_deltaY_7374d71292d30408 = function(arg0) {
          var ret = getObject(arg0).deltaY;
          return ret;
      };
      imports.wbg.__wbg_deltaZ_c689ddc6116e3932 = function(arg0) {
          var ret = getObject(arg0).deltaZ;
          return ret;
      };
      imports.wbg.__wbg_deltaMode_01cad379615c05f4 = function(arg0) {
          var ret = getObject(arg0).deltaMode;
          return ret;
      };
      imports.wbg.__wbg_instanceof_Element_8143882371652178 = function(arg0) {
          var ret = getObject(arg0) instanceof Element;
          return ret;
      };
      imports.wbg.__wbg_setinnerHTML_bd5b74e3148c235e = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).innerHTML = v0;
      };
      imports.wbg.__wbg_getAttribute_0754c52f6bcda842 = function(arg0, arg1, arg2, arg3) {
          var v0 = getCachedStringFromWasm0(arg2, arg3);
          var ret = getObject(arg1).getAttribute(v0);
          var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len1 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len1;
          getInt32Memory0()[arg0 / 4 + 0] = ptr1;
      };
      imports.wbg.__wbg_removeAttribute_16e5bf3866aa53e8 = function() { return handleError(function (arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).removeAttribute(v0);
      }, arguments) };
      imports.wbg.__wbg_setAttribute_27ca65e30a1c3c4a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          var v1 = getCachedStringFromWasm0(arg3, arg4);
          getObject(arg0).setAttribute(v0, v1);
      }, arguments) };
      imports.wbg.__wbg_after_4e85241058ae8717 = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).after(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_before_8f61f4157701673c = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).before(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_remove_5cd9814fbc0988da = function(arg0) {
          getObject(arg0).remove();
      };
      imports.wbg.__wbg_replaceWith_781358501e51c0e0 = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).replaceWith(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_debug_3cd00f291377c174 = function(arg0, arg1, arg2, arg3) {
          console.debug(getObject(arg0), getObject(arg1), getObject(arg2), getObject(arg3));
      };
      imports.wbg.__wbg_error_d95afd6217cfd219 = function(arg0) {
          console.error(getObject(arg0));
      };
      imports.wbg.__wbg_error_b34cc56d85003ef4 = function(arg0, arg1, arg2, arg3) {
          console.error(getObject(arg0), getObject(arg1), getObject(arg2), getObject(arg3));
      };
      imports.wbg.__wbg_info_018f27f794253c5d = function(arg0, arg1, arg2, arg3) {
          console.info(getObject(arg0), getObject(arg1), getObject(arg2), getObject(arg3));
      };
      imports.wbg.__wbg_log_11ed533feafc234e = function(arg0, arg1, arg2, arg3) {
          console.log(getObject(arg0), getObject(arg1), getObject(arg2), getObject(arg3));
      };
      imports.wbg.__wbg_warn_c8159c1458b48e78 = function(arg0, arg1, arg2, arg3) {
          console.warn(getObject(arg0), getObject(arg1), getObject(arg2), getObject(arg3));
      };
      imports.wbg.__wbg_instanceof_HtmlElement_835072e813858ac0 = function(arg0) {
          var ret = getObject(arg0) instanceof HTMLElement;
          return ret;
      };
      imports.wbg.__wbg_style_25309daade79abb3 = function(arg0) {
          var ret = getObject(arg0).style;
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_clearTimeout_2afa6adeec831da0 = function(arg0, arg1) {
          getObject(arg0).clearTimeout(arg1);
      };
      imports.wbg.__wbg_setTimeout_119f2ec17c176110 = function() { return handleError(function (arg0, arg1, arg2) {
          var ret = getObject(arg0).setTimeout(getObject(arg1), arg2);
          return ret;
      }, arguments) };
      imports.wbg.__wbg_instanceof_CharacterData_046e6f94eba436dd = function(arg0) {
          var ret = getObject(arg0) instanceof CharacterData;
          return ret;
      };
      imports.wbg.__wbg_after_1a3f4d35de6fd4ce = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).after(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_before_6bb0523e6fc1da23 = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).before(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_replaceWith_6ecd7fe4e1f0d042 = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).replaceWith(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_instanceof_DocumentType_4a1c897798363f49 = function(arg0) {
          var ret = getObject(arg0) instanceof DocumentType;
          return ret;
      };
      imports.wbg.__wbg_after_5f70ffc81f74999c = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).after(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_before_1ec1eb817e6f4ad0 = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).before(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_replaceWith_5a7c3d2bf4bba45c = function() { return handleError(function (arg0, arg1) {
          getObject(arg0).replaceWith(...getObject(arg1));
      }, arguments) };
      imports.wbg.__wbg_instanceof_AnimationEvent_3fd02d4c4c463619 = function(arg0) {
          var ret = getObject(arg0) instanceof AnimationEvent;
          return ret;
      };
      imports.wbg.__wbg_animationName_5189798fb3173b5a = function(arg0, arg1) {
          var ret = getObject(arg1).animationName;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_elapsedTime_5d4427c1de71f32f = function(arg0) {
          var ret = getObject(arg0).elapsedTime;
          return ret;
      };
      imports.wbg.__wbg_pseudoElement_29fad3fad94cba55 = function(arg0, arg1) {
          var ret = getObject(arg1).pseudoElement;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_instanceof_HtmlTextAreaElement_244fe1b35f3576f5 = function(arg0) {
          var ret = getObject(arg0) instanceof HTMLTextAreaElement;
          return ret;
      };
      imports.wbg.__wbg_value_d8dfe9a459c6ea2a = function(arg0, arg1) {
          var ret = getObject(arg1).value;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_setvalue_b1b2f2945b1cb6ef = function(arg0, arg1, arg2) {
          var v0 = getCachedStringFromWasm0(arg1, arg2);
          getObject(arg0).value = v0;
      };
      imports.wbg.__wbg_instanceof_TouchEvent_e737606aa3f88b11 = function(arg0) {
          var ret = getObject(arg0) instanceof TouchEvent;
          return ret;
      };
      imports.wbg.__wbg_altKey_ea2964a70281d9fc = function(arg0) {
          var ret = getObject(arg0).altKey;
          return ret;
      };
      imports.wbg.__wbg_metaKey_3302595fcffe48cd = function(arg0) {
          var ret = getObject(arg0).metaKey;
          return ret;
      };
      imports.wbg.__wbg_ctrlKey_74e745226c144297 = function(arg0) {
          var ret = getObject(arg0).ctrlKey;
          return ret;
      };
      imports.wbg.__wbg_shiftKey_eedc285614032421 = function(arg0) {
          var ret = getObject(arg0).shiftKey;
          return ret;
      };
      imports.wbg.__wbg_instanceof_TransitionEvent_c1658758d80f7bee = function(arg0) {
          var ret = getObject(arg0) instanceof TransitionEvent;
          return ret;
      };
      imports.wbg.__wbg_propertyName_3c238a5cfa7e0a3c = function(arg0, arg1) {
          var ret = getObject(arg1).propertyName;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_elapsedTime_2025f816b81713dd = function(arg0) {
          var ret = getObject(arg0).elapsedTime;
          return ret;
      };
      imports.wbg.__wbg_pseudoElement_395d944836040989 = function(arg0, arg1) {
          var ret = getObject(arg1).pseudoElement;
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbg_call_ba36642bd901572b = function() { return handleError(function (arg0, arg1) {
          var ret = getObject(arg0).call(getObject(arg1));
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_new_515b65a8e7699d00 = function() {
          var ret = new Array();
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_push_b7f68478f81d358b = function(arg0, arg1) {
          var ret = getObject(arg0).push(getObject(arg1));
          return ret;
      };
      imports.wbg.__wbg_newnoargs_9fdd8f3961dd1bee = function(arg0, arg1) {
          var v0 = getCachedStringFromWasm0(arg0, arg1);
          var ret = new Function(v0);
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_instanceof_Object_b0c57bf5628bc26c = function(arg0) {
          var ret = getObject(arg0) instanceof Object;
          return ret;
      };
      imports.wbg.__wbg_hasOwnProperty_ff93707bb6385312 = function(arg0, arg1) {
          var ret = getObject(arg0).hasOwnProperty(getObject(arg1));
          return ret;
      };
      imports.wbg.__wbg_resolve_cae3d8f752f5db88 = function(arg0) {
          var ret = Promise.resolve(getObject(arg0));
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_then_c2361a9d5c9a4fcb = function(arg0, arg1) {
          var ret = getObject(arg0).then(getObject(arg1));
          return addHeapObject(ret);
      };
      imports.wbg.__wbg_self_bb69a836a72ec6e9 = function() { return handleError(function () {
          var ret = self.self;
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_window_3304fc4b414c9693 = function() { return handleError(function () {
          var ret = window.window;
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_globalThis_e0d21cabc6630763 = function() { return handleError(function () {
          var ret = globalThis.globalThis;
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbg_global_8463719227271676 = function() { return handleError(function () {
          var ret = global.global;
          return addHeapObject(ret);
      }, arguments) };
      imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
          var ret = debugString(getObject(arg1));
          var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
          var len0 = WASM_VECTOR_LEN;
          getInt32Memory0()[arg0 / 4 + 1] = len0;
          getInt32Memory0()[arg0 / 4 + 0] = ptr0;
      };
      imports.wbg.__wbindgen_throw = function(arg0, arg1) {
          throw new Error(getStringFromWasm0(arg0, arg1));
      };
      imports.wbg.__wbindgen_closure_wrapper625 = function(arg0, arg1, arg2) {
          var ret = makeMutClosure(arg0, arg1, 220, __wbg_adapter_18);
          return addHeapObject(ret);
      };
      imports.wbg.__wbindgen_closure_wrapper627 = function(arg0, arg1, arg2) {
          var ret = makeClosure(arg0, arg1, 220, __wbg_adapter_21);
          return addHeapObject(ret);
      };
      imports.wbg.__wbindgen_closure_wrapper703 = function(arg0, arg1, arg2) {
          var ret = makeMutClosure(arg0, arg1, 273, __wbg_adapter_24);
          return addHeapObject(ret);
      };
      imports.wbg.__wbindgen_closure_wrapper740 = function(arg0, arg1, arg2) {
          var ret = makeMutClosure(arg0, arg1, 291, __wbg_adapter_27);
          return addHeapObject(ret);
      };
  
      if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
          input = fetch(input);
      }
  
  
  
      const { instance, module } = await load(await input, imports);
  
      wasm = instance.exports;
      init.__wbindgen_wasm_module = module;
      wasm.__wbindgen_start();
      return wasm;
  }
  
  export default init;
  
  