{"version":3,"sources":["jsdelivr-header.js","/npm/@shikijs/engine-oniguruma@3.20.0/dist/index.mjs"],"names":[],"mappings":"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","file":"/npm/@shikijs/engine-oniguruma@3.20.0/dist/index.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@shikijs/engine-oniguruma@3.20.0/dist/index.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nfunction getHeapMax() {\n  return 2147483648;\n}\nfunction _emscripten_get_now() {\n  return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n  let wasmMemory;\n  let buffer;\n  const binding = {};\n  function updateGlobalBufferAndViews(buf) {\n    buffer = buf;\n    binding.HEAPU8 = new Uint8Array(buf);\n    binding.HEAPU32 = new Uint32Array(buf);\n  }\n  function _emscripten_memcpy_big(dest, src, num) {\n    binding.HEAPU8.copyWithin(dest, src, src + num);\n  }\n  function emscripten_realloc_buffer(size) {\n    try {\n      wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n      updateGlobalBufferAndViews(wasmMemory.buffer);\n      return 1;\n    } catch {\n    }\n  }\n  function _emscripten_resize_heap(requestedSize) {\n    const oldSize = binding.HEAPU8.length;\n    requestedSize = requestedSize >>> 0;\n    const maxHeapSize = getHeapMax();\n    if (requestedSize > maxHeapSize)\n      return false;\n    for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n      let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n      overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n      const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n      const replacement = emscripten_realloc_buffer(newSize);\n      if (replacement)\n        return true;\n    }\n    return false;\n  }\n  const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n  function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n    const endIdx = idx + maxBytesToRead;\n    let endPtr = idx;\n    while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n    if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n      return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n    }\n    let str = \"\";\n    while (idx < endPtr) {\n      let u0 = heapOrArray[idx++];\n      if (!(u0 & 128)) {\n        str += String.fromCharCode(u0);\n        continue;\n      }\n      const u1 = heapOrArray[idx++] & 63;\n      if ((u0 & 224) === 192) {\n        str += String.fromCharCode((u0 & 31) << 6 | u1);\n        continue;\n      }\n      const u2 = heapOrArray[idx++] & 63;\n      if ((u0 & 240) === 224) {\n        u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n      } else {\n        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n      }\n      if (u0 < 65536) {\n        str += String.fromCharCode(u0);\n      } else {\n        const ch = u0 - 65536;\n        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n      }\n    }\n    return str;\n  }\n  function UTF8ToString(ptr, maxBytesToRead) {\n    return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n  }\n  const asmLibraryArg = {\n    emscripten_get_now: _emscripten_get_now,\n    emscripten_memcpy_big: _emscripten_memcpy_big,\n    emscripten_resize_heap: _emscripten_resize_heap,\n    fd_write: () => 0\n  };\n  async function createWasm() {\n    const info = {\n      env: asmLibraryArg,\n      wasi_snapshot_preview1: asmLibraryArg\n    };\n    const exports$1 = await init(info);\n    wasmMemory = exports$1.memory;\n    updateGlobalBufferAndViews(wasmMemory.buffer);\n    Object.assign(binding, exports$1);\n    binding.UTF8ToString = UTF8ToString;\n  }\n  await createWasm();\n  return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n  throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n  constructor(str) {\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16Value\");\n    __publicField(this, \"utf8Value\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    const utf16Length = str.length;\n    const utf8Length = UtfString._utf8ByteLength(str);\n    const computeIndicesMapping = utf8Length !== utf16Length;\n    const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n    if (computeIndicesMapping)\n      utf16OffsetToUtf8[utf16Length] = utf8Length;\n    const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n    if (computeIndicesMapping)\n      utf8OffsetToUtf16[utf8Length] = utf16Length;\n    const utf8Value = new Uint8Array(utf8Length);\n    let i8 = 0;\n    for (let i16 = 0; i16 < utf16Length; i16++) {\n      const charCode = str.charCodeAt(i16);\n      let codePoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i16 + 1 < utf16Length) {\n          const nextCharCode = str.charCodeAt(i16 + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (computeIndicesMapping) {\n        utf16OffsetToUtf8[i16] = i8;\n        if (wasSurrogatePair)\n          utf16OffsetToUtf8[i16 + 1] = i8;\n        if (codePoint <= 127) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n        } else if (codePoint <= 2047) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n        } else if (codePoint <= 65535) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n        } else {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n          utf8OffsetToUtf16[i8 + 3] = i16;\n        }\n      }\n      if (codePoint <= 127) {\n        utf8Value[i8++] = codePoint;\n      } else if (codePoint <= 2047) {\n        utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else if (codePoint <= 65535) {\n        utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else {\n        utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n        utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      }\n      if (wasSurrogatePair)\n        i16++;\n    }\n    this.utf16Length = utf16Length;\n    this.utf8Length = utf8Length;\n    this.utf16Value = str;\n    this.utf8Value = utf8Value;\n    this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n  }\n  static _utf8ByteLength(str) {\n    let result = 0;\n    for (let i = 0, len = str.length; i < len; i++) {\n      const charCode = str.charCodeAt(i);\n      let codepoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i + 1 < len) {\n          const nextCharCode = str.charCodeAt(i + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (codepoint <= 127)\n        result += 1;\n      else if (codepoint <= 2047)\n        result += 2;\n      else if (codepoint <= 65535)\n        result += 3;\n      else\n        result += 4;\n      if (wasSurrogatePair)\n        i++;\n    }\n    return result;\n  }\n  createString(onigBinding2) {\n    const result = onigBinding2.omalloc(this.utf8Length);\n    onigBinding2.HEAPU8.set(this.utf8Value, result);\n    return result;\n  }\n}\nconst _OnigString = class _OnigString {\n  constructor(str) {\n    __publicField(this, \"id\", ++_OnigString.LAST_ID);\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"content\");\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    __publicField(this, \"ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    this._onigBinding = onigBinding;\n    this.content = str;\n    const utfString = new UtfString(str);\n    this.utf16Length = utfString.utf16Length;\n    this.utf8Length = utfString.utf8Length;\n    this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n    if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n      if (!_OnigString._sharedPtr)\n        _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n      _OnigString._sharedPtrInUse = true;\n      onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n      this.ptr = _OnigString._sharedPtr;\n    } else {\n      this.ptr = utfString.createString(onigBinding);\n    }\n  }\n  convertUtf8OffsetToUtf16(utf8Offset) {\n    if (this.utf8OffsetToUtf16) {\n      if (utf8Offset < 0)\n        return 0;\n      if (utf8Offset > this.utf8Length)\n        return this.utf16Length;\n      return this.utf8OffsetToUtf16[utf8Offset];\n    }\n    return utf8Offset;\n  }\n  convertUtf16OffsetToUtf8(utf16Offset) {\n    if (this.utf16OffsetToUtf8) {\n      if (utf16Offset < 0)\n        return 0;\n      if (utf16Offset > this.utf16Length)\n        return this.utf8Length;\n      return this.utf16OffsetToUtf8[utf16Offset];\n    }\n    return utf16Offset;\n  }\n  dispose() {\n    if (this.ptr === _OnigString._sharedPtr)\n      _OnigString._sharedPtrInUse = false;\n    else\n      this._onigBinding.ofree(this.ptr);\n  }\n};\n__publicField(_OnigString, \"LAST_ID\", 0);\n__publicField(_OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(_OnigString, \"_sharedPtrInUse\", false);\nlet OnigString = _OnigString;\nclass OnigScanner {\n  constructor(patterns) {\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"_ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    const strPtrsArr = [];\n    const strLenArr = [];\n    for (let i = 0, len = patterns.length; i < len; i++) {\n      const utfString = new UtfString(patterns[i]);\n      strPtrsArr[i] = utfString.createString(onigBinding);\n      strLenArr[i] = utfString.utf8Length;\n    }\n    const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n    const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n    const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n    for (let i = 0, len = patterns.length; i < len; i++)\n      onigBinding.ofree(strPtrsArr[i]);\n    onigBinding.ofree(strLenPtr);\n    onigBinding.ofree(strPtrsPtr);\n    if (scannerPtr === 0)\n      throwLastOnigError(onigBinding);\n    this._onigBinding = onigBinding;\n    this._ptr = scannerPtr;\n  }\n  dispose() {\n    this._onigBinding.freeOnigScanner(this._ptr);\n  }\n  findNextMatchSync(string, startPosition, arg) {\n    let options = 0 /* None */;\n    if (typeof arg === \"number\") {\n      options = arg;\n    }\n    if (typeof string === \"string\") {\n      string = new OnigString(string);\n      const result = this._findNextMatchSync(string, startPosition, false, options);\n      string.dispose();\n      return result;\n    }\n    return this._findNextMatchSync(string, startPosition, false, options);\n  }\n  _findNextMatchSync(string, startPosition, debugCall, options) {\n    const onigBinding2 = this._onigBinding;\n    const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n    if (resultPtr === 0) {\n      return null;\n    }\n    const HEAPU32 = onigBinding2.HEAPU32;\n    let offset = resultPtr / 4;\n    const index = HEAPU32[offset++];\n    const count = HEAPU32[offset++];\n    const captureIndices = [];\n    for (let i = 0; i < count; i++) {\n      const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      captureIndices[i] = {\n        start: beg,\n        end,\n        length: end - beg\n      };\n    }\n    return {\n      index,\n      captureIndices\n    };\n  }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n  return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n  return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n  return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n  if (initPromise)\n    return initPromise;\n  async function _load() {\n    onigBinding = await main(async (info) => {\n      let instance = options;\n      instance = await instance;\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (isInstantiatorOptionsObject(instance)) {\n        instance = await instance.instantiator(info);\n      } else if (isInstantiatorModule(instance)) {\n        instance = await instance.default(info);\n      } else {\n        if (isDataOptionsObject(instance))\n          instance = instance.data;\n        if (isResponse(instance)) {\n          if (typeof WebAssembly.instantiateStreaming === \"function\")\n            instance = await _makeResponseStreamingLoader(instance)(info);\n          else\n            instance = await _makeResponseNonStreamingLoader(instance)(info);\n        } else if (isArrayBuffer(instance)) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (instance instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance.default)(info);\n        }\n      }\n      if (\"instance\" in instance)\n        instance = instance.instance;\n      if (\"exports\" in instance)\n        instance = instance.exports;\n      return instance;\n    });\n  }\n  initPromise = _load();\n  return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n  return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n  return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n  return async (importObject) => {\n    const arrayBuffer = await data.arrayBuffer();\n    return WebAssembly.instantiate(arrayBuffer, importObject);\n  };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n  _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n  return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n  if (options)\n    await loadWasm(options);\n  return {\n    createScanner(patterns) {\n      return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n    },\n    createString(s) {\n      return new OnigString(s);\n    }\n  };\n}\n\nexport { createOnigurumaEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n"]}