import { n as e } from "./chunk-Dqa2HsxW.js";
import { n as t } from "./bundle-mjs-DlI0Ilmo.js";
import { a as n, c as r, l as i, o as a, s as o, t as s, u as c } from "./lib-BeKETz9d.js";
import { forwardRef as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
//#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/dist/index.mjs
var _ = Object.prototype.hasOwnProperty;
function v(e, t, n) {
	for (n of e.keys()) if (y(n, t)) return n;
}
function y(e, t) {
	var n, r, i;
	if (e === t) return !0;
	if (e && t && (n = e.constructor) === t.constructor) {
		if (n === Date) return e.getTime() === t.getTime();
		if (n === RegExp) return e.toString() === t.toString();
		if (n === Array) {
			if ((r = e.length) === t.length) for (; r-- && y(e[r], t[r]););
			return r === -1;
		}
		if (n === Set) {
			if (e.size !== t.size) return !1;
			for (r of e) if (i = r, i && typeof i == "object" && (i = v(t, i), !i) || !t.has(i)) return !1;
			return !0;
		}
		if (n === Map) {
			if (e.size !== t.size) return !1;
			for (r of e) if (i = r[0], i && typeof i == "object" && (i = v(t, i), !i) || !y(r[1], t.get(i))) return !1;
			return !0;
		}
		if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
		else if (n === DataView) {
			if ((r = e.byteLength) === t.byteLength) for (; r-- && e.getInt8(r) === t.getInt8(r););
			return r === -1;
		}
		if (ArrayBuffer.isView(e)) {
			if ((r = e.byteLength) === t.byteLength) for (; r-- && e[r] === t[r];);
			return r === -1;
		}
		if (!n || typeof e == "object") {
			for (n in r = 0, e) if (_.call(e, n) && ++r && !_.call(t, n) || !(n in t) || !y(e[n], t[n])) return !1;
			return Object.keys(t).length === r;
		}
	}
	return e !== e && t !== t;
}
//#endregion
//#region ../../node_modules/.bun/shiki@4.2.0/node_modules/shiki/dist/chunk-BBjsoOtd.mjs
var b = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, te = Object.getOwnPropertyNames, ne = Object.prototype.hasOwnProperty, x = (e, t) => {
	let n = {};
	for (var r in e) b(n, r, {
		get: e[r],
		enumerable: !0
	});
	return t || b(n, Symbol.toStringTag, { value: "Module" }), n;
}, S = (e, t, n, r) => {
	if (t && typeof t == "object" || typeof t == "function") for (var i = te(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !ne.call(e, s) && s !== n && b(e, s, {
		get: ((e) => t[e]).bind(null, s),
		enumerable: !(r = ee(t, s)) || r.enumerable
	});
	return e;
}, C = (e, t, n) => (S(e, t, "default"), n && S(n, t, "default")), w = class extends Error {
	constructor(e) {
		super(e), this.name = "ShikiError";
	}
};
//#endregion
//#region ../../node_modules/.bun/@shikijs+primitive@4.2.0/node_modules/@shikijs/primitive/dist/index.mjs
function T(e, t) {
	let n = typeof e == "string" ? {} : { ...e.colorReplacements }, r = typeof e == "string" ? e : e.name;
	for (let [e, i] of Object.entries(t?.colorReplacements || {})) typeof i == "string" ? n[e] = i : e === r && Object.assign(n, i);
	return n;
}
function E(e, t) {
	return e && (t?.[e?.toLowerCase()] || e);
}
function re(e) {
	return Array.isArray(e) ? e : [e];
}
async function ie(e) {
	return Promise.resolve(typeof e == "function" ? e() : e).then((e) => e.default || e);
}
function D(e) {
	return !e || [
		"plaintext",
		"txt",
		"text",
		"plain"
	].includes(e);
}
function O(e) {
	return e === "ansi" || D(e);
}
function k(e) {
	return e === "none";
}
function A(e) {
	return k(e);
}
var ae = /(\r?\n)/g;
function j(e, t = !1) {
	if (e.length === 0) return [["", 0]];
	let n = e.split(ae), r = 0, i = [];
	for (let e = 0; e < n.length; e += 2) {
		let a = t ? n[e] + (n[e + 1] || "") : n[e];
		i.push([a, r]), r += n[e].length, r += n[e + 1]?.length || 0;
	}
	return i;
}
var oe = {
	light: "#333333",
	dark: "#bbbbbb"
}, se = {
	light: "#fffffe",
	dark: "#1e1e1e"
}, ce = "__shiki_resolved";
function M(e) {
	if (e?.[ce]) return e;
	let t = { ...e };
	t.tokenColors && !t.settings && (t.settings = t.tokenColors, delete t.tokenColors), t.type ||= "dark", t.colorReplacements = { ...t.colorReplacements }, t.settings ||= [];
	let { bg: n, fg: r } = t;
	if (!n || !r) {
		let e = t.settings ? t.settings.find((e) => !e.name && !e.scope) : void 0;
		e?.settings?.foreground && (r = e.settings.foreground), e?.settings?.background && (n = e.settings.background), !r && t?.colors?.["editor.foreground"] && (r = t.colors["editor.foreground"]), !n && t?.colors?.["editor.background"] && (n = t.colors["editor.background"]), r ||= t.type === "light" ? oe.light : oe.dark, n ||= t.type === "light" ? se.light : se.dark, t.fg = r, t.bg = n;
	}
	t.settings[0] && t.settings[0].settings && !t.settings[0].scope || t.settings.unshift({ settings: {
		foreground: t.fg,
		background: t.bg
	} });
	let i = 0, a = /* @__PURE__ */ new Map();
	function o(e) {
		if (a.has(e)) return a.get(e);
		i += 1;
		let n = `#${i.toString(16).padStart(8, "0").toLowerCase()}`;
		return t.colorReplacements?.[`#${n}`] ? o(e) : (a.set(e, n), n);
	}
	t.settings = t.settings.map((e) => {
		let n = e.settings?.foreground && !e.settings.foreground.startsWith("#"), r = e.settings?.background && !e.settings.background.startsWith("#");
		if (!n && !r) return e;
		let i = {
			...e,
			settings: { ...e.settings }
		};
		if (n) {
			let n = o(e.settings.foreground);
			t.colorReplacements[n] = e.settings.foreground, i.settings.foreground = n;
		}
		if (r) {
			let n = o(e.settings.background);
			t.colorReplacements[n] = e.settings.background, i.settings.background = n;
		}
		return i;
	});
	for (let e of Object.keys(t.colors || {})) if ((e === "editor.foreground" || e === "editor.background" || e.startsWith("terminal.ansi")) && !t.colors[e]?.startsWith("#")) {
		let n = o(t.colors[e]);
		t.colorReplacements[n] = t.colors[e], t.colors[e] = n;
	}
	return Object.defineProperty(t, ce, {
		enumerable: !1,
		writable: !1,
		value: !0
	}), t;
}
async function le(e) {
	return [...new Set((await Promise.all(e.filter((e) => !O(e)).map(async (e) => await ie(e).then((e) => Array.isArray(e) ? e : [e])))).flat())];
}
async function ue(e) {
	return (await Promise.all(e.map(async (e) => A(e) ? null : M(await ie(e))))).filter((e) => !!e);
}
function de(e, t) {
	if (!t) return e;
	if (t[e]) {
		let n = new Set([e]);
		for (; t[e];) {
			if (e = t[e], n.has(e)) throw new w(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);
			n.add(e);
		}
	}
	return e;
}
var fe = class extends r {
	_resolver;
	_themes;
	_langs;
	_alias;
	_resolvedThemes = /* @__PURE__ */ new Map();
	_resolvedGrammars = /* @__PURE__ */ new Map();
	_langMap = /* @__PURE__ */ new Map();
	_langGraph = /* @__PURE__ */ new Map();
	_textmateThemeCache = /* @__PURE__ */ new WeakMap();
	_loadedThemesCache = null;
	_loadedLanguagesCache = null;
	constructor(e, t, n, r = {}) {
		super(e), this._resolver = e, this._themes = t, this._langs = n, this._alias = r, this._themes.map((e) => this.loadTheme(e)), this.loadLanguages(this._langs);
	}
	getTheme(e) {
		return typeof e == "string" ? this._resolvedThemes.get(e) : this.loadTheme(e);
	}
	loadTheme(e) {
		let t = M(e);
		return t.name && (this._resolvedThemes.set(t.name, t), this._loadedThemesCache = null), t;
	}
	getLoadedThemes() {
		return this._loadedThemesCache ||= [...this._resolvedThemes.keys()], this._loadedThemesCache;
	}
	setTheme(e) {
		let t = this._textmateThemeCache.get(e);
		t || (t = i.createFromRawTheme(e), this._textmateThemeCache.set(e, t)), this._syncRegistry.setTheme(t);
	}
	getGrammar(e) {
		return e = de(e, this._alias), this._resolvedGrammars.get(e);
	}
	loadLanguage(e) {
		if (this.getGrammar(e.name)) return;
		let t = new Set([...this._langMap.values()].filter((t) => t.embeddedLangsLazy?.includes(e.name)));
		this._resolver.addLanguage(e);
		let n = {
			balancedBracketSelectors: e.balancedBracketSelectors || ["*"],
			unbalancedBracketSelectors: e.unbalancedBracketSelectors || []
		};
		this._syncRegistry._rawGrammars.set(e.scopeName, e);
		let r = this.loadGrammarWithConfiguration(e.scopeName, 1, n);
		if (r.name = e.name, this._resolvedGrammars.set(e.name, r), e.aliases && e.aliases.forEach((t) => {
			this._alias[t] = e.name;
		}), this._loadedLanguagesCache = null, t.size) for (let e of t) this._resolvedGrammars.delete(e.name), this._loadedLanguagesCache = null, this._syncRegistry?._injectionGrammars?.delete(e.scopeName), this._syncRegistry?._grammars?.delete(e.scopeName), this.loadLanguage(this._langMap.get(e.name));
	}
	dispose() {
		super.dispose(), this._resolvedThemes.clear(), this._resolvedGrammars.clear(), this._langMap.clear(), this._langGraph.clear(), this._loadedThemesCache = null;
	}
	loadLanguages(e) {
		for (let t of e) this.resolveEmbeddedLanguages(t);
		let t = [...this._langGraph.entries()], n = t.filter(([e, t]) => !t);
		if (n.length) {
			let e = t.filter(([e, t]) => t ? (t.embeddedLanguages || t.embeddedLangs)?.some((e) => n.map(([e]) => e).includes(e)) : !1).filter((e) => !n.includes(e));
			throw new w(`Missing languages ${n.map(([e]) => `\`${e}\``).join(", ")}, required by ${e.map(([e]) => `\`${e}\``).join(", ")}`);
		}
		for (let [e, n] of t) this._resolver.addLanguage(n);
		for (let [e, n] of t) this.loadLanguage(n);
	}
	getLoadedLanguages() {
		return this._loadedLanguagesCache ||= [...new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])], this._loadedLanguagesCache;
	}
	resolveEmbeddedLanguages(e) {
		this._langMap.set(e.name, e), this._langGraph.set(e.name, e);
		let t = e.embeddedLanguages ?? e.embeddedLangs;
		if (t) for (let e of t) this._langGraph.set(e, this._langMap.get(e));
	}
}, pe = class {
	_langs = /* @__PURE__ */ new Map();
	_scopeToLang = /* @__PURE__ */ new Map();
	_injections = /* @__PURE__ */ new Map();
	_onigLib;
	constructor(e, t) {
		this._onigLib = {
			createOnigScanner: (t) => e.createScanner(t),
			createOnigString: (t) => e.createString(t)
		}, t.forEach((e) => this.addLanguage(e));
	}
	get onigLib() {
		return this._onigLib;
	}
	getLangRegistration(e) {
		return this._langs.get(e);
	}
	loadGrammar(e) {
		return this._scopeToLang.get(e);
	}
	addLanguage(e) {
		this._langs.set(e.name, e), e.aliases && e.aliases.forEach((t) => {
			this._langs.set(t, e);
		}), this._scopeToLang.set(e.scopeName, e), e.injectTo && e.injectTo.forEach((t) => {
			this._injections.get(t) || this._injections.set(t, []), this._injections.get(t).push(e.scopeName);
		});
	}
	getInjections(e) {
		let t = e.split("."), n = [];
		for (let e = 1; e <= t.length; e++) {
			let r = t.slice(0, e).join(".");
			n = [...n, ...this._injections.get(r) || []];
		}
		return n;
	}
}, N = 0;
function me(e) {
	N += 1, e.warnings !== !1 && N >= 10 && N % 10 == 0 && console.warn(`[Shiki] ${N} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);
	let t = !1;
	if (!e.engine) throw new w("`engine` option is required for synchronous mode");
	let n = (e.langs || []).flat(1), r = (e.themes || []).flat(1).map(M), i = new fe(new pe(e.engine, n), r, n, e.langAlias), a;
	function o(t) {
		return de(t, e.langAlias);
	}
	function s(e) {
		g();
		let t = i.getGrammar(typeof e == "string" ? e : e.name);
		if (!t) throw new w(`Language \`${e}\` not found, you may need to load it first`);
		return t;
	}
	function c(e) {
		if (e === "none") return {
			bg: "",
			fg: "",
			name: "none",
			settings: [],
			type: "dark"
		};
		g();
		let t = i.getTheme(e);
		if (!t) throw new w(`Theme \`${e}\` not found, you may need to load it first`);
		return t;
	}
	function l(e) {
		g();
		let t = c(e);
		return a !== e && (i.setTheme(t), a = e), {
			theme: t,
			colorMap: i.getColorMap()
		};
	}
	function u() {
		return g(), i.getLoadedThemes();
	}
	function d() {
		return g(), i.getLoadedLanguages();
	}
	function f(...e) {
		g(), i.loadLanguages(e.flat(1));
	}
	async function p(...e) {
		return f(await le(e));
	}
	function m(...e) {
		g();
		for (let t of e.flat(1)) i.loadTheme(t);
	}
	async function h(...e) {
		return g(), m(await ue(e));
	}
	function g() {
		if (t) throw new w("Shiki instance has been disposed");
	}
	function _() {
		t || (t = !0, i.dispose(), --N);
	}
	return {
		setTheme: l,
		getTheme: c,
		getLanguage: s,
		getLoadedThemes: u,
		getLoadedLanguages: d,
		resolveLangAlias: o,
		loadLanguage: p,
		loadLanguageSync: f,
		loadTheme: h,
		loadThemeSync: m,
		dispose: _,
		[Symbol.dispose]: _
	};
}
async function he(e) {
	e.engine || console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");
	let [t, n, r] = await Promise.all([
		ue(e.themes || []),
		le(e.langs || []),
		e.engine
	]);
	return me({
		...e,
		themes: t,
		langs: n,
		engine: r
	});
}
var ge = /* @__PURE__ */ new WeakMap();
function P(e, t) {
	ge.set(e, t);
}
function F(e) {
	return ge.get(e);
}
var I = class e {
	_stacks = {};
	lang;
	get themes() {
		return Object.keys(this._stacks);
	}
	get theme() {
		return this.themes[0];
	}
	get _stack() {
		return this._stacks[this.theme];
	}
	static initial(t, n) {
		return new e(Object.fromEntries(re(n).map((e) => [e, o])), t);
	}
	constructor(...e) {
		if (e.length === 2) {
			let [t, n] = e;
			this.lang = n, this._stacks = t;
		} else {
			let [t, n, r] = e;
			this.lang = n, this._stacks = { [r]: t };
		}
	}
	getInternalStack(e = this.theme) {
		return this._stacks[e];
	}
	getScopes(e = this.theme) {
		return _e(this._stacks[e]);
	}
	toJSON() {
		return {
			lang: this.lang,
			theme: this.theme,
			themes: this.themes,
			scopes: this.getScopes()
		};
	}
};
function _e(e) {
	let t = [], n = /* @__PURE__ */ new Set();
	function r(e) {
		if (n.has(e)) return;
		n.add(e);
		let i = e?.nameScopesList?.scopeName;
		i && t.push(i), e.parent && r(e.parent);
	}
	return r(e), t;
}
function ve(e, t) {
	if (!(e instanceof I)) throw new w("Invalid grammar state");
	return e.getInternalStack(t);
}
var ye = /,/, be = / /;
function L(e, t, n = {}) {
	let { theme: r = e.getLoadedThemes()[0] } = n;
	if (D(e.resolveLangAlias(n.lang || "text")) || k(r)) return j(t).map((e) => [{
		content: e[0],
		offset: e[1]
	}]);
	let { theme: i, colorMap: a } = e.setTheme(r), o = e.getLanguage(n.lang || "text");
	if (n.grammarState) {
		if (n.grammarState.lang !== o.name) throw new w(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);
		if (!n.grammarState.themes.includes(i.name)) throw new w(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`);
	}
	return Se(t, o, i, a, n);
}
function xe(...e) {
	if (e.length === 2) return F(e[1]);
	let [t, n, r = {}] = e, { lang: i = "text", theme: a = t.getLoadedThemes()[0] } = r;
	if (D(i) || k(a)) throw new w("Plain language does not have grammar state");
	if (i === "ansi") throw new w("ANSI language does not have grammar state");
	let { theme: o, colorMap: s } = t.setTheme(a), c = t.getLanguage(i);
	return new I(R(n, c, o, s, r).stateStack, c.name, o.name);
}
function Se(e, t, n, r, i) {
	let a = R(e, t, n, r, i), o = new I(a.stateStack, t.name, n.name);
	return P(a.tokens, o), a.tokens;
}
function R(e, t, r, i, a) {
	let s = T(r, a), { tokenizeMaxLineLength: c = 0, tokenizeTimeLimit: l = 500 } = a, u = j(e), d = a.grammarState ? ve(a.grammarState, r.name) ?? o : a.grammarContextCode == null ? o : R(a.grammarContextCode, t, r, i, {
		...a,
		grammarState: void 0,
		grammarContextCode: void 0
	}).stateStack, f = [], p = [];
	for (let e = 0, o = u.length; e < o; e++) {
		let [o, m] = u[e];
		if (o === "") {
			f = [], p.push([]);
			continue;
		}
		if (c > 0 && o.length >= c) {
			f = [], p.push([{
				content: o,
				offset: m,
				color: "",
				fontStyle: 0
			}]);
			continue;
		}
		let h, g, _;
		a.includeExplanation && (h = t.tokenizeLine(o, d, l), g = h.tokens, _ = 0);
		let v = t.tokenizeLine2(o, d, l), y = v.tokens.length / 2;
		for (let e = 0; e < y; e++) {
			let t = v.tokens[2 * e], c = e + 1 < y ? v.tokens[2 * e + 2] : o.length;
			if (t === c) continue;
			let l = v.tokens[2 * e + 1], u = E(i[n.getForeground(l)], s), d = n.getFontStyle(l), p = {
				content: o.substring(t, c),
				offset: m + t,
				color: u,
				fontStyle: d
			};
			if (a.includeExplanation) {
				let e = [];
				if (a.includeExplanation !== "scopeName") for (let t of r.settings) {
					let n;
					switch (typeof t.scope) {
						case "string":
							n = t.scope.split(ye).map((e) => e.trim());
							break;
						case "object":
							n = t.scope;
							break;
						default: continue;
					}
					e.push({
						settings: t,
						selectors: n.map((e) => e.split(be))
					});
				}
				p.explanation = [];
				let n = 0;
				for (; t + n < c;) {
					let t = g[_], r = o.substring(t.startIndex, t.endIndex);
					n += r.length, p.explanation.push({
						content: r,
						scopes: a.includeExplanation === "scopeName" ? Ce(t.scopes) : we(e, t.scopes)
					}), _ += 1;
				}
			}
			f.push(p);
		}
		p.push(f), f = [], d = v.ruleStack;
	}
	return {
		tokens: p,
		stateStack: d
	};
}
function Ce(e) {
	return e.map((e) => ({ scopeName: e }));
}
function we(e, t) {
	let n = [];
	for (let r = 0, i = t.length; r < i; r++) {
		let i = t[r];
		n[r] = {
			scopeName: i,
			themeMatches: De(e, i, t.slice(0, r))
		};
	}
	return n;
}
function Te(e, t) {
	return e === t || t.substring(0, e.length) === e && t[e.length] === ".";
}
function Ee(e, t, n) {
	if (!Te(e.at(-1), t)) return !1;
	let r = e.length - 2, i = n.length - 1;
	for (; r >= 0 && i >= 0;) Te(e[r], n[i]) && --r, --i;
	return r === -1;
}
function De(e, t, n) {
	let r = [];
	for (let { selectors: i, settings: a } of e) for (let e of i) if (Ee(e, t, n)) {
		r.push(a);
		break;
	}
	return r;
}
function Oe(e, t, n, r = L) {
	let i = Object.entries(n.themes).filter((e) => e[1]).map((e) => ({
		color: e[0],
		theme: e[1]
	})), a = i.map((i) => {
		let a = r(e, t, {
			...n,
			theme: i.theme
		});
		return {
			tokens: a,
			state: F(a),
			theme: typeof i.theme == "string" ? i.theme : i.theme.name
		};
	}), o = ke(...a.map((e) => e.tokens)), s = o[0].map((e, t) => e.map((e, r) => {
		let a = {
			content: e.content,
			variants: {},
			offset: e.offset
		};
		return "includeExplanation" in n && n.includeExplanation && (a.explanation = e.explanation), o.forEach((e, n) => {
			let { content: o, explanation: s, offset: c, ...l } = e[t][r];
			a.variants[i[n].color] = l;
		}), a;
	})), c = a[0].state ? new I(Object.fromEntries(a.map((e) => [e.theme, e.state?.getInternalStack(e.theme)])), a[0].state.lang) : void 0;
	return c && P(s, c), s;
}
function ke(...e) {
	let t = e.map(() => []), n = e.length;
	for (let r = 0; r < e[0].length; r++) {
		let i = e.map((e) => e[r]), a = t.map(() => []);
		t.forEach((e, t) => e.push(a[t]));
		let o = i.map(() => 0), s = i.map((e) => e[0]);
		for (; s.every((e) => e);) {
			let e = Math.min(...s.map((e) => e.content.length));
			for (let t = 0; t < n; t++) {
				let n = s[t];
				n.content.length === e ? (a[t].push(n), o[t] += 1, s[t] = i[t][o[t]]) : (a[t].push({
					...n,
					content: n.content.slice(0, e)
				}), s[t] = {
					...n,
					content: n.content.slice(e),
					offset: n.offset + e
				});
			}
		}
	}
	return t;
}
//#endregion
//#region ../../node_modules/.bun/@shikijs+core@4.2.0/node_modules/@shikijs/core/dist/index.mjs
var Ae = /\s+/g;
function je(e, t) {
	if (!t) return e;
	e.properties ||= {}, e.properties.class ||= [], typeof e.properties.class == "string" && (e.properties.class = e.properties.class.split(Ae)), Array.isArray(e.properties.class) || (e.properties.class = []);
	let n = Array.isArray(t) ? t : t.split(Ae);
	for (let t of n) t && !e.properties.class.includes(t) && e.properties.class.push(t);
	return e;
}
var Me = /:?lang=["']([^"']+)["']/g, Ne = /(?:```|~~~)([\w-]+)/g, Pe = /\\begin\{([\w-]+)\}/g, Fe = /<script\s+(?:type|lang)=["']([^"']+)["']/gi;
function Ie(e) {
	let t = j(e, !0).map(([e]) => e);
	function n(n) {
		if (n === e.length) return {
			line: t.length - 1,
			character: t.at(-1).length
		};
		let r = n, i = 0;
		for (let e of t) {
			if (r < e.length) break;
			r -= e.length, i++;
		}
		return {
			line: i,
			character: r
		};
	}
	function r(e, n) {
		let r = 0;
		for (let n = 0; n < e; n++) r += t[n].length;
		return r += n, r;
	}
	return {
		lines: t,
		indexToPos: n,
		posToIndex: r
	};
}
function Le(e, t, n) {
	let r = /* @__PURE__ */ new Set();
	for (let t of e.matchAll(Me)) {
		let e = t[1].toLowerCase().trim();
		e && r.add(e);
	}
	for (let t of e.matchAll(Ne)) {
		let e = t[1].toLowerCase().trim();
		e && r.add(e);
	}
	for (let t of e.matchAll(Pe)) {
		let e = t[1].toLowerCase().trim();
		e && r.add(e);
	}
	for (let t of e.matchAll(Fe)) {
		let e = t[1].toLowerCase().trim(), n = e.includes("/") ? e.split("/").pop() : e;
		n && r.add(n);
	}
	if (!n) return [...r];
	let i = n.getBundledLanguages();
	return [...r].filter((e) => e && i[e]);
}
var Re = ["color", "background-color"];
function ze(e, t) {
	let n = 0, r = [];
	for (let i of t) i > n && r.push({
		...e,
		content: e.content.slice(n, i),
		offset: e.offset + n
	}), n = i;
	return n < e.content.length && r.push({
		...e,
		content: e.content.slice(n),
		offset: e.offset + n
	}), r;
}
function Be(e, t) {
	let n = [...t instanceof Set ? t : new Set(t)].sort((e, t) => e - t);
	return n.length ? e.map((e) => e.flatMap((e) => {
		let t = n.filter((t) => e.offset < t && t < e.offset + e.content.length).map((t) => t - e.offset).sort((e, t) => e - t);
		return t.length ? ze(e, t) : e;
	})) : e;
}
function Ve(e, t, n, r, i = "css-vars") {
	let a = {
		content: e.content,
		explanation: e.explanation,
		offset: e.offset
	}, o = t.map((t) => z(e.variants[t])), s = new Set(o.flatMap((e) => Object.keys(e))), c = {}, l = (e, r) => {
		let i = r === "color" ? "" : r === "background-color" ? "-bg" : `-${r}`;
		return n + t[e] + (r === "color" ? "" : i);
	};
	return o.forEach((e, n) => {
		for (let a of s) {
			let s = e[a] || "inherit";
			if (n === 0 && r && Re.includes(a)) if (r === "light-dark()" && o.length > 1) {
				let e = t.findIndex((e) => e === "light"), r = t.findIndex((e) => e === "dark");
				if (e === -1 || r === -1) throw new w("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
				c[a] = `light-dark(${o[e][a] || "inherit"}, ${o[r][a] || "inherit"})`, i === "css-vars" && (c[l(n, a)] = s);
			} else c[a] = s;
			else i === "css-vars" && (c[l(n, a)] = s);
		}
	}), a.htmlStyle = c, a;
}
function z(e) {
	let t = {};
	if (e.color && (t.color = e.color), e.bgColor && (t["background-color"] = e.bgColor), e.fontStyle) {
		e.fontStyle & a.Italic && (t["font-style"] = "italic"), e.fontStyle & a.Bold && (t["font-weight"] = "bold");
		let n = [];
		e.fontStyle & a.Underline && n.push("underline"), e.fontStyle & a.Strikethrough && n.push("line-through"), n.length && (t["text-decoration"] = n.join(" "));
	}
	return t;
}
function B(e) {
	return typeof e == "string" ? e : Object.entries(e).map(([e, t]) => `${e}:${t}`).join(";");
}
function He() {
	let e = /* @__PURE__ */ new WeakMap();
	function t(t) {
		if (!e.has(t.meta)) {
			let n = Ie(t.source);
			function r(e) {
				if (typeof e == "number") {
					if (e < 0 || e > t.source.length) throw new w(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);
					return {
						...n.indexToPos(e),
						offset: e
					};
				} else {
					let t = n.lines[e.line];
					if (t === void 0) throw new w(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);
					let r = e.character;
					if (r < 0 && (r = t.length + r), r < 0 || r > t.length) throw new w(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);
					return {
						...e,
						character: r,
						offset: n.posToIndex(e.line, r)
					};
				}
			}
			let i = (t.options.decorations || []).map((e) => ({
				...e,
				start: r(e.start),
				end: r(e.end)
			}));
			Ue(i), e.set(t.meta, {
				decorations: i,
				converter: n,
				source: t.source
			});
		}
		return e.get(t.meta);
	}
	return {
		name: "shiki:decorations",
		tokens(e) {
			if (this.options.decorations?.length) return Be(e, t(this).decorations.flatMap((e) => [e.start.offset, e.end.offset]));
		},
		code(e) {
			if (!this.options.decorations?.length) return;
			let n = t(this), r = [...e.children].filter((e) => e.type === "element" && e.tagName === "span");
			if (r.length !== n.converter.lines.length) throw new w(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);
			function i(e, t, n, i) {
				let a = r[e], s = "", c = -1, l = -1;
				if (t === 0 && (c = 0), n === 0 && (l = 0), n === Infinity && (l = a.children.length), c === -1 || l === -1) for (let e = 0; e < a.children.length; e++) s += We(a.children[e]), c === -1 && s.length === t && (c = e + 1), l === -1 && s.length === n && (l = e + 1);
				if (c === -1) throw new w(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);
				if (l === -1) throw new w(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);
				let u = a.children.slice(c, l);
				if (!i.alwaysWrap && u.length === a.children.length) o(a, i, "line");
				else if (!i.alwaysWrap && u.length === 1 && u[0].type === "element") o(u[0], i, "token");
				else {
					let e = {
						type: "element",
						tagName: "span",
						properties: {},
						children: u
					};
					o(e, i, "wrapper"), a.children.splice(c, u.length, e);
				}
			}
			function a(e, t) {
				r[e] = o(r[e], t, "line");
			}
			function o(e, t, n) {
				let r = t.properties || {}, i = t.transform || ((e) => e);
				return e.tagName = t.tagName || "span", e.properties = {
					...e.properties,
					...r,
					class: e.properties.class
				}, t.properties?.class && je(e, t.properties.class), e = i(e, n) || e, e;
			}
			let s = [], c = n.decorations.sort((e, t) => t.start.offset - e.start.offset || e.end.offset - t.end.offset);
			for (let e of c) {
				let { start: t, end: n } = e;
				if (t.line === n.line) i(t.line, t.character, n.character, e);
				else if (t.line < n.line) {
					i(t.line, t.character, Infinity, e);
					for (let r = t.line + 1; r < n.line; r++) s.unshift(() => a(r, e));
					i(n.line, 0, n.character, e);
				}
			}
			s.forEach((e) => e());
		}
	};
}
function Ue(e) {
	for (let t = 0; t < e.length; t++) {
		let n = e[t];
		if (n.start.offset > n.end.offset) throw new w(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);
		for (let r = t + 1; r < e.length; r++) {
			let t = e[r], i = n.start.offset <= t.start.offset && t.start.offset < n.end.offset, a = n.start.offset < t.end.offset && t.end.offset <= n.end.offset, o = t.start.offset <= n.start.offset && n.start.offset < t.end.offset, s = t.start.offset < n.end.offset && n.end.offset <= t.end.offset;
			if (i || a || o || s) {
				if (i && a || o && s || o && n.start.offset === n.end.offset || a && t.start.offset === t.end.offset) continue;
				throw new w(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`);
			}
		}
	}
}
function We(e) {
	return e.type === "text" ? e.value : e.type === "element" ? e.children.map(We).join("") : "";
}
var Ge = [/* @__PURE__ */ He()];
function V(e) {
	let t = Ke(e.transformers || []);
	return [
		...t.pre,
		...t.normal,
		...t.post,
		...Ge
	];
}
function Ke(e) {
	let t = [], n = [], r = [];
	for (let i of e) switch (i.enforce) {
		case "pre":
			t.push(i);
			break;
		case "post":
			n.push(i);
			break;
		default: r.push(i);
	}
	return {
		pre: t,
		post: n,
		normal: r
	};
}
var H = [
	"black",
	"red",
	"green",
	"yellow",
	"blue",
	"magenta",
	"cyan",
	"white",
	"brightBlack",
	"brightRed",
	"brightGreen",
	"brightYellow",
	"brightBlue",
	"brightMagenta",
	"brightCyan",
	"brightWhite"
], U = {
	1: "bold",
	2: "dim",
	3: "italic",
	4: "underline",
	7: "reverse",
	8: "hidden",
	9: "strikethrough"
};
function qe(e, t) {
	let n = e.indexOf("\x1B", t);
	if (n !== -1 && e[n + 1] === "[") {
		let t = e.indexOf("m", n);
		if (t !== -1) return {
			sequence: e.substring(n + 2, t).split(";"),
			startPosition: n,
			position: t + 1
		};
	}
	return { position: e.length };
}
function Je(e) {
	let t = e.shift();
	if (t === "2") {
		let t = e.splice(0, 3).map((e) => Number.parseInt(e));
		return t.length !== 3 || t.some((e) => Number.isNaN(e)) ? void 0 : {
			type: "rgb",
			rgb: t
		};
	} else if (t === "5") {
		let t = e.shift();
		if (t) return {
			type: "table",
			index: Number(t)
		};
	}
}
function Ye(e) {
	let t = [];
	for (; e.length > 0;) {
		let n = e.shift();
		if (!n) continue;
		let r = Number.parseInt(n);
		if (!Number.isNaN(r)) if (r === 0) t.push({ type: "resetAll" });
		else if (r <= 9) U[r] && t.push({
			type: "setDecoration",
			value: U[r]
		});
		else if (r <= 29) {
			let e = U[r - 20];
			e && (t.push({
				type: "resetDecoration",
				value: e
			}), e === "dim" && t.push({
				type: "resetDecoration",
				value: "bold"
			}));
		} else if (r <= 37) t.push({
			type: "setForegroundColor",
			value: {
				type: "named",
				name: H[r - 30]
			}
		});
		else if (r === 38) {
			let n = Je(e);
			n && t.push({
				type: "setForegroundColor",
				value: n
			});
		} else if (r === 39) t.push({ type: "resetForegroundColor" });
		else if (r <= 47) t.push({
			type: "setBackgroundColor",
			value: {
				type: "named",
				name: H[r - 40]
			}
		});
		else if (r === 48) {
			let n = Je(e);
			n && t.push({
				type: "setBackgroundColor",
				value: n
			});
		} else r === 49 ? t.push({ type: "resetBackgroundColor" }) : r === 53 ? t.push({
			type: "setDecoration",
			value: "overline"
		}) : r === 55 ? t.push({
			type: "resetDecoration",
			value: "overline"
		}) : r >= 90 && r <= 97 ? t.push({
			type: "setForegroundColor",
			value: {
				type: "named",
				name: H[r - 90 + 8]
			}
		}) : r >= 100 && r <= 107 && t.push({
			type: "setBackgroundColor",
			value: {
				type: "named",
				name: H[r - 100 + 8]
			}
		});
	}
	return t;
}
function Xe() {
	let e = null, t = null, n = /* @__PURE__ */ new Set();
	return { parse(r) {
		let i = [], a = 0;
		do {
			let o = qe(r, a), s = o.sequence ? r.substring(a, o.startPosition) : r.substring(a);
			if (s.length > 0 && i.push({
				value: s,
				foreground: e,
				background: t,
				decorations: new Set(n)
			}), o.sequence) {
				let r = Ye(o.sequence);
				for (let i of r) i.type === "resetAll" ? (e = null, t = null, n.clear()) : i.type === "resetForegroundColor" ? e = null : i.type === "resetBackgroundColor" ? t = null : i.type === "resetDecoration" && n.delete(i.value);
				for (let i of r) i.type === "setForegroundColor" ? e = i.value : i.type === "setBackgroundColor" ? t = i.value : i.type === "setDecoration" && n.add(i.value);
			}
			a = o.position;
		} while (a < r.length);
		return i;
	} };
}
var Ze = {
	black: "#000000",
	red: "#bb0000",
	green: "#00bb00",
	yellow: "#bbbb00",
	blue: "#0000bb",
	magenta: "#ff00ff",
	cyan: "#00bbbb",
	white: "#eeeeee",
	brightBlack: "#555555",
	brightRed: "#ff5555",
	brightGreen: "#00ff00",
	brightYellow: "#ffff55",
	brightBlue: "#5555ff",
	brightMagenta: "#ff55ff",
	brightCyan: "#55ffff",
	brightWhite: "#ffffff"
};
function Qe(e = Ze) {
	function t(t) {
		return e[t];
	}
	function n(e) {
		return `#${e.map((e) => Math.max(0, Math.min(e, 255)).toString(16).padStart(2, "0")).join("")}`;
	}
	let r;
	function i() {
		if (r) return r;
		r = [];
		for (let e = 0; e < H.length; e++) r.push(t(H[e]));
		let e = [
			0,
			95,
			135,
			175,
			215,
			255
		];
		for (let t = 0; t < 6; t++) for (let i = 0; i < 6; i++) for (let a = 0; a < 6; a++) r.push(n([
			e[t],
			e[i],
			e[a]
		]));
		let i = 8;
		for (let e = 0; e < 24; e++, i += 10) r.push(n([
			i,
			i,
			i
		]));
		return r;
	}
	function a(e) {
		return i()[e];
	}
	function o(e) {
		switch (e.type) {
			case "named": return t(e.name);
			case "rgb": return n(e.rgb);
			case "table": return a(e.index);
		}
	}
	return { value: o };
}
var $e = /#([0-9a-f]{3,8})/i, et = /var\((--[\w-]+-ansi-[\w-]+)\)/, tt = {
	black: "#000000",
	red: "#cd3131",
	green: "#0DBC79",
	yellow: "#E5E510",
	blue: "#2472C8",
	magenta: "#BC3FBC",
	cyan: "#11A8CD",
	white: "#E5E5E5",
	brightBlack: "#666666",
	brightRed: "#F14C4C",
	brightGreen: "#23D18B",
	brightYellow: "#F5F543",
	brightBlue: "#3B8EEA",
	brightMagenta: "#D670D6",
	brightCyan: "#29B8DB",
	brightWhite: "#FFFFFF"
};
function nt(e, t, n) {
	let r = T(e, n), i = j(t), o = Qe(Object.fromEntries(H.map((t) => {
		let n = `terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;
		return [t, e.colors?.[n] || tt[t]];
	}))), s = Xe();
	return i.map((t) => s.parse(t[0]).map((n) => {
		let i, s;
		n.decorations.has("reverse") ? (i = n.background ? o.value(n.background) : e.bg, s = n.foreground ? o.value(n.foreground) : e.fg) : (i = n.foreground ? o.value(n.foreground) : e.fg, s = n.background ? o.value(n.background) : void 0), i = E(i, r), s = E(s, r), n.decorations.has("dim") && (i = rt(i));
		let c = a.None;
		return n.decorations.has("bold") && (c |= a.Bold), n.decorations.has("italic") && (c |= a.Italic), n.decorations.has("underline") && (c |= a.Underline), n.decorations.has("strikethrough") && (c |= a.Strikethrough), {
			content: n.value,
			offset: t[1],
			color: i,
			bgColor: s,
			fontStyle: c
		};
	}));
}
function rt(e) {
	let t = e.match($e);
	if (t) {
		let e = t[1];
		if (e.length === 8) {
			let t = Math.round(Number.parseInt(e.slice(6, 8), 16) / 2).toString(16).padStart(2, "0");
			return `#${e.slice(0, 6)}${t}`;
		} else if (e.length === 6) return `#${e}80`;
		else if (e.length === 4) {
			let t = e[0], n = e[1], r = e[2], i = e[3];
			return `#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`, 16) / 2).toString(16).padStart(2, "0")}`;
		} else if (e.length === 3) {
			let t = e[0], n = e[1], r = e[2];
			return `#${t}${t}${n}${n}${r}${r}80`;
		}
	}
	let n = e.match(et);
	return n ? `var(${n[1]}-dim)` : e;
}
function W(e, t, n = {}) {
	let r = e.resolveLangAlias(n.lang || "text"), { theme: i = e.getLoadedThemes()[0] } = n;
	if (!D(r) && !k(i) && r === "ansi") {
		let { theme: r } = e.setTheme(i);
		return nt(r, t, n);
	}
	return L(e, t, n);
}
function G(e, t, n) {
	let r, i, a, o, s, c;
	if ("themes" in n) {
		let { defaultColor: l = "light", cssVariablePrefix: u = "--shiki-", colorsRendering: d = "css-vars" } = n, f = Object.entries(n.themes).filter((e) => e[1]).map((e) => ({
			color: e[0],
			theme: e[1]
		})).sort((e, t) => e.color === l ? -1 : +(t.color === l));
		if (f.length === 0) throw new w("`themes` option must not be empty");
		let p = Oe(e, t, n, W);
		if (c = F(p), l && l !== "light-dark()" && !f.some((e) => e.color === l)) throw new w(`\`themes\` option must contain the defaultColor key \`${l}\``);
		let m = f.map((t) => e.getTheme(t.theme)), h = f.map((e) => e.color);
		a = p.map((e) => e.map((e) => Ve(e, h, u, l, d))), c && P(a, c);
		let g = f.map((e) => T(e.theme, n));
		i = it(f, m, g, u, l, "fg", d), r = it(f, m, g, u, l, "bg", d), o = `shiki-themes ${m.map((e) => e.name).join(" ")}`, s = l ? void 0 : [i, r].join(";");
	} else if ("theme" in n) {
		let s = T(n.theme, n);
		a = W(e, t, n);
		let l = e.getTheme(n.theme);
		r = E(l.bg, s), i = E(l.fg, s), o = l.name, c = F(a);
	} else throw new w("Invalid options, either `theme` or `themes` must be provided");
	return {
		tokens: a,
		fg: i,
		bg: r,
		themeName: o,
		rootStyle: s,
		grammarState: c
	};
}
function it(e, t, n, r, i, a, o) {
	return e.map((s, c) => {
		let l = E(t[c][a], n[c]) || "inherit", u = `${r + s.color}${a === "bg" ? "-bg" : ""}:${l}`;
		if (c === 0 && i) {
			if (i === "light-dark()" && e.length > 1) {
				let r = e.findIndex((e) => e.color === "light"), i = e.findIndex((e) => e.color === "dark");
				if (r === -1 || i === -1) throw new w("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
				return `light-dark(${E(t[r][a], n[r]) || "inherit"}, ${E(t[i][a], n[i]) || "inherit"});${u}`;
			}
			return l;
		}
		return o === "css-vars" ? u : null;
	}).filter((e) => !!e).join(";");
}
var at = /^\s+$/, ot = /^(\s*)(.*?)(\s*)$/;
function K(e, t, n, r = {
	meta: {},
	options: n,
	codeToHast: (t, n) => K(e, t, n),
	codeToTokens: (t, n) => G(e, t, n)
}) {
	let i = t;
	for (let e of V(n)) i = e.preprocess?.call(r, i, n) || i;
	let { tokens: a, fg: o, bg: s, themeName: c, rootStyle: l, grammarState: u } = G(e, i, n), { mergeWhitespaces: d = !0, mergeSameStyleTokens: f = !1 } = n;
	d === !0 ? a = ct(a) : d === "never" && (a = lt(a)), f && (a = ut(a));
	let p = {
		...r,
		get source() {
			return i;
		}
	};
	for (let e of V(n)) a = e.tokens?.call(p, a) || a;
	return st(a, {
		...n,
		fg: o,
		bg: s,
		themeName: c,
		rootStyle: n.rootStyle === !1 ? !1 : n.rootStyle ?? l
	}, p, u);
}
function st(e, t, n, r = F(e)) {
	let i = V(t), a = [], o = {
		type: "root",
		children: []
	}, { structure: s = "classic", tabindex: c = "0" } = t, l = { class: `shiki ${t.themeName || ""}` };
	t.rootStyle !== !1 && (t.rootStyle == null ? l.style = `background-color:${t.bg};color:${t.fg}` : l.style = t.rootStyle), c !== !1 && c != null && (l.tabindex = c.toString());
	for (let [e, n] of Object.entries(t.meta || {})) e.startsWith("_") || (l[e] = n);
	let u = {
		type: "element",
		tagName: "pre",
		properties: l,
		children: [],
		data: t.data
	}, d = {
		type: "element",
		tagName: "code",
		properties: {},
		children: a
	}, f = [], p = {
		...n,
		structure: s,
		addClassToHast: je,
		get source() {
			return n.source;
		},
		get tokens() {
			return e;
		},
		get options() {
			return t;
		},
		get root() {
			return o;
		},
		get pre() {
			return u;
		},
		get code() {
			return d;
		},
		get lines() {
			return f;
		}
	};
	if (e.forEach((e, t) => {
		t && (s === "inline" ? o.children.push({
			type: "element",
			tagName: "br",
			properties: {},
			children: []
		}) : s === "classic" && a.push({
			type: "text",
			value: "\n"
		}));
		let n = {
			type: "element",
			tagName: "span",
			properties: { class: "line" },
			children: []
		}, r = 0;
		for (let a of e) {
			let e = {
				type: "element",
				tagName: "span",
				properties: { ...a.htmlAttrs },
				children: [{
					type: "text",
					value: a.content
				}]
			}, c = B(a.htmlStyle || z(a));
			c && (e.properties.style = c);
			for (let o of i) e = o?.span?.call(p, e, t + 1, r, n, a) || e;
			s === "inline" ? o.children.push(e) : s === "classic" && n.children.push(e), r += a.content.length;
		}
		if (s === "classic") {
			for (let e of i) n = e?.line?.call(p, n, t + 1) || n;
			f.push(n), a.push(n);
		} else s === "inline" && f.push(n);
	}), s === "classic") {
		for (let e of i) d = e?.code?.call(p, d) || d;
		u.children.push(d);
		for (let e of i) u = e?.pre?.call(p, u) || u;
		o.children.push(u);
	} else if (s === "inline") {
		let e = [], t = {
			type: "element",
			tagName: "span",
			properties: { class: "line" },
			children: []
		};
		for (let n of o.children) n.type === "element" && n.tagName === "br" ? (e.push(t), t = {
			type: "element",
			tagName: "span",
			properties: { class: "line" },
			children: []
		}) : (n.type === "element" || n.type === "text") && t.children.push(n);
		e.push(t);
		let n = {
			type: "element",
			tagName: "code",
			properties: {},
			children: e
		};
		for (let e of i) n = e?.code?.call(p, n) || n;
		o.children = [];
		for (let e = 0; e < n.children.length; e++) {
			e > 0 && o.children.push({
				type: "element",
				tagName: "br",
				properties: {},
				children: []
			});
			let t = n.children[e];
			t.type === "element" && o.children.push(...t.children);
		}
	}
	let m = o;
	for (let e of i) m = e?.root?.call(p, m) || m;
	return r && P(m, r), m;
}
function ct(e) {
	return e.map((e) => {
		let t = [], n = "", r;
		return e.forEach((i, o) => {
			let s = !(i.fontStyle && (i.fontStyle & a.Underline || i.fontStyle & a.Strikethrough));
			s && at.test(i.content) && e[o + 1] ? (r === void 0 && (r = i.offset), n += i.content) : n ? (s ? t.push({
				...i,
				offset: r,
				content: n + i.content
			}) : t.push({
				content: n,
				offset: r
			}, i), r = void 0, n = "") : t.push(i);
		}), t;
	});
}
function lt(e) {
	return e.map((e) => e.flatMap((e) => {
		if (at.test(e.content)) return e;
		let t = e.content.match(ot);
		if (!t) return e;
		let [, n, r, i] = t;
		if (!n && !i) return e;
		let a = [{
			...e,
			offset: e.offset + n.length,
			content: r
		}];
		return n && a.unshift({
			content: n,
			offset: e.offset
		}), i && a.push({
			content: i,
			offset: e.offset + n.length + r.length
		}), a;
	}));
}
function ut(e) {
	return e.map((e) => {
		let t = [];
		for (let n of e) {
			if (t.length === 0) {
				t.push({ ...n });
				continue;
			}
			let e = t.at(-1), r = B(e.htmlStyle || z(e)), i = B(n.htmlStyle || z(n)), o = e.fontStyle && (e.fontStyle & a.Underline || e.fontStyle & a.Strikethrough), s = n.fontStyle && (n.fontStyle & a.Underline || n.fontStyle & a.Strikethrough);
			!o && !s && r === i ? e.content += n.content : t.push({ ...n });
		}
		return t;
	});
}
var dt = s;
function ft(e, t, n) {
	let r = {
		meta: {},
		options: n,
		codeToHast: (t, n) => K(e, t, n),
		codeToTokens: (t, n) => G(e, t, n)
	}, i = dt(K(e, t, n, r));
	for (let e of V(n)) i = e.postprocess?.call(r, i, n) || i;
	return i;
}
async function pt(e) {
	let t = await he(e);
	return {
		getLastGrammarState: (...e) => xe(t, ...e),
		codeToTokensBase: (e, n) => W(t, e, n),
		codeToTokensWithThemes: (e, n) => Oe(t, e, n),
		codeToTokens: (e, n) => G(t, e, n),
		codeToHast: (e, n) => K(t, e, n),
		codeToHtml: (e, n) => ft(t, e, n),
		getBundledLanguages: () => ({}),
		getBundledThemes: () => ({}),
		...t,
		getInternalContext: () => t
	};
}
function mt(e) {
	let t = e.langs, n = e.themes, r = e.engine;
	async function i(e) {
		function i(n) {
			if (typeof n == "string") {
				if (n = e.langAlias?.[n] || n, O(n)) return [];
				let r = t[n];
				if (!r) throw new w(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);
				return r;
			}
			return n;
		}
		function a(e) {
			if (A(e)) return "none";
			if (typeof e == "string") {
				let t = n[e];
				if (!t) throw new w(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);
				return t;
			}
			return e;
		}
		let o = (e.themes ?? []).map((e) => a(e)), s = (e.langs ?? []).map((e) => i(e)), c = await pt({
			engine: e.engine ?? r(),
			...e,
			themes: o,
			langs: s
		});
		return {
			...c,
			loadLanguage(...e) {
				return c.loadLanguage(...e.map(i));
			},
			loadTheme(...e) {
				return c.loadTheme(...e.map(a));
			},
			getBundledLanguages() {
				return t;
			},
			getBundledThemes() {
				return n;
			}
		};
	}
	return i;
}
function ht(e) {
	let t;
	async function n(n = {}) {
		if (t) {
			let e = await t;
			return await Promise.all([e.loadTheme(...n.themes || []), e.loadLanguage(...n.langs || [])]), e;
		} else {
			t = e({
				...n,
				themes: [],
				langs: []
			});
			let r = await t;
			return await Promise.all([r.loadTheme(...n.themes || []), r.loadLanguage(...n.langs || [])]), r;
		}
	}
	return n;
}
function gt(e, t) {
	let n = ht(e);
	async function r(e, r) {
		let i = await n({
			langs: [r.lang],
			themes: "theme" in r ? [r.theme] : Object.values(r.themes)
		}), a = await t?.guessEmbeddedLanguages?.(e, r.lang, i);
		return a && await i.loadLanguage(...a), i;
	}
	return {
		getSingletonHighlighter(e) {
			return n(e);
		},
		async codeToHtml(e, t) {
			return (await r(e, t)).codeToHtml(e, t);
		},
		async codeToHast(e, t) {
			return (await r(e, t)).codeToHast(e, t);
		},
		async codeToTokens(e, t) {
			return (await r(e, t)).codeToTokens(e, t);
		},
		async codeToTokensBase(e, t) {
			return (await r(e, t)).codeToTokensBase(e, t);
		},
		async codeToTokensWithThemes(e, t) {
			return (await r(e, t)).codeToTokensWithThemes(e, t);
		},
		async getLastGrammarState(e, t) {
			return (await n({
				langs: [t.lang],
				themes: [t.theme]
			})).getLastGrammarState(e, t);
		}
	};
}
//#endregion
//#region ../../node_modules/.bun/react-shiki@0.10.1+c24c3269a5ef484e/node_modules/react-shiki/dist/component-CYq7SnJ0.mjs
var q = (e) => {
	let t = f(e);
	return e !== t.current && !y(e, t.current) && (t.current = e), t.current;
}, _t = (e, t, n) => {
	clearTimeout(t.current.timeoutId);
	let r = Math.max(0, t.current.nextAllowedTime - Date.now());
	t.current.timeoutId = setTimeout(() => {
		e(), t.current.nextAllowedTime = Date.now() + n;
	}, r);
}, vt = "plaintext", yt = (e, t, n) => {
	let r = n.getBundledLanguages();
	return Le(e, t).flatMap((e) => r[e] ?? []);
}, bt = (e) => e == null ? [] : Array.isArray(e) ? e : [e], xt = (e) => e == null ? null : typeof e == "string" ? `s:${e}` : `o:${e.name}::${e.scopeName}`, St = (e) => {
	let t = /* @__PURE__ */ new Set(), n = [];
	for (let r of e) {
		let e = xt(r);
		e == null || t.has(e) || (t.add(e), n.push(r));
	}
	return n;
}, Ct = (e, t) => e == null ? !1 : typeof e == "string" ? e in t : typeof e.name == "string" && typeof e.scopeName == "string", wt = (e, t) => O(e) || t.includes(e) ? e : vt, Tt = (e, t, n, r) => {
	let i = bt(t), a = bt(r), o = [...i, ...a], s = vt, c;
	if (e == null || typeof e == "string" && !e.trim()) return {
		languageId: s,
		langsToLoad: St([...a, ...i])
	};
	if (typeof e == "object") s = e.name, c = e;
	else {
		let t = e.toLowerCase(), r = (e) => e?.toLowerCase() === t, i = o.find((e) => typeof e == "object" && !!e && !!(r(e.name) || r(e.scopeName) || r(e.scopeName?.split(".").pop()) || e.aliases?.some(r) || e.fileTypes?.some(r)));
		i ? (s = i.name || e, c = i) : n?.[e] ? (s = n[e], c = n[e]) : (s = e, c = e);
	}
	return {
		languageId: s,
		langsToLoad: St([
			c,
			...a,
			...i
		])
	};
}, Et = {
	light: "github-light",
	dark: "github-dark"
}, Dt = (e) => {
	if (typeof e != "object" || !e) return !1;
	let t = e, n = Array.isArray(t.tokenColors) || Array.isArray(t.settings), r = typeof t.name == "string" || typeof t.type == "string";
	return n && r;
};
function Ot(e) {
	if (typeof e != "object" || !e || Dt(e)) return {
		isMulti: !1,
		theme: e,
		themesToLoad: [e]
	};
	let t = Object.entries(e).filter(([e, t]) => e.trim() !== "" && (typeof t == "string" && t.trim() !== "" || Dt(t)));
	return t.length === 0 ? (console.warn("[react-shiki] invalid multi-theme config, falling back to defaults"), {
		isMulti: !0,
		themes: Et,
		themesToLoad: Object.values(Et)
	}) : (t.length !== Object.keys(e).length && console.warn("[react-shiki] multi-theme config contained invalid entries; they were dropped"), {
		isMulti: !0,
		themes: Object.fromEntries(t),
		themesToLoad: t.map(([, e]) => e)
	});
}
function kt(e = 1) {
	return {
		name: "react-shiki:line-numbers",
		code(t) {
			if (this.addClassToHast(t, "rs-has-line-numbers"), e !== 1) {
				let n = t.properties?.style || "", r = n ? `${n}; --line-start: ${e}` : `--line-start: ${e}`;
				t.properties = {
					...t.properties,
					style: r
				};
			}
		},
		line(e) {
			return this.addClassToHast(e, "rs-line-number"), e;
		}
	};
}
var At = (e, t, n) => e.isMulti ? {
	themes: e.themes,
	defaultColor: t,
	cssVariablePrefix: n
} : { theme: e.theme }, jt = (e, t, n) => {
	let { delay: r, customLanguages: i, preloadLanguages: a, outputFormat: o, highlighter: s, langAlias: c, engine: l, defaultColor: u, cssVariablePrefix: d, showLineNumbers: f, startingLineNumber: p, transformers: m, ...h } = n, g = [...m || []];
	return f && g.push(kt(p)), {
		lang: e,
		...At(t, u, d),
		...h,
		transformers: g
	};
};
async function Mt(e, t, n, r) {
	let { languageId: i, langsToLoad: a, themesToLoad: o, shikiOptions: s } = t, l = n.highlighter ?? await (async () => {
		let t = await r(a, o, n.engine);
		return await t.loadLanguage(...yt(e, i, t)), t;
	})(), u = wt(i, l.getLoadedLanguages()), d = {
		...s,
		lang: u
	};
	return n.outputFormat === "html" ? l.codeToHtml(e, d) : c(l.codeToHast(e, d), {
		jsx: h,
		jsxs: g,
		Fragment: m
	});
}
var Nt = (e, t, n, r = {}, i) => {
	let [a, o] = p(null), s = q(t), c = q(n), l = q(r), m = d(() => {
		let { languageId: e, langsToLoad: t } = Tt(s, l.customLanguages, l.langAlias, l.preloadLanguages), n = Ot(c), r = jt(e, n, l);
		return {
			languageId: e,
			langsToLoad: t,
			themesToLoad: n.themesToLoad,
			shikiOptions: r
		};
	}, [
		s,
		c,
		l
	]), h = f(0), g = f({
		nextAllowedTime: 0,
		timeoutId: void 0
	}), _ = f(i);
	return _.current = i, u(() => {
		let t = ++h.current;
		if (!m.languageId) return;
		let n = async () => {
			try {
				let n = await Mt(e, m, l, _.current);
				t === h.current && o(n);
			} catch (e) {
				console.error("[react-shiki] highlight failed", e);
			}
		};
		return l.delay ? _t(n, g, l.delay) : n(), () => {
			clearTimeout(g.current.timeoutId);
		};
	}, [
		e,
		m,
		l
	]), a;
}, Pt = (e) => l(({ language: n, theme: r, delay: i, transformers: a, defaultColor: o, cssVariablePrefix: s, addDefaultStyles: c = !0, style: l, langStyle: u, className: d, langClassName: f, showLanguage: p = !0, showLineNumbers: m = !1, startingLineNumber: _ = 1, children: v, as: y = "div", customLanguages: b, preloadLanguages: ee, ...te }, ne) => {
	let x = {
		delay: i,
		transformers: a,
		customLanguages: b,
		preloadLanguages: ee,
		showLineNumbers: m,
		defaultColor: o,
		cssVariablePrefix: s,
		startingLineNumber: _,
		...te
	}, S = typeof n == "object" ? n.name || null : n?.trim() || null, C = e(v, n, r, x);
	return /* @__PURE__ */ g(y, {
		ref: ne,
		"data-testid": "shiki-container",
		"data-slot": "container",
		className: t("rs-root", "not-prose", c && "rs-default-styles", d),
		style: l,
		children: [p && S ? /* @__PURE__ */ h("span", {
			id: "language-label",
			"data-slot": "language-label",
			className: t("rs-language-label", f),
			style: u,
			children: S
		}) : null, typeof C == "string" ? /* @__PURE__ */ h("div", {
			"data-slot": "content",
			dangerouslySetInnerHTML: { __html: C }
		}) : C]
	});
}), Ft = /* @__PURE__ */ e({
	createOnigurumaEngine: () => rn,
	getDefaultWasmLoader: () => nn,
	loadWasm: () => Zt,
	setDefaultWasmLoader: () => tn
}), J = class extends Error {
	constructor(e) {
		super(e), this.name = "ShikiError";
	}
};
function It() {
	return 2147483648;
}
function Lt() {
	return typeof performance < "u" ? performance.now() : Date.now();
}
var Rt = (e, t) => e + (t - e % t) % t;
async function zt(e) {
	let t, n, r = {};
	function i(e) {
		n = e, r.HEAPU8 = new Uint8Array(e), r.HEAPU32 = new Uint32Array(e);
	}
	function a(e, t, n) {
		r.HEAPU8.copyWithin(e, t, t + n);
	}
	function o(e) {
		try {
			return t.grow(e - n.byteLength + 65535 >>> 16), i(t.buffer), 1;
		} catch {}
	}
	function s(e) {
		let t = r.HEAPU8.length;
		e >>>= 0;
		let n = It();
		if (e > n) return !1;
		for (let r = 1; r <= 4; r *= 2) {
			let i = t * (1 + .2 / r);
			if (i = Math.min(i, e + 100663296), o(Math.min(n, Rt(Math.max(e, i), 65536)))) return !0;
		}
		return !1;
	}
	let c = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0;
	function l(e, t, n = 1024) {
		let r = t + n, i = t;
		for (; e[i] && !(i >= r);) ++i;
		if (i - t > 16 && e.buffer && c) return c.decode(e.subarray(t, i));
		let a = "";
		for (; t < i;) {
			let n = e[t++];
			if (!(n & 128)) {
				a += String.fromCharCode(n);
				continue;
			}
			let r = e[t++] & 63;
			if ((n & 224) == 192) {
				a += String.fromCharCode((n & 31) << 6 | r);
				continue;
			}
			let i = e[t++] & 63;
			if (n = (n & 240) == 224 ? (n & 15) << 12 | r << 6 | i : (n & 7) << 18 | r << 12 | i << 6 | e[t++] & 63, n < 65536) a += String.fromCharCode(n);
			else {
				let e = n - 65536;
				a += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023);
			}
		}
		return a;
	}
	function u(e, t) {
		return e ? l(r.HEAPU8, e, t) : "";
	}
	let d = {
		emscripten_get_now: Lt,
		emscripten_memcpy_big: a,
		emscripten_resize_heap: s,
		fd_write: () => 0
	};
	async function f() {
		let n = await e({
			env: d,
			wasi_snapshot_preview1: d
		});
		t = n.memory, i(t.buffer), Object.assign(r, n), r.UTF8ToString = u;
	}
	return await f(), r;
}
var Bt = Object.defineProperty, Vt = (e, t, n) => t in e ? Bt(e, t, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: n
}) : e[t] = n, Y = (e, t, n) => Vt(e, typeof t == "symbol" ? t : t + "", n), X = null;
function Ht(e) {
	throw new J(e.UTF8ToString(e.getLastOnigError()));
}
var Ut = class e {
	constructor(t) {
		Y(this, "utf16Length"), Y(this, "utf8Length"), Y(this, "utf16Value"), Y(this, "utf8Value"), Y(this, "utf16OffsetToUtf8"), Y(this, "utf8OffsetToUtf16");
		let n = t.length, r = e._utf8ByteLength(t), i = r !== n, a = i ? new Uint32Array(n + 1) : null;
		i && (a[n] = r);
		let o = i ? new Uint32Array(r + 1) : null;
		i && (o[r] = n);
		let s = new Uint8Array(r), c = 0;
		for (let e = 0; e < n; e++) {
			let r = t.charCodeAt(e), l = r, u = !1;
			if (r >= 55296 && r <= 56319 && e + 1 < n) {
				let n = t.charCodeAt(e + 1);
				n >= 56320 && n <= 57343 && (l = (r - 55296 << 10) + 65536 | n - 56320, u = !0);
			}
			i && (a[e] = c, u && (a[e + 1] = c), l <= 127 ? o[c + 0] = e : l <= 2047 ? (o[c + 0] = e, o[c + 1] = e) : l <= 65535 ? (o[c + 0] = e, o[c + 1] = e, o[c + 2] = e) : (o[c + 0] = e, o[c + 1] = e, o[c + 2] = e, o[c + 3] = e)), l <= 127 ? s[c++] = l : l <= 2047 ? (s[c++] = 192 | (l & 1984) >>> 6, s[c++] = 128 | (l & 63) >>> 0) : l <= 65535 ? (s[c++] = 224 | (l & 61440) >>> 12, s[c++] = 128 | (l & 4032) >>> 6, s[c++] = 128 | (l & 63) >>> 0) : (s[c++] = 240 | (l & 1835008) >>> 18, s[c++] = 128 | (l & 258048) >>> 12, s[c++] = 128 | (l & 4032) >>> 6, s[c++] = 128 | (l & 63) >>> 0), u && e++;
		}
		this.utf16Length = n, this.utf8Length = r, this.utf16Value = t, this.utf8Value = s, this.utf16OffsetToUtf8 = a, this.utf8OffsetToUtf16 = o;
	}
	static _utf8ByteLength(e) {
		let t = 0;
		for (let n = 0, r = e.length; n < r; n++) {
			let i = e.charCodeAt(n), a = i, o = !1;
			if (i >= 55296 && i <= 56319 && n + 1 < r) {
				let t = e.charCodeAt(n + 1);
				t >= 56320 && t <= 57343 && (a = (i - 55296 << 10) + 65536 | t - 56320, o = !0);
			}
			a <= 127 ? t += 1 : a <= 2047 ? t += 2 : a <= 65535 ? t += 3 : t += 4, o && n++;
		}
		return t;
	}
	createString(e) {
		let t = e.omalloc(this.utf8Length);
		return e.HEAPU8.set(this.utf8Value, t), t;
	}
}, Z = class e {
	constructor(t) {
		if (Y(this, "id", ++e.LAST_ID), Y(this, "_onigBinding"), Y(this, "content"), Y(this, "utf16Length"), Y(this, "utf8Length"), Y(this, "utf16OffsetToUtf8"), Y(this, "utf8OffsetToUtf16"), Y(this, "ptr"), !X) throw new J("Must invoke loadWasm first.");
		this._onigBinding = X, this.content = t;
		let n = new Ut(t);
		this.utf16Length = n.utf16Length, this.utf8Length = n.utf8Length, this.utf16OffsetToUtf8 = n.utf16OffsetToUtf8, this.utf8OffsetToUtf16 = n.utf8OffsetToUtf16, this.utf8Length < 1e4 && !e._sharedPtrInUse ? (e._sharedPtr ||= X.omalloc(1e4), e._sharedPtrInUse = !0, X.HEAPU8.set(n.utf8Value, e._sharedPtr), this.ptr = e._sharedPtr) : this.ptr = n.createString(X);
	}
	convertUtf8OffsetToUtf16(e) {
		return this.utf8OffsetToUtf16 ? e < 0 ? 0 : e > this.utf8Length ? this.utf16Length : this.utf8OffsetToUtf16[e] : e;
	}
	convertUtf16OffsetToUtf8(e) {
		return this.utf16OffsetToUtf8 ? e < 0 ? 0 : e > this.utf16Length ? this.utf8Length : this.utf16OffsetToUtf8[e] : e;
	}
	dispose() {
		this.ptr === e._sharedPtr ? e._sharedPtrInUse = !1 : this._onigBinding.ofree(this.ptr);
	}
};
Y(Z, "LAST_ID", 0), Y(Z, "_sharedPtr", 0), Y(Z, "_sharedPtrInUse", !1);
var Wt = Z, Gt = class {
	constructor(e) {
		if (Y(this, "_onigBinding"), Y(this, "_ptr"), !X) throw new J("Must invoke loadWasm first.");
		let t = [], n = [];
		for (let r = 0, i = e.length; r < i; r++) {
			let i = new Ut(e[r]);
			t[r] = i.createString(X), n[r] = i.utf8Length;
		}
		let r = X.omalloc(4 * e.length);
		X.HEAPU32.set(t, r / 4);
		let i = X.omalloc(4 * e.length);
		X.HEAPU32.set(n, i / 4);
		let a = X.createOnigScanner(r, i, e.length);
		for (let n = 0, r = e.length; n < r; n++) X.ofree(t[n]);
		X.ofree(i), X.ofree(r), a === 0 && Ht(X), this._onigBinding = X, this._ptr = a;
	}
	dispose() {
		this._onigBinding.freeOnigScanner(this._ptr);
	}
	findNextMatchSync(e, t, n) {
		let r = 0;
		if (typeof n == "number" && (r = n), typeof e == "string") {
			e = new Wt(e);
			let n = this._findNextMatchSync(e, t, !1, r);
			return e.dispose(), n;
		}
		return this._findNextMatchSync(e, t, !1, r);
	}
	_findNextMatchSync(e, t, n, r) {
		let i = this._onigBinding, a = i.findNextOnigScannerMatch(this._ptr, e.id, e.ptr, e.utf8Length, e.convertUtf16OffsetToUtf8(t), r);
		if (a === 0) return null;
		let o = i.HEAPU32, s = a / 4, c = o[s++], l = o[s++], u = [];
		for (let t = 0; t < l; t++) {
			let n = e.convertUtf8OffsetToUtf16(o[s++]), r = e.convertUtf8OffsetToUtf16(o[s++]);
			u[t] = {
				start: n,
				end: r,
				length: r - n
			};
		}
		return {
			index: c,
			captureIndices: u
		};
	}
};
function Kt(e) {
	return typeof e.instantiator == "function";
}
function qt(e) {
	return typeof e.default == "function";
}
function Jt(e) {
	return e.data !== void 0;
}
function Yt(e) {
	return typeof Response < "u" && e instanceof Response;
}
function Xt(e) {
	return typeof ArrayBuffer < "u" && (e instanceof ArrayBuffer || ArrayBuffer.isView(e)) || typeof Buffer < "u" && Buffer.isBuffer?.(e) || typeof SharedArrayBuffer < "u" && e instanceof SharedArrayBuffer || typeof Uint32Array < "u" && e instanceof Uint32Array;
}
var Q;
function Zt(e) {
	if (Q) return Q;
	async function t() {
		X = await zt(async (t) => {
			let n = e;
			return n = await n, typeof n == "function" && (n = await n(t)), typeof n == "function" && (n = await n(t)), Kt(n) ? n = await n.instantiator(t) : qt(n) ? n = await n.default(t) : (Jt(n) && (n = n.data), Yt(n) ? n = typeof WebAssembly.instantiateStreaming == "function" ? await $t(n)(t) : await en(n)(t) : Xt(n) || n instanceof WebAssembly.Module ? n = await Qt(n)(t) : "default" in n && n.default instanceof WebAssembly.Module && (n = await Qt(n.default)(t))), "instance" in n && (n = n.instance), "exports" in n && (n = n.exports), n;
		});
	}
	return Q = t(), Q;
}
function Qt(e) {
	return (t) => WebAssembly.instantiate(e, t);
}
function $t(e) {
	return (t) => WebAssembly.instantiateStreaming(e, t);
}
function en(e) {
	return async (t) => {
		let n = await e.arrayBuffer();
		return WebAssembly.instantiate(n, t);
	};
}
var $;
function tn(e) {
	$ = e;
}
function nn() {
	return $;
}
async function rn(e) {
	return e && await Zt(e), {
		createScanner(e) {
			return new Gt(e.map((e) => typeof e == "string" ? e : e.source));
		},
		createString(e) {
			return new Wt(e);
		}
	};
}
//#endregion
//#region ../../node_modules/.bun/shiki@4.2.0/node_modules/shiki/dist/engine-oniguruma.mjs
var an = /* @__PURE__ */ x({});
C(an, Ft);
var on = Object.fromEntries([
	{
		id: "andromeeda",
		displayName: "Andromeeda",
		type: "dark",
		import: (() => import("./andromeeda-SaJYFW8S.js"))
	},
	{
		id: "aurora-x",
		displayName: "Aurora X",
		type: "dark",
		import: (() => import("./aurora-x-CuwCHvmc.js"))
	},
	{
		id: "ayu-dark",
		displayName: "Ayu Dark",
		type: "dark",
		import: (() => import("./ayu-dark-Cgo9767u.js"))
	},
	{
		id: "ayu-light",
		displayName: "Ayu Light",
		type: "light",
		import: (() => import("./ayu-light-CG4FE7t1.js"))
	},
	{
		id: "ayu-mirage",
		displayName: "Ayu Mirage",
		type: "dark",
		import: (() => import("./ayu-mirage-B_mwMqGf.js"))
	},
	{
		id: "catppuccin-frappe",
		displayName: "Catppuccin Frappé",
		type: "dark",
		import: (() => import("./catppuccin-frappe-BNsyB8rL.js"))
	},
	{
		id: "catppuccin-latte",
		displayName: "Catppuccin Latte",
		type: "light",
		import: (() => import("./catppuccin-latte-CUJafsDq.js"))
	},
	{
		id: "catppuccin-macchiato",
		displayName: "Catppuccin Macchiato",
		type: "dark",
		import: (() => import("./catppuccin-macchiato-d3k0D605.js"))
	},
	{
		id: "catppuccin-mocha",
		displayName: "Catppuccin Mocha",
		type: "dark",
		import: (() => import("./catppuccin-mocha-sqt-O4hL.js"))
	},
	{
		id: "dark-plus",
		displayName: "Dark Plus",
		type: "dark",
		import: (() => import("./dark-plus-B8sVNXvs.js"))
	},
	{
		id: "dracula",
		displayName: "Dracula Theme",
		type: "dark",
		import: (() => import("./dracula-C-iwNp86.js"))
	},
	{
		id: "dracula-soft",
		displayName: "Dracula Theme Soft",
		type: "dark",
		import: (() => import("./dracula-soft-BgICPn4A.js"))
	},
	{
		id: "everforest-dark",
		displayName: "Everforest Dark",
		type: "dark",
		import: (() => import("./everforest-dark-DG_yfpzL.js"))
	},
	{
		id: "everforest-light",
		displayName: "Everforest Light",
		type: "light",
		import: (() => import("./everforest-light-oQ4LYcyq.js"))
	},
	{
		id: "github-dark",
		displayName: "GitHub Dark",
		type: "dark",
		import: (() => import("./github-dark-DxWx9eCv.js"))
	},
	{
		id: "github-dark-default",
		displayName: "GitHub Dark Default",
		type: "dark",
		import: (() => import("./github-dark-default-DMnDNCqB.js"))
	},
	{
		id: "github-dark-dimmed",
		displayName: "GitHub Dark Dimmed",
		type: "dark",
		import: (() => import("./github-dark-dimmed-CftPlIXb.js"))
	},
	{
		id: "github-dark-high-contrast",
		displayName: "GitHub Dark High Contrast",
		type: "dark",
		import: (() => import("./github-dark-high-contrast-iXcGuuWC.js"))
	},
	{
		id: "github-light",
		displayName: "GitHub Light",
		type: "light",
		import: (() => import("./github-light-9kT9Ooux.js"))
	},
	{
		id: "github-light-default",
		displayName: "GitHub Light Default",
		type: "light",
		import: (() => import("./github-light-default-BgUEXJWz.js"))
	},
	{
		id: "github-light-high-contrast",
		displayName: "GitHub Light High Contrast",
		type: "light",
		import: (() => import("./github-light-high-contrast--krAqmie.js"))
	},
	{
		id: "gruvbox-dark-hard",
		displayName: "Gruvbox Dark Hard",
		type: "dark",
		import: (() => import("./gruvbox-dark-hard-CsqFBqpp.js"))
	},
	{
		id: "gruvbox-dark-medium",
		displayName: "Gruvbox Dark Medium",
		type: "dark",
		import: (() => import("./gruvbox-dark-medium-BDcNnBCD.js"))
	},
	{
		id: "gruvbox-dark-soft",
		displayName: "Gruvbox Dark Soft",
		type: "dark",
		import: (() => import("./gruvbox-dark-soft-D0C6_bfY.js"))
	},
	{
		id: "gruvbox-light-hard",
		displayName: "Gruvbox Light Hard",
		type: "light",
		import: (() => import("./gruvbox-light-hard-CjoqSDnu.js"))
	},
	{
		id: "gruvbox-light-medium",
		displayName: "Gruvbox Light Medium",
		type: "light",
		import: (() => import("./gruvbox-light-medium-Bw-HLAX4.js"))
	},
	{
		id: "gruvbox-light-soft",
		displayName: "Gruvbox Light Soft",
		type: "light",
		import: (() => import("./gruvbox-light-soft-DH2SdcDR.js"))
	},
	{
		id: "horizon",
		displayName: "Horizon",
		type: "dark",
		import: (() => import("./horizon-DQM3kiLi.js"))
	},
	{
		id: "horizon-bright",
		displayName: "Horizon Bright",
		type: "light",
		import: (() => import("./horizon-bright-Cb9lGu-x.js"))
	},
	{
		id: "houston",
		displayName: "Houston",
		type: "dark",
		import: (() => import("./houston-CTCJUekH.js"))
	},
	{
		id: "kanagawa-dragon",
		displayName: "Kanagawa Dragon",
		type: "dark",
		import: (() => import("./kanagawa-dragon-DxkEO9SU.js"))
	},
	{
		id: "kanagawa-lotus",
		displayName: "Kanagawa Lotus",
		type: "light",
		import: (() => import("./kanagawa-lotus-Cc9ldDM2.js"))
	},
	{
		id: "kanagawa-wave",
		displayName: "Kanagawa Wave",
		type: "dark",
		import: (() => import("./kanagawa-wave-C-P3oH-q.js"))
	},
	{
		id: "laserwave",
		displayName: "LaserWave",
		type: "dark",
		import: (() => import("./laserwave-DyIpDR4_.js"))
	},
	{
		id: "light-plus",
		displayName: "Light Plus",
		type: "light",
		import: (() => import("./light-plus-5Kq1clvF.js"))
	},
	{
		id: "material-theme",
		displayName: "Material Theme",
		type: "dark",
		import: (() => import("./material-theme-BrL4vOLl.js"))
	},
	{
		id: "material-theme-darker",
		displayName: "Material Theme Darker",
		type: "dark",
		import: (() => import("./material-theme-darker-tvhNVUuj.js"))
	},
	{
		id: "material-theme-lighter",
		displayName: "Material Theme Lighter",
		type: "light",
		import: (() => import("./material-theme-lighter-BlIcyJcm.js"))
	},
	{
		id: "material-theme-ocean",
		displayName: "Material Theme Ocean",
		type: "dark",
		import: (() => import("./material-theme-ocean-ijmZnVMq.js"))
	},
	{
		id: "material-theme-palenight",
		displayName: "Material Theme Palenight",
		type: "dark",
		import: (() => import("./material-theme-palenight-prHD2zpS.js"))
	},
	{
		id: "min-dark",
		displayName: "Min Dark",
		type: "dark",
		import: (() => import("./min-dark-D7PJp-Ix.js"))
	},
	{
		id: "min-light",
		displayName: "Min Light",
		type: "light",
		import: (() => import("./min-light-DB47A7Yk.js"))
	},
	{
		id: "monokai",
		displayName: "Monokai",
		type: "dark",
		import: (() => import("./monokai-B2xRWdzR.js"))
	},
	{
		id: "night-owl",
		displayName: "Night Owl",
		type: "dark",
		import: (() => import("./night-owl-oV0ypOQV.js"))
	},
	{
		id: "night-owl-light",
		displayName: "Night Owl Light",
		type: "light",
		import: (() => import("./night-owl-light-BIjsLF9R.js"))
	},
	{
		id: "nord",
		displayName: "Nord",
		type: "dark",
		import: (() => import("./nord-BehyGTcU.js"))
	},
	{
		id: "one-dark-pro",
		displayName: "One Dark Pro",
		type: "dark",
		import: (() => import("./one-dark-pro-C8h8a1R2.js"))
	},
	{
		id: "one-light",
		displayName: "One Light",
		type: "light",
		import: (() => import("./one-light-DXZihwn3.js"))
	},
	{
		id: "plastic",
		displayName: "Plastic",
		type: "dark",
		import: (() => import("./plastic-BoNd5nnt.js"))
	},
	{
		id: "poimandres",
		displayName: "Poimandres",
		type: "dark",
		import: (() => import("./poimandres-kN4w1zeG.js"))
	},
	{
		id: "red",
		displayName: "Red",
		type: "dark",
		import: (() => import("./red-CG3DfhwS.js"))
	},
	{
		id: "rose-pine",
		displayName: "Rosé Pine",
		type: "dark",
		import: (() => import("./rose-pine-D35bu7cN.js"))
	},
	{
		id: "rose-pine-dawn",
		displayName: "Rosé Pine Dawn",
		type: "light",
		import: (() => import("./rose-pine-dawn-DMvcvJnV.js"))
	},
	{
		id: "rose-pine-moon",
		displayName: "Rosé Pine Moon",
		type: "dark",
		import: (() => import("./rose-pine-moon-yq_U0wEu.js"))
	},
	{
		id: "slack-dark",
		displayName: "Slack Dark",
		type: "dark",
		import: (() => import("./slack-dark-BODbPe4Z.js"))
	},
	{
		id: "slack-ochin",
		displayName: "Slack Ochin",
		type: "light",
		import: (() => import("./slack-ochin-DhVt5-hM.js"))
	},
	{
		id: "snazzy-light",
		displayName: "Snazzy Light",
		type: "light",
		import: (() => import("./snazzy-light-BYSfhLsO.js"))
	},
	{
		id: "solarized-dark",
		displayName: "Solarized Dark",
		type: "dark",
		import: (() => import("./solarized-dark-Dheru8RM.js"))
	},
	{
		id: "solarized-light",
		displayName: "Solarized Light",
		type: "light",
		import: (() => import("./solarized-light-Bj5LWrzk.js"))
	},
	{
		id: "synthwave-84",
		displayName: "Synthwave '84",
		type: "dark",
		import: (() => import("./synthwave-84-CUYER07E.js"))
	},
	{
		id: "tokyo-night",
		displayName: "Tokyo Night",
		type: "dark",
		import: (() => import("./tokyo-night-DrHuJo9W.js"))
	},
	{
		id: "vesper",
		displayName: "Vesper",
		type: "dark",
		import: (() => import("./vesper-DE1caIDd.js"))
	},
	{
		id: "vitesse-black",
		displayName: "Vitesse Black",
		type: "dark",
		import: (() => import("./vitesse-black-ZDkSCQzx.js"))
	},
	{
		id: "vitesse-dark",
		displayName: "Vitesse Dark",
		type: "dark",
		import: (() => import("./vitesse-dark-B9MgwVCj.js"))
	},
	{
		id: "vitesse-light",
		displayName: "Vitesse Light",
		type: "light",
		import: (() => import("./vitesse-light-DqhBayaq.js"))
	}
].map((e) => [e.id, e.import])), sn = [
	{
		id: "angular-html",
		name: "Angular HTML",
		import: (() => import("./angular-html-BDzibLIk.js").then((e) => e.n))
	},
	{
		id: "angular-ts",
		name: "Angular TypeScript",
		import: (() => import("./angular-ts-D81F0-9A.js"))
	},
	{
		id: "astro",
		name: "Astro",
		import: (() => import("./astro-Up1TtKOj.js"))
	},
	{
		id: "blade",
		name: "Blade",
		import: (() => import("./blade-CpVdu14g.js"))
	},
	{
		id: "c",
		name: "C",
		import: (() => import("./c-DtxJex1m.js").then((e) => e.n))
	},
	{
		id: "coffee",
		name: "CoffeeScript",
		aliases: ["coffeescript"],
		import: (() => import("./coffee-B9lToztK.js"))
	},
	{
		id: "cpp",
		name: "C++",
		aliases: ["c++"],
		import: (() => import("./cpp-BEQCV3s5.js"))
	},
	{
		id: "css",
		name: "CSS",
		import: (() => import("./css-DcJEitGa.js").then((e) => e.n))
	},
	{
		id: "csv",
		name: "CSV",
		import: (() => import("./csv-BOESxxEP.js"))
	},
	{
		id: "glsl",
		name: "GLSL",
		import: (() => import("./glsl-7eSg02Gr.js").then((e) => e.n))
	},
	{
		id: "graphql",
		name: "GraphQL",
		aliases: ["gql"],
		import: (() => import("./graphql-CE7EXOgY.js"))
	},
	{
		id: "haml",
		name: "Ruby Haml",
		import: (() => import("./haml-BP5AnOwP.js"))
	},
	{
		id: "handlebars",
		name: "Handlebars",
		aliases: ["hbs"],
		import: (() => import("./handlebars-BjC-t2fq.js"))
	},
	{
		id: "html",
		name: "HTML",
		import: (() => import("./html-Ct25QrQu.js").then((e) => e.n))
	},
	{
		id: "html-derivative",
		name: "HTML (Derivative)",
		import: (() => import("./html-derivative-DSKrIQn9.js"))
	},
	{
		id: "http",
		name: "HTTP",
		import: (() => import("./http-BCk9QAjz.js"))
	},
	{
		id: "hurl",
		name: "Hurl",
		import: (() => import("./hurl-DWxVzahG.js"))
	},
	{
		id: "imba",
		name: "Imba",
		import: (() => import("./imba-C8oGOJHL.js"))
	},
	{
		id: "java",
		name: "Java",
		import: (() => import("./java-CuIj5nvv.js").then((e) => e.n))
	},
	{
		id: "javascript",
		name: "JavaScript",
		aliases: [
			"js",
			"cjs",
			"mjs"
		],
		import: (() => import("./javascript-C_3Wy_Gj.js").then((e) => e.n))
	},
	{
		id: "jinja",
		name: "Jinja",
		import: (() => import("./jinja-C8xQEEYN.js"))
	},
	{
		id: "jison",
		name: "Jison",
		import: (() => import("./jison-CyKFq-6a.js"))
	},
	{
		id: "json",
		name: "JSON",
		import: (() => import("./json-CAwkMa5O.js"))
	},
	{
		id: "json5",
		name: "JSON5",
		import: (() => import("./json5-B6xiEzFG.js"))
	},
	{
		id: "jsonc",
		name: "JSON with Comments",
		import: (() => import("./jsonc-DPHvfD1n.js"))
	},
	{
		id: "jsonl",
		name: "JSON Lines",
		import: (() => import("./jsonl-ChnM6bJo.js"))
	},
	{
		id: "jsx",
		name: "JSX",
		import: (() => import("./jsx-CfQ2JFaq.js").then((e) => e.n))
	},
	{
		id: "julia",
		name: "Julia",
		aliases: ["jl"],
		import: (() => import("./julia-BMAFK3Gd.js"))
	},
	{
		id: "less",
		name: "Less",
		import: (() => import("./less-6Tn4Ud2o.js"))
	},
	{
		id: "markdown",
		name: "Markdown",
		aliases: ["md"],
		import: (() => import("./markdown-Yw2FWm8D.js"))
	},
	{
		id: "marko",
		name: "Marko",
		import: (() => import("./marko-DYmCev7q.js"))
	},
	{
		id: "mdc",
		name: "MDC",
		import: (() => import("./mdc-D7QSJBKx.js"))
	},
	{
		id: "mdx",
		name: "MDX",
		import: (() => import("./mdx-Cl9VTBKS.js"))
	},
	{
		id: "php",
		name: "PHP",
		import: (() => import("./php-h4fQX9du.js"))
	},
	{
		id: "postcss",
		name: "PostCSS",
		import: (() => import("./postcss-D7ynDguY.js"))
	},
	{
		id: "pug",
		name: "Pug",
		aliases: ["jade"],
		import: (() => import("./pug-CxpNRXGa.js"))
	},
	{
		id: "python",
		name: "Python",
		aliases: ["py"],
		import: (() => import("./python-YPEDgFif.js"))
	},
	{
		id: "r",
		name: "R",
		import: (() => import("./r-B2-Dj22W.js"))
	},
	{
		id: "regexp",
		name: "RegExp",
		aliases: ["regex"],
		import: (() => import("./regexp-BusfBBwF.js").then((e) => e.n))
	},
	{
		id: "sass",
		name: "Sass",
		import: (() => import("./sass-Bc3YxNsC.js"))
	},
	{
		id: "scss",
		name: "SCSS",
		import: (() => import("./scss-DaY16nmX.js").then((e) => e.n))
	},
	{
		id: "shellscript",
		name: "Shell",
		aliases: [
			"bash",
			"sh",
			"shell",
			"zsh"
		],
		import: (() => import("./shellscript-Cm4CVo6v.js"))
	},
	{
		id: "sql",
		name: "SQL",
		import: (() => import("./sql-8d8R_FnS.js").then((e) => e.n))
	},
	{
		id: "stylus",
		name: "Stylus",
		aliases: ["styl"],
		import: (() => import("./stylus-DzyDLqWZ.js"))
	},
	{
		id: "svelte",
		name: "Svelte",
		import: (() => import("./svelte-BiN7hc1M.js"))
	},
	{
		id: "ts-tags",
		name: "TypeScript with Tags",
		aliases: ["lit"],
		import: (() => import("./ts-tags-BK3ScQNp.js"))
	},
	{
		id: "tsx",
		name: "TSX",
		import: (() => import("./tsx-D2IQdrsN.js").then((e) => e.n))
	},
	{
		id: "typescript",
		name: "TypeScript",
		aliases: [
			"ts",
			"cts",
			"mts"
		],
		import: (() => import("./typescript-C40nYMtR.js").then((e) => e.n))
	},
	{
		id: "vue",
		name: "Vue",
		import: (() => import("./vue-COUaRKLt.js"))
	},
	{
		id: "vue-html",
		name: "Vue HTML",
		import: (() => import("./vue-html-DjKFzwWo.js"))
	},
	{
		id: "vue-vine",
		name: "Vue Vine",
		import: (() => import("./vue-vine-D0Lpd94a.js"))
	},
	{
		id: "wasm",
		name: "WebAssembly",
		import: (() => import("./wasm-uQLniDRl.js"))
	},
	{
		id: "wgsl",
		name: "WGSL",
		import: (() => import("./wgsl-lyKMcjeX.js"))
	},
	{
		id: "wit",
		name: "WebAssembly Interface Types",
		import: (() => import("./wit-B36IZOt4.js"))
	},
	{
		id: "xml",
		name: "XML",
		import: (() => import("./xml-DL5p3-50.js").then((e) => e.n))
	},
	{
		id: "yaml",
		name: "YAML",
		aliases: ["yml"],
		import: (() => import("./yaml-DXmkPuRD.js"))
	}
], cn = Object.fromEntries(sn.map((e) => [e.id, e.import])), ln = Object.fromEntries(sn.flatMap((e) => e.aliases?.map((t) => [t, e.import]) || [])), un = {
	...cn,
	...ln
}, { codeToHtml: dn, codeToHast: fn, codeToTokensBase: pn, codeToTokens: mn, codeToTokensWithThemes: hn, getSingletonHighlighter: gn, getLastGrammarState: _n } = /* @__PURE__ */ gt(/* @__PURE__ */ mt({
	langs: un,
	themes: on,
	engine: () => (0, an.createOnigurumaEngine)(import("./wasm-BMAmnBgD.js"))
}), { guessEmbeddedLanguages: Le });
//#endregion
//#region ../../node_modules/.bun/react-shiki@0.10.1+c24c3269a5ef484e/node_modules/react-shiki/dist/web.mjs
async function vn(e, t, n) {
	return await gn({
		langs: e.filter((e) => Ct(e, un)),
		themes: t,
		engine: n ?? rn(import("./wasm-BMAmnBgD.js"))
	});
}
var yn = Pt((e, t, n, r = {}) => Nt(e, t, n, r, vn));
//#endregion
export { yn as t };
