@terrazzo/cli 2.0.0-alpha.3 → 2.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import { Readable, Writable } from "node:stream";
|
|
|
25
25
|
import { serve } from "@hono/node-server";
|
|
26
26
|
import mime from "mime";
|
|
27
27
|
import * as momoa from "@humanwhocodes/momoa";
|
|
28
|
-
import { getObjMember, getObjMembers,
|
|
28
|
+
import { getObjMember, getObjMembers, traverse } from "@terrazzo/json-schema-tools";
|
|
29
29
|
|
|
30
30
|
//#region ../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs
|
|
31
31
|
const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
@@ -2413,7 +2413,7 @@ async function normalizeCmd(filename, { logger, output }) {
|
|
|
2413
2413
|
} } }, { cwd }),
|
|
2414
2414
|
logger
|
|
2415
2415
|
});
|
|
2416
|
-
|
|
2416
|
+
traverse(document, { enter(node, _parent, nodePath) {
|
|
2417
2417
|
const token = tokens[nodePath.join(".")];
|
|
2418
2418
|
if (!token || token.aliasOf || node.type !== "Member" || node.value.type !== "Object") return;
|
|
2419
2419
|
const $valueI = node.value.members.findIndex(findMember("$value"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["path","cwd","resolve","dirname","process","path","resolve","dirname","drive","resolve","dirname","colors","createDebug","enable$1","process","setTimeout","parse","C","E","g","A","Q","B","I","w","K","D","o","resolve","path","dirname","esModuleLexer.init","esModuleLexer.parse","process","time","performance","viteServer: ViteDevServer | undefined","config: ConfigInit","configPath: string | undefined","defineConfig","res","DESIGN_SYSTEMS: Record<DesignSystem, { name: string; author: string; tokens: string[] }>","resolve","resolve","defineConfig","hex","version","normalizedConfig: Config","defineConfigCore"],"sources":["../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/utils-ExLpYVUV.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/source-map-DQLD3K8K.mjs","../../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/core.js","../../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/node.js","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/client-CyS7w_FB.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/dist-B2ebky9O.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/constants-DRkacFwN.mjs","../../../node_modules/.pnpm/es-module-lexer@1.7.0/node_modules/es-module-lexer/dist/lexer.js","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/server-BWywEVuB.mjs","../src/shared.ts","../src/build.ts","../src/check.ts","../src/help.ts","../src/init.ts","../src/lab.ts","../src/normalize.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["let _lazyMatch = () => { var __lib__=(()=>{var m=Object.defineProperty,V=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,T=Object.prototype.hasOwnProperty,q=(r,e)=>{for(var n in e)m(r,n,{get:e[n],enumerable:true});},H=(r,e,n,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of G(e))!T.call(r,t)&&t!==n&&m(r,t,{get:()=>e[t],enumerable:!(a=V(e,t))||a.enumerable});return r},J=r=>H(m({},\"__esModule\",{value:true}),r),w={};q(w,{default:()=>re});var A=r=>Array.isArray(r),d=r=>typeof r==\"function\",Q=r=>r.length===0,W=r=>typeof r==\"number\",K=r=>typeof r==\"object\"&&r!==null,X=r=>r instanceof RegExp,b=r=>typeof r==\"string\",h=r=>r===void 0,Y=r=>{const e=new Map;return n=>{const a=e.get(n);if(a)return a;const t=r(n);return e.set(n,t),t}},rr=(r,e,n={})=>{const a={cache:{},input:r,index:0,indexMax:0,options:n,output:[]};if(v(e)(a)&&a.index===r.length)return a.output;throw new Error(`Failed to parse at index ${a.indexMax}`)},i=(r,e)=>A(r)?er(r,e):b(r)?ar(r,e):nr(r,e),er=(r,e)=>{const n={};for(const a of r){if(a.length!==1)throw new Error(`Invalid character: \"${a}\"`);const t=a.charCodeAt(0);n[t]=true;}return a=>{const t=a.index,o=a.input;for(;a.index<o.length&&o.charCodeAt(a.index)in n;)a.index+=1;const u=a.index;if(u>t){if(!h(e)&&!a.options.silent){const s=a.input.slice(t,u),c=d(e)?e(s,o,String(t)):e;h(c)||a.output.push(c);}a.indexMax=Math.max(a.indexMax,a.index);}return true}},nr=(r,e)=>{const n=r.source,a=r.flags.replace(/y|$/,\"y\"),t=new RegExp(n,a);return g(o=>{t.lastIndex=o.index;const u=t.exec(o.input);if(u){if(!h(e)&&!o.options.silent){const s=d(e)?e(...u,o.input,String(o.index)):e;h(s)||o.output.push(s);}return o.index+=u[0].length,o.indexMax=Math.max(o.indexMax,o.index),true}else return false})},ar=(r,e)=>n=>{if(n.input.startsWith(r,n.index)){if(!h(e)&&!n.options.silent){const t=d(e)?e(r,n.input,String(n.index)):e;h(t)||n.output.push(t);}return n.index+=r.length,n.indexMax=Math.max(n.indexMax,n.index),true}else return false},C=(r,e,n,a)=>{const t=v(r);return g(_(M(o=>{let u=0;for(;u<n;){const s=o.index;if(!t(o)||(u+=1,o.index===s))break}return u>=e})))},tr=(r,e)=>C(r,0,1),f=(r,e)=>C(r,0,1/0),x=(r,e)=>{const n=r.map(v);return g(_(M(a=>{for(let t=0,o=n.length;t<o;t++)if(!n[t](a))return false;return true})))},l=(r,e)=>{const n=r.map(v);return g(_(a=>{for(let t=0,o=n.length;t<o;t++)if(n[t](a))return true;return false}))},M=(r,e=false)=>{const n=v(r);return a=>{const t=a.index,o=a.output.length,u=n(a);return (!u||e)&&(a.index=t,a.output.length!==o&&(a.output.length=o)),u}},_=(r,e)=>{const n=v(r);return n},g=(()=>{let r=0;return e=>{const n=v(e),a=r+=1;return t=>{var o;if(t.options.memoization===false)return n(t);const u=t.index,s=(o=t.cache)[a]||(o[a]=new Map),c=s.get(u);if(c===false)return false;if(W(c))return t.index=c,true;if(c)return t.index=c.index,c.output?.length&&t.output.push(...c.output),true;{const Z=t.output.length;if(n(t)){const D=t.index,U=t.output.length;if(U>Z){const ee=t.output.slice(Z,U);s.set(u,{index:D,output:ee});}else s.set(u,D);return true}else return s.set(u,false),false}}}})(),E=r=>{let e;return n=>(e||(e=v(r())),e(n))},v=Y(r=>{if(d(r))return Q(r)?E(r):r;if(b(r)||X(r))return i(r);if(A(r))return x(r);if(K(r))return l(Object.values(r));throw new Error(\"Invalid rule\")}),P=\"abcdefghijklmnopqrstuvwxyz\",ir=r=>{let e=\"\";for(;r>0;){const n=(r-1)%26;e=P[n]+e,r=Math.floor((r-1)/26);}return e},O=r=>{let e=0;for(let n=0,a=r.length;n<a;n++)e=e*26+P.indexOf(r[n])+1;return e},S=(r,e)=>{if(e<r)return S(e,r);const n=[];for(;r<=e;)n.push(r++);return n},or=(r,e,n)=>S(r,e).map(a=>String(a).padStart(n,\"0\")),R=(r,e)=>S(O(r),O(e)).map(ir),p=r=>r,z=r=>ur(e=>rr(e,r,{memoization:false}).join(\"\")),ur=r=>{const e={};return n=>e[n]??(e[n]=r(n))},sr=i(/^\\*\\*\\/\\*$/,\".*\"),cr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]+)$/,(r,e,n)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}`),lr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]*)\\{([ a-zA-Z0-9._-]+(?:,[ a-zA-Z0-9._-]+)*)\\}$/,(r,e,n,a)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}(?:${a.replaceAll(\",\",\"|\").replaceAll(\".\",\"\\\\.\")})`),y=i(/\\\\./,p),pr=i(/[$.*+?^(){}[\\]\\|]/,r=>`\\\\${r}`),vr=i(/./,p),hr=i(/^(?:!!)*!(.*)$/,(r,e)=>`(?!^${L(e)}$).*?`),dr=i(/^(!!)+/,\"\"),fr=l([hr,dr]),xr=i(/\\/(\\*\\*\\/)+/,\"(?:/.+/|/)\"),gr=i(/^(\\*\\*\\/)+/,\"(?:^|.*/)\"),mr=i(/\\/(\\*\\*)$/,\"(?:/.*|$)\"),_r=i(/\\*\\*/,\".*\"),j=l([xr,gr,mr,_r]),Sr=i(/\\*\\/(?!\\*\\*\\/)/,\"[^/]*/\"),yr=i(/\\*/,\"[^/]*\"),N=l([Sr,yr]),k=i(\"?\",\"[^/]\"),$r=i(\"[\",p),wr=i(\"]\",p),Ar=i(/[!^]/,\"^/\"),br=i(/[a-z]-[a-z]|[0-9]-[0-9]/i,p),Cr=i(/[$.*+?^(){}[\\|]/,r=>`\\\\${r}`),Mr=i(/[^\\]]/,p),Er=l([y,Cr,br,Mr]),B=x([$r,tr(Ar),f(Er),wr]),Pr=i(\"{\",\"(?:\"),Or=i(\"}\",\")\"),Rr=i(/(\\d+)\\.\\.(\\d+)/,(r,e,n)=>or(+e,+n,Math.min(e.length,n.length)).join(\"|\")),zr=i(/([a-z]+)\\.\\.([a-z]+)/,(r,e,n)=>R(e,n).join(\"|\")),jr=i(/([A-Z]+)\\.\\.([A-Z]+)/,(r,e,n)=>R(e.toLowerCase(),n.toLowerCase()).join(\"|\").toUpperCase()),Nr=l([Rr,zr,jr]),I=x([Pr,Nr,Or]),kr=i(\"{\",\"(?:\"),Br=i(\"}\",\")\"),Ir=i(\",\",\"|\"),Fr=i(/[$.*+?^(){[\\]\\|]/,r=>`\\\\${r}`),Lr=i(/[^}]/,p),Zr=E(()=>F),Dr=l([j,N,k,B,I,Zr,y,Fr,Ir,Lr]),F=x([kr,f(Dr),Br]),Ur=f(l([sr,cr,lr,fr,j,N,k,B,I,F,y,pr,vr])),Vr=Ur,Gr=z(Vr),L=Gr,Tr=i(/\\\\./,p),qr=i(/./,p),Hr=i(/\\*\\*\\*+/,\"*\"),Jr=i(/([^/{[(!])\\*\\*/,(r,e)=>`${e}*`),Qr=i(/(^|.)\\*\\*(?=[^*/)\\]}])/,(r,e)=>`${e}*`),Wr=f(l([Tr,Hr,Jr,Qr,qr])),Kr=Wr,Xr=z(Kr),Yr=Xr,$=(r,e)=>{const n=Array.isArray(r)?r:[r];if(!n.length)return false;const a=n.map($.compile),t=n.every(s=>/(\\/(?:\\*\\*)?|\\[\\/\\])$/.test(s)),o=e.replace(/[\\\\\\/]+/g,\"/\").replace(/\\/$/,t?\"/\":\"\");return a.some(s=>s.test(o))};$.compile=r=>new RegExp(`^${L(Yr(r))}$`,\"s\");var re=$;return J(w)})();\n return __lib__.default || __lib__; };\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n if (!input) {\n return input;\n }\n return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n}\n\nconst _UNC_REGEX = /^[/\\\\]{2}/;\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nconst _DRIVE_LETTER_RE = /^[A-Za-z]:$/;\nconst _ROOT_FOLDER_RE = /^\\/([A-Za-z]:)?$/;\nconst _EXTNAME_RE = /.(\\.[^./]+|\\.)$/;\nconst _PATH_ROOT_RE = /^[/\\\\]|^[a-zA-Z]:[/\\\\]/;\nconst sep = \"/\";\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = path.match(_UNC_REGEX);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path[path.length - 1] === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (_DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = function(...segments) {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nfunction cwd() {\n if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n return process.cwd().replace(/\\\\/g, \"/\");\n }\n return \"/\";\n}\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n let res = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char = null;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (res.length > 0) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) {\n res += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n res = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\nconst isAbsolute = function(p) {\n return _IS_ABSOLUTE_RE.test(p);\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n if (p === \"..\") return \"\";\n const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match && match[1] || \"\";\n};\nconst relative = function(from, to) {\n const _from = resolve(from).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const _to = resolve(to).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (_to[0][1] === \":\" && _from[0][1] === \":\" && _from[0] !== _to[0]) {\n return _to.join(\"/\");\n }\n const _fromCopy = [..._from];\n for (const segment of _fromCopy) {\n if (_to[0] !== segment) {\n break;\n }\n _from.shift();\n _to.shift();\n }\n return [..._from.map(() => \"..\"), ..._to].join(\"/\");\n};\nconst dirname = function(p) {\n const segments = normalizeWindowsPath(p).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(p) ? \"/\" : \".\");\n};\nconst format = function(p) {\n const ext = p.ext ? p.ext.startsWith(\".\") ? p.ext : `.${p.ext}` : \"\";\n const segments = [p.root, p.dir, p.base ?? (p.name ?? \"\") + ext].filter(\n Boolean\n );\n return normalizeWindowsPath(\n p.root ? resolve(...segments) : segments.join(\"/\")\n );\n};\nconst basename = function(p, extension) {\n const segments = normalizeWindowsPath(p).split(\"/\");\n let lastSegment = \"\";\n for (let i = segments.length - 1; i >= 0; i--) {\n const val = segments[i];\n if (val) {\n lastSegment = val;\n break;\n }\n }\n return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;\n};\nconst parse = function(p) {\n const root = _PATH_ROOT_RE.exec(p)?.[0]?.replace(/\\\\/g, \"/\") || \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n root,\n dir: dirname(p),\n base,\n ext: extension,\n name: base.slice(0, base.length - extension.length)\n };\n};\nconst matchesGlob = (path, pattern) => {\n return zeptomatch(pattern, normalize(path));\n};\n\nconst _path = {\n __proto__: null,\n basename: basename,\n dirname: dirname,\n extname: extname,\n format: format,\n isAbsolute: isAbsolute,\n join: join,\n matchesGlob: matchesGlob,\n normalize: normalize,\n normalizeString: normalizeString,\n parse: parse,\n relative: relative,\n resolve: resolve,\n sep: sep,\n toNamespacedPath: toNamespacedPath\n};\n\nexport { _path as _, normalizeString as a, relative as b, basename as c, dirname as d, extname as e, format as f, normalizeWindowsPath as g, isAbsolute as i, join as j, matchesGlob as m, normalize as n, parse as p, resolve as r, sep as s, toNamespacedPath as t };\n","import { builtinModules } from \"node:module\";\nimport { existsSync, promises } from \"node:fs\";\nimport process from \"node:process\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { dirname, join, resolve } from \"pathe\";\n\n//#region src/utils.ts\nconst isWindows = process.platform === \"win32\";\nconst drive = isWindows ? process.cwd()[0] : null;\nconst driveOpposite = drive ? drive === drive.toUpperCase() ? drive.toLowerCase() : drive.toUpperCase() : null;\nconst driveRegexp = drive ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${drive}(\\:[\\\\/])`) : null;\nconst driveOppositeRegext = driveOpposite ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${driveOpposite}(\\:[\\\\/])`) : null;\nfunction slash(str) {\n\treturn str.replace(/\\\\/g, \"/\");\n}\nconst bareImportRE = /^(?![a-z]:)[\\w@](?!.*:\\/\\/)/i;\nfunction isBareImport(id) {\n\treturn bareImportRE.test(id);\n}\nconst VALID_ID_PREFIX = \"/@id/\";\nfunction normalizeRequestId(id, base) {\n\tif (base && id.startsWith(withTrailingSlash(base))) id = `/${id.slice(base.length)}`;\n\tif (driveRegexp && !driveRegexp?.test(id) && driveOppositeRegext?.test(id)) id = id.replace(driveOppositeRegext, `${drive}$1`);\n\tif (id.startsWith(\"file://\")) {\n\t\tconst { file, postfix } = splitFileAndPostfix(id);\n\t\treturn fileURLToPath(file) + postfix;\n\t}\n\treturn id.replace(/^\\/@id\\/__x00__/, \"\\0\").replace(/^\\/@id\\//, \"\").replace(/^__vite-browser-external:/, \"\").replace(/\\?v=\\w+/, \"?\").replace(/&v=\\w+/, \"\").replace(/\\?t=\\w+/, \"?\").replace(/&t=\\w+/, \"\").replace(/\\?import/, \"?\").replace(/&import/, \"\").replace(/\\?&/, \"?\").replace(/\\?+$/, \"\");\n}\nconst postfixRE = /[?#].*$/;\nfunction cleanUrl(url) {\n\treturn url.replace(postfixRE, \"\");\n}\nfunction splitFileAndPostfix(path) {\n\tconst file = cleanUrl(path);\n\treturn {\n\t\tfile,\n\t\tpostfix: path.slice(file.length)\n\t};\n}\nconst internalRequestRegexp = /* @__PURE__ */ new RegExp(`^/?(?:${[\"@vite/client\", \"@vite/env\"].join(\"|\")})$`);\nfunction isInternalRequest(id) {\n\treturn internalRequestRegexp.test(id);\n}\nconst prefixedBuiltins = new Set([\n\t\"node:sea\",\n\t\"node:sqlite\",\n\t\"node:test\",\n\t\"node:test/reporters\"\n]);\nconst builtins = new Set([\n\t...builtinModules,\n\t\"assert/strict\",\n\t\"diagnostics_channel\",\n\t\"dns/promises\",\n\t\"fs/promises\",\n\t\"path/posix\",\n\t\"path/win32\",\n\t\"readline/promises\",\n\t\"stream/consumers\",\n\t\"stream/promises\",\n\t\"stream/web\",\n\t\"timers/promises\",\n\t\"util/types\",\n\t\"wasi\"\n]);\nfunction normalizeModuleId(id) {\n\tif (prefixedBuiltins.has(id)) return id;\n\tif (id.startsWith(\"file://\")) return fileURLToPath(id);\n\treturn id.replace(/\\\\/g, \"/\").replace(/^\\/@fs\\//, isWindows ? \"\" : \"/\").replace(/^node:/, \"\").replace(/^\\/+/, \"/\");\n}\nfunction isPrimitive(v) {\n\treturn v !== Object(v);\n}\nfunction toFilePath(id, root) {\n\tlet { absolute, exists } = (() => {\n\t\tif (id.startsWith(\"/@fs/\")) return {\n\t\t\tabsolute: id.slice(4),\n\t\t\texists: true\n\t\t};\n\t\tif (!id.startsWith(withTrailingSlash(root)) && id.startsWith(\"/\")) {\n\t\t\tconst resolved = resolve(root, id.slice(1));\n\t\t\tif (existsSync(cleanUrl(resolved))) return {\n\t\t\t\tabsolute: resolved,\n\t\t\t\texists: true\n\t\t\t};\n\t\t} else if (id.startsWith(withTrailingSlash(root)) && existsSync(cleanUrl(id))) return {\n\t\t\tabsolute: id,\n\t\t\texists: true\n\t\t};\n\t\treturn {\n\t\t\tabsolute: id,\n\t\t\texists: false\n\t\t};\n\t})();\n\tif (absolute.startsWith(\"//\")) absolute = absolute.slice(1);\n\treturn {\n\t\tpath: isWindows && absolute.startsWith(\"/\") ? slash(fileURLToPath(pathToFileURL(absolute.slice(1)).href)) : absolute,\n\t\texists\n\t};\n}\nconst NODE_BUILTIN_NAMESPACE = \"node:\";\nfunction isNodeBuiltin(id) {\n\tif (prefixedBuiltins.has(id)) return true;\n\treturn builtins.has(id.startsWith(NODE_BUILTIN_NAMESPACE) ? id.slice(5) : id);\n}\n/**\n* Convert `Arrayable<T>` to `Array<T>`\n*\n* @category Array\n*/\nfunction toArray(array) {\n\tif (array === null || array === void 0) array = [];\n\tif (Array.isArray(array)) return array;\n\treturn [array];\n}\nfunction getCachedData(cache, basedir, originalBasedir) {\n\tconst pkgData = cache.get(getFnpdCacheKey(basedir));\n\tif (pkgData) {\n\t\ttraverseBetweenDirs(originalBasedir, basedir, (dir) => {\n\t\t\tcache.set(getFnpdCacheKey(dir), pkgData);\n\t\t});\n\t\treturn pkgData;\n\t}\n}\nfunction setCacheData(cache, data, basedir, originalBasedir) {\n\tcache.set(getFnpdCacheKey(basedir), data);\n\ttraverseBetweenDirs(originalBasedir, basedir, (dir) => {\n\t\tcache.set(getFnpdCacheKey(dir), data);\n\t});\n}\nfunction getFnpdCacheKey(basedir) {\n\treturn `fnpd_${basedir}`;\n}\n/**\n* Traverse between `longerDir` (inclusive) and `shorterDir` (exclusive) and call `cb` for each dir.\n* @param longerDir Longer dir path, e.g. `/User/foo/bar/baz`\n* @param shorterDir Shorter dir path, e.g. `/User/foo`\n*/\nfunction traverseBetweenDirs(longerDir, shorterDir, cb) {\n\twhile (longerDir !== shorterDir) {\n\t\tcb(longerDir);\n\t\tlongerDir = dirname(longerDir);\n\t}\n}\nfunction withTrailingSlash(path) {\n\tif (path[path.length - 1] !== \"/\") return `${path}/`;\n\treturn path;\n}\nfunction createImportMetaEnvProxy() {\n\tconst booleanKeys = [\n\t\t\"DEV\",\n\t\t\"PROD\",\n\t\t\"SSR\"\n\t];\n\treturn new Proxy(process.env, {\n\t\tget(_, key) {\n\t\t\tif (typeof key !== \"string\") return;\n\t\t\tif (booleanKeys.includes(key)) return !!process.env[key];\n\t\t\treturn process.env[key];\n\t\t},\n\t\tset(_, key, value) {\n\t\t\tif (typeof key !== \"string\") return true;\n\t\t\tif (booleanKeys.includes(key)) process.env[key] = value ? \"1\" : \"\";\n\t\t\telse process.env[key] = value;\n\t\t\treturn true;\n\t\t}\n\t});\n}\nconst packageCache = /* @__PURE__ */ new Map();\nasync function findNearestPackageData(basedir) {\n\tconst originalBasedir = basedir;\n\twhile (basedir) {\n\t\tconst cached = getCachedData(packageCache, basedir, originalBasedir);\n\t\tif (cached) return cached;\n\t\tconst pkgPath = join(basedir, \"package.json\");\n\t\tif ((await promises.stat(pkgPath).catch(() => {}))?.isFile()) {\n\t\t\tconst pkgData = JSON.parse(await promises.readFile(pkgPath, \"utf8\"));\n\t\t\tif (packageCache) setCacheData(packageCache, pkgData, basedir, originalBasedir);\n\t\t\treturn pkgData;\n\t\t}\n\t\tconst nextBasedir = dirname(basedir);\n\t\tif (nextBasedir === basedir) break;\n\t\tbasedir = nextBasedir;\n\t}\n\treturn {};\n}\n\n//#endregion\nexport { withTrailingSlash as _, getCachedData as a, isNodeBuiltin as c, normalizeModuleId as d, normalizeRequestId as f, toFilePath as g, toArray as h, findNearestPackageData as i, isPrimitive as l, slash as m, cleanUrl as n, isBareImport as o, setCacheData as p, createImportMetaEnvProxy as r, isInternalRequest as s, VALID_ID_PREFIX as t, isWindows as u };","import { _ as withTrailingSlash } from \"./utils-ExLpYVUV.mjs\";\nimport fs from \"node:fs\";\nimport process from \"node:process\";\nimport { dirname, isAbsolute, relative, resolve } from \"pathe\";\nimport { Buffer as Buffer$1 } from \"node:buffer\";\nimport path from \"node:path\";\n\n//#region node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n\tconst c = chars.charCodeAt(i);\n\tintToChar[i] = c;\n\tcharToInt[c] = i;\n}\nfunction decodeInteger(reader, relative$1) {\n\tlet value = 0;\n\tlet shift = 0;\n\tlet integer = 0;\n\tdo {\n\t\tinteger = charToInt[reader.next()];\n\t\tvalue |= (integer & 31) << shift;\n\t\tshift += 5;\n\t} while (integer & 32);\n\tconst shouldNegate = value & 1;\n\tvalue >>>= 1;\n\tif (shouldNegate) value = -2147483648 | -value;\n\treturn relative$1 + value;\n}\nfunction hasMoreVlq(reader, max) {\n\tif (reader.pos >= max) return false;\n\treturn reader.peek() !== comma;\n}\nvar bufLength = 1024 * 16;\nvar StringReader = class {\n\tconstructor(buffer) {\n\t\tthis.pos = 0;\n\t\tthis.buffer = buffer;\n\t}\n\tnext() {\n\t\treturn this.buffer.charCodeAt(this.pos++);\n\t}\n\tpeek() {\n\t\treturn this.buffer.charCodeAt(this.pos);\n\t}\n\tindexOf(char) {\n\t\tconst { buffer, pos } = this;\n\t\tconst idx = buffer.indexOf(char, pos);\n\t\treturn idx === -1 ? buffer.length : idx;\n\t}\n};\nfunction decode(mappings) {\n\tconst { length } = mappings;\n\tconst reader = new StringReader(mappings);\n\tconst decoded = [];\n\tlet genColumn = 0;\n\tlet sourcesIndex = 0;\n\tlet sourceLine = 0;\n\tlet sourceColumn = 0;\n\tlet namesIndex = 0;\n\tdo {\n\t\tconst semi = reader.indexOf(\";\");\n\t\tconst line = [];\n\t\tlet sorted = true;\n\t\tlet lastCol = 0;\n\t\tgenColumn = 0;\n\t\twhile (reader.pos < semi) {\n\t\t\tlet seg;\n\t\t\tgenColumn = decodeInteger(reader, genColumn);\n\t\t\tif (genColumn < lastCol) sorted = false;\n\t\t\tlastCol = genColumn;\n\t\t\tif (hasMoreVlq(reader, semi)) {\n\t\t\t\tsourcesIndex = decodeInteger(reader, sourcesIndex);\n\t\t\t\tsourceLine = decodeInteger(reader, sourceLine);\n\t\t\t\tsourceColumn = decodeInteger(reader, sourceColumn);\n\t\t\t\tif (hasMoreVlq(reader, semi)) {\n\t\t\t\t\tnamesIndex = decodeInteger(reader, namesIndex);\n\t\t\t\t\tseg = [\n\t\t\t\t\t\tgenColumn,\n\t\t\t\t\t\tsourcesIndex,\n\t\t\t\t\t\tsourceLine,\n\t\t\t\t\t\tsourceColumn,\n\t\t\t\t\t\tnamesIndex\n\t\t\t\t\t];\n\t\t\t\t} else seg = [\n\t\t\t\t\tgenColumn,\n\t\t\t\t\tsourcesIndex,\n\t\t\t\t\tsourceLine,\n\t\t\t\t\tsourceColumn\n\t\t\t\t];\n\t\t\t} else seg = [genColumn];\n\t\t\tline.push(seg);\n\t\t\treader.pos++;\n\t\t}\n\t\tif (!sorted) sort(line);\n\t\tdecoded.push(line);\n\t\treader.pos = semi + 1;\n\t} while (reader.pos <= length);\n\treturn decoded;\n}\nfunction sort(line) {\n\tline.sort(sortComparator$1);\n}\nfunction sortComparator$1(a, b) {\n\treturn a[0] - b[0];\n}\n\n//#endregion\n//#region node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n/**\n* Matches the parts of a URL:\n* 1. Scheme, including \":\", guaranteed.\n* 2. User/password, including \"@\", optional.\n* 3. Host, guaranteed.\n* 4. Port, including \":\", optional.\n* 5. Path, including \"/\", optional.\n* 6. Query, including \"?\", optional.\n* 7. Hash, including \"#\", optional.\n*/\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n/**\n* File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n* with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n*\n* 1. Host, optional.\n* 2. Path, which may include \"/\", guaranteed.\n* 3. Query, including \"?\", optional.\n* 4. Hash, including \"#\", optional.\n*/\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\nfunction isAbsoluteUrl(input) {\n\treturn schemeRegex.test(input);\n}\nfunction isSchemeRelativeUrl(input) {\n\treturn input.startsWith(\"//\");\n}\nfunction isAbsolutePath(input) {\n\treturn input.startsWith(\"/\");\n}\nfunction isFileUrl(input) {\n\treturn input.startsWith(\"file:\");\n}\nfunction isRelative(input) {\n\treturn /^[.?#]/.test(input);\n}\nfunction parseAbsoluteUrl(input) {\n\tconst match = urlRegex.exec(input);\n\treturn makeUrl(match[1], match[2] || \"\", match[3], match[4] || \"\", match[5] || \"/\", match[6] || \"\", match[7] || \"\");\n}\nfunction parseFileUrl(input) {\n\tconst match = fileRegex.exec(input);\n\tconst path$1 = match[2];\n\treturn makeUrl(\"file:\", \"\", match[1] || \"\", \"\", isAbsolutePath(path$1) ? path$1 : \"/\" + path$1, match[3] || \"\", match[4] || \"\");\n}\nfunction makeUrl(scheme, user, host, port, path$1, query, hash) {\n\treturn {\n\t\tscheme,\n\t\tuser,\n\t\thost,\n\t\tport,\n\t\tpath: path$1,\n\t\tquery,\n\t\thash,\n\t\ttype: 7\n\t};\n}\nfunction parseUrl(input) {\n\tif (isSchemeRelativeUrl(input)) {\n\t\tconst url$1 = parseAbsoluteUrl(\"http:\" + input);\n\t\turl$1.scheme = \"\";\n\t\turl$1.type = 6;\n\t\treturn url$1;\n\t}\n\tif (isAbsolutePath(input)) {\n\t\tconst url$1 = parseAbsoluteUrl(\"http://foo.com\" + input);\n\t\turl$1.scheme = \"\";\n\t\turl$1.host = \"\";\n\t\turl$1.type = 5;\n\t\treturn url$1;\n\t}\n\tif (isFileUrl(input)) return parseFileUrl(input);\n\tif (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\tconst url = parseAbsoluteUrl(\"http://foo.com/\" + input);\n\turl.scheme = \"\";\n\turl.host = \"\";\n\turl.type = input ? input.startsWith(\"?\") ? 3 : input.startsWith(\"#\") ? 2 : 4 : 1;\n\treturn url;\n}\nfunction stripPathFilename(path$1) {\n\tif (path$1.endsWith(\"/..\")) return path$1;\n\tconst index = path$1.lastIndexOf(\"/\");\n\treturn path$1.slice(0, index + 1);\n}\nfunction mergePaths(url, base) {\n\tnormalizePath(base, base.type);\n\tif (url.path === \"/\") url.path = base.path;\n\telse url.path = stripPathFilename(base.path) + url.path;\n}\n/**\n* The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n* \"foo/.\". We need to normalize to a standard representation.\n*/\nfunction normalizePath(url, type) {\n\tconst rel = type <= 4;\n\tconst pieces = url.path.split(\"/\");\n\tlet pointer = 1;\n\tlet positive = 0;\n\tlet addTrailingSlash = false;\n\tfor (let i = 1; i < pieces.length; i++) {\n\t\tconst piece = pieces[i];\n\t\tif (!piece) {\n\t\t\taddTrailingSlash = true;\n\t\t\tcontinue;\n\t\t}\n\t\taddTrailingSlash = false;\n\t\tif (piece === \".\") continue;\n\t\tif (piece === \"..\") {\n\t\t\tif (positive) {\n\t\t\t\taddTrailingSlash = true;\n\t\t\t\tpositive--;\n\t\t\t\tpointer--;\n\t\t\t} else if (rel) pieces[pointer++] = piece;\n\t\t\tcontinue;\n\t\t}\n\t\tpieces[pointer++] = piece;\n\t\tpositive++;\n\t}\n\tlet path$1 = \"\";\n\tfor (let i = 1; i < pointer; i++) path$1 += \"/\" + pieces[i];\n\tif (!path$1 || addTrailingSlash && !path$1.endsWith(\"/..\")) path$1 += \"/\";\n\turl.path = path$1;\n}\n/**\n* Attempts to resolve `input` URL/path relative to `base`.\n*/\nfunction resolve$2(input, base) {\n\tif (!input && !base) return \"\";\n\tconst url = parseUrl(input);\n\tlet inputType = url.type;\n\tif (base && inputType !== 7) {\n\t\tconst baseUrl = parseUrl(base);\n\t\tconst baseType = baseUrl.type;\n\t\tswitch (inputType) {\n\t\t\tcase 1: url.hash = baseUrl.hash;\n\t\t\tcase 2: url.query = baseUrl.query;\n\t\t\tcase 3:\n\t\t\tcase 4: mergePaths(url, baseUrl);\n\t\t\tcase 5:\n\t\t\t\turl.user = baseUrl.user;\n\t\t\t\turl.host = baseUrl.host;\n\t\t\t\turl.port = baseUrl.port;\n\t\t\tcase 6: url.scheme = baseUrl.scheme;\n\t\t}\n\t\tif (baseType > inputType) inputType = baseType;\n\t}\n\tnormalizePath(url, inputType);\n\tconst queryHash = url.query + url.hash;\n\tswitch (inputType) {\n\t\tcase 2:\n\t\tcase 3: return queryHash;\n\t\tcase 4: {\n\t\t\tconst path$1 = url.path.slice(1);\n\t\t\tif (!path$1) return queryHash || \".\";\n\t\t\tif (isRelative(base || input) && !isRelative(path$1)) return \"./\" + path$1 + queryHash;\n\t\t\treturn path$1 + queryHash;\n\t\t}\n\t\tcase 5: return url.path + queryHash;\n\t\tdefault: return url.scheme + \"//\" + url.user + url.host + url.port + url.path + queryHash;\n\t}\n}\n\n//#endregion\n//#region node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs\nfunction stripFilename(path$1) {\n\tif (!path$1) return \"\";\n\tconst index = path$1.lastIndexOf(\"/\");\n\treturn path$1.slice(0, index + 1);\n}\nfunction resolver(mapUrl, sourceRoot) {\n\tconst from = stripFilename(mapUrl);\n\tconst prefix = sourceRoot ? sourceRoot + \"/\" : \"\";\n\treturn (source) => resolve$2(prefix + (source || \"\"), from);\n}\nvar COLUMN = 0;\nvar SOURCES_INDEX = 1;\nvar SOURCE_LINE = 2;\nvar SOURCE_COLUMN = 3;\nvar NAMES_INDEX = 4;\nfunction maybeSort(mappings, owned) {\n\tconst unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n\tif (unsortedIndex === mappings.length) return mappings;\n\tif (!owned) mappings = mappings.slice();\n\tfor (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) mappings[i] = sortSegments(mappings[i], owned);\n\treturn mappings;\n}\nfunction nextUnsortedSegmentLine(mappings, start) {\n\tfor (let i = start; i < mappings.length; i++) if (!isSorted(mappings[i])) return i;\n\treturn mappings.length;\n}\nfunction isSorted(line) {\n\tfor (let j = 1; j < line.length; j++) if (line[j][COLUMN] < line[j - 1][COLUMN]) return false;\n\treturn true;\n}\nfunction sortSegments(line, owned) {\n\tif (!owned) line = line.slice();\n\treturn line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n\treturn a[COLUMN] - b[COLUMN];\n}\nvar found = false;\nfunction binarySearch(haystack, needle, low, high) {\n\twhile (low <= high) {\n\t\tconst mid = low + (high - low >> 1);\n\t\tconst cmp = haystack[mid][COLUMN] - needle;\n\t\tif (cmp === 0) {\n\t\t\tfound = true;\n\t\t\treturn mid;\n\t\t}\n\t\tif (cmp < 0) low = mid + 1;\n\t\telse high = mid - 1;\n\t}\n\tfound = false;\n\treturn low - 1;\n}\nfunction upperBound(haystack, needle, index) {\n\tfor (let i = index + 1; i < haystack.length; index = i++) if (haystack[i][COLUMN] !== needle) break;\n\treturn index;\n}\nfunction lowerBound(haystack, needle, index) {\n\tfor (let i = index - 1; i >= 0; index = i--) if (haystack[i][COLUMN] !== needle) break;\n\treturn index;\n}\nfunction memoizedState() {\n\treturn {\n\t\tlastKey: -1,\n\t\tlastNeedle: -1,\n\t\tlastIndex: -1\n\t};\n}\nfunction memoizedBinarySearch(haystack, needle, state, key) {\n\tconst { lastKey, lastNeedle, lastIndex } = state;\n\tlet low = 0;\n\tlet high = haystack.length - 1;\n\tif (key === lastKey) {\n\t\tif (needle === lastNeedle) {\n\t\t\tfound = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n\t\t\treturn lastIndex;\n\t\t}\n\t\tif (needle >= lastNeedle) low = lastIndex === -1 ? 0 : lastIndex;\n\t\telse high = lastIndex;\n\t}\n\tstate.lastKey = key;\n\tstate.lastNeedle = needle;\n\treturn state.lastIndex = binarySearch(haystack, needle, low, high);\n}\nfunction parse(map) {\n\treturn typeof map === \"string\" ? JSON.parse(map) : map;\n}\nvar LINE_GTR_ZERO = \"`line` must be greater than 0 (lines start at line 1)\";\nvar COL_GTR_EQ_ZERO = \"`column` must be greater than or equal to 0 (columns start at column 0)\";\nvar LEAST_UPPER_BOUND = -1;\nvar GREATEST_LOWER_BOUND = 1;\nvar TraceMap = class {\n\tconstructor(map, mapUrl) {\n\t\tconst isString = typeof map === \"string\";\n\t\tif (!isString && map._decodedMemo) return map;\n\t\tconst parsed = parse(map);\n\t\tconst { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n\t\tthis.version = version;\n\t\tthis.file = file;\n\t\tthis.names = names || [];\n\t\tthis.sourceRoot = sourceRoot;\n\t\tthis.sources = sources;\n\t\tthis.sourcesContent = sourcesContent;\n\t\tthis.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || void 0;\n\t\tconst resolve$3 = resolver(mapUrl, sourceRoot);\n\t\tthis.resolvedSources = sources.map(resolve$3);\n\t\tconst { mappings } = parsed;\n\t\tif (typeof mappings === \"string\") {\n\t\t\tthis._encoded = mappings;\n\t\t\tthis._decoded = void 0;\n\t\t} else if (Array.isArray(mappings)) {\n\t\t\tthis._encoded = void 0;\n\t\t\tthis._decoded = maybeSort(mappings, isString);\n\t\t} else if (parsed.sections) throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);\n\t\telse throw new Error(`invalid source map: ${JSON.stringify(parsed)}`);\n\t\tthis._decodedMemo = memoizedState();\n\t\tthis._bySources = void 0;\n\t\tthis._bySourceMemos = void 0;\n\t}\n};\nfunction cast(map) {\n\treturn map;\n}\nfunction decodedMappings(map) {\n\tvar _a;\n\treturn (_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded));\n}\nfunction originalPositionFor(map, needle) {\n\tlet { line, column, bias } = needle;\n\tline--;\n\tif (line < 0) throw new Error(LINE_GTR_ZERO);\n\tif (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\tconst decoded = decodedMappings(map);\n\tif (line >= decoded.length) return OMapping(null, null, null, null);\n\tconst segments = decoded[line];\n\tconst index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);\n\tif (index === -1) return OMapping(null, null, null, null);\n\tconst segment = segments[index];\n\tif (segment.length === 1) return OMapping(null, null, null, null);\n\tconst { names, resolvedSources } = map;\n\treturn OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);\n}\nfunction OMapping(source, line, column, name) {\n\treturn {\n\t\tsource,\n\t\tline,\n\t\tcolumn,\n\t\tname\n\t};\n}\nfunction traceSegmentInternal(segments, memo, line, column, bias) {\n\tlet index = memoizedBinarySearch(segments, column, memo, line);\n\tif (found) index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n\telse if (bias === LEAST_UPPER_BOUND) index++;\n\tif (index === -1 || index === segments.length) return -1;\n\treturn index;\n}\n\n//#endregion\n//#region src/source-map-handler.ts\nlet errorFormatterInstalled = false;\nconst fileContentsCache = {};\nconst sourceMapCache = {};\nconst reSourceMap = /^data:application\\/json[^,]+base64,/;\nlet retrieveFileHandlers = [];\nlet retrieveMapHandlers = [];\nfunction globalProcessVersion() {\n\tif (typeof process === \"object\" && process !== null) return process.version;\n\telse return \"\";\n}\nfunction handlerExec(list) {\n\treturn function(arg) {\n\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\tconst ret = list[i](arg);\n\t\t\tif (ret) return ret;\n\t\t}\n\t\treturn null;\n\t};\n}\nlet retrieveFile = handlerExec(retrieveFileHandlers);\nretrieveFileHandlers.push((path$1) => {\n\tpath$1 = path$1.trim();\n\tif (path$1.startsWith(\"file:\")) path$1 = path$1.replace(/file:\\/\\/\\/(\\w:)?/, (protocol, drive) => {\n\t\treturn drive ? \"\" : \"/\";\n\t});\n\tif (path$1 in fileContentsCache) return fileContentsCache[path$1];\n\tlet contents = \"\";\n\ttry {\n\t\tif (fs.existsSync(path$1)) contents = fs.readFileSync(path$1, \"utf8\");\n\t} catch {}\n\treturn fileContentsCache[path$1] = contents;\n});\nfunction supportRelativeURL(file, url) {\n\tif (!file) return url;\n\tconst dir = path.dirname(file);\n\tconst match = /^\\w+:\\/\\/[^/]*/.exec(dir);\n\tlet protocol = match ? match[0] : \"\";\n\tconst startPath = dir.slice(protocol.length);\n\tif (protocol && /^\\/\\w:/.test(startPath)) {\n\t\tprotocol += \"/\";\n\t\treturn protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\\\/g, \"/\");\n\t}\n\treturn protocol + path.resolve(dir.slice(protocol.length), url);\n}\nfunction retrieveSourceMapURL(source) {\n\tconst fileData = retrieveFile(source);\n\tif (!fileData) return null;\n\tconst re = /\\/\\/[@#]\\s*sourceMappingURL=([^\\s'\"]+)\\s*$|\\/\\*[@#]\\s*sourceMappingURL=[^\\s*'\"]+\\s*\\*\\/\\s*$/gm;\n\tlet lastMatch, match;\n\twhile (match = re.exec(fileData)) lastMatch = match;\n\tif (!lastMatch) return null;\n\treturn lastMatch[1];\n}\nlet retrieveSourceMap = handlerExec(retrieveMapHandlers);\nretrieveMapHandlers.push((source) => {\n\tlet sourceMappingURL = retrieveSourceMapURL(source);\n\tif (!sourceMappingURL) return null;\n\tlet sourceMapData;\n\tif (reSourceMap.test(sourceMappingURL)) {\n\t\tconst rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(\",\") + 1);\n\t\tsourceMapData = Buffer$1.from(rawData, \"base64\").toString();\n\t\tsourceMappingURL = source;\n\t} else {\n\t\tsourceMappingURL = supportRelativeURL(source, sourceMappingURL);\n\t\tsourceMapData = retrieveFile(sourceMappingURL);\n\t}\n\tif (!sourceMapData) return null;\n\treturn {\n\t\turl: sourceMappingURL,\n\t\tmap: sourceMapData\n\t};\n});\nfunction mapSourcePosition(position) {\n\tif (!position.source) return position;\n\tlet sourceMap = sourceMapCache[position.source];\n\tif (!sourceMap) {\n\t\tconst urlAndMap = retrieveSourceMap(position.source);\n\t\tconst map = urlAndMap && urlAndMap.map;\n\t\tif (map && !(typeof map === \"object\" && \"mappings\" in map && map.mappings === \"\")) {\n\t\t\tsourceMap = sourceMapCache[position.source] = {\n\t\t\t\turl: urlAndMap.url,\n\t\t\t\tmap: new TraceMap(map)\n\t\t\t};\n\t\t\tif (sourceMap.map?.sourcesContent) sourceMap.map.sources.forEach((source, i) => {\n\t\t\t\tconst contents = sourceMap.map?.sourcesContent?.[i];\n\t\t\t\tif (contents && source && sourceMap.url) {\n\t\t\t\t\tconst url = supportRelativeURL(sourceMap.url, source);\n\t\t\t\t\tfileContentsCache[url] = contents;\n\t\t\t\t}\n\t\t\t});\n\t\t} else sourceMap = sourceMapCache[position.source] = {\n\t\t\turl: null,\n\t\t\tmap: null\n\t\t};\n\t}\n\tif (sourceMap && sourceMap.map && sourceMap.url) {\n\t\tconst originalPosition = originalPositionFor(sourceMap.map, position);\n\t\tif (originalPosition.source !== null) {\n\t\t\toriginalPosition.source = supportRelativeURL(sourceMap.url, originalPosition.source);\n\t\t\treturn originalPosition;\n\t\t}\n\t}\n\treturn position;\n}\nfunction mapEvalOrigin(origin) {\n\tlet match = /^eval at ([^(]+) \\((.+):(\\d+):(\\d+)\\)$/.exec(origin);\n\tif (match) {\n\t\tconst position = mapSourcePosition({\n\t\t\tname: null,\n\t\t\tsource: match[2],\n\t\t\tline: +match[3],\n\t\t\tcolumn: +match[4] - 1\n\t\t});\n\t\treturn `eval at ${match[1]} (${position.source}:${position.line}:${position.column + 1})`;\n\t}\n\tmatch = /^eval at ([^(]+) \\((.+)\\)$/.exec(origin);\n\tif (match) return `eval at ${match[1]} (${mapEvalOrigin(match[2])})`;\n\treturn origin;\n}\nfunction CallSiteToString() {\n\tlet fileName;\n\tlet fileLocation = \"\";\n\tif (this.isNative()) fileLocation = \"native\";\n\telse {\n\t\tfileName = this.getScriptNameOrSourceURL();\n\t\tif (!fileName && this.isEval()) {\n\t\t\tfileLocation = this.getEvalOrigin();\n\t\t\tfileLocation += \", \";\n\t\t}\n\t\tif (fileName) fileLocation += fileName;\n\t\telse fileLocation += \"<anonymous>\";\n\t\tconst lineNumber = this.getLineNumber();\n\t\tif (lineNumber != null) {\n\t\t\tfileLocation += `:${lineNumber}`;\n\t\t\tconst columnNumber = this.getColumnNumber();\n\t\t\tif (columnNumber) fileLocation += `:${columnNumber}`;\n\t\t}\n\t}\n\tlet line = \"\";\n\tconst functionName = this.getFunctionName();\n\tlet addSuffix = true;\n\tconst isConstructor = this.isConstructor();\n\tif (!(this.isToplevel() || isConstructor)) {\n\t\tlet typeName = this.getTypeName();\n\t\tif (typeName === \"[object Object]\") typeName = \"null\";\n\t\tconst methodName = this.getMethodName();\n\t\tif (functionName) {\n\t\t\tif (typeName && functionName.indexOf(typeName) !== 0) line += `${typeName}.`;\n\t\t\tline += functionName;\n\t\t\tif (methodName && functionName.indexOf(`.${methodName}`) !== functionName.length - methodName.length - 1) line += ` [as ${methodName}]`;\n\t\t} else line += `${typeName}.${methodName || \"<anonymous>\"}`;\n\t} else if (isConstructor) line += `new ${functionName || \"<anonymous>\"}`;\n\telse if (functionName) line += functionName;\n\telse {\n\t\tline += fileLocation;\n\t\taddSuffix = false;\n\t}\n\tif (addSuffix) line += ` (${fileLocation})`;\n\treturn line;\n}\nfunction cloneCallSite(frame) {\n\tconst object = {};\n\tObject.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach((name) => {\n\t\tconst key = name;\n\t\tobject[key] = /^(?:is|get)/.test(name) ? function() {\n\t\t\treturn frame[key].call(frame);\n\t\t} : frame[key];\n\t});\n\tobject.toString = CallSiteToString;\n\treturn object;\n}\nfunction wrapCallSite(frame, state) {\n\tif (state === void 0) state = {\n\t\tnextPosition: null,\n\t\tcurPosition: null\n\t};\n\tif (frame.isNative()) {\n\t\tstate.curPosition = null;\n\t\treturn frame;\n\t}\n\tconst source = frame.getFileName() || frame.getScriptNameOrSourceURL();\n\tif (source) {\n\t\tconst line = frame.getLineNumber();\n\t\tlet column = frame.getColumnNumber() - 1;\n\t\tconst headerLength = /^v(?:10\\.1[6-9]|10\\.[2-9]\\d|10\\.\\d{3,}|1[2-9]\\d*|[2-9]\\d|\\d{3,}|11\\.11)/.test(globalProcessVersion()) ? 0 : 62;\n\t\tif (line === 1 && column > headerLength && !frame.isEval()) column -= headerLength;\n\t\tconst position = mapSourcePosition({\n\t\t\tname: null,\n\t\t\tsource,\n\t\t\tline,\n\t\t\tcolumn\n\t\t});\n\t\tstate.curPosition = position;\n\t\tframe = cloneCallSite(frame);\n\t\tconst originalFunctionName = frame.getFunctionName;\n\t\tframe.getFunctionName = function() {\n\t\t\tif (state.nextPosition == null) return originalFunctionName();\n\t\t\treturn state.nextPosition.name || originalFunctionName();\n\t\t};\n\t\tframe.getFileName = function() {\n\t\t\treturn position.source ?? null;\n\t\t};\n\t\tframe.getLineNumber = function() {\n\t\t\treturn position.line;\n\t\t};\n\t\tframe.getColumnNumber = function() {\n\t\t\treturn position.column + 1;\n\t\t};\n\t\tframe.getScriptNameOrSourceURL = function() {\n\t\t\treturn position.source;\n\t\t};\n\t\treturn frame;\n\t}\n\tlet origin = frame.isEval() && frame.getEvalOrigin();\n\tif (origin) {\n\t\torigin = mapEvalOrigin(origin);\n\t\tframe = cloneCallSite(frame);\n\t\tframe.getEvalOrigin = function() {\n\t\t\treturn origin || void 0;\n\t\t};\n\t\treturn frame;\n\t}\n\treturn frame;\n}\nfunction prepareStackTrace(error, stack) {\n\tconst errorString = `${error.name || \"Error\"}: ${error.message || \"\"}`;\n\tconst state = {\n\t\tnextPosition: null,\n\t\tcurPosition: null\n\t};\n\tconst processedStack = [];\n\tfor (let i = stack.length - 1; i >= 0; i--) {\n\t\tprocessedStack.push(`\\n at ${wrapCallSite(stack[i], state)}`);\n\t\tstate.nextPosition = state.curPosition;\n\t}\n\tstate.curPosition = state.nextPosition = null;\n\treturn errorString + processedStack.reverse().join(\"\");\n}\nconst originalRetrieveFileHandlers = retrieveFileHandlers.slice(0);\nconst originalRetrieveMapHandlers = retrieveMapHandlers.slice(0);\nfunction install(options) {\n\toptions = options || {};\n\tif (options.retrieveFile) {\n\t\tif (options.overrideRetrieveFile) retrieveFileHandlers.length = 0;\n\t\tretrieveFileHandlers.unshift(options.retrieveFile);\n\t}\n\tif (options.retrieveSourceMap) {\n\t\tif (options.overrideRetrieveSourceMap) retrieveMapHandlers.length = 0;\n\t\tretrieveMapHandlers.unshift(options.retrieveSourceMap);\n\t}\n\tif (!errorFormatterInstalled) {\n\t\terrorFormatterInstalled = true;\n\t\tError.prepareStackTrace = prepareStackTrace;\n\t}\n}\n\n//#endregion\n//#region src/source-map.ts\nlet SOURCEMAPPING_URL = \"sourceMa\";\nSOURCEMAPPING_URL += \"ppingURL\";\nconst VITE_NODE_SOURCEMAPPING_SOURCE = \"//# sourceMappingSource=vite-node\";\nconst VITE_NODE_SOURCEMAPPING_URL = `${SOURCEMAPPING_URL}=data:application/json;charset=utf-8`;\nfunction withInlineSourcemap(result, options) {\n\tconst map = result.map;\n\tlet code = result.code;\n\tif (!map || code.includes(VITE_NODE_SOURCEMAPPING_SOURCE)) return result;\n\tif (\"sources\" in map) map.sources = map.sources?.map((source) => {\n\t\tif (!source) return source;\n\t\tif (isAbsolute(source)) {\n\t\t\tconst actualPath = !source.startsWith(withTrailingSlash(options.root)) && source.startsWith(\"/\") ? resolve(options.root, source.slice(1)) : source;\n\t\t\treturn relative(dirname(options.filepath), actualPath);\n\t\t}\n\t\treturn source;\n\t});\n\tconst OTHER_SOURCE_MAP_REGEXP = new RegExp(`//# ${SOURCEMAPPING_URL}=data:application/json[^,]+base64,([A-Za-z0-9+/=]+)$`, \"gm\");\n\twhile (OTHER_SOURCE_MAP_REGEXP.test(code)) code = code.replace(OTHER_SOURCE_MAP_REGEXP, \"\");\n\tif (!options.noFirstLineMapping && map.mappings.startsWith(\";\")) map.mappings = `AAAA,CAAA${map.mappings}`;\n\tconst sourceMap = Buffer$1.from(JSON.stringify(map), \"utf-8\").toString(\"base64\");\n\tresult.code = `${code.trimEnd()}\\n\\n${VITE_NODE_SOURCEMAPPING_SOURCE}\\n//# ${VITE_NODE_SOURCEMAPPING_URL};base64,${sourceMap}\\n`;\n\treturn result;\n}\nfunction extractSourceMap(code) {\n\tconst regexp = new RegExp(`//# ${VITE_NODE_SOURCEMAPPING_URL};base64,(.+)`, \"gm\");\n\tlet lastMatch, match;\n\twhile (match = regexp.exec(code)) lastMatch = match;\n\tif (lastMatch) return JSON.parse(Buffer$1.from(lastMatch[1], \"base64\").toString(\"utf-8\"));\n\treturn null;\n}\nfunction installSourcemapsSupport(options) {\n\tinstall({ retrieveSourceMap(source) {\n\t\tconst map = options.getSourceMap(source);\n\t\tif (map) return {\n\t\t\turl: source,\n\t\t\tmap\n\t\t};\n\t\treturn null;\n\t} });\n}\n\n//#endregion\nexport { installSourcemapsSupport as n, withInlineSourcemap as r, extractSourceMap as t };","function coerce(value) {\n\tif (value instanceof Error) return value.stack || value.message;\n\treturn value;\n}\nfunction selectColor(colors, namespace) {\n\tlet hash = 0;\n\tfor (let i = 0; i < namespace.length; i++) {\n\t\thash = (hash << 5) - hash + namespace.charCodeAt(i);\n\t\thash |= 0;\n\t}\n\treturn colors[Math.abs(hash) % colors.length];\n}\nfunction matchesTemplate(search, template) {\n\tlet searchIndex = 0;\n\tlet templateIndex = 0;\n\tlet starIndex = -1;\n\tlet matchIndex = 0;\n\twhile (searchIndex < search.length) if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === \"*\")) if (template[templateIndex] === \"*\") {\n\t\tstarIndex = templateIndex;\n\t\tmatchIndex = searchIndex;\n\t\ttemplateIndex++;\n\t} else {\n\t\tsearchIndex++;\n\t\ttemplateIndex++;\n\t}\n\telse if (starIndex !== -1) {\n\t\ttemplateIndex = starIndex + 1;\n\t\tmatchIndex++;\n\t\tsearchIndex = matchIndex;\n\t} else return false;\n\twhile (templateIndex < template.length && template[templateIndex] === \"*\") templateIndex++;\n\treturn templateIndex === template.length;\n}\nfunction humanize(value) {\n\tif (value >= 1e3) return `${(value / 1e3).toFixed(1)}s`;\n\treturn `${value}ms`;\n}\nlet globalNamespaces = \"\";\nfunction namespaces() {\n\treturn globalNamespaces;\n}\nfunction createDebug(namespace, options) {\n\tlet prevTime;\n\tlet enableOverride;\n\tlet namespacesCache;\n\tlet enabledCache;\n\tconst debug = (...args) => {\n\t\tif (!debug.enabled) return;\n\t\tconst curr = Date.now();\n\t\tconst diff = curr - (prevTime || curr);\n\t\tprevTime = curr;\n\t\targs[0] = coerce(args[0]);\n\t\tif (typeof args[0] !== \"string\") args.unshift(\"%O\");\n\t\tlet index = 0;\n\t\targs[0] = args[0].replace(/%([a-z%])/gi, (match, format) => {\n\t\t\tif (match === \"%%\") return \"%\";\n\t\t\tindex++;\n\t\t\tconst formatter = options.formatters[format];\n\t\t\tif (typeof formatter === \"function\") {\n\t\t\t\tconst value = args[index];\n\t\t\t\tmatch = formatter.call(debug, value);\n\t\t\t\targs.splice(index, 1);\n\t\t\t\tindex--;\n\t\t\t}\n\t\t\treturn match;\n\t\t});\n\t\toptions.formatArgs.call(debug, diff, args);\n\t\tdebug.log(...args);\n\t};\n\tdebug.extend = function(namespace$1, delimiter = \":\") {\n\t\treturn createDebug(this.namespace + delimiter + namespace$1, {\n\t\t\tuseColors: this.useColors,\n\t\t\tcolor: this.color,\n\t\t\tformatArgs: this.formatArgs,\n\t\t\tformatters: this.formatters,\n\t\t\tinspectOpts: this.inspectOpts,\n\t\t\tlog: this.log,\n\t\t\thumanize: this.humanize\n\t\t});\n\t};\n\tObject.assign(debug, options);\n\tdebug.namespace = namespace;\n\tObject.defineProperty(debug, \"enabled\", {\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\tget: () => {\n\t\t\tif (enableOverride != null) return enableOverride;\n\t\t\tif (namespacesCache !== globalNamespaces) {\n\t\t\t\tnamespacesCache = globalNamespaces;\n\t\t\t\tenabledCache = enabled(namespace);\n\t\t\t}\n\t\t\treturn enabledCache;\n\t\t},\n\t\tset: (v) => {\n\t\t\tenableOverride = v;\n\t\t}\n\t});\n\treturn debug;\n}\nlet names = [];\nlet skips = [];\nfunction enable(namespaces$1) {\n\tglobalNamespaces = namespaces$1;\n\tnames = [];\n\tskips = [];\n\tconst split = globalNamespaces.trim().replace(/\\s+/g, \",\").split(\",\").filter(Boolean);\n\tfor (const ns of split) if (ns[0] === \"-\") skips.push(ns.slice(1));\n\telse names.push(ns);\n}\nfunction disable() {\n\tconst namespaces$1 = [...names, ...skips.map((namespace) => `-${namespace}`)].join(\",\");\n\tenable(\"\");\n\treturn namespaces$1;\n}\nfunction enabled(name) {\n\tfor (const skip of skips) if (matchesTemplate(name, skip)) return false;\n\tfor (const ns of names) if (matchesTemplate(name, ns)) return true;\n\treturn false;\n}\nexport { namespaces as a, enabled as i, disable as n, humanize as o, enable as r, selectColor as s, createDebug as t };\n","import { a as namespaces, i as enabled, n as disable, o as humanize, r as enable$1, s as selectColor, t as createDebug$1 } from \"./core.js\";\nimport { isatty } from \"node:tty\";\nimport { formatWithOptions, inspect } from \"node:util\";\nconst colors = process.stderr.getColorDepth && process.stderr.getColorDepth() > 2 ? [\n\t20,\n\t21,\n\t26,\n\t27,\n\t32,\n\t33,\n\t38,\n\t39,\n\t40,\n\t41,\n\t42,\n\t43,\n\t44,\n\t45,\n\t56,\n\t57,\n\t62,\n\t63,\n\t68,\n\t69,\n\t74,\n\t75,\n\t76,\n\t77,\n\t78,\n\t79,\n\t80,\n\t81,\n\t92,\n\t93,\n\t98,\n\t99,\n\t112,\n\t113,\n\t128,\n\t129,\n\t134,\n\t135,\n\t148,\n\t149,\n\t160,\n\t161,\n\t162,\n\t163,\n\t164,\n\t165,\n\t166,\n\t167,\n\t168,\n\t169,\n\t170,\n\t171,\n\t172,\n\t173,\n\t178,\n\t179,\n\t184,\n\t185,\n\t196,\n\t197,\n\t198,\n\t199,\n\t200,\n\t201,\n\t202,\n\t203,\n\t204,\n\t205,\n\t206,\n\t207,\n\t208,\n\t209,\n\t214,\n\t215,\n\t220,\n\t221\n] : [\n\t6,\n\t2,\n\t3,\n\t4,\n\t5,\n\t1\n];\nconst inspectOpts = Object.keys(process.env).filter((key) => /^debug_/i.test(key)).reduce((obj, key) => {\n\tconst prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, k) => k.toUpperCase());\n\tlet value = process.env[key];\n\tif (value === \"null\") value = null;\n\telse if (/^yes|on|true|enabled$/i.test(value)) value = true;\n\telse if (/^no|off|false|disabled$/i.test(value)) value = false;\n\telse value = Number(value);\n\tobj[prop] = value;\n\treturn obj;\n}, {});\nfunction useColors() {\n\treturn \"colors\" in inspectOpts ? Boolean(inspectOpts.colors) : isatty(process.stderr.fd);\n}\nfunction getDate() {\n\tif (inspectOpts.hideDate) return \"\";\n\treturn `${(/* @__PURE__ */ new Date()).toISOString()} `;\n}\nfunction formatArgs(diff, args) {\n\tconst { namespace: name, useColors: useColors$1 } = this;\n\tif (useColors$1) {\n\t\tconst c = this.color;\n\t\tconst colorCode = `\\u001B[3${c < 8 ? c : `8;5;${c}`}`;\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\t\targs[0] = prefix + args[0].split(\"\\n\").join(`\\n${prefix}`);\n\t\targs.push(`${colorCode}m+${this.humanize(diff)}\\u001B[0m`);\n\t} else args[0] = `${getDate()}${name} ${args[0]}`;\n}\nfunction log(...args) {\n\tprocess.stderr.write(`${formatWithOptions(this.inspectOpts, ...args)}\\n`);\n}\nconst defaultOptions = {\n\tuseColors: useColors(),\n\tformatArgs,\n\tformatters: {\n\t\to(v) {\n\t\t\tthis.inspectOpts.colors = this.useColors;\n\t\t\treturn inspect(v, this.inspectOpts).split(\"\\n\").map((str) => str.trim()).join(\" \");\n\t\t},\n\t\tO(v) {\n\t\t\tthis.inspectOpts.colors = this.useColors;\n\t\t\treturn inspect(v, this.inspectOpts);\n\t\t}\n\t},\n\tinspectOpts,\n\tlog,\n\thumanize\n};\nfunction createDebug(namespace, options) {\n\tvar _ref;\n\tconst color = (_ref = options && options.color) !== null && _ref !== void 0 ? _ref : selectColor(colors, namespace);\n\treturn createDebug$1(namespace, Object.assign(defaultOptions, { color }, options));\n}\nfunction save(namespaces$1) {\n\tif (namespaces$1) process.env.DEBUG = namespaces$1;\n\telse delete process.env.DEBUG;\n}\nfunction enable(namespaces$1) {\n\tsave(namespaces$1);\n\tenable$1(namespaces$1);\n}\nenable$1(process.env.DEBUG || \"\");\nexport { createDebug, disable, enable, enabled, namespaces };\n","import { c as isNodeBuiltin, d as normalizeModuleId, f as normalizeRequestId, g as toFilePath, l as isPrimitive, m as slash, n as cleanUrl, o as isBareImport, r as createImportMetaEnvProxy, s as isInternalRequest } from \"./utils-ExLpYVUV.mjs\";\nimport { t as extractSourceMap } from \"./source-map-DQLD3K8K.mjs\";\nimport { createRequire } from \"node:module\";\nimport process from \"node:process\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { createDebug } from \"obug\";\nimport { dirname, resolve } from \"node:path\";\nimport vm from \"node:vm\";\n\n//#region src/client.ts\nconst { setTimeout, clearTimeout } = globalThis;\nconst debugExecute = createDebug(\"vite-node:client:execute\");\nconst debugNative = createDebug(\"vite-node:client:native\");\nconst clientStub = {\n\tinjectQuery: (id) => id,\n\tcreateHotContext: () => {\n\t\treturn {\n\t\t\taccept: () => {},\n\t\t\tprune: () => {},\n\t\t\tdispose: () => {},\n\t\t\tdecline: () => {},\n\t\t\tinvalidate: () => {},\n\t\t\ton: () => {},\n\t\t\tsend: () => {}\n\t\t};\n\t},\n\tupdateStyle: () => {},\n\tremoveStyle: () => {}\n};\nconst env = createImportMetaEnvProxy();\nconst DEFAULT_REQUEST_STUBS = {\n\t\"/@vite/client\": clientStub,\n\t\"@vite/client\": clientStub\n};\nvar ModuleCacheMap = class extends Map {\n\tnormalizePath(fsPath) {\n\t\treturn normalizeModuleId(fsPath);\n\t}\n\t/**\n\t* Assign partial data to the map\n\t*/\n\tupdate(fsPath, mod) {\n\t\tfsPath = this.normalizePath(fsPath);\n\t\tif (!super.has(fsPath)) this.setByModuleId(fsPath, mod);\n\t\telse Object.assign(super.get(fsPath), mod);\n\t\treturn this;\n\t}\n\tsetByModuleId(modulePath, mod) {\n\t\treturn super.set(modulePath, mod);\n\t}\n\tset(fsPath, mod) {\n\t\treturn this.setByModuleId(this.normalizePath(fsPath), mod);\n\t}\n\tgetByModuleId(modulePath) {\n\t\tif (!super.has(modulePath)) this.setByModuleId(modulePath, {});\n\t\tconst mod = super.get(modulePath);\n\t\tif (!mod.imports) Object.assign(mod, {\n\t\t\timports: /* @__PURE__ */ new Set(),\n\t\t\timporters: /* @__PURE__ */ new Set()\n\t\t});\n\t\treturn mod;\n\t}\n\tget(fsPath) {\n\t\treturn this.getByModuleId(this.normalizePath(fsPath));\n\t}\n\tdeleteByModuleId(modulePath) {\n\t\treturn super.delete(modulePath);\n\t}\n\tdelete(fsPath) {\n\t\treturn this.deleteByModuleId(this.normalizePath(fsPath));\n\t}\n\tinvalidateModule(mod) {\n\t\tdelete mod.evaluated;\n\t\tdelete mod.resolving;\n\t\tdelete mod.promise;\n\t\tdelete mod.exports;\n\t\tmod.importers?.clear();\n\t\tmod.imports?.clear();\n\t\treturn true;\n\t}\n\t/**\n\t* Invalidate modules that dependent on the given modules, up to the main entry\n\t*/\n\tinvalidateDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {\n\t\tfor (const _id of ids) {\n\t\t\tconst id = this.normalizePath(_id);\n\t\t\tif (invalidated.has(id)) continue;\n\t\t\tinvalidated.add(id);\n\t\t\tconst mod = super.get(id);\n\t\t\tif (mod?.importers) this.invalidateDepTree(mod.importers, invalidated);\n\t\t\tsuper.delete(id);\n\t\t}\n\t\treturn invalidated;\n\t}\n\t/**\n\t* Invalidate dependency modules of the given modules, down to the bottom-level dependencies\n\t*/\n\tinvalidateSubDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {\n\t\tfor (const _id of ids) {\n\t\t\tconst id = this.normalizePath(_id);\n\t\t\tif (invalidated.has(id)) continue;\n\t\t\tinvalidated.add(id);\n\t\t\tconst subIds = Array.from(super.entries()).filter(([, mod]) => mod.importers?.has(id)).map(([key]) => key);\n\t\t\tif (subIds.length) this.invalidateSubDepTree(subIds, invalidated);\n\t\t\tsuper.delete(id);\n\t\t}\n\t\treturn invalidated;\n\t}\n\t/**\n\t* Return parsed source map based on inlined source map of the module\n\t*/\n\tgetSourceMap(id) {\n\t\tconst cache = this.get(id);\n\t\tif (cache.map) return cache.map;\n\t\tconst map = cache.code && extractSourceMap(cache.code);\n\t\tif (map) {\n\t\t\tcache.map = map;\n\t\t\treturn map;\n\t\t}\n\t\treturn null;\n\t}\n};\nvar ViteNodeRunner = class {\n\troot;\n\tdebug;\n\t/**\n\t* Holds the cache of modules\n\t* Keys of the map are filepaths, or plain package names\n\t*/\n\tmoduleCache;\n\t/**\n\t* Tracks the stack of modules being executed for the purpose of calculating import self-time.\n\t*\n\t* Note that while in most cases, imports are a linear stack of modules,\n\t* this is occasionally not the case, for example when you have parallel top-level dynamic imports like so:\n\t*\n\t* ```ts\n\t* await Promise.all([\n\t* import('./module1'),\n\t* import('./module2'),\n\t* ]);\n\t* ```\n\t*\n\t* In this case, the self time will be reported incorrectly for one of the modules (could go negative).\n\t* As top-level awaits with dynamic imports like this are uncommon, we don't handle this case specifically.\n\t*/\n\texecutionStack = [];\n\tperformanceNow = performance.now.bind(performance);\n\tconstructor(options) {\n\t\tthis.options = options;\n\t\tthis.root = options.root ?? process.cwd();\n\t\tthis.moduleCache = options.moduleCache ?? new ModuleCacheMap();\n\t\tthis.debug = options.debug ?? (typeof process !== \"undefined\" ? !!process.env.VITE_NODE_DEBUG_RUNNER : false);\n\t}\n\tasync executeFile(file) {\n\t\tconst url = `/@fs/${slash(resolve(file))}`;\n\t\treturn await this.cachedRequest(url, url, []);\n\t}\n\tasync executeId(rawId) {\n\t\tconst [id, url] = await this.resolveUrl(rawId);\n\t\treturn await this.cachedRequest(id, url, []);\n\t}\n\t/** @internal */\n\tasync cachedRequest(id, fsPath, callstack) {\n\t\tconst importee = callstack[callstack.length - 1];\n\t\tconst mod = this.moduleCache.get(fsPath);\n\t\tconst { imports, importers } = mod;\n\t\tif (importee) importers.add(importee);\n\t\tconst getStack = () => `stack:\\n${[...callstack, fsPath].reverse().map((p) => ` - ${p}`).join(\"\\n\")}`;\n\t\tif (callstack.includes(fsPath) || Array.from(imports.values()).some((i) => importers.has(i))) {\n\t\t\tif (mod.exports) return mod.exports;\n\t\t}\n\t\tlet debugTimer;\n\t\tif (this.debug) debugTimer = setTimeout(() => console.warn(`[vite-node] module ${fsPath} takes over 2s to load.\\n${getStack()}`), 2e3);\n\t\ttry {\n\t\t\tif (mod.promise) return await mod.promise;\n\t\t\tconst promise = this.directRequest(id, fsPath, callstack);\n\t\t\tObject.assign(mod, {\n\t\t\t\tpromise,\n\t\t\t\tevaluated: false\n\t\t\t});\n\t\t\treturn await promise;\n\t\t} finally {\n\t\t\tmod.evaluated = true;\n\t\t\tif (debugTimer) clearTimeout(debugTimer);\n\t\t}\n\t}\n\tshouldResolveId(id, _importee) {\n\t\treturn !isInternalRequest(id) && !isNodeBuiltin(id) && !id.startsWith(\"data:\");\n\t}\n\tasync _resolveUrl(id, importer) {\n\t\tconst dep = normalizeRequestId(id, this.options.base);\n\t\tif (!this.shouldResolveId(dep)) return [dep, dep];\n\t\tconst { path: path$1, exists } = toFilePath(dep, this.root);\n\t\tif (!this.options.resolveId || exists) return [dep, path$1];\n\t\tconst resolved = await this.options.resolveId(dep, importer);\n\t\tif (resolved?.meta?.[\"vite:alias\"]?.noResolved) {\n\t\t\tconst error = /* @__PURE__ */ new Error(`Cannot find module '${id}'${importer ? ` imported from '${importer}'` : \"\"}.\n\n- If you rely on tsconfig.json's \"paths\" to resolve modules, please install \"vite-tsconfig-paths\" plugin to handle module resolution.\n- Make sure you don't have relative aliases in your Vitest config. Use absolute paths instead. Read more: https://vitest.dev/guide/common-errors`);\n\t\t\tObject.defineProperty(error, \"code\", {\n\t\t\t\tvalue: \"ERR_MODULE_NOT_FOUND\",\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tObject.defineProperty(error, Symbol.for(\"vitest.error.not_found.data\"), {\n\t\t\t\tvalue: {\n\t\t\t\t\tid: dep,\n\t\t\t\t\timporter\n\t\t\t\t},\n\t\t\t\tenumerable: false\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t\tconst resolvedId = resolved ? normalizeRequestId(resolved.id, this.options.base) : dep;\n\t\treturn [resolvedId, resolvedId];\n\t}\n\tasync resolveUrl(id, importee) {\n\t\tconst resolveKey = `resolve:${id}`;\n\t\tthis.moduleCache.setByModuleId(resolveKey, { resolving: true });\n\t\ttry {\n\t\t\treturn await this._resolveUrl(id, importee);\n\t\t} finally {\n\t\t\tthis.moduleCache.deleteByModuleId(resolveKey);\n\t\t}\n\t}\n\t/** @internal */\n\tasync dependencyRequest(id, fsPath, callstack) {\n\t\treturn await this.cachedRequest(id, fsPath, callstack);\n\t}\n\tasync _fetchModule(id, importer) {\n\t\ttry {\n\t\t\treturn await this.options.fetchModule(id);\n\t\t} catch (cause) {\n\t\t\tif (typeof cause === \"object\" && cause.code === \"ERR_LOAD_URL\" || typeof cause?.message === \"string\" && cause.message.includes(\"Failed to load url\")) {\n\t\t\t\tconst error = new Error(`Cannot find ${isBareImport(id) ? \"package\" : \"module\"} '${id}'${importer ? ` imported from '${importer}'` : \"\"}`, { cause });\n\t\t\t\terror.code = \"ERR_MODULE_NOT_FOUND\";\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tthrow cause;\n\t\t}\n\t}\n\t/** @internal */\n\tasync directRequest(id, fsPath, _callstack) {\n\t\tconst moduleId = normalizeModuleId(fsPath);\n\t\tconst callstack = [..._callstack, moduleId];\n\t\tconst mod = this.moduleCache.getByModuleId(moduleId);\n\t\tconst request = async (dep) => {\n\t\t\tconst [id$1, depFsPath] = await this.resolveUrl(String(dep), fsPath);\n\t\t\tthis.moduleCache.getByModuleId(depFsPath).importers.add(moduleId);\n\t\t\tmod.imports.add(depFsPath);\n\t\t\treturn this.dependencyRequest(id$1, depFsPath, callstack);\n\t\t};\n\t\tconst requestStubs = this.options.requestStubs || DEFAULT_REQUEST_STUBS;\n\t\tif (id in requestStubs) return requestStubs[id];\n\t\tlet { code: transformed, externalize } = await this._fetchModule(id, callstack[callstack.length - 2]);\n\t\tif (externalize) {\n\t\t\tdebugNative(externalize);\n\t\t\tconst exports$1 = await this.interopedImport(externalize);\n\t\t\tmod.exports = exports$1;\n\t\t\treturn exports$1;\n\t\t}\n\t\tif (transformed == null) throw new Error(`[vite-node] Failed to load \"${id}\" imported from ${callstack[callstack.length - 2]}`);\n\t\tconst { Object: Object$1, Reflect: Reflect$1, Symbol: Symbol$1 } = this.getContextPrimitives();\n\t\tconst modulePath = cleanUrl(moduleId);\n\t\tconst href = pathToFileURL(modulePath).href;\n\t\tconst __filename = fileURLToPath(href);\n\t\tconst __dirname = dirname(__filename);\n\t\tconst meta = {\n\t\t\turl: href,\n\t\t\tenv,\n\t\t\tfilename: __filename,\n\t\t\tdirname: __dirname\n\t\t};\n\t\tconst exports = Object$1.create(null);\n\t\tObject$1.defineProperty(exports, Symbol$1.toStringTag, {\n\t\t\tvalue: \"Module\",\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false\n\t\t});\n\t\tconst SYMBOL_NOT_DEFINED = Symbol$1(\"not defined\");\n\t\tlet moduleExports = SYMBOL_NOT_DEFINED;\n\t\tconst cjsExports = new Proxy(exports, {\n\t\t\tget: (target, p, receiver) => {\n\t\t\t\tif (Reflect$1.has(target, p)) return Reflect$1.get(target, p, receiver);\n\t\t\t\treturn Reflect$1.get(Object$1.prototype, p, receiver);\n\t\t\t},\n\t\t\tgetPrototypeOf: () => Object$1.prototype,\n\t\t\tset: (_, p, value) => {\n\t\t\t\tif (p === \"default\" && this.shouldInterop(modulePath, { default: value }) && cjsExports !== value) {\n\t\t\t\t\texportAll(cjsExports, value);\n\t\t\t\t\texports.default = value;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (!Reflect$1.has(exports, \"default\")) exports.default = {};\n\t\t\t\tif (moduleExports !== SYMBOL_NOT_DEFINED && isPrimitive(moduleExports)) {\n\t\t\t\t\tdefineExport(exports, p, () => void 0);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (!isPrimitive(exports.default)) exports.default[p] = value;\n\t\t\t\tif (p !== \"default\") defineExport(exports, p, () => value);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\t\tObject$1.assign(mod, {\n\t\t\tcode: transformed,\n\t\t\texports\n\t\t});\n\t\tconst moduleProxy = {\n\t\t\tset exports(value) {\n\t\t\t\texportAll(cjsExports, value);\n\t\t\t\texports.default = value;\n\t\t\t\tmoduleExports = value;\n\t\t\t},\n\t\t\tget exports() {\n\t\t\t\treturn cjsExports;\n\t\t\t}\n\t\t};\n\t\tlet hotContext;\n\t\tif (this.options.createHotContext) Object$1.defineProperty(meta, \"hot\", {\n\t\t\tenumerable: true,\n\t\t\tget: () => {\n\t\t\t\thotContext ||= this.options.createHotContext?.(this, moduleId);\n\t\t\t\treturn hotContext;\n\t\t\t},\n\t\t\tset: (value) => {\n\t\t\t\thotContext = value;\n\t\t\t}\n\t\t});\n\t\tconst context = this.prepareContext({\n\t\t\t__vite_ssr_import__: request,\n\t\t\t__vite_ssr_dynamic_import__: request,\n\t\t\t__vite_ssr_exports__: exports,\n\t\t\t__vite_ssr_exportAll__: (obj) => exportAll(exports, obj),\n\t\t\t__vite_ssr_exportName__: (name, getter) => Object$1.defineProperty(exports, name, {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: getter\n\t\t\t}),\n\t\t\t__vite_ssr_import_meta__: meta,\n\t\t\trequire: createRequire(href),\n\t\t\texports: cjsExports,\n\t\t\tmodule: moduleProxy,\n\t\t\t__filename,\n\t\t\t__dirname\n\t\t});\n\t\tdebugExecute(__filename);\n\t\tif (transformed[0] === \"#\") transformed = transformed.replace(/^#!.*/, (s) => \" \".repeat(s.length));\n\t\tawait this.runModule(context, transformed);\n\t\treturn exports;\n\t}\n\tgetContextPrimitives() {\n\t\treturn {\n\t\t\tObject,\n\t\t\tReflect,\n\t\t\tSymbol\n\t\t};\n\t}\n\tasync runModule(context, transformed) {\n\t\tconst codeDefinition = `'use strict';async (${Object.keys(context).join(\",\")})=>{{`;\n\t\tconst code = `${codeDefinition}${transformed}\\n}}`;\n\t\tconst options = {\n\t\t\tfilename: context.__filename,\n\t\t\tlineOffset: 0,\n\t\t\tcolumnOffset: -codeDefinition.length\n\t\t};\n\t\tconst finishModuleExecutionInfo = this.startCalculateModuleExecutionInfo(options.filename, codeDefinition.length);\n\t\ttry {\n\t\t\tawait vm.runInThisContext(code, options)(...Object.values(context));\n\t\t} finally {\n\t\t\tthis.options.moduleExecutionInfo?.set(options.filename, finishModuleExecutionInfo());\n\t\t}\n\t}\n\t/**\n\t* Starts calculating the module execution info such as the total duration and self time spent on executing the module.\n\t* Returns a function to call once the module has finished executing.\n\t*/\n\tstartCalculateModuleExecutionInfo(filename, startOffset) {\n\t\tconst startTime = this.performanceNow();\n\t\tthis.executionStack.push({\n\t\t\tfilename,\n\t\t\tstartTime,\n\t\t\tsubImportTime: 0\n\t\t});\n\t\treturn () => {\n\t\t\tconst duration = this.performanceNow() - startTime;\n\t\t\tconst currentExecution = this.executionStack.pop();\n\t\t\tif (currentExecution == null) throw new Error(\"Execution stack is empty, this should never happen\");\n\t\t\tconst selfTime = duration - currentExecution.subImportTime;\n\t\t\tif (this.executionStack.length > 0) this.executionStack.at(-1).subImportTime += duration;\n\t\t\treturn {\n\t\t\t\tstartOffset,\n\t\t\t\tduration,\n\t\t\t\tselfTime\n\t\t\t};\n\t\t};\n\t}\n\tprepareContext(context) {\n\t\treturn context;\n\t}\n\t/**\n\t* Define if a module should be interop-ed\n\t* This function mostly for the ability to override by subclass\n\t*/\n\tshouldInterop(path$1, mod) {\n\t\tif (this.options.interopDefault === false) return false;\n\t\treturn !path$1.endsWith(\".mjs\") && \"default\" in mod;\n\t}\n\timportExternalModule(path$1) {\n\t\treturn import(\n\t\t\t/* @vite-ignore */\n\t\t\tpath$1\n);\n\t}\n\t/**\n\t* Import a module and interop it\n\t*/\n\tasync interopedImport(path$1) {\n\t\tconst importedModule = await this.importExternalModule(path$1);\n\t\tif (!this.shouldInterop(path$1, importedModule)) return importedModule;\n\t\tconst { mod, defaultExport } = interopModule(importedModule);\n\t\treturn new Proxy(mod, {\n\t\t\tget(mod$1, prop) {\n\t\t\t\tif (prop === \"default\") return defaultExport;\n\t\t\t\treturn mod$1[prop] ?? defaultExport?.[prop];\n\t\t\t},\n\t\t\thas(mod$1, prop) {\n\t\t\t\tif (prop === \"default\") return defaultExport !== void 0;\n\t\t\t\treturn prop in mod$1 || defaultExport && prop in defaultExport;\n\t\t\t},\n\t\t\tgetOwnPropertyDescriptor(mod$1, prop) {\n\t\t\t\tconst descriptor = Reflect.getOwnPropertyDescriptor(mod$1, prop);\n\t\t\t\tif (descriptor) return descriptor;\n\t\t\t\tif (prop === \"default\" && defaultExport !== void 0) return {\n\t\t\t\t\tvalue: defaultExport,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n};\nfunction interopModule(mod) {\n\tif (isPrimitive(mod)) return {\n\t\tmod: { default: mod },\n\t\tdefaultExport: mod\n\t};\n\tlet defaultExport = \"default\" in mod ? mod.default : mod;\n\tif (!isPrimitive(defaultExport) && \"__esModule\" in defaultExport) {\n\t\tmod = defaultExport;\n\t\tif (\"default\" in defaultExport) defaultExport = defaultExport.default;\n\t}\n\treturn {\n\t\tmod,\n\t\tdefaultExport\n\t};\n}\nfunction defineExport(exports, key, value) {\n\tObject.defineProperty(exports, key, {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: value\n\t});\n}\nfunction exportAll(exports, sourceModule) {\n\tif (exports === sourceModule) return;\n\tif (isPrimitive(sourceModule) || Array.isArray(sourceModule) || sourceModule instanceof Promise) return;\n\tfor (const key in sourceModule) if (key !== \"default\" && !(key in exports)) try {\n\t\tdefineExport(exports, key, () => sourceModule[key]);\n\t} catch {}\n}\n\n//#endregion\nexport { ModuleCacheMap as n, ViteNodeRunner as r, DEFAULT_REQUEST_STUBS as t };","//#region node_modules/.pnpm/tinyrainbow@3.0.3/node_modules/tinyrainbow/dist/index.js\nvar d = {\n\treset: [0, 0],\n\tbold: [\n\t\t1,\n\t\t22,\n\t\t\"\\x1B[22m\\x1B[1m\"\n\t],\n\tdim: [\n\t\t2,\n\t\t22,\n\t\t\"\\x1B[22m\\x1B[2m\"\n\t],\n\titalic: [3, 23],\n\tunderline: [4, 24],\n\tinverse: [7, 27],\n\thidden: [8, 28],\n\tstrikethrough: [9, 29],\n\tblack: [30, 39],\n\tred: [31, 39],\n\tgreen: [32, 39],\n\tyellow: [33, 39],\n\tblue: [34, 39],\n\tmagenta: [35, 39],\n\tcyan: [36, 39],\n\twhite: [37, 39],\n\tgray: [90, 39],\n\tbgBlack: [40, 49],\n\tbgRed: [41, 49],\n\tbgGreen: [42, 49],\n\tbgYellow: [43, 49],\n\tbgBlue: [44, 49],\n\tbgMagenta: [45, 49],\n\tbgCyan: [46, 49],\n\tbgWhite: [47, 49],\n\tblackBright: [90, 39],\n\tredBright: [91, 39],\n\tgreenBright: [92, 39],\n\tyellowBright: [93, 39],\n\tblueBright: [94, 39],\n\tmagentaBright: [95, 39],\n\tcyanBright: [96, 39],\n\twhiteBright: [97, 39],\n\tbgBlackBright: [100, 49],\n\tbgRedBright: [101, 49],\n\tbgGreenBright: [102, 49],\n\tbgYellowBright: [103, 49],\n\tbgBlueBright: [104, 49],\n\tbgMagentaBright: [105, 49],\n\tbgCyanBright: [106, 49],\n\tbgWhiteBright: [107, 49]\n};\nfunction g(e) {\n\treturn String(e);\n}\ng.open = \"\";\ng.close = \"\";\nfunction h() {\n\tlet e = typeof process != \"undefined\" ? process : void 0, n = (e == null ? void 0 : e.env) || {}, a = n.FORCE_TTY !== \"false\", i = (e == null ? void 0 : e.argv) || [];\n\treturn !(\"NO_COLOR\" in n || i.includes(\"--no-color\")) && (\"FORCE_COLOR\" in n || i.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || a && n.TERM !== \"dumb\" || \"CI\" in n) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction f() {\n\tlet e = h(), n = (r, t, u, o) => {\n\t\tlet l = \"\", s = 0;\n\t\tdo\n\t\t\tl += r.substring(s, o) + u, s = o + t.length, o = r.indexOf(t, s);\n\t\twhile (~o);\n\t\treturn l + r.substring(s);\n\t}, a = (r, t, u = r) => {\n\t\tlet o = (l) => {\n\t\t\tlet s = String(l), b = s.indexOf(t, r.length);\n\t\t\treturn ~b ? r + n(s, t, u, b) + t : r + s + t;\n\t\t};\n\t\treturn o.open = r, o.close = t, o;\n\t}, i = { isColorSupported: e }, c = (r) => `\\x1B[${r}m`;\n\tfor (let r in d) {\n\t\tlet t = d[r];\n\t\ti[r] = e ? a(c(t[0]), c(t[1]), t[2]) : g;\n\t}\n\treturn i;\n}\nvar C = f();\n\n//#endregion\nexport { C as t };","//#region src/constants.ts\nconst KNOWN_ASSET_TYPES = [\n\t\"apng\",\n\t\"bmp\",\n\t\"png\",\n\t\"jpe?g\",\n\t\"jfif\",\n\t\"pjpeg\",\n\t\"pjp\",\n\t\"gif\",\n\t\"svg\",\n\t\"ico\",\n\t\"webp\",\n\t\"avif\",\n\t\"mp4\",\n\t\"webm\",\n\t\"ogg\",\n\t\"mp3\",\n\t\"wav\",\n\t\"flac\",\n\t\"aac\",\n\t\"woff2?\",\n\t\"eot\",\n\t\"ttf\",\n\t\"otf\",\n\t\"webmanifest\",\n\t\"pdf\",\n\t\"txt\"\n];\nconst KNOWN_ASSET_RE = /* @__PURE__ */ new RegExp(`\\\\.(${KNOWN_ASSET_TYPES.join(\"|\")})$`);\nconst CSS_LANGS_RE = /\\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\\?)/;\n\n//#endregion\nexport { KNOWN_ASSET_RE as n, KNOWN_ASSET_TYPES as r, CSS_LANGS_RE as t };","/* es-module-lexer 1.7.0 */\nexport var ImportType;!function(A){A[A.Static=1]=\"Static\",A[A.Dynamic=2]=\"Dynamic\",A[A.ImportMeta=3]=\"ImportMeta\",A[A.StaticSourcePhase=4]=\"StaticSourcePhase\",A[A.DynamicSourcePhase=5]=\"DynamicSourcePhase\",A[A.StaticDeferPhase=6]=\"StaticDeferPhase\",A[A.DynamicDeferPhase=7]=\"DynamicDeferPhase\"}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];export function parse(E,g=\"@\"){if(!C)return init.then((()=>parse(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const K=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,K,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split(\"\\n\").length}:${C.e()-E.lastIndexOf(\"\\n\",C.e()-1)}`),{idx:C.e()});const o=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),w=C.ss(),K=C.se();let D;C.ip()&&(D=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:D,t:B,s:A,e:Q,ss:w,se:K,d:I,a:g})}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],K=B<0?void 0:E.slice(B,g),o=K?K[0]:\"\";D.push({s:A,e:Q,ls:B,le:g,n:'\"'===w||\"'\"===w?k(I):I,ln:'\"'===o||\"'\"===o?k(K):K})}function k(A){try{return(0,eval)(A)}catch(A){}}return[o,D,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++)}let C;const E=()=>{return A=\"AGFzbQEAAAABKwhgAX8Bf2AEf39/fwBgAAF/YAAAYAF/AGADf39/AX9gAn9/AX9gA39/fwADMTAAAQECAgICAgICAgICAgICAgICAgIAAwMDBAQAAAUAAAAAAAMDAwAGAAAABwAGAgUEBQFwAQEBBQMBAAEGDwJ/AUHA8gALfwBBwPIACwd6FQZtZW1vcnkCAAJzYQAAAWUAAwJpcwAEAmllAAUCc3MABgJzZQAHAml0AAgCYWkACQJpZAAKAmlwAAsCZXMADAJlZQANA2VscwAOA2VsZQAPAnJpABACcmUAEQFmABICbXMAEwVwYXJzZQAUC19faGVhcF9iYXNlAwEKzkQwaAEBf0EAIAA2AoAKQQAoAtwJIgEgAEEBdGoiAEEAOwEAQQAgAEECaiIANgKECkEAIAA2AogKQQBBADYC4AlBAEEANgLwCUEAQQA2AugJQQBBADYC5AlBAEEANgL4CUEAQQA2AuwJIAEL0wEBA39BACgC8AkhBEEAQQAoAogKIgU2AvAJQQAgBDYC9AlBACAFQSRqNgKICiAEQSBqQeAJIAQbIAU2AgBBACgC1AkhBEEAKALQCSEGIAUgATYCACAFIAA2AgggBSACIAJBAmpBACAGIANGIgAbIAQgA0YiBBs2AgwgBSADNgIUIAVBADYCECAFIAI2AgQgBUEANgIgIAVBA0EBQQIgABsgBBs2AhwgBUEAKALQCSADRiICOgAYAkACQCACDQBBACgC1AkgA0cNAQtBAEEBOgCMCgsLXgEBf0EAKAL4CSIEQRBqQeQJIAQbQQAoAogKIgQ2AgBBACAENgL4CUEAIARBFGo2AogKQQBBAToAjAogBEEANgIQIAQgAzYCDCAEIAI2AgggBCABNgIEIAQgADYCAAsIAEEAKAKQCgsVAEEAKALoCSgCAEEAKALcCWtBAXULHgEBf0EAKALoCSgCBCIAQQAoAtwJa0EBdUF/IAAbCxUAQQAoAugJKAIIQQAoAtwJa0EBdQseAQF/QQAoAugJKAIMIgBBACgC3AlrQQF1QX8gABsLCwBBACgC6AkoAhwLHgEBf0EAKALoCSgCECIAQQAoAtwJa0EBdUF/IAAbCzsBAX8CQEEAKALoCSgCFCIAQQAoAtAJRw0AQX8PCwJAIABBACgC1AlHDQBBfg8LIABBACgC3AlrQQF1CwsAQQAoAugJLQAYCxUAQQAoAuwJKAIAQQAoAtwJa0EBdQsVAEEAKALsCSgCBEEAKALcCWtBAXULHgEBf0EAKALsCSgCCCIAQQAoAtwJa0EBdUF/IAAbCx4BAX9BACgC7AkoAgwiAEEAKALcCWtBAXVBfyAAGwslAQF/QQBBACgC6AkiAEEgakHgCSAAGygCACIANgLoCSAAQQBHCyUBAX9BAEEAKALsCSIAQRBqQeQJIAAbKAIAIgA2AuwJIABBAEcLCABBAC0AlAoLCABBAC0AjAoL3Q0BBX8jAEGA0ABrIgAkAEEAQQE6AJQKQQBBACgC2Ak2ApwKQQBBACgC3AlBfmoiATYCsApBACABQQAoAoAKQQF0aiICNgK0CkEAQQA6AIwKQQBBADsBlgpBAEEAOwGYCkEAQQA6AKAKQQBBADYCkApBAEEAOgD8CUEAIABBgBBqNgKkCkEAIAA2AqgKQQBBADoArAoCQAJAAkACQANAQQAgAUECaiIDNgKwCiABIAJPDQECQCADLwEAIgJBd2pBBUkNAAJAAkACQAJAAkAgAkGbf2oOBQEICAgCAAsgAkEgRg0EIAJBL0YNAyACQTtGDQIMBwtBAC8BmAoNASADEBVFDQEgAUEEakGCCEEKEC8NARAWQQAtAJQKDQFBAEEAKAKwCiIBNgKcCgwHCyADEBVFDQAgAUEEakGMCEEKEC8NABAXC0EAQQAoArAKNgKcCgwBCwJAIAEvAQQiA0EqRg0AIANBL0cNBBAYDAELQQEQGQtBACgCtAohAkEAKAKwCiEBDAALC0EAIQIgAyEBQQAtAPwJDQIMAQtBACABNgKwCkEAQQA6AJQKCwNAQQAgAUECaiIDNgKwCgJAAkACQAJAAkACQAJAIAFBACgCtApPDQAgAy8BACICQXdqQQVJDQYCQAJAAkACQAJAAkACQAJAAkACQCACQWBqDgoQDwYPDw8PBQECAAsCQAJAAkACQCACQaB/ag4KCxISAxIBEhISAgALIAJBhX9qDgMFEQYJC0EALwGYCg0QIAMQFUUNECABQQRqQYIIQQoQLw0QEBYMEAsgAxAVRQ0PIAFBBGpBjAhBChAvDQ8QFwwPCyADEBVFDQ4gASkABELsgISDsI7AOVINDiABLwEMIgNBd2oiAUEXSw0MQQEgAXRBn4CABHFFDQwMDQtBAEEALwGYCiIBQQFqOwGYCkEAKAKkCiABQQN0aiIBQQE2AgAgAUEAKAKcCjYCBAwNC0EALwGYCiIDRQ0JQQAgA0F/aiIDOwGYCkEALwGWCiICRQ0MQQAoAqQKIANB//8DcUEDdGooAgBBBUcNDAJAIAJBAnRBACgCqApqQXxqKAIAIgMoAgQNACADQQAoApwKQQJqNgIEC0EAIAJBf2o7AZYKIAMgAUEEajYCDAwMCwJAQQAoApwKIgEvAQBBKUcNAEEAKALwCSIDRQ0AIAMoAgQgAUcNAEEAQQAoAvQJIgM2AvAJAkAgA0UNACADQQA2AiAMAQtBAEEANgLgCQtBAEEALwGYCiIDQQFqOwGYCkEAKAKkCiADQQN0aiIDQQZBAkEALQCsChs2AgAgAyABNgIEQQBBADoArAoMCwtBAC8BmAoiAUUNB0EAIAFBf2oiATsBmApBACgCpAogAUH//wNxQQN0aigCAEEERg0EDAoLQScQGgwJC0EiEBoMCAsgAkEvRw0HAkACQCABLwEEIgFBKkYNACABQS9HDQEQGAwKC0EBEBkMCQsCQAJAAkACQEEAKAKcCiIBLwEAIgMQG0UNAAJAAkAgA0FVag4EAAkBAwkLIAFBfmovAQBBK0YNAwwICyABQX5qLwEAQS1GDQIMBwsgA0EpRw0BQQAoAqQKQQAvAZgKIgJBA3RqKAIEEBxFDQIMBgsgAUF+ai8BAEFQakH//wNxQQpPDQULQQAvAZgKIQILAkACQCACQf//A3EiAkUNACADQeYARw0AQQAoAqQKIAJBf2pBA3RqIgQoAgBBAUcNACABQX5qLwEAQe8ARw0BIAQoAgRBlghBAxAdRQ0BDAULIANB/QBHDQBBACgCpAogAkEDdGoiAigCBBAeDQQgAigCAEEGRg0ECyABEB8NAyADRQ0DIANBL0ZBAC0AoApBAEdxDQMCQEEAKAL4CSICRQ0AIAEgAigCAEkNACABIAIoAgRNDQQLIAFBfmohAUEAKALcCSECAkADQCABQQJqIgQgAk0NAUEAIAE2ApwKIAEvAQAhAyABQX5qIgQhASADECBFDQALIARBAmohBAsCQCADQf//A3EQIUUNACAEQX5qIQECQANAIAFBAmoiAyACTQ0BQQAgATYCnAogAS8BACEDIAFBfmoiBCEBIAMQIQ0ACyAEQQJqIQMLIAMQIg0EC0EAQQE6AKAKDAcLQQAoAqQKQQAvAZgKIgFBA3QiA2pBACgCnAo2AgRBACABQQFqOwGYCkEAKAKkCiADakEDNgIACxAjDAULQQAtAPwJQQAvAZYKQQAvAZgKcnJFIQIMBwsQJEEAQQA6AKAKDAMLECVBACECDAULIANBoAFHDQELQQBBAToArAoLQQBBACgCsAo2ApwKC0EAKAKwCiEBDAALCyAAQYDQAGokACACCxoAAkBBACgC3AkgAEcNAEEBDwsgAEF+ahAmC/4KAQZ/QQBBACgCsAoiAEEMaiIBNgKwCkEAKAL4CSECQQEQKSEDAkACQAJAAkACQAJAAkACQAJAQQAoArAKIgQgAUcNACADEChFDQELAkACQAJAAkACQAJAAkAgA0EqRg0AIANB+wBHDQFBACAEQQJqNgKwCkEBECkhA0EAKAKwCiEEA0ACQAJAIANB//8DcSIDQSJGDQAgA0EnRg0AIAMQLBpBACgCsAohAwwBCyADEBpBAEEAKAKwCkECaiIDNgKwCgtBARApGgJAIAQgAxAtIgNBLEcNAEEAQQAoArAKQQJqNgKwCkEBECkhAwsgA0H9AEYNA0EAKAKwCiIFIARGDQ8gBSEEIAVBACgCtApNDQAMDwsLQQAgBEECajYCsApBARApGkEAKAKwCiIDIAMQLRoMAgtBAEEAOgCUCgJAAkACQAJAAkACQCADQZ9/ag4MAgsEAQsDCwsLCwsFAAsgA0H2AEYNBAwKC0EAIARBDmoiAzYCsAoCQAJAAkBBARApQZ9/ag4GABICEhIBEgtBACgCsAoiBSkAAkLzgOSD4I3AMVINESAFLwEKECFFDRFBACAFQQpqNgKwCkEAECkaC0EAKAKwCiIFQQJqQbIIQQ4QLw0QIAUvARAiAkF3aiIBQRdLDQ1BASABdEGfgIAEcUUNDQwOC0EAKAKwCiIFKQACQuyAhIOwjsA5Ug0PIAUvAQoiAkF3aiIBQRdNDQYMCgtBACAEQQpqNgKwCkEAECkaQQAoArAKIQQLQQAgBEEQajYCsAoCQEEBECkiBEEqRw0AQQBBACgCsApBAmo2ArAKQQEQKSEEC0EAKAKwCiEDIAQQLBogA0EAKAKwCiIEIAMgBBACQQBBACgCsApBfmo2ArAKDwsCQCAEKQACQuyAhIOwjsA5Ug0AIAQvAQoQIEUNAEEAIARBCmo2ArAKQQEQKSEEQQAoArAKIQMgBBAsGiADQQAoArAKIgQgAyAEEAJBAEEAKAKwCkF+ajYCsAoPC0EAIARBBGoiBDYCsAoLQQAgBEEGajYCsApBAEEAOgCUCkEBECkhBEEAKAKwCiEDIAQQLCEEQQAoArAKIQIgBEHf/wNxIgFB2wBHDQNBACACQQJqNgKwCkEBECkhBUEAKAKwCiEDQQAhBAwEC0EAQQE6AIwKQQBBACgCsApBAmo2ArAKC0EBECkhBEEAKAKwCiEDAkAgBEHmAEcNACADQQJqQawIQQYQLw0AQQAgA0EIajYCsAogAEEBEClBABArIAJBEGpB5AkgAhshAwNAIAMoAgAiA0UNBSADQgA3AgggA0EQaiEDDAALC0EAIANBfmo2ArAKDAMLQQEgAXRBn4CABHFFDQMMBAtBASEECwNAAkACQCAEDgIAAQELIAVB//8DcRAsGkEBIQQMAQsCQAJAQQAoArAKIgQgA0YNACADIAQgAyAEEAJBARApIQQCQCABQdsARw0AIARBIHJB/QBGDQQLQQAoArAKIQMCQCAEQSxHDQBBACADQQJqNgKwCkEBECkhBUEAKAKwCiEDIAVBIHJB+wBHDQILQQAgA0F+ajYCsAoLIAFB2wBHDQJBACACQX5qNgKwCg8LQQAhBAwACwsPCyACQaABRg0AIAJB+wBHDQQLQQAgBUEKajYCsApBARApIgVB+wBGDQMMAgsCQCACQVhqDgMBAwEACyACQaABRw0CC0EAIAVBEGo2ArAKAkBBARApIgVBKkcNAEEAQQAoArAKQQJqNgKwCkEBECkhBQsgBUEoRg0BC0EAKAKwCiEBIAUQLBpBACgCsAoiBSABTQ0AIAQgAyABIAUQAkEAQQAoArAKQX5qNgKwCg8LIAQgA0EAQQAQAkEAIARBDGo2ArAKDwsQJQuFDAEKf0EAQQAoArAKIgBBDGoiATYCsApBARApIQJBACgCsAohAwJAAkACQAJAAkACQAJAAkAgAkEuRw0AQQAgA0ECajYCsAoCQEEBECkiAkHkAEYNAAJAIAJB8wBGDQAgAkHtAEcNB0EAKAKwCiICQQJqQZwIQQYQLw0HAkBBACgCnAoiAxAqDQAgAy8BAEEuRg0ICyAAIAAgAkEIakEAKALUCRABDwtBACgCsAoiAkECakGiCEEKEC8NBgJAQQAoApwKIgMQKg0AIAMvAQBBLkYNBwtBACEEQQAgAkEMajYCsApBASEFQQUhBkEBECkhAkEAIQdBASEIDAILQQAoArAKIgIpAAJC5YCYg9CMgDlSDQUCQEEAKAKcCiIDECoNACADLwEAQS5GDQYLQQAhBEEAIAJBCmo2ArAKQQIhCEEHIQZBASEHQQEQKSECQQEhBQwBCwJAAkACQAJAIAJB8wBHDQAgAyABTQ0AIANBAmpBoghBChAvDQACQCADLwEMIgRBd2oiB0EXSw0AQQEgB3RBn4CABHENAgsgBEGgAUYNAQtBACEHQQchBkEBIQQgAkHkAEYNAQwCC0EAIQRBACADQQxqIgI2ArAKQQEhBUEBECkhCQJAQQAoArAKIgYgAkYNAEHmACECAkAgCUHmAEYNAEEFIQZBACEHQQEhCCAJIQIMBAtBACEHQQEhCCAGQQJqQawIQQYQLw0EIAYvAQgQIEUNBAtBACEHQQAgAzYCsApBByEGQQEhBEEAIQVBACEIIAkhAgwCCyADIABBCmpNDQBBACEIQeQAIQICQCADKQACQuWAmIPQjIA5Ug0AAkACQCADLwEKIgRBd2oiB0EXSw0AQQEgB3RBn4CABHENAQtBACEIIARBoAFHDQELQQAhBUEAIANBCmo2ArAKQSohAkEBIQdBAiEIQQEQKSIJQSpGDQRBACADNgKwCkEBIQRBACEHQQAhCCAJIQIMAgsgAyEGQQAhBwwCC0EAIQVBACEICwJAIAJBKEcNAEEAKAKkCkEALwGYCiICQQN0aiIDQQAoArAKNgIEQQAgAkEBajsBmAogA0EFNgIAQQAoApwKLwEAQS5GDQRBAEEAKAKwCiIDQQJqNgKwCkEBECkhAiAAQQAoArAKQQAgAxABAkACQCAFDQBBACgC8AkhAQwBC0EAKALwCSIBIAY2AhwLQQBBAC8BlgoiA0EBajsBlgpBACgCqAogA0ECdGogATYCAAJAIAJBIkYNACACQSdGDQBBAEEAKAKwCkF+ajYCsAoPCyACEBpBAEEAKAKwCkECaiICNgKwCgJAAkACQEEBEClBV2oOBAECAgACC0EAQQAoArAKQQJqNgKwCkEBECkaQQAoAvAJIgMgAjYCBCADQQE6ABggA0EAKAKwCiICNgIQQQAgAkF+ajYCsAoPC0EAKALwCSIDIAI2AgQgA0EBOgAYQQBBAC8BmApBf2o7AZgKIANBACgCsApBAmo2AgxBAEEALwGWCkF/ajsBlgoPC0EAQQAoArAKQX5qNgKwCg8LAkAgBEEBcyACQfsAR3INAEEAKAKwCiECQQAvAZgKDQUDQAJAAkACQCACQQAoArQKTw0AQQEQKSICQSJGDQEgAkEnRg0BIAJB/QBHDQJBAEEAKAKwCkECajYCsAoLQQEQKSEDQQAoArAKIQICQCADQeYARw0AIAJBAmpBrAhBBhAvDQcLQQAgAkEIajYCsAoCQEEBECkiAkEiRg0AIAJBJ0cNBwsgACACQQAQKw8LIAIQGgtBAEEAKAKwCkECaiICNgKwCgwACwsCQAJAIAJBWWoOBAMBAQMACyACQSJGDQILQQAoArAKIQYLIAYgAUcNAEEAIABBCmo2ArAKDwsgAkEqRyAHcQ0DQQAvAZgKQf//A3ENA0EAKAKwCiECQQAoArQKIQEDQCACIAFPDQECQAJAIAIvAQAiA0EnRg0AIANBIkcNAQsgACADIAgQKw8LQQAgAkECaiICNgKwCgwACwsQJQsPC0EAIAJBfmo2ArAKDwtBAEEAKAKwCkF+ajYCsAoLRwEDf0EAKAKwCkECaiEAQQAoArQKIQECQANAIAAiAkF+aiABTw0BIAJBAmohACACLwEAQXZqDgQBAAABAAsLQQAgAjYCsAoLmAEBA39BAEEAKAKwCiIBQQJqNgKwCiABQQZqIQFBACgCtAohAgNAAkACQAJAIAFBfGogAk8NACABQX5qLwEAIQMCQAJAIAANACADQSpGDQEgA0F2ag4EAgQEAgQLIANBKkcNAwsgAS8BAEEvRw0CQQAgAUF+ajYCsAoMAQsgAUF+aiEBC0EAIAE2ArAKDwsgAUECaiEBDAALC4gBAQR/QQAoArAKIQFBACgCtAohAgJAAkADQCABIgNBAmohASADIAJPDQEgAS8BACIEIABGDQICQCAEQdwARg0AIARBdmoOBAIBAQIBCyADQQRqIQEgAy8BBEENRw0AIANBBmogASADLwEGQQpGGyEBDAALC0EAIAE2ArAKECUPC0EAIAE2ArAKC2wBAX8CQAJAIABBX2oiAUEFSw0AQQEgAXRBMXENAQsgAEFGakH//wNxQQZJDQAgAEEpRyAAQVhqQf//A3FBB0lxDQACQCAAQaV/ag4EAQAAAQALIABB/QBHIABBhX9qQf//A3FBBElxDwtBAQsuAQF/QQEhAQJAIABBpglBBRAdDQAgAEGWCEEDEB0NACAAQbAJQQIQHSEBCyABC0YBA39BACEDAkAgACACQQF0IgJrIgRBAmoiAEEAKALcCSIFSQ0AIAAgASACEC8NAAJAIAAgBUcNAEEBDwsgBBAmIQMLIAMLgwEBAn9BASEBAkACQAJAAkACQAJAIAAvAQAiAkFFag4EBQQEAQALAkAgAkGbf2oOBAMEBAIACyACQSlGDQQgAkH5AEcNAyAAQX5qQbwJQQYQHQ8LIABBfmovAQBBPUYPCyAAQX5qQbQJQQQQHQ8LIABBfmpByAlBAxAdDwtBACEBCyABC7QDAQJ/QQAhAQJAAkACQAJAAkACQAJAAkACQAJAIAAvAQBBnH9qDhQAAQIJCQkJAwkJBAUJCQYJBwkJCAkLAkACQCAAQX5qLwEAQZd/ag4EAAoKAQoLIABBfGpByghBAhAdDwsgAEF8akHOCEEDEB0PCwJAAkACQCAAQX5qLwEAQY1/ag4DAAECCgsCQCAAQXxqLwEAIgJB4QBGDQAgAkHsAEcNCiAAQXpqQeUAECcPCyAAQXpqQeMAECcPCyAAQXxqQdQIQQQQHQ8LIABBfGpB3AhBBhAdDwsgAEF+ai8BAEHvAEcNBiAAQXxqLwEAQeUARw0GAkAgAEF6ai8BACICQfAARg0AIAJB4wBHDQcgAEF4akHoCEEGEB0PCyAAQXhqQfQIQQIQHQ8LIABBfmpB+AhBBBAdDwtBASEBIABBfmoiAEHpABAnDQQgAEGACUEFEB0PCyAAQX5qQeQAECcPCyAAQX5qQYoJQQcQHQ8LIABBfmpBmAlBBBAdDwsCQCAAQX5qLwEAIgJB7wBGDQAgAkHlAEcNASAAQXxqQe4AECcPCyAAQXxqQaAJQQMQHSEBCyABCzQBAX9BASEBAkAgAEF3akH//wNxQQVJDQAgAEGAAXJBoAFGDQAgAEEuRyAAEChxIQELIAELMAEBfwJAAkAgAEF3aiIBQRdLDQBBASABdEGNgIAEcQ0BCyAAQaABRg0AQQAPC0EBC04BAn9BACEBAkACQCAALwEAIgJB5QBGDQAgAkHrAEcNASAAQX5qQfgIQQQQHQ8LIABBfmovAQBB9QBHDQAgAEF8akHcCEEGEB0hAQsgAQveAQEEf0EAKAKwCiEAQQAoArQKIQECQAJAAkADQCAAIgJBAmohACACIAFPDQECQAJAAkAgAC8BACIDQaR/ag4FAgMDAwEACyADQSRHDQIgAi8BBEH7AEcNAkEAIAJBBGoiADYCsApBAEEALwGYCiICQQFqOwGYCkEAKAKkCiACQQN0aiICQQQ2AgAgAiAANgIEDwtBACAANgKwCkEAQQAvAZgKQX9qIgA7AZgKQQAoAqQKIABB//8DcUEDdGooAgBBA0cNAwwECyACQQRqIQAMAAsLQQAgADYCsAoLECULC3ABAn8CQAJAA0BBAEEAKAKwCiIAQQJqIgE2ArAKIABBACgCtApPDQECQAJAAkAgAS8BACIBQaV/ag4CAQIACwJAIAFBdmoOBAQDAwQACyABQS9HDQIMBAsQLhoMAQtBACAAQQRqNgKwCgwACwsQJQsLNQEBf0EAQQE6APwJQQAoArAKIQBBAEEAKAK0CkECajYCsApBACAAQQAoAtwJa0EBdTYCkAoLQwECf0EBIQECQCAALwEAIgJBd2pB//8DcUEFSQ0AIAJBgAFyQaABRg0AQQAhASACEChFDQAgAkEuRyAAECpyDwsgAQs9AQJ/QQAhAgJAQQAoAtwJIgMgAEsNACAALwEAIAFHDQACQCADIABHDQBBAQ8LIABBfmovAQAQICECCyACC2gBAn9BASEBAkACQCAAQV9qIgJBBUsNAEEBIAJ0QTFxDQELIABB+P8DcUEoRg0AIABBRmpB//8DcUEGSQ0AAkAgAEGlf2oiAkEDSw0AIAJBAUcNAQsgAEGFf2pB//8DcUEESSEBCyABC5wBAQN/QQAoArAKIQECQANAAkACQCABLwEAIgJBL0cNAAJAIAEvAQIiAUEqRg0AIAFBL0cNBBAYDAILIAAQGQwBCwJAAkAgAEUNACACQXdqIgFBF0sNAUEBIAF0QZ+AgARxRQ0BDAILIAIQIUUNAwwBCyACQaABRw0CC0EAQQAoArAKIgNBAmoiATYCsAogA0EAKAK0CkkNAAsLIAILMQEBf0EAIQECQCAALwEAQS5HDQAgAEF+ai8BAEEuRw0AIABBfGovAQBBLkYhAQsgAQumBAEBfwJAIAFBIkYNACABQSdGDQAQJQ8LQQAoArAKIQMgARAaIAAgA0ECakEAKAKwCkEAKALQCRABAkAgAkEBSA0AQQAoAvAJQQRBBiACQQFGGzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=\",\"undefined\"!=typeof Buffer?Buffer.from(A,\"base64\"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A};export const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A}));export const initSync=()=>{if(C)return;const A=new WebAssembly.Module(E());C=new WebAssembly.Instance(A).exports};","import { t as C } from \"./dist-B2ebky9O.mjs\";\nimport { n as KNOWN_ASSET_RE } from \"./constants-DRkacFwN.mjs\";\nimport { _ as withTrailingSlash, c as isNodeBuiltin, d as normalizeModuleId, g as toFilePath, h as toArray, i as findNearestPackageData, m as slash } from \"./utils-ExLpYVUV.mjs\";\nimport { r as withInlineSourcemap } from \"./source-map-DQLD3K8K.mjs\";\nimport assert from \"node:assert\";\nimport { existsSync, promises } from \"node:fs\";\nimport { performance } from \"node:perf_hooks\";\nimport process from \"node:process\";\nimport { pathToFileURL } from \"node:url\";\nimport { createDebug } from \"obug\";\nimport { dirname, extname, join, normalize, relative, resolve } from \"pathe\";\nimport { version } from \"vite\";\nimport * as esModuleLexer from \"es-module-lexer\";\n\n//#region src/debug.ts\nfunction hashCode(s) {\n\treturn s.split(\"\").reduce((a, b) => {\n\t\ta = (a << 5) - a + b.charCodeAt(0);\n\t\treturn a & a;\n\t}, 0);\n}\nvar Debugger = class {\n\tdumpDir;\n\tinitPromise;\n\texternalizeMap = /* @__PURE__ */ new Map();\n\tconstructor(root, options) {\n\t\tthis.options = options;\n\t\tif (options.dumpModules) this.dumpDir = resolve(root, options.dumpModules === true ? \".vite-node/dump\" : options.dumpModules);\n\t\tif (this.dumpDir) if (options.loadDumppedModules) console.info(C.gray(`[vite-node] [debug] load modules from ${this.dumpDir}`));\n\t\telse console.info(C.gray(`[vite-node] [debug] dump modules to ${this.dumpDir}`));\n\t\tthis.initPromise = this.clearDump();\n\t}\n\tasync clearDump() {\n\t\tif (!this.dumpDir) return;\n\t\tif (!this.options.loadDumppedModules && existsSync(this.dumpDir)) await promises.rm(this.dumpDir, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\tawait promises.mkdir(this.dumpDir, { recursive: true });\n\t}\n\tencodeId(id) {\n\t\treturn `${id.replace(/[^\\w@\\-]/g, \"_\").replace(/_+/g, \"_\")}-${hashCode(id)}.js`;\n\t}\n\tasync recordExternalize(id, path) {\n\t\tif (!this.dumpDir) return;\n\t\tthis.externalizeMap.set(id, path);\n\t\tawait this.writeInfo();\n\t}\n\tasync dumpFile(id, result) {\n\t\tif (!result || !this.dumpDir) return;\n\t\tawait this.initPromise;\n\t\tconst name = this.encodeId(id);\n\t\treturn await promises.writeFile(join(this.dumpDir, name), `// ${id.replace(/\\0/g, \"\\\\0\")}\\n${result.code}`, \"utf-8\");\n\t}\n\tasync loadDump(id) {\n\t\tif (!this.dumpDir) return null;\n\t\tawait this.initPromise;\n\t\tconst name = this.encodeId(id);\n\t\tconst path = join(this.dumpDir, name);\n\t\tif (!existsSync(path)) return null;\n\t\treturn {\n\t\t\tcode: (await promises.readFile(path, \"utf-8\")).replace(/^\\/\\/.*\\n/, \"\"),\n\t\t\tmap: void 0\n\t\t};\n\t}\n\tasync writeInfo() {\n\t\tif (!this.dumpDir) return;\n\t\tconst info = JSON.stringify({\n\t\t\ttime: (/* @__PURE__ */ new Date()).toLocaleString(),\n\t\t\texternalize: Object.fromEntries(this.externalizeMap.entries())\n\t\t}, null, 2);\n\t\treturn promises.writeFile(join(this.dumpDir, \"info.json\"), info, \"utf-8\");\n\t}\n};\n\n//#endregion\n//#region src/externalize.ts\nconst BUILTIN_EXTENSIONS = new Set([\n\t\".mjs\",\n\t\".cjs\",\n\t\".node\",\n\t\".wasm\"\n]);\nconst ESM_EXT_RE = /\\.(es|esm|esm-browser|esm-bundler|es6|module)\\.js$/;\nconst ESM_FOLDER_RE = /\\/(es|esm)\\/(.*\\.js)$/;\nconst defaultInline = [\n\t/virtual:/,\n\t/\\.[mc]?ts$/,\n\t/[?&](init|raw|url|inline)\\b/,\n\tKNOWN_ASSET_RE\n];\nconst depsExternal = [/\\/node_modules\\/.*\\.cjs\\.js$/, /\\/node_modules\\/.*\\.mjs$/];\nfunction guessCJSversion(id) {\n\tif (id.match(ESM_EXT_RE)) {\n\t\tfor (const i of [\n\t\t\tid.replace(ESM_EXT_RE, \".mjs\"),\n\t\t\tid.replace(ESM_EXT_RE, \".umd.js\"),\n\t\t\tid.replace(ESM_EXT_RE, \".cjs.js\"),\n\t\t\tid.replace(ESM_EXT_RE, \".js\")\n\t\t]) if (existsSync(i)) return i;\n\t}\n\tif (id.match(ESM_FOLDER_RE)) {\n\t\tfor (const i of [\n\t\t\tid.replace(ESM_FOLDER_RE, \"/umd/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/cjs/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/lib/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/$1\")\n\t\t]) if (existsSync(i)) return i;\n\t}\n}\nasync function isValidNodeImport(id) {\n\tconst extension = extname(id);\n\tif (BUILTIN_EXTENSIONS.has(extension)) return true;\n\tif (extension !== \".js\") return false;\n\tid = id.replace(\"file:///\", \"\");\n\tif ((await findNearestPackageData(dirname(id))).type === \"module\") return true;\n\tif (/\\.(?:\\w+-)?esm?(?:-\\w+)?\\.js$|\\/esm?\\//.test(id)) return false;\n\ttry {\n\t\tawait esModuleLexer.init;\n\t\tconst code = await promises.readFile(id, \"utf8\");\n\t\tconst [, , , hasModuleSyntax] = esModuleLexer.parse(code);\n\t\treturn !hasModuleSyntax;\n\t} catch {\n\t\treturn false;\n\t}\n}\nconst _defaultExternalizeCache = /* @__PURE__ */ new Map();\nasync function shouldExternalize(id, options, cache = _defaultExternalizeCache) {\n\tif (!cache.has(id)) cache.set(id, _shouldExternalize(id, options));\n\treturn cache.get(id);\n}\nasync function _shouldExternalize(id, options) {\n\tif (isNodeBuiltin(id)) return id;\n\tif (id.startsWith(\"data:\") || /^(?:https?:)?\\/\\//.test(id)) return id;\n\tid = patchWindowsImportPath(id);\n\tconst moduleDirectories = options?.moduleDirectories || [\"/node_modules/\"];\n\tif (matchExternalizePattern(id, moduleDirectories, options?.inline)) return false;\n\tif (options?.inlineFiles && options?.inlineFiles.includes(id)) return false;\n\tif (matchExternalizePattern(id, moduleDirectories, options?.external)) return id;\n\tif (options?.cacheDir && id.includes(options.cacheDir)) return id;\n\tconst isLibraryModule = moduleDirectories.some((dir) => id.includes(dir));\n\tid = isLibraryModule && options?.fallbackCJS ? guessCJSversion(id) || id : id;\n\tif (matchExternalizePattern(id, moduleDirectories, defaultInline)) return false;\n\tif (matchExternalizePattern(id, moduleDirectories, depsExternal)) return id;\n\tif (isLibraryModule && await isValidNodeImport(id)) return id;\n\treturn false;\n}\nfunction matchExternalizePattern(id, moduleDirectories, patterns) {\n\tif (patterns == null) return false;\n\tif (patterns === true) return true;\n\tfor (const ex of patterns) if (typeof ex === \"string\") {\n\t\tif (moduleDirectories.some((dir) => id.includes(join(dir, ex)))) return true;\n\t} else if (ex.test(id)) return true;\n\treturn false;\n}\nfunction patchWindowsImportPath(path) {\n\tif (path.match(/^\\w:\\\\/)) return `file:///${slash(path)}`;\n\telse if (path.match(/^\\w:\\//)) return `file:///${path}`;\n\telse return path;\n}\n\n//#endregion\n//#region src/server.ts\nconst debugRequest = createDebug(\"vite-node:server:request\");\nvar ViteNodeServer = class {\n\tfetchPromiseMap = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\ttransformPromiseMap = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\tdurations = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\texistingOptimizedDeps = /* @__PURE__ */ new Set();\n\tfetchCaches = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\tfetchCache = /* @__PURE__ */ new Map();\n\texternalizeCache = /* @__PURE__ */ new Map();\n\tdebugger;\n\tconstructor(server, options = {}) {\n\t\tthis.server = server;\n\t\tthis.options = options;\n\t\tconst ssrOptions = server.config.ssr;\n\t\toptions.deps ??= {};\n\t\toptions.deps.cacheDir = relative(server.config.root, options.deps.cacheDir || server.config.cacheDir);\n\t\tif (ssrOptions) {\n\t\t\tif (ssrOptions.noExternal === true) options.deps.inline ??= true;\n\t\t\telse if (options.deps.inline !== true) {\n\t\t\t\toptions.deps.inline ??= [];\n\t\t\t\tconst inline = options.deps.inline;\n\t\t\t\toptions.deps.inline.push(...toArray(ssrOptions.noExternal).filter((dep) => !inline.includes(dep)));\n\t\t\t}\n\t\t}\n\t\tif (process.env.VITE_NODE_DEBUG_DUMP) options.debug = Object.assign({\n\t\t\tdumpModules: !!process.env.VITE_NODE_DEBUG_DUMP,\n\t\t\tloadDumppedModules: process.env.VITE_NODE_DEBUG_DUMP === \"load\"\n\t\t}, options.debug ?? {});\n\t\tif (options.debug) this.debugger = new Debugger(server.config.root, options.debug);\n\t\tif (options.deps.inlineFiles) options.deps.inlineFiles = options.deps.inlineFiles.flatMap((file) => {\n\t\t\tif (file.startsWith(\"file://\")) return file;\n\t\t\tconst resolvedId = resolve(file);\n\t\t\treturn [resolvedId, pathToFileURL(resolvedId).href];\n\t\t});\n\t\toptions.deps.moduleDirectories ??= [];\n\t\tconst customModuleDirectories = (process.env.VITE_NODE_DEPS_MODULE_DIRECTORIES || process.env.npm_config_VITE_NODE_DEPS_MODULE_DIRECTORIES)?.split(\",\");\n\t\tif (customModuleDirectories) options.deps.moduleDirectories.push(...customModuleDirectories);\n\t\toptions.deps.moduleDirectories = options.deps.moduleDirectories.map((dir) => {\n\t\t\tif (!dir.startsWith(\"/\")) dir = `/${dir}`;\n\t\t\tif (!dir.endsWith(\"/\")) dir += \"/\";\n\t\t\treturn normalize(dir);\n\t\t});\n\t\tif (!options.deps.moduleDirectories.includes(\"/node_modules/\")) options.deps.moduleDirectories.push(\"/node_modules/\");\n\t}\n\tshouldExternalize(id) {\n\t\treturn shouldExternalize(id, this.options.deps, this.externalizeCache);\n\t}\n\tgetTotalDuration() {\n\t\tconst ssrDurations = [...this.durations.ssr.values()].flat();\n\t\tconst webDurations = [...this.durations.web.values()].flat();\n\t\treturn [...ssrDurations, ...webDurations].reduce((a, b) => a + b, 0);\n\t}\n\tasync ensureExists(id) {\n\t\tif (this.existingOptimizedDeps.has(id)) return true;\n\t\tif (existsSync(id)) {\n\t\t\tthis.existingOptimizedDeps.add(id);\n\t\t\treturn true;\n\t\t}\n\t\treturn new Promise((resolve$1) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ensureExists(id).then(() => {\n\t\t\t\t\tresolve$1(true);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\tasync resolveId(id, importer, transformMode) {\n\t\tif (importer && !importer.startsWith(withTrailingSlash(this.server.config.root))) importer = resolve(this.server.config.root, importer);\n\t\tconst mode = transformMode ?? (importer && this.getTransformMode(importer) || \"ssr\");\n\t\treturn this.server.pluginContainer.resolveId(id, importer, { ssr: mode === \"ssr\" });\n\t}\n\tgetSourceMap(source) {\n\t\tsource = normalizeModuleId(source);\n\t\tconst fetchResult = this.fetchCache.get(source)?.result;\n\t\tif (fetchResult?.map) return fetchResult.map;\n\t\treturn (this.server.moduleGraph.getModuleById(source)?.ssrTransformResult)?.map || null;\n\t}\n\tassertMode(mode) {\n\t\tassert(mode === \"web\" || mode === \"ssr\", `\"transformMode\" can only be \"web\" or \"ssr\", received \"${mode}\".`);\n\t}\n\tasync fetchModule(id, transformMode) {\n\t\tconst mode = transformMode || this.getTransformMode(id);\n\t\treturn this.fetchResult(id, mode).then((r) => {\n\t\t\treturn this.options.sourcemap !== true ? {\n\t\t\t\t...r,\n\t\t\t\tmap: void 0\n\t\t\t} : r;\n\t\t});\n\t}\n\tasync fetchResult(id, mode) {\n\t\tconst moduleId = normalizeModuleId(id);\n\t\tthis.assertMode(mode);\n\t\tconst promiseMap = this.fetchPromiseMap[mode];\n\t\tif (!promiseMap.has(moduleId)) promiseMap.set(moduleId, this._fetchModule(moduleId, mode).finally(() => {\n\t\t\tpromiseMap.delete(moduleId);\n\t\t}));\n\t\treturn promiseMap.get(moduleId);\n\t}\n\tasync transformRequest(id, filepath = id, transformMode) {\n\t\tconst mode = transformMode || this.getTransformMode(id);\n\t\tthis.assertMode(mode);\n\t\tconst promiseMap = this.transformPromiseMap[mode];\n\t\tif (!promiseMap.has(id)) promiseMap.set(id, this._transformRequest(id, filepath, mode).finally(() => {\n\t\t\tpromiseMap.delete(id);\n\t\t}));\n\t\treturn promiseMap.get(id);\n\t}\n\tasync transformModule(id, transformMode) {\n\t\tif (transformMode !== \"web\") throw new Error(\"`transformModule` only supports `transformMode: \\\"web\\\"`.\");\n\t\tconst normalizedId = normalizeModuleId(id);\n\t\treturn { code: (this.server.moduleGraph.getModuleById(normalizedId)?.transformResult || await this.server.transformRequest(normalizedId))?.code };\n\t}\n\tgetTransformMode(id) {\n\t\tconst withoutQuery = id.split(\"?\")[0];\n\t\tif (this.options.transformMode?.web?.some((r) => withoutQuery.match(r))) return \"web\";\n\t\tif (this.options.transformMode?.ssr?.some((r) => withoutQuery.match(r))) return \"ssr\";\n\t\tif (withoutQuery.match(/\\.([cm]?[jt]sx?|json)$/)) return \"ssr\";\n\t\treturn \"web\";\n\t}\n\tgetChangedModule(id, file) {\n\t\tconst module = this.server.moduleGraph.getModuleById(id) || this.server.moduleGraph.getModuleById(file);\n\t\tif (module) return module;\n\t\tconst _modules = this.server.moduleGraph.getModulesByFile(file);\n\t\tif (!_modules || !_modules.size) return null;\n\t\tlet mod = [..._modules][0];\n\t\tlet latestMax = -1;\n\t\tfor (const m of _modules) {\n\t\t\tconst timestamp = Math.max(m.lastHMRTimestamp, m.lastInvalidationTimestamp);\n\t\t\tif (timestamp > latestMax) {\n\t\t\t\tlatestMax = timestamp;\n\t\t\t\tmod = m;\n\t\t\t}\n\t\t}\n\t\treturn mod;\n\t}\n\tasync _fetchModule(id, transformMode) {\n\t\tlet result;\n\t\tconst cacheDir = this.options.deps?.cacheDir;\n\t\tif (cacheDir && id.includes(cacheDir)) {\n\t\t\tif (!id.startsWith(withTrailingSlash(this.server.config.root))) id = join(this.server.config.root, id);\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tthrow new Error(`ViteNodeServer: ${id} not found. This is a bug, please report it.`);\n\t\t\t}, 5e3);\n\t\t\tawait this.ensureExists(id);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\tconst { path: filePath } = toFilePath(id, this.server.config.root);\n\t\tconst moduleNode = this.getChangedModule(id, filePath);\n\t\tconst cache = this.fetchCaches[transformMode].get(filePath);\n\t\tconst timestamp = moduleNode ? Math.max(moduleNode.lastHMRTimestamp, moduleNode.lastInvalidationTimestamp) : 0;\n\t\tif (cache && (timestamp === 0 || cache.timestamp >= timestamp)) return cache.result;\n\t\tconst time = Date.now();\n\t\tconst externalize = await this.shouldExternalize(filePath);\n\t\tlet duration;\n\t\tif (externalize) {\n\t\t\tresult = { externalize };\n\t\t\tthis.debugger?.recordExternalize(id, externalize);\n\t\t} else {\n\t\t\tconst start = performance.now();\n\t\t\tconst r = await this._transformRequest(id, filePath, transformMode);\n\t\t\tduration = performance.now() - start;\n\t\t\tresult = {\n\t\t\t\tcode: r?.code,\n\t\t\t\tmap: r?.map\n\t\t\t};\n\t\t}\n\t\tconst cacheEntry = {\n\t\t\tduration,\n\t\t\ttimestamp: time,\n\t\t\tresult\n\t\t};\n\t\tconst durations = this.durations[transformMode].get(filePath) || [];\n\t\tthis.durations[transformMode].set(filePath, [...durations, duration ?? 0]);\n\t\tthis.fetchCaches[transformMode].set(filePath, cacheEntry);\n\t\tthis.fetchCache.set(filePath, cacheEntry);\n\t\treturn result;\n\t}\n\tasync processTransformResult(filepath, result) {\n\t\treturn withInlineSourcemap(result, {\n\t\t\tfilepath: this.server.moduleGraph.getModuleById(filepath)?.file || filepath,\n\t\t\troot: this.server.config.root,\n\t\t\tnoFirstLineMapping: Number(version.split(\".\")[0]) >= 6\n\t\t});\n\t}\n\tasync _transformRequest(id, filepath, transformMode) {\n\t\tdebugRequest(id);\n\t\tlet result = null;\n\t\tif (this.options.debug?.loadDumppedModules) {\n\t\t\tresult = await this.debugger?.loadDump(id) ?? null;\n\t\t\tif (result) return result;\n\t\t}\n\t\tif (transformMode === \"web\") {\n\t\t\tresult = await this.server.transformRequest(id);\n\t\t\tif (result) result = await this.server.ssrTransform(result.code, result.map, id);\n\t\t} else result = await this.server.transformRequest(id, { ssr: true });\n\t\tif ((this.options.sourcemap ?? \"inline\") === \"inline\" && result) result = await this.processTransformResult(filepath, result);\n\t\tif (this.options.debug?.dumpModules) await this.debugger?.dumpFile(id, result);\n\t\treturn result;\n\t}\n};\n\n//#endregion\nexport { guessCJSversion as n, shouldExternalize as r, ViteNodeServer as t };","import fs from 'node:fs';\nimport path from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport { type ConfigInit, defineConfig, type Logger } from '@terrazzo/parser';\nimport pc from 'picocolors';\nimport { createServer, type ViteDevServer } from 'vite';\nimport { ViteNodeRunner } from 'vite-node/client';\nimport { ViteNodeServer } from 'vite-node/server';\n\nexport const cwd = new URL(`${pathToFileURL(process.cwd())}/`); // trailing slash needed to interpret as directory\nexport const DEFAULT_CONFIG_PATH = new URL('./terrazzo.config.ts', cwd);\nexport const DEFAULT_TOKENS_PATH = new URL('./tokens.json', cwd);\n\nexport type Command = 'build' | 'check' | 'help' | 'init' | 'version';\n\nexport const GREEN_CHECK = pc.green('✔');\n\nexport interface Flags {\n /** --config, -c */\n config?: string;\n /** --out, -o */\n out?: string;\n /** --help */\n help?: boolean;\n /** --watch, -w */\n watch?: boolean;\n /** --version */\n version?: boolean;\n}\n\nexport interface LoadConfigOptions {\n cmd: Command;\n flags: Flags;\n logger: Logger;\n}\n\n/** Load config */\nexport async function loadConfig({ cmd, flags, logger }: LoadConfigOptions) {\n /**\n * Vite server for loading .ts config files\n * TODO: remove me when Node 24 is the oldest-supported Node version\n */\n let viteServer: ViteDevServer | undefined;\n try {\n let config: ConfigInit = {\n tokens: [DEFAULT_TOKENS_PATH],\n outDir: new URL('./tokens/', cwd),\n plugins: [],\n lint: {\n build: { enabled: true },\n rules: {},\n },\n ignore: { tokens: [], deprecated: false },\n };\n let configPath: string | undefined;\n\n if (typeof flags.config === 'string') {\n if (flags.config === '') {\n logger.error({ group: 'config', message: 'Missing path after --config flag' });\n process.exit(1);\n }\n configPath = resolveConfig(flags.config);\n if (!configPath) {\n logger.error({ group: 'config', message: `Could not locate ${flags.config}` });\n }\n }\n\n const resolvedConfigPath = resolveConfig(configPath);\n if (resolvedConfigPath) {\n try {\n // Note: we create a vite-node instance only when resolving the config,\n // because in most scenarios we only ever need this once and never again.\n // even in watch mode we don’t reload the config, so keeping a vite-node\n // “hot” instance doesn’t provide obvious benefits (only potential memory leaks)\n viteServer = await createServer({ mode: 'development' });\n const viteNodeServer = new ViteNodeServer(viteServer);\n const viteNodeRunner = new ViteNodeRunner({\n root: viteServer.config.root,\n base: viteServer.config.base,\n fetchModule(...args) {\n return viteNodeServer.fetchModule(...args);\n },\n resolveId(...args) {\n return viteNodeServer.resolveId(...args);\n },\n });\n const mod = await viteNodeRunner.executeFile(resolvedConfigPath);\n if (!mod.default) {\n // we format it immediately below\n throw new Error(\n `No default export found in ${resolvedConfigPath}. See https://terrazzo.dev/docs for instructions.`,\n );\n }\n config = defineConfig(mod.default, { cwd, logger });\n } catch (err) {\n logger.error({ group: 'config', message: (err as Error).message || (err as string) });\n }\n } else if (cmd !== 'init' && cmd !== 'check') {\n logger.error({ group: 'config', message: 'No config file found. Create one with `npx terrazzo init`.' });\n }\n\n // clean up\n if (viteServer) {\n await viteServer?.close();\n }\n\n return {\n config,\n configPath: resolvedConfigPath!,\n };\n } catch (err) {\n printError((err as Error).message);\n\n // clean up\n if (viteServer) {\n await viteServer.close();\n }\n\n process.exit(1);\n }\n}\n\n/** load tokens */\nexport async function loadTokens(tokenPaths: URL[], { logger }: { logger: Logger }) {\n try {\n const allTokens = [];\n\n if (!Array.isArray(tokenPaths)) {\n logger.error({ group: 'config', message: `loadTokens: Expected array, received ${typeof tokenPaths}` });\n }\n\n // if this is the default value, also check for tokens.yaml\n if (tokenPaths.length === 1 && tokenPaths[0]!.href === DEFAULT_TOKENS_PATH.href) {\n if (!fs.existsSync(tokenPaths[0]!)) {\n const yamlPath = new URL('./tokens.yaml', cwd);\n if (fs.existsSync(yamlPath)) {\n tokenPaths[0] = yamlPath;\n } else {\n logger.error({\n group: 'config',\n message: `Could not locate ${path.relative(cwd.href, tokenPaths[0]!.href)}. To create one, run \\`npx tz init\\`.`,\n });\n return;\n }\n }\n }\n\n // download/read\n for (let i = 0; i < tokenPaths.length; i++) {\n const filename = tokenPaths[i];\n\n if (!(filename instanceof URL)) {\n logger.error({ group: 'config', message: `Expected URL, received ${filename}`, label: `loadTokens[${i}]` });\n return;\n } else if (filename.protocol === 'http:' || filename.protocol === 'https:') {\n try {\n // if Figma URL\n if (filename.host === 'figma.com' || filename.host === 'www.figma.com') {\n const [_, fileKeyword, fileKey] = filename.pathname.split('/');\n if (fileKeyword !== 'file' || !fileKey) {\n logger.error({\n group: 'config',\n message: `Unexpected Figma URL. Expected \"https://www.figma.com/file/:file_key/:file_name?…\", received \"${filename.href}\"`,\n });\n }\n const headers = new Headers({\n Accept: '*/*',\n 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0',\n });\n if (process.env.FIGMA_ACCESS_TOKEN) {\n headers.set('X-FIGMA-TOKEN', process.env.FIGMA_ACCESS_TOKEN);\n } else {\n logger.warn({ group: 'config', message: 'FIGMA_ACCESS_TOKEN not set' });\n }\n const res = await fetch(`https://api.figma.com/v1/files/${fileKey}/variables/local`, {\n method: 'GET',\n headers,\n });\n if (res.ok) {\n allTokens.push({ filename, src: await res.text() });\n }\n const message = res.status !== 404 ? JSON.stringify(await res.json(), undefined, 2) : '';\n logger.error({\n group: 'config',\n message: `Figma responded with ${res.status}${message ? `:\\n${message}` : ''}`,\n });\n break;\n }\n\n // otherwise, expect YAML/JSON\n const res = await fetch(filename, {\n method: 'GET',\n headers: { Accept: '*/*', 'User-Agent': 'Mozilla/5.0 Gecko/20100101 Firefox/123.0' },\n });\n allTokens.push({ filename, src: await res.text() });\n } catch (err) {\n logger.error({ group: 'config', message: `${filename.href}: ${err}` });\n return;\n }\n } else {\n if (fs.existsSync(filename)) {\n allTokens.push({ filename, src: fs.readFileSync(filename, 'utf8') });\n } else {\n logger.error({\n group: 'config',\n message: `Could not locate ${path.relative(cwd.href, filename.href)}. To create one, run \\`npx tz init\\`.`,\n });\n return;\n }\n }\n }\n\n return allTokens;\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\n/** Print error */\nexport function printError(message: string) {\n console.error(pc.red(`✗ ${message}`));\n}\n\n/** Print success */\nexport function printSuccess(message: string, startTime?: number) {\n console.log(`${GREEN_CHECK} ${message}${startTime ? ` ${time(startTime)}` : ''}`);\n}\n\n/** Resolve config */\nexport function resolveConfig(filename?: string): string | undefined {\n // --config [configpath]\n if (filename && fs.existsSync(new URL(filename, cwd))) {\n return filename;\n }\n // note: the order isn’t significant; just try for most-common first.\n // if a user has multiple config files with different extensions that’s their fault\n for (const ext of ['.ts', '.js', '.mts', '.cts', '.mjs', '.cjs']) {\n const maybeFilename = `terrazzo.config${ext}`;\n if (fs.existsSync(maybeFilename)) {\n return maybeFilename;\n }\n }\n}\n\n/** Resolve tokens.json path (for lint command) */\nexport function resolveTokenPath(filename: string, { logger }: { logger: Logger }) {\n const tokensPath = new URL(filename, cwd);\n if (!fs.existsSync(tokensPath)) {\n logger.error({ group: 'config', message: `Could not locate ${filename}. Does the file exist?` });\n } else if (!fs.statSync(tokensPath).isFile()) {\n logger.error({ group: 'config', message: `Expected JSON or YAML file, received ${filename}.` });\n }\n return tokensPath;\n}\n\n/** Print time elapsed */\nexport function time(start: number) {\n const diff = performance.now() - start;\n return pc.dim(diff < 750 ? `${Math.round(diff)}ms` : `${(diff / 1000).toFixed(1)}s`);\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { type BuildRunnerResult, build, type ConfigInit, type Logger, parse } from '@terrazzo/parser';\nimport chokidar from 'chokidar';\nimport pc from 'picocolors';\nimport yamlToMomoa from 'yaml-to-momoa';\nimport {\n cwd,\n DEFAULT_TOKENS_PATH,\n type Flags,\n GREEN_CHECK,\n loadTokens,\n printError,\n printSuccess,\n resolveConfig,\n} from './shared.js';\n\nexport interface BuildOptions {\n flags: Flags;\n config: ConfigInit;\n configPath: string;\n logger: Logger;\n}\n\n/** tz build */\nexport async function buildCmd({ config, configPath, flags, logger }: BuildOptions) {\n try {\n const startTime = performance.now();\n if (!Array.isArray(config.plugins) || !config.plugins.length) {\n logger.error({\n group: 'config',\n message: `No plugins defined! Add some in ${configPath || 'terrazzo.config.ts'}`,\n });\n }\n\n // first build\n let rawSchemas = await loadTokens(config.tokens, { logger });\n if (!rawSchemas) {\n logger.error({\n group: 'config',\n message: `Error loading ${path.relative(fileURLToPath(cwd), fileURLToPath(config.tokens[0] || DEFAULT_TOKENS_PATH))}`,\n });\n return;\n }\n let { tokens, sources } = await parse(rawSchemas, { config, logger, yamlToMomoa });\n let result = await build(tokens, { sources, config, logger });\n writeFiles(result, { config, logger });\n\n // --watch (handle rebuild)\n if (flags.watch) {\n const dt = new Intl.DateTimeFormat('en-us', {\n hour: '2-digit',\n minute: '2-digit',\n });\n\n async function rebuild({ messageBefore, messageAfter }: { messageBefore?: string; messageAfter?: string } = {}) {\n try {\n if (messageBefore) {\n logger.info({ group: 'plugin', label: 'watch', message: messageBefore });\n }\n rawSchemas = await loadTokens(config.tokens, { logger });\n if (!rawSchemas) {\n throw new Error(\n `Error loading ${path.relative(fileURLToPath(cwd), fileURLToPath(config.tokens[0] || DEFAULT_TOKENS_PATH))}`,\n );\n }\n const parseResult = await parse(rawSchemas, { config, logger, yamlToMomoa });\n tokens = parseResult.tokens;\n sources = parseResult.sources;\n result = await build(tokens, { sources, config, logger });\n if (messageAfter) {\n logger.info({ group: 'plugin', label: 'watch', message: messageAfter });\n }\n writeFiles(result, { config, logger });\n } catch (err) {\n console.error(pc.red(`✗ ${(err as Error).message || (err as string)}`));\n // don’t exit! we’re watching, so continue as long as possible\n }\n }\n\n const tokenWatcher = chokidar.watch(config.tokens.map((filename) => fileURLToPath(filename)));\n tokenWatcher.on('change', async (filename) => {\n await rebuild({\n messageBefore: `${pc.dim(dt.format(new Date()))} ${pc.green('tz')}} ${pc.yellow(filename)} updated ${GREEN_CHECK}`,\n });\n });\n const configWatcher = chokidar.watch(resolveConfig(configPath)!);\n configWatcher.on('change', async () => {\n await rebuild({\n messageBefore: `${pc.dim(dt.format(new Date()))} ${pc.green('tz')} ${pc.yellow('Config updated. Reloading…')}`,\n });\n });\n\n // keep process occupied\n await new Promise(() => {});\n } else {\n printSuccess(\n `${Object.keys(tokens).length} token${Object.keys(tokens).length !== 1 ? 's' : ''} built`,\n startTime,\n );\n }\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\n/** Write files */\nexport function writeFiles(result: BuildRunnerResult, { config, logger }: { config: ConfigInit; logger: Logger }) {\n for (const { filename, contents } of result.outputFiles) {\n const output = new URL(filename, config.outDir);\n fs.mkdirSync(new URL('.', output), { recursive: true });\n fs.writeFileSync(output, contents);\n logger.debug({ group: 'parser', label: 'buildEnd', message: `Wrote file ${fileURLToPath(output)}` });\n }\n}\n","import { type ConfigInit, type Logger, parse } from '@terrazzo/parser';\nimport yamlToMomoa from 'yaml-to-momoa';\nimport { loadTokens, printError, printSuccess, resolveTokenPath } from './shared.js';\n\nexport interface CheckOptions {\n /** positional CLI args */\n positionals: string[];\n config: ConfigInit;\n logger: Logger;\n}\n\n/** tz check */\nexport async function checkCmd({ config, logger, positionals }: CheckOptions) {\n try {\n const startTime = performance.now();\n const tokenPaths = positionals.slice(1).length\n ? positionals.slice(1).map((tokenPath) => resolveTokenPath(tokenPath, { logger }))\n : config.tokens;\n const sources = await loadTokens(tokenPaths, { logger });\n if (!sources?.length) {\n logger.error({ group: 'config', message: 'Couldn’t find any tokens. Run `npx tz init` to create some.' });\n return;\n }\n await parse(sources, { config, continueOnError: true, logger, yamlToMomoa }); // will throw if errors\n printSuccess('No errors', startTime);\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n","/** Show help */\nexport function helpCmd() {\n console.log(`tz\n [commands]\n build Build token artifacts from tokens.json\n --watch, -w Watch tokens.json for changes and recompile\n --no-lint Disable linters running on build\n check [path] Check tokens.json for errors and run linters\n lint [path] (alias of check)\n init Create a starter tokens.json file\n lab Manage your tokens with a web interface\n\n [options]\n --help Show this message\n --config, -c Path to config (default: ./terrazzo.config.ts)\n --quiet Suppress warnings\n`);\n}\n","import { exec } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { confirm, intro, multiselect, outro, select, spinner } from '@clack/prompts';\nimport type { Logger } from '@terrazzo/parser';\nimport { pluralize } from '@terrazzo/token-tools';\nimport { detect } from 'detect-package-manager';\nimport { generate } from 'escodegen';\nimport { type ESTree, parseModule } from 'meriyah';\nimport { cwd, DEFAULT_CONFIG_PATH, DEFAULT_TOKENS_PATH, loadConfig, printError } from './shared.js';\n\nconst INSTALL_COMMAND = {\n npm: 'install -D --silent',\n yarn: 'add -D --silent',\n pnpm: 'add -D --silent',\n bun: 'install -D --silent',\n};\n\n// Local copy of dtcg-examples/index.json. Copied partially for security (no\n// arbitrary injection of URL fetches), but also efficiency (saves a\n// round-trip).\ntype DesignSystem =\n | 'adobe-spectrum'\n | 'apple-hig'\n | 'figma-sds'\n | 'github-primer'\n | 'ibm-carbon'\n | 'microsoft-fluent'\n | 'radix'\n | 'salesforce-lightning'\n | 'shopify-polaris';\n\nconst DTCG_ROOT_URL = 'https://raw.githubusercontent.com/terrazzoapp/dtcg-examples/refs/heads/main/';\nconst DESIGN_SYSTEMS: Record<DesignSystem, { name: string; author: string; tokens: string[] }> = {\n 'adobe-spectrum': {\n name: 'Spectrum',\n author: 'Adobe',\n tokens: ['adobe-spectrum.json'],\n },\n 'apple-hig': {\n name: 'Human Interface Guidelines',\n author: 'Apple',\n tokens: ['apple-hig.json'],\n },\n 'figma-sds': {\n name: 'Simple Design System',\n author: 'Figma',\n tokens: ['figma-sds.json'],\n },\n 'github-primer': {\n name: 'Primer',\n author: 'GitHub',\n tokens: ['github-primer.json'],\n },\n 'ibm-carbon': {\n name: 'Carbon',\n author: 'IBM',\n tokens: ['ibm-carbon.json'],\n },\n 'microsoft-fluent': {\n name: 'Fluent',\n author: 'Microsoft',\n tokens: ['microsoft-fluent.json'],\n },\n radix: {\n name: 'Radix',\n author: 'Radix',\n tokens: ['radix.json'],\n },\n 'salesforce-lightning': {\n name: 'Lightning',\n author: 'Salesforce',\n tokens: ['salesforce-lightning.json'],\n },\n 'shopify-polaris': {\n name: 'Polaris',\n author: 'Shopify',\n tokens: ['shopify-polaris.json'],\n },\n};\n\nexport interface InitOptions {\n logger: Logger;\n}\n\nexport async function initCmd({ logger }: InitOptions) {\n try {\n intro('⛋ Welcome to Terrazzo');\n const packageManager = await detect({ cwd: fileURLToPath(cwd) });\n\n // TODO: pass in CLI flags?\n const { config, configPath } = await loadConfig({ cmd: 'init', flags: {}, logger });\n const relConfigPath = configPath\n ? path.relative(fileURLToPath(cwd), fileURLToPath(new URL(configPath)))\n : undefined;\n\n let tokensPath = config.tokens[0]!;\n let startFromDS = !(tokensPath && fs.existsSync(tokensPath));\n\n // 1. tokens\n if (tokensPath && fs.existsSync(tokensPath)) {\n if (\n await confirm({\n message: `Found tokens at ${path.relative(fileURLToPath(cwd), fileURLToPath(tokensPath))}. Overwrite with a new design system?`,\n })\n ) {\n startFromDS = true;\n }\n } else {\n tokensPath = DEFAULT_TOKENS_PATH;\n }\n\n if (startFromDS) {\n const ds = DESIGN_SYSTEMS[\n (await select({\n message: 'Start from existing design system?',\n options: [\n ...Object.entries(DESIGN_SYSTEMS).map(([id, { author, name }]) => ({\n value: id,\n label: `${author} ${name}`,\n })),\n { value: 'none', label: 'None' },\n ],\n })) as keyof typeof DESIGN_SYSTEMS\n ] as (typeof DESIGN_SYSTEMS)[DesignSystem] | undefined;\n if (ds) {\n // TODO: support multiple tokens files?\n const s = spinner();\n s.start('Downloading');\n const tokenSource = await fetch(new URL(ds.tokens[0]!, DTCG_ROOT_URL)).then((res) => res.text());\n fs.writeFileSync(tokensPath, tokenSource);\n s.stop('Download complete');\n }\n }\n\n // 2. plugins\n const existingPlugins = config.plugins.map((p) => p.name);\n const pluginSelection = await multiselect({\n message: 'Install plugins?',\n options: [\n { value: ['@terrazzo/plugin-css'], label: 'CSS' },\n { value: ['@terrazzo/plugin-js'], label: 'JS + TS' },\n { value: ['@terrazzo/plugin-css', '@terrazzo/plugin-sass'], label: 'Sass' },\n { value: ['@terrazzo/plugin-tailwind'], label: 'Tailwind' },\n ],\n required: false,\n });\n const newPlugins = Array.isArray(pluginSelection)\n ? Array.from(new Set(pluginSelection.flat().filter((p) => !existingPlugins.includes(p))))\n : [];\n if (newPlugins?.length) {\n const plugins = newPlugins.map((p) => ({ specifier: p.replace('@terrazzo/plugin-', ''), package: p }));\n const pluginCount = `${newPlugins.length} ${pluralize(newPlugins.length, 'plugin', 'plugins')}`;\n\n const s = spinner();\n s.start(`Installing ${pluginCount}`);\n // note: thi sis async to show the spinner\n await new Promise((resolve, reject) => {\n const subprocess = exec([packageManager, INSTALL_COMMAND[packageManager], newPlugins.join(' ')].join(' '), {\n cwd,\n });\n subprocess.on('error', reject);\n subprocess.on('exit', resolve);\n });\n s.message('Updating config');\n if (configPath) {\n const ast = parseModule(fs.readFileSync(configPath, 'utf8'));\n const astExport = ast.body.find((node) => node.type === 'ExportDefaultDeclaration');\n\n // 2a. add plugin imports\n // note: this has the potential to duplicate plugins, but we tried our\n // best to filter already, and this may be the user’s fault if they\n // selected to install a plugin already installed. But also, this is\n // easily-fixable, so let’s not waste too much time here (and possibly\n // introduce bugs).\n ast.body.push(\n ...plugins.map(\n (p) =>\n ({\n type: 'ImportDeclaration',\n source: { type: 'Literal', value: p.package },\n specifiers: [{ type: 'ImportDefaultSpecifier', local: { type: 'Identifier', name: p.specifier } }],\n attributes: [],\n }) as ESTree.ImportDeclaration,\n ),\n );\n\n // 2b. add plugins to config.plugins\n if (!astExport) {\n logger.error({ group: 'config', message: `SyntaxError: ${relConfigPath} does not have default export.` });\n return;\n }\n const astConfig = (\n astExport.declaration.type === 'CallExpression'\n ? // export default defineConfig({ ... })\n astExport.declaration.arguments[0]\n : // export default { ... }\n astExport.declaration\n ) as ESTree.ObjectExpression;\n if (astConfig.type !== 'ObjectExpression') {\n logger.error({\n group: 'config',\n message: `Config: expected object default export, received ${astConfig.type}`,\n });\n return;\n }\n const pluginsArray = (\n astConfig.properties.find(\n (property) =>\n property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === 'plugins', // ASTs are so fun 😑\n ) as ESTree.Property\n )?.value as ESTree.ArrayExpression | undefined;\n const pluginsAst = plugins.map(\n (p) =>\n ({\n type: 'CallExpression' as const,\n callee: {\n type: 'Identifier' as const,\n name: p.specifier,\n },\n arguments: [],\n optional: false,\n }) as ESTree.CallExpression,\n );\n if (pluginsArray) {\n pluginsArray.elements.push(...pluginsAst);\n } else {\n astConfig.properties.push({\n type: 'Property',\n key: { type: 'Identifier', name: 'plugins' },\n value: { type: 'ArrayExpression', elements: pluginsAst },\n kind: 'init',\n computed: false,\n method: false,\n shorthand: false,\n });\n }\n\n // 2c. update new file (and we’ll probably format it wrong but hey)\n fs.writeFileSync(\n configPath,\n generate(ast, {\n format: {\n indent: { style: ' ' },\n quotes: 'single',\n semicolons: true,\n },\n }),\n );\n } else {\n // 2a. write new config file (easy)\n fs.writeFileSync(\n DEFAULT_CONFIG_PATH,\n `import { defineConfig } from '@terrazzo/cli';\n${plugins.map((p) => `import ${p.specifier} from '${p.package}';`).join('\\n')}\n\nexport default defineConfig({\n tokens: ['./tokens.json'],\n plugins: [\n ${plugins.map((p) => `${p.specifier}(),`).join('\\n ')}\n ],\n outDir: './dist/',\n lint: {\n /** @see https://terrazzo.app/docs/linting */\n build: {\n enabled: true,\n },\n rules: {\n 'core/valid-color': 'error',\n 'core/valid-dimension': 'error',\n 'core/valid-font-family': 'error',\n 'core/valid-font-weight': 'error',\n 'core/valid-duration': 'error',\n 'core/valid-cubic-bezier': 'error',\n 'core/valid-number': 'error',\n 'core/valid-link': 'error',\n 'core/valid-boolean': 'error',\n 'core/valid-string': 'error',\n 'core/valid-stroke-style': 'error',\n 'core/valid-border': 'error',\n 'core/valid-transition': 'error',\n 'core/valid-shadow': 'error',\n 'core/valid-gradient': 'error',\n 'core/valid-typography': 'error',\n 'core/consistent-naming': 'warn',\n },\n },\n});`,\n );\n }\n s.stop(`Installed ${pluginCount}`);\n }\n\n outro('⛋ Done! 🎉');\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n","import { createReadStream, createWriteStream, type PathLike } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { Readable, Writable } from 'node:stream';\nimport { fileURLToPath } from 'node:url';\nimport { serve } from '@hono/node-server';\nimport type { ConfigInit, Logger } from '@terrazzo/parser';\nimport mime from 'mime';\nimport type { Flags } from './shared.js';\n\nexport interface LabBuildOptions {\n flags: Flags;\n config: ConfigInit;\n configPath: string;\n logger: Logger;\n}\n\nexport async function labCmd({ config, logger }: LabBuildOptions) {\n /** TODO: handle multiple files */\n const [tokenFileUrl] = config.tokens;\n\n const staticFiles = new Set();\n const dirEntries = await readdir(fileURLToPath(import.meta.resolve('./lab')), {\n withFileTypes: true,\n recursive: true,\n });\n for (const entry of dirEntries) {\n if (entry.isFile() === false) {\n continue;\n }\n const absolutePath = `${entry.parentPath.replaceAll('\\\\', '/')}/${entry.name}`;\n staticFiles.add(absolutePath.replace(fileURLToPath(import.meta.resolve('./lab')).replaceAll('\\\\', '/'), ''));\n }\n\n const server = serve(\n {\n port: 9000,\n overrideGlobalObjects: false,\n async fetch(request) {\n const url = new URL(request.url);\n const pathname = url.pathname;\n if (pathname === '/') {\n return new Response(\n Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve('./lab/index.html')))) as ReadableStream,\n {\n headers: {\n 'Content-Type': 'text/html',\n },\n },\n );\n }\n if (pathname === '/api/tokens') {\n if (request.method === 'GET') {\n return new Response(Readable.toWeb(createReadStream(tokenFileUrl as PathLike)) as ReadableStream, {\n headers: {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n },\n });\n } else if (request.method === 'POST' && request.body) {\n await request.body.pipeTo(Writable.toWeb(createWriteStream(tokenFileUrl as PathLike)));\n return new Response(JSON.stringify({ success: true }), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n }\n\n if (staticFiles.has(pathname)) {\n return new Response(\n Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve(`./lab${pathname}`)))) as ReadableStream,\n {\n headers: { 'Content-Type': mime.getType(pathname) ?? 'application/octet-stream' },\n },\n );\n }\n return new Response('Not found', { status: 404 });\n },\n },\n (info) => {\n logger.info({\n group: 'server',\n message: `Token Lab running at http://${info.address === '::' ? 'localhost' : info.address}:${info.port}`,\n });\n },\n );\n /**\n * The cli entrypoint is going to manually exit the process after labCmd returns.\n */\n await new Promise<void>((resolve, reject) => {\n server.on('close', resolve);\n server.on('error', reject);\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport * as momoa from '@humanwhocodes/momoa';\nimport { getObjMember, getObjMembers, traverseAsync } from '@terrazzo/json-schema-tools';\nimport { defineConfig, type Logger, parse } from '@terrazzo/parser';\nimport { isAlias } from '@terrazzo/token-tools';\nimport { cwd, printError } from './shared.js';\n\nexport interface NormalizeOptions {\n logger: Logger;\n output: URL;\n}\n\nfunction findMember(name: string) {\n return function (member: momoa.MemberNode) {\n return member.name.type === 'String' && member.name.value === name;\n };\n}\n\nexport async function normalizeCmd(filename: string, { logger, output }: NormalizeOptions) {\n try {\n if (!filename) {\n logger.error({ group: 'config', message: 'Expected input: `tz normalize <tokens.json> -o output.json`' });\n return;\n }\n const sourceLoc = new URL(filename, cwd);\n if (!fs.existsSync(sourceLoc)) {\n logger.error({\n group: 'config',\n message: `Couldn’t find ${path.relative(cwd.href, sourceLoc.href)}. Does it exist?`,\n });\n }\n const sourceData = fs.readFileSync(sourceLoc, 'utf8');\n const document = momoa.parse(sourceData, { mode: 'jsonc' });\n const { tokens } = await parse([{ src: sourceData, filename: sourceLoc }], {\n config: defineConfig(\n {\n lint: {\n rules: {\n 'core/valid-color': 'off',\n 'core/valid-dimension': 'off',\n 'core/valid-duration': 'off',\n 'core/valid-typography': 'off',\n },\n },\n },\n { cwd },\n ),\n logger,\n });\n\n await traverseAsync(document, {\n async enter(node, _parent, nodePath) {\n const token = tokens[nodePath.join('.')];\n if (!token || token.aliasOf || node.type !== 'Member' || node.value.type !== 'Object') {\n return;\n }\n const $valueI = node.value.members.findIndex(findMember('$value'));\n\n switch (token.$type) {\n case 'color': {\n if (node.value.members[$valueI]!.value.type === 'String') {\n if (isAlias(node.value.members[$valueI]!.value.value)) {\n return;\n }\n const hex = (node.value.members[$valueI]!.value as momoa.StringNode).value;\n node.value.members[$valueI]!.value = momoa.parse(\n JSON.stringify({\n ...token.$value,\n hex: hex.startsWith('#') ? hex.slice(0, 7) : undefined,\n }),\n ).body;\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n const modeName = (mode.members[i]!.name as momoa.StringNode).value;\n const hex = (mode.members[i]!.value as momoa.StringNode).value;\n mode.members[i]!.value = momoa.parse(\n JSON.stringify({\n ...token.mode[modeName]!.$value,\n hex: hex.startsWith('#') ? hex.slice(0, 7) : undefined,\n }),\n ).body;\n }\n }\n }\n }\n break;\n }\n case 'dimension':\n case 'duration': {\n if (node.value.members[$valueI]!.value.type === 'String') {\n if (isAlias(node.value.members[$valueI]!.value.value)) {\n return;\n }\n node.value.members[$valueI]!.value = normalizeDurationDimension(node.value.members[$valueI]!.value);\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n mode.members[i]!.value = normalizeDurationDimension(node.value.members[$valueI]!.value);\n }\n }\n }\n }\n break;\n }\n case 'typography': {\n if (node.value.members[$valueI]?.value.type !== 'Object') {\n return;\n }\n node.value.members[$valueI].value = normalizeTypography(node.value.members[$valueI].value);\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n mode.members[i]!.value = normalizeTypography(mode.members[i]!.value as momoa.ObjectNode);\n }\n }\n }\n }\n }\n },\n });\n\n const outputLoc = new URL(output, cwd);\n fs.mkdirSync(new URL('.', outputLoc), { recursive: true });\n fs.writeFileSync(outputLoc, momoa.print(document, { indent: 2 }));\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\nfunction normalizeDurationDimension(node: momoa.StringNode) {\n const value = Number.parseFloat(node.value);\n if (!Number.isFinite(value)) {\n return node;\n }\n (node as any).type = 'Object';\n (node as any).members = (\n momoa.parse(JSON.stringify({ value, unit: node.value.replace(String(value), '') })).body as momoa.ObjectNode\n ).members;\n delete (node as any).value;\n return node;\n}\n\nfunction normalizeTypography(node: momoa.ObjectNode) {\n const { fontFamily, fontSize, fontWeight, letterSpacing, lineHeight } = getObjMembers(node);\n if (!fontFamily) {\n node.members.push((momoa.parse('{\"fontFamily\":[\"inherit\"]}').body as momoa.ObjectNode).members[0]!);\n }\n if (!fontSize) {\n node.members.push((momoa.parse('{\"fontSize\":{\"value\":1,\"unit\":\"rem\"}}').body as momoa.ObjectNode).members[0]!);\n }\n if (!fontWeight) {\n node.members.push((momoa.parse('{\"fontWeight\":400}').body as momoa.ObjectNode).members[0]!);\n }\n if (!letterSpacing) {\n node.members.push((momoa.parse('{\"letterSpacing\":{\"value\":0,\"unit\":\"rem\"}}').body as momoa.ObjectNode).members[0]!);\n }\n if (!lineHeight) {\n node.members.push((momoa.parse('{\"lineHeight\":1}').body as momoa.ObjectNode).members[0]!);\n }\n return node;\n}\n","import fs from 'node:fs';\n\nexport function versionCmd() {\n const { version } = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf8'));\n console.log(version);\n}\n","import { createRequire } from 'node:module';\nimport { pathToFileURL } from 'node:url';\nimport { type Config, type ConfigInit, defineConfig as defineConfigCore } from '@terrazzo/parser';\nimport { cwd } from './shared.js';\n\nexport * from './build.js';\nexport * from './check.js';\nexport * from './help.js';\nexport * from './init.js';\nexport * from './lab.js';\nexport * from './normalize.js';\nexport * from './shared.js';\nexport * from './version.js';\n\nconst require = createRequire(cwd);\n\n// wrap defineConfig from @terrazzo/parser and add Node.js resolution\nexport function defineConfig(config: Config): ConfigInit {\n const normalizedConfig: Config = { ...config }; // note: we only need a shallow copy because we’re only mutating top-level `tokens`\n\n // Resolve tokens from npm modules, if any\n if (typeof normalizedConfig.tokens === 'string' || Array.isArray(normalizedConfig.tokens)) {\n normalizedConfig.tokens = (\n Array.isArray(normalizedConfig.tokens) ? normalizedConfig.tokens : [normalizedConfig.tokens]\n ).map((tokenPath) => {\n if (tokenPath.startsWith('.') || /^(https?|file):\\/\\//i.test(tokenPath)) {\n return tokenPath;\n }\n try {\n return pathToFileURL(require.resolve(tokenPath));\n } catch (err) {\n console.error(err);\n // this will throw an error if Node couldn’t automatically resolve it,\n // which will be true for many token paths. We don’t need to surface\n // that error; it’ll get its own error down the line if it’s a bad path.\n return tokenPath;\n }\n }) as string[];\n }\n\n return defineConfigCore(normalizedConfig, { cwd });\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["path","cwd","resolve","dirname","process","path","resolve","dirname","drive","resolve","dirname","colors","createDebug","enable$1","process","setTimeout","parse","C","E","g","A","Q","B","I","w","K","D","o","resolve","path","dirname","esModuleLexer.init","esModuleLexer.parse","process","time","performance","viteServer: ViteDevServer | undefined","config: ConfigInit","configPath: string | undefined","defineConfig","res","DESIGN_SYSTEMS: Record<DesignSystem, { name: string; author: string; tokens: string[] }>","resolve","resolve","defineConfig","hex","version","normalizedConfig: Config","defineConfigCore"],"sources":["../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/utils-ExLpYVUV.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/source-map-DQLD3K8K.mjs","../../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/core.js","../../../node_modules/.pnpm/obug@2.1.0/node_modules/obug/dist/node.js","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/client-CyS7w_FB.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/dist-B2ebky9O.mjs","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/constants-DRkacFwN.mjs","../../../node_modules/.pnpm/es-module-lexer@1.7.0/node_modules/es-module-lexer/dist/lexer.js","../../../node_modules/.pnpm/vite-node@5.2.0_@types+node@24.10.1_jiti@2.6.1_sass-embedded@1.85.1_yaml@2.8.1/node_modules/vite-node/dist/server-BWywEVuB.mjs","../src/shared.ts","../src/build.ts","../src/check.ts","../src/help.ts","../src/init.ts","../src/lab.ts","../src/normalize.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["let _lazyMatch = () => { var __lib__=(()=>{var m=Object.defineProperty,V=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,T=Object.prototype.hasOwnProperty,q=(r,e)=>{for(var n in e)m(r,n,{get:e[n],enumerable:true});},H=(r,e,n,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of G(e))!T.call(r,t)&&t!==n&&m(r,t,{get:()=>e[t],enumerable:!(a=V(e,t))||a.enumerable});return r},J=r=>H(m({},\"__esModule\",{value:true}),r),w={};q(w,{default:()=>re});var A=r=>Array.isArray(r),d=r=>typeof r==\"function\",Q=r=>r.length===0,W=r=>typeof r==\"number\",K=r=>typeof r==\"object\"&&r!==null,X=r=>r instanceof RegExp,b=r=>typeof r==\"string\",h=r=>r===void 0,Y=r=>{const e=new Map;return n=>{const a=e.get(n);if(a)return a;const t=r(n);return e.set(n,t),t}},rr=(r,e,n={})=>{const a={cache:{},input:r,index:0,indexMax:0,options:n,output:[]};if(v(e)(a)&&a.index===r.length)return a.output;throw new Error(`Failed to parse at index ${a.indexMax}`)},i=(r,e)=>A(r)?er(r,e):b(r)?ar(r,e):nr(r,e),er=(r,e)=>{const n={};for(const a of r){if(a.length!==1)throw new Error(`Invalid character: \"${a}\"`);const t=a.charCodeAt(0);n[t]=true;}return a=>{const t=a.index,o=a.input;for(;a.index<o.length&&o.charCodeAt(a.index)in n;)a.index+=1;const u=a.index;if(u>t){if(!h(e)&&!a.options.silent){const s=a.input.slice(t,u),c=d(e)?e(s,o,String(t)):e;h(c)||a.output.push(c);}a.indexMax=Math.max(a.indexMax,a.index);}return true}},nr=(r,e)=>{const n=r.source,a=r.flags.replace(/y|$/,\"y\"),t=new RegExp(n,a);return g(o=>{t.lastIndex=o.index;const u=t.exec(o.input);if(u){if(!h(e)&&!o.options.silent){const s=d(e)?e(...u,o.input,String(o.index)):e;h(s)||o.output.push(s);}return o.index+=u[0].length,o.indexMax=Math.max(o.indexMax,o.index),true}else return false})},ar=(r,e)=>n=>{if(n.input.startsWith(r,n.index)){if(!h(e)&&!n.options.silent){const t=d(e)?e(r,n.input,String(n.index)):e;h(t)||n.output.push(t);}return n.index+=r.length,n.indexMax=Math.max(n.indexMax,n.index),true}else return false},C=(r,e,n,a)=>{const t=v(r);return g(_(M(o=>{let u=0;for(;u<n;){const s=o.index;if(!t(o)||(u+=1,o.index===s))break}return u>=e})))},tr=(r,e)=>C(r,0,1),f=(r,e)=>C(r,0,1/0),x=(r,e)=>{const n=r.map(v);return g(_(M(a=>{for(let t=0,o=n.length;t<o;t++)if(!n[t](a))return false;return true})))},l=(r,e)=>{const n=r.map(v);return g(_(a=>{for(let t=0,o=n.length;t<o;t++)if(n[t](a))return true;return false}))},M=(r,e=false)=>{const n=v(r);return a=>{const t=a.index,o=a.output.length,u=n(a);return (!u||e)&&(a.index=t,a.output.length!==o&&(a.output.length=o)),u}},_=(r,e)=>{const n=v(r);return n},g=(()=>{let r=0;return e=>{const n=v(e),a=r+=1;return t=>{var o;if(t.options.memoization===false)return n(t);const u=t.index,s=(o=t.cache)[a]||(o[a]=new Map),c=s.get(u);if(c===false)return false;if(W(c))return t.index=c,true;if(c)return t.index=c.index,c.output?.length&&t.output.push(...c.output),true;{const Z=t.output.length;if(n(t)){const D=t.index,U=t.output.length;if(U>Z){const ee=t.output.slice(Z,U);s.set(u,{index:D,output:ee});}else s.set(u,D);return true}else return s.set(u,false),false}}}})(),E=r=>{let e;return n=>(e||(e=v(r())),e(n))},v=Y(r=>{if(d(r))return Q(r)?E(r):r;if(b(r)||X(r))return i(r);if(A(r))return x(r);if(K(r))return l(Object.values(r));throw new Error(\"Invalid rule\")}),P=\"abcdefghijklmnopqrstuvwxyz\",ir=r=>{let e=\"\";for(;r>0;){const n=(r-1)%26;e=P[n]+e,r=Math.floor((r-1)/26);}return e},O=r=>{let e=0;for(let n=0,a=r.length;n<a;n++)e=e*26+P.indexOf(r[n])+1;return e},S=(r,e)=>{if(e<r)return S(e,r);const n=[];for(;r<=e;)n.push(r++);return n},or=(r,e,n)=>S(r,e).map(a=>String(a).padStart(n,\"0\")),R=(r,e)=>S(O(r),O(e)).map(ir),p=r=>r,z=r=>ur(e=>rr(e,r,{memoization:false}).join(\"\")),ur=r=>{const e={};return n=>e[n]??(e[n]=r(n))},sr=i(/^\\*\\*\\/\\*$/,\".*\"),cr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]+)$/,(r,e,n)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}`),lr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]*)\\{([ a-zA-Z0-9._-]+(?:,[ a-zA-Z0-9._-]+)*)\\}$/,(r,e,n,a)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}(?:${a.replaceAll(\",\",\"|\").replaceAll(\".\",\"\\\\.\")})`),y=i(/\\\\./,p),pr=i(/[$.*+?^(){}[\\]\\|]/,r=>`\\\\${r}`),vr=i(/./,p),hr=i(/^(?:!!)*!(.*)$/,(r,e)=>`(?!^${L(e)}$).*?`),dr=i(/^(!!)+/,\"\"),fr=l([hr,dr]),xr=i(/\\/(\\*\\*\\/)+/,\"(?:/.+/|/)\"),gr=i(/^(\\*\\*\\/)+/,\"(?:^|.*/)\"),mr=i(/\\/(\\*\\*)$/,\"(?:/.*|$)\"),_r=i(/\\*\\*/,\".*\"),j=l([xr,gr,mr,_r]),Sr=i(/\\*\\/(?!\\*\\*\\/)/,\"[^/]*/\"),yr=i(/\\*/,\"[^/]*\"),N=l([Sr,yr]),k=i(\"?\",\"[^/]\"),$r=i(\"[\",p),wr=i(\"]\",p),Ar=i(/[!^]/,\"^/\"),br=i(/[a-z]-[a-z]|[0-9]-[0-9]/i,p),Cr=i(/[$.*+?^(){}[\\|]/,r=>`\\\\${r}`),Mr=i(/[^\\]]/,p),Er=l([y,Cr,br,Mr]),B=x([$r,tr(Ar),f(Er),wr]),Pr=i(\"{\",\"(?:\"),Or=i(\"}\",\")\"),Rr=i(/(\\d+)\\.\\.(\\d+)/,(r,e,n)=>or(+e,+n,Math.min(e.length,n.length)).join(\"|\")),zr=i(/([a-z]+)\\.\\.([a-z]+)/,(r,e,n)=>R(e,n).join(\"|\")),jr=i(/([A-Z]+)\\.\\.([A-Z]+)/,(r,e,n)=>R(e.toLowerCase(),n.toLowerCase()).join(\"|\").toUpperCase()),Nr=l([Rr,zr,jr]),I=x([Pr,Nr,Or]),kr=i(\"{\",\"(?:\"),Br=i(\"}\",\")\"),Ir=i(\",\",\"|\"),Fr=i(/[$.*+?^(){[\\]\\|]/,r=>`\\\\${r}`),Lr=i(/[^}]/,p),Zr=E(()=>F),Dr=l([j,N,k,B,I,Zr,y,Fr,Ir,Lr]),F=x([kr,f(Dr),Br]),Ur=f(l([sr,cr,lr,fr,j,N,k,B,I,F,y,pr,vr])),Vr=Ur,Gr=z(Vr),L=Gr,Tr=i(/\\\\./,p),qr=i(/./,p),Hr=i(/\\*\\*\\*+/,\"*\"),Jr=i(/([^/{[(!])\\*\\*/,(r,e)=>`${e}*`),Qr=i(/(^|.)\\*\\*(?=[^*/)\\]}])/,(r,e)=>`${e}*`),Wr=f(l([Tr,Hr,Jr,Qr,qr])),Kr=Wr,Xr=z(Kr),Yr=Xr,$=(r,e)=>{const n=Array.isArray(r)?r:[r];if(!n.length)return false;const a=n.map($.compile),t=n.every(s=>/(\\/(?:\\*\\*)?|\\[\\/\\])$/.test(s)),o=e.replace(/[\\\\\\/]+/g,\"/\").replace(/\\/$/,t?\"/\":\"\");return a.some(s=>s.test(o))};$.compile=r=>new RegExp(`^${L(Yr(r))}$`,\"s\");var re=$;return J(w)})();\n return __lib__.default || __lib__; };\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n if (!input) {\n return input;\n }\n return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n}\n\nconst _UNC_REGEX = /^[/\\\\]{2}/;\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nconst _DRIVE_LETTER_RE = /^[A-Za-z]:$/;\nconst _ROOT_FOLDER_RE = /^\\/([A-Za-z]:)?$/;\nconst _EXTNAME_RE = /.(\\.[^./]+|\\.)$/;\nconst _PATH_ROOT_RE = /^[/\\\\]|^[a-zA-Z]:[/\\\\]/;\nconst sep = \"/\";\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = path.match(_UNC_REGEX);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path[path.length - 1] === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (_DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = function(...segments) {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nfunction cwd() {\n if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n return process.cwd().replace(/\\\\/g, \"/\");\n }\n return \"/\";\n}\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n let res = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char = null;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (res.length > 0) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) {\n res += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n res = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\nconst isAbsolute = function(p) {\n return _IS_ABSOLUTE_RE.test(p);\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n if (p === \"..\") return \"\";\n const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match && match[1] || \"\";\n};\nconst relative = function(from, to) {\n const _from = resolve(from).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const _to = resolve(to).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (_to[0][1] === \":\" && _from[0][1] === \":\" && _from[0] !== _to[0]) {\n return _to.join(\"/\");\n }\n const _fromCopy = [..._from];\n for (const segment of _fromCopy) {\n if (_to[0] !== segment) {\n break;\n }\n _from.shift();\n _to.shift();\n }\n return [..._from.map(() => \"..\"), ..._to].join(\"/\");\n};\nconst dirname = function(p) {\n const segments = normalizeWindowsPath(p).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(p) ? \"/\" : \".\");\n};\nconst format = function(p) {\n const ext = p.ext ? p.ext.startsWith(\".\") ? p.ext : `.${p.ext}` : \"\";\n const segments = [p.root, p.dir, p.base ?? (p.name ?? \"\") + ext].filter(\n Boolean\n );\n return normalizeWindowsPath(\n p.root ? resolve(...segments) : segments.join(\"/\")\n );\n};\nconst basename = function(p, extension) {\n const segments = normalizeWindowsPath(p).split(\"/\");\n let lastSegment = \"\";\n for (let i = segments.length - 1; i >= 0; i--) {\n const val = segments[i];\n if (val) {\n lastSegment = val;\n break;\n }\n }\n return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;\n};\nconst parse = function(p) {\n const root = _PATH_ROOT_RE.exec(p)?.[0]?.replace(/\\\\/g, \"/\") || \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n root,\n dir: dirname(p),\n base,\n ext: extension,\n name: base.slice(0, base.length - extension.length)\n };\n};\nconst matchesGlob = (path, pattern) => {\n return zeptomatch(pattern, normalize(path));\n};\n\nconst _path = {\n __proto__: null,\n basename: basename,\n dirname: dirname,\n extname: extname,\n format: format,\n isAbsolute: isAbsolute,\n join: join,\n matchesGlob: matchesGlob,\n normalize: normalize,\n normalizeString: normalizeString,\n parse: parse,\n relative: relative,\n resolve: resolve,\n sep: sep,\n toNamespacedPath: toNamespacedPath\n};\n\nexport { _path as _, normalizeString as a, relative as b, basename as c, dirname as d, extname as e, format as f, normalizeWindowsPath as g, isAbsolute as i, join as j, matchesGlob as m, normalize as n, parse as p, resolve as r, sep as s, toNamespacedPath as t };\n","import { builtinModules } from \"node:module\";\nimport { existsSync, promises } from \"node:fs\";\nimport process from \"node:process\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { dirname, join, resolve } from \"pathe\";\n\n//#region src/utils.ts\nconst isWindows = process.platform === \"win32\";\nconst drive = isWindows ? process.cwd()[0] : null;\nconst driveOpposite = drive ? drive === drive.toUpperCase() ? drive.toLowerCase() : drive.toUpperCase() : null;\nconst driveRegexp = drive ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${drive}(\\:[\\\\/])`) : null;\nconst driveOppositeRegext = driveOpposite ? /* @__PURE__ */ new RegExp(`(?:^|/@fs/)${driveOpposite}(\\:[\\\\/])`) : null;\nfunction slash(str) {\n\treturn str.replace(/\\\\/g, \"/\");\n}\nconst bareImportRE = /^(?![a-z]:)[\\w@](?!.*:\\/\\/)/i;\nfunction isBareImport(id) {\n\treturn bareImportRE.test(id);\n}\nconst VALID_ID_PREFIX = \"/@id/\";\nfunction normalizeRequestId(id, base) {\n\tif (base && id.startsWith(withTrailingSlash(base))) id = `/${id.slice(base.length)}`;\n\tif (driveRegexp && !driveRegexp?.test(id) && driveOppositeRegext?.test(id)) id = id.replace(driveOppositeRegext, `${drive}$1`);\n\tif (id.startsWith(\"file://\")) {\n\t\tconst { file, postfix } = splitFileAndPostfix(id);\n\t\treturn fileURLToPath(file) + postfix;\n\t}\n\treturn id.replace(/^\\/@id\\/__x00__/, \"\\0\").replace(/^\\/@id\\//, \"\").replace(/^__vite-browser-external:/, \"\").replace(/\\?v=\\w+/, \"?\").replace(/&v=\\w+/, \"\").replace(/\\?t=\\w+/, \"?\").replace(/&t=\\w+/, \"\").replace(/\\?import/, \"?\").replace(/&import/, \"\").replace(/\\?&/, \"?\").replace(/\\?+$/, \"\");\n}\nconst postfixRE = /[?#].*$/;\nfunction cleanUrl(url) {\n\treturn url.replace(postfixRE, \"\");\n}\nfunction splitFileAndPostfix(path) {\n\tconst file = cleanUrl(path);\n\treturn {\n\t\tfile,\n\t\tpostfix: path.slice(file.length)\n\t};\n}\nconst internalRequestRegexp = /* @__PURE__ */ new RegExp(`^/?(?:${[\"@vite/client\", \"@vite/env\"].join(\"|\")})$`);\nfunction isInternalRequest(id) {\n\treturn internalRequestRegexp.test(id);\n}\nconst prefixedBuiltins = new Set([\n\t\"node:sea\",\n\t\"node:sqlite\",\n\t\"node:test\",\n\t\"node:test/reporters\"\n]);\nconst builtins = new Set([\n\t...builtinModules,\n\t\"assert/strict\",\n\t\"diagnostics_channel\",\n\t\"dns/promises\",\n\t\"fs/promises\",\n\t\"path/posix\",\n\t\"path/win32\",\n\t\"readline/promises\",\n\t\"stream/consumers\",\n\t\"stream/promises\",\n\t\"stream/web\",\n\t\"timers/promises\",\n\t\"util/types\",\n\t\"wasi\"\n]);\nfunction normalizeModuleId(id) {\n\tif (prefixedBuiltins.has(id)) return id;\n\tif (id.startsWith(\"file://\")) return fileURLToPath(id);\n\treturn id.replace(/\\\\/g, \"/\").replace(/^\\/@fs\\//, isWindows ? \"\" : \"/\").replace(/^node:/, \"\").replace(/^\\/+/, \"/\");\n}\nfunction isPrimitive(v) {\n\treturn v !== Object(v);\n}\nfunction toFilePath(id, root) {\n\tlet { absolute, exists } = (() => {\n\t\tif (id.startsWith(\"/@fs/\")) return {\n\t\t\tabsolute: id.slice(4),\n\t\t\texists: true\n\t\t};\n\t\tif (!id.startsWith(withTrailingSlash(root)) && id.startsWith(\"/\")) {\n\t\t\tconst resolved = resolve(root, id.slice(1));\n\t\t\tif (existsSync(cleanUrl(resolved))) return {\n\t\t\t\tabsolute: resolved,\n\t\t\t\texists: true\n\t\t\t};\n\t\t} else if (id.startsWith(withTrailingSlash(root)) && existsSync(cleanUrl(id))) return {\n\t\t\tabsolute: id,\n\t\t\texists: true\n\t\t};\n\t\treturn {\n\t\t\tabsolute: id,\n\t\t\texists: false\n\t\t};\n\t})();\n\tif (absolute.startsWith(\"//\")) absolute = absolute.slice(1);\n\treturn {\n\t\tpath: isWindows && absolute.startsWith(\"/\") ? slash(fileURLToPath(pathToFileURL(absolute.slice(1)).href)) : absolute,\n\t\texists\n\t};\n}\nconst NODE_BUILTIN_NAMESPACE = \"node:\";\nfunction isNodeBuiltin(id) {\n\tif (prefixedBuiltins.has(id)) return true;\n\treturn builtins.has(id.startsWith(NODE_BUILTIN_NAMESPACE) ? id.slice(5) : id);\n}\n/**\n* Convert `Arrayable<T>` to `Array<T>`\n*\n* @category Array\n*/\nfunction toArray(array) {\n\tif (array === null || array === void 0) array = [];\n\tif (Array.isArray(array)) return array;\n\treturn [array];\n}\nfunction getCachedData(cache, basedir, originalBasedir) {\n\tconst pkgData = cache.get(getFnpdCacheKey(basedir));\n\tif (pkgData) {\n\t\ttraverseBetweenDirs(originalBasedir, basedir, (dir) => {\n\t\t\tcache.set(getFnpdCacheKey(dir), pkgData);\n\t\t});\n\t\treturn pkgData;\n\t}\n}\nfunction setCacheData(cache, data, basedir, originalBasedir) {\n\tcache.set(getFnpdCacheKey(basedir), data);\n\ttraverseBetweenDirs(originalBasedir, basedir, (dir) => {\n\t\tcache.set(getFnpdCacheKey(dir), data);\n\t});\n}\nfunction getFnpdCacheKey(basedir) {\n\treturn `fnpd_${basedir}`;\n}\n/**\n* Traverse between `longerDir` (inclusive) and `shorterDir` (exclusive) and call `cb` for each dir.\n* @param longerDir Longer dir path, e.g. `/User/foo/bar/baz`\n* @param shorterDir Shorter dir path, e.g. `/User/foo`\n*/\nfunction traverseBetweenDirs(longerDir, shorterDir, cb) {\n\twhile (longerDir !== shorterDir) {\n\t\tcb(longerDir);\n\t\tlongerDir = dirname(longerDir);\n\t}\n}\nfunction withTrailingSlash(path) {\n\tif (path[path.length - 1] !== \"/\") return `${path}/`;\n\treturn path;\n}\nfunction createImportMetaEnvProxy() {\n\tconst booleanKeys = [\n\t\t\"DEV\",\n\t\t\"PROD\",\n\t\t\"SSR\"\n\t];\n\treturn new Proxy(process.env, {\n\t\tget(_, key) {\n\t\t\tif (typeof key !== \"string\") return;\n\t\t\tif (booleanKeys.includes(key)) return !!process.env[key];\n\t\t\treturn process.env[key];\n\t\t},\n\t\tset(_, key, value) {\n\t\t\tif (typeof key !== \"string\") return true;\n\t\t\tif (booleanKeys.includes(key)) process.env[key] = value ? \"1\" : \"\";\n\t\t\telse process.env[key] = value;\n\t\t\treturn true;\n\t\t}\n\t});\n}\nconst packageCache = /* @__PURE__ */ new Map();\nasync function findNearestPackageData(basedir) {\n\tconst originalBasedir = basedir;\n\twhile (basedir) {\n\t\tconst cached = getCachedData(packageCache, basedir, originalBasedir);\n\t\tif (cached) return cached;\n\t\tconst pkgPath = join(basedir, \"package.json\");\n\t\tif ((await promises.stat(pkgPath).catch(() => {}))?.isFile()) {\n\t\t\tconst pkgData = JSON.parse(await promises.readFile(pkgPath, \"utf8\"));\n\t\t\tif (packageCache) setCacheData(packageCache, pkgData, basedir, originalBasedir);\n\t\t\treturn pkgData;\n\t\t}\n\t\tconst nextBasedir = dirname(basedir);\n\t\tif (nextBasedir === basedir) break;\n\t\tbasedir = nextBasedir;\n\t}\n\treturn {};\n}\n\n//#endregion\nexport { withTrailingSlash as _, getCachedData as a, isNodeBuiltin as c, normalizeModuleId as d, normalizeRequestId as f, toFilePath as g, toArray as h, findNearestPackageData as i, isPrimitive as l, slash as m, cleanUrl as n, isBareImport as o, setCacheData as p, createImportMetaEnvProxy as r, isInternalRequest as s, VALID_ID_PREFIX as t, isWindows as u };","import { _ as withTrailingSlash } from \"./utils-ExLpYVUV.mjs\";\nimport fs from \"node:fs\";\nimport process from \"node:process\";\nimport { dirname, isAbsolute, relative, resolve } from \"pathe\";\nimport { Buffer as Buffer$1 } from \"node:buffer\";\nimport path from \"node:path\";\n\n//#region node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n\tconst c = chars.charCodeAt(i);\n\tintToChar[i] = c;\n\tcharToInt[c] = i;\n}\nfunction decodeInteger(reader, relative$1) {\n\tlet value = 0;\n\tlet shift = 0;\n\tlet integer = 0;\n\tdo {\n\t\tinteger = charToInt[reader.next()];\n\t\tvalue |= (integer & 31) << shift;\n\t\tshift += 5;\n\t} while (integer & 32);\n\tconst shouldNegate = value & 1;\n\tvalue >>>= 1;\n\tif (shouldNegate) value = -2147483648 | -value;\n\treturn relative$1 + value;\n}\nfunction hasMoreVlq(reader, max) {\n\tif (reader.pos >= max) return false;\n\treturn reader.peek() !== comma;\n}\nvar bufLength = 1024 * 16;\nvar StringReader = class {\n\tconstructor(buffer) {\n\t\tthis.pos = 0;\n\t\tthis.buffer = buffer;\n\t}\n\tnext() {\n\t\treturn this.buffer.charCodeAt(this.pos++);\n\t}\n\tpeek() {\n\t\treturn this.buffer.charCodeAt(this.pos);\n\t}\n\tindexOf(char) {\n\t\tconst { buffer, pos } = this;\n\t\tconst idx = buffer.indexOf(char, pos);\n\t\treturn idx === -1 ? buffer.length : idx;\n\t}\n};\nfunction decode(mappings) {\n\tconst { length } = mappings;\n\tconst reader = new StringReader(mappings);\n\tconst decoded = [];\n\tlet genColumn = 0;\n\tlet sourcesIndex = 0;\n\tlet sourceLine = 0;\n\tlet sourceColumn = 0;\n\tlet namesIndex = 0;\n\tdo {\n\t\tconst semi = reader.indexOf(\";\");\n\t\tconst line = [];\n\t\tlet sorted = true;\n\t\tlet lastCol = 0;\n\t\tgenColumn = 0;\n\t\twhile (reader.pos < semi) {\n\t\t\tlet seg;\n\t\t\tgenColumn = decodeInteger(reader, genColumn);\n\t\t\tif (genColumn < lastCol) sorted = false;\n\t\t\tlastCol = genColumn;\n\t\t\tif (hasMoreVlq(reader, semi)) {\n\t\t\t\tsourcesIndex = decodeInteger(reader, sourcesIndex);\n\t\t\t\tsourceLine = decodeInteger(reader, sourceLine);\n\t\t\t\tsourceColumn = decodeInteger(reader, sourceColumn);\n\t\t\t\tif (hasMoreVlq(reader, semi)) {\n\t\t\t\t\tnamesIndex = decodeInteger(reader, namesIndex);\n\t\t\t\t\tseg = [\n\t\t\t\t\t\tgenColumn,\n\t\t\t\t\t\tsourcesIndex,\n\t\t\t\t\t\tsourceLine,\n\t\t\t\t\t\tsourceColumn,\n\t\t\t\t\t\tnamesIndex\n\t\t\t\t\t];\n\t\t\t\t} else seg = [\n\t\t\t\t\tgenColumn,\n\t\t\t\t\tsourcesIndex,\n\t\t\t\t\tsourceLine,\n\t\t\t\t\tsourceColumn\n\t\t\t\t];\n\t\t\t} else seg = [genColumn];\n\t\t\tline.push(seg);\n\t\t\treader.pos++;\n\t\t}\n\t\tif (!sorted) sort(line);\n\t\tdecoded.push(line);\n\t\treader.pos = semi + 1;\n\t} while (reader.pos <= length);\n\treturn decoded;\n}\nfunction sort(line) {\n\tline.sort(sortComparator$1);\n}\nfunction sortComparator$1(a, b) {\n\treturn a[0] - b[0];\n}\n\n//#endregion\n//#region node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n/**\n* Matches the parts of a URL:\n* 1. Scheme, including \":\", guaranteed.\n* 2. User/password, including \"@\", optional.\n* 3. Host, guaranteed.\n* 4. Port, including \":\", optional.\n* 5. Path, including \"/\", optional.\n* 6. Query, including \"?\", optional.\n* 7. Hash, including \"#\", optional.\n*/\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n/**\n* File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n* with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n*\n* 1. Host, optional.\n* 2. Path, which may include \"/\", guaranteed.\n* 3. Query, including \"?\", optional.\n* 4. Hash, including \"#\", optional.\n*/\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\nfunction isAbsoluteUrl(input) {\n\treturn schemeRegex.test(input);\n}\nfunction isSchemeRelativeUrl(input) {\n\treturn input.startsWith(\"//\");\n}\nfunction isAbsolutePath(input) {\n\treturn input.startsWith(\"/\");\n}\nfunction isFileUrl(input) {\n\treturn input.startsWith(\"file:\");\n}\nfunction isRelative(input) {\n\treturn /^[.?#]/.test(input);\n}\nfunction parseAbsoluteUrl(input) {\n\tconst match = urlRegex.exec(input);\n\treturn makeUrl(match[1], match[2] || \"\", match[3], match[4] || \"\", match[5] || \"/\", match[6] || \"\", match[7] || \"\");\n}\nfunction parseFileUrl(input) {\n\tconst match = fileRegex.exec(input);\n\tconst path$1 = match[2];\n\treturn makeUrl(\"file:\", \"\", match[1] || \"\", \"\", isAbsolutePath(path$1) ? path$1 : \"/\" + path$1, match[3] || \"\", match[4] || \"\");\n}\nfunction makeUrl(scheme, user, host, port, path$1, query, hash) {\n\treturn {\n\t\tscheme,\n\t\tuser,\n\t\thost,\n\t\tport,\n\t\tpath: path$1,\n\t\tquery,\n\t\thash,\n\t\ttype: 7\n\t};\n}\nfunction parseUrl(input) {\n\tif (isSchemeRelativeUrl(input)) {\n\t\tconst url$1 = parseAbsoluteUrl(\"http:\" + input);\n\t\turl$1.scheme = \"\";\n\t\turl$1.type = 6;\n\t\treturn url$1;\n\t}\n\tif (isAbsolutePath(input)) {\n\t\tconst url$1 = parseAbsoluteUrl(\"http://foo.com\" + input);\n\t\turl$1.scheme = \"\";\n\t\turl$1.host = \"\";\n\t\turl$1.type = 5;\n\t\treturn url$1;\n\t}\n\tif (isFileUrl(input)) return parseFileUrl(input);\n\tif (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\tconst url = parseAbsoluteUrl(\"http://foo.com/\" + input);\n\turl.scheme = \"\";\n\turl.host = \"\";\n\turl.type = input ? input.startsWith(\"?\") ? 3 : input.startsWith(\"#\") ? 2 : 4 : 1;\n\treturn url;\n}\nfunction stripPathFilename(path$1) {\n\tif (path$1.endsWith(\"/..\")) return path$1;\n\tconst index = path$1.lastIndexOf(\"/\");\n\treturn path$1.slice(0, index + 1);\n}\nfunction mergePaths(url, base) {\n\tnormalizePath(base, base.type);\n\tif (url.path === \"/\") url.path = base.path;\n\telse url.path = stripPathFilename(base.path) + url.path;\n}\n/**\n* The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n* \"foo/.\". We need to normalize to a standard representation.\n*/\nfunction normalizePath(url, type) {\n\tconst rel = type <= 4;\n\tconst pieces = url.path.split(\"/\");\n\tlet pointer = 1;\n\tlet positive = 0;\n\tlet addTrailingSlash = false;\n\tfor (let i = 1; i < pieces.length; i++) {\n\t\tconst piece = pieces[i];\n\t\tif (!piece) {\n\t\t\taddTrailingSlash = true;\n\t\t\tcontinue;\n\t\t}\n\t\taddTrailingSlash = false;\n\t\tif (piece === \".\") continue;\n\t\tif (piece === \"..\") {\n\t\t\tif (positive) {\n\t\t\t\taddTrailingSlash = true;\n\t\t\t\tpositive--;\n\t\t\t\tpointer--;\n\t\t\t} else if (rel) pieces[pointer++] = piece;\n\t\t\tcontinue;\n\t\t}\n\t\tpieces[pointer++] = piece;\n\t\tpositive++;\n\t}\n\tlet path$1 = \"\";\n\tfor (let i = 1; i < pointer; i++) path$1 += \"/\" + pieces[i];\n\tif (!path$1 || addTrailingSlash && !path$1.endsWith(\"/..\")) path$1 += \"/\";\n\turl.path = path$1;\n}\n/**\n* Attempts to resolve `input` URL/path relative to `base`.\n*/\nfunction resolve$2(input, base) {\n\tif (!input && !base) return \"\";\n\tconst url = parseUrl(input);\n\tlet inputType = url.type;\n\tif (base && inputType !== 7) {\n\t\tconst baseUrl = parseUrl(base);\n\t\tconst baseType = baseUrl.type;\n\t\tswitch (inputType) {\n\t\t\tcase 1: url.hash = baseUrl.hash;\n\t\t\tcase 2: url.query = baseUrl.query;\n\t\t\tcase 3:\n\t\t\tcase 4: mergePaths(url, baseUrl);\n\t\t\tcase 5:\n\t\t\t\turl.user = baseUrl.user;\n\t\t\t\turl.host = baseUrl.host;\n\t\t\t\turl.port = baseUrl.port;\n\t\t\tcase 6: url.scheme = baseUrl.scheme;\n\t\t}\n\t\tif (baseType > inputType) inputType = baseType;\n\t}\n\tnormalizePath(url, inputType);\n\tconst queryHash = url.query + url.hash;\n\tswitch (inputType) {\n\t\tcase 2:\n\t\tcase 3: return queryHash;\n\t\tcase 4: {\n\t\t\tconst path$1 = url.path.slice(1);\n\t\t\tif (!path$1) return queryHash || \".\";\n\t\t\tif (isRelative(base || input) && !isRelative(path$1)) return \"./\" + path$1 + queryHash;\n\t\t\treturn path$1 + queryHash;\n\t\t}\n\t\tcase 5: return url.path + queryHash;\n\t\tdefault: return url.scheme + \"//\" + url.user + url.host + url.port + url.path + queryHash;\n\t}\n}\n\n//#endregion\n//#region node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs\nfunction stripFilename(path$1) {\n\tif (!path$1) return \"\";\n\tconst index = path$1.lastIndexOf(\"/\");\n\treturn path$1.slice(0, index + 1);\n}\nfunction resolver(mapUrl, sourceRoot) {\n\tconst from = stripFilename(mapUrl);\n\tconst prefix = sourceRoot ? sourceRoot + \"/\" : \"\";\n\treturn (source) => resolve$2(prefix + (source || \"\"), from);\n}\nvar COLUMN = 0;\nvar SOURCES_INDEX = 1;\nvar SOURCE_LINE = 2;\nvar SOURCE_COLUMN = 3;\nvar NAMES_INDEX = 4;\nfunction maybeSort(mappings, owned) {\n\tconst unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n\tif (unsortedIndex === mappings.length) return mappings;\n\tif (!owned) mappings = mappings.slice();\n\tfor (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) mappings[i] = sortSegments(mappings[i], owned);\n\treturn mappings;\n}\nfunction nextUnsortedSegmentLine(mappings, start) {\n\tfor (let i = start; i < mappings.length; i++) if (!isSorted(mappings[i])) return i;\n\treturn mappings.length;\n}\nfunction isSorted(line) {\n\tfor (let j = 1; j < line.length; j++) if (line[j][COLUMN] < line[j - 1][COLUMN]) return false;\n\treturn true;\n}\nfunction sortSegments(line, owned) {\n\tif (!owned) line = line.slice();\n\treturn line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n\treturn a[COLUMN] - b[COLUMN];\n}\nvar found = false;\nfunction binarySearch(haystack, needle, low, high) {\n\twhile (low <= high) {\n\t\tconst mid = low + (high - low >> 1);\n\t\tconst cmp = haystack[mid][COLUMN] - needle;\n\t\tif (cmp === 0) {\n\t\t\tfound = true;\n\t\t\treturn mid;\n\t\t}\n\t\tif (cmp < 0) low = mid + 1;\n\t\telse high = mid - 1;\n\t}\n\tfound = false;\n\treturn low - 1;\n}\nfunction upperBound(haystack, needle, index) {\n\tfor (let i = index + 1; i < haystack.length; index = i++) if (haystack[i][COLUMN] !== needle) break;\n\treturn index;\n}\nfunction lowerBound(haystack, needle, index) {\n\tfor (let i = index - 1; i >= 0; index = i--) if (haystack[i][COLUMN] !== needle) break;\n\treturn index;\n}\nfunction memoizedState() {\n\treturn {\n\t\tlastKey: -1,\n\t\tlastNeedle: -1,\n\t\tlastIndex: -1\n\t};\n}\nfunction memoizedBinarySearch(haystack, needle, state, key) {\n\tconst { lastKey, lastNeedle, lastIndex } = state;\n\tlet low = 0;\n\tlet high = haystack.length - 1;\n\tif (key === lastKey) {\n\t\tif (needle === lastNeedle) {\n\t\t\tfound = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n\t\t\treturn lastIndex;\n\t\t}\n\t\tif (needle >= lastNeedle) low = lastIndex === -1 ? 0 : lastIndex;\n\t\telse high = lastIndex;\n\t}\n\tstate.lastKey = key;\n\tstate.lastNeedle = needle;\n\treturn state.lastIndex = binarySearch(haystack, needle, low, high);\n}\nfunction parse(map) {\n\treturn typeof map === \"string\" ? JSON.parse(map) : map;\n}\nvar LINE_GTR_ZERO = \"`line` must be greater than 0 (lines start at line 1)\";\nvar COL_GTR_EQ_ZERO = \"`column` must be greater than or equal to 0 (columns start at column 0)\";\nvar LEAST_UPPER_BOUND = -1;\nvar GREATEST_LOWER_BOUND = 1;\nvar TraceMap = class {\n\tconstructor(map, mapUrl) {\n\t\tconst isString = typeof map === \"string\";\n\t\tif (!isString && map._decodedMemo) return map;\n\t\tconst parsed = parse(map);\n\t\tconst { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n\t\tthis.version = version;\n\t\tthis.file = file;\n\t\tthis.names = names || [];\n\t\tthis.sourceRoot = sourceRoot;\n\t\tthis.sources = sources;\n\t\tthis.sourcesContent = sourcesContent;\n\t\tthis.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || void 0;\n\t\tconst resolve$3 = resolver(mapUrl, sourceRoot);\n\t\tthis.resolvedSources = sources.map(resolve$3);\n\t\tconst { mappings } = parsed;\n\t\tif (typeof mappings === \"string\") {\n\t\t\tthis._encoded = mappings;\n\t\t\tthis._decoded = void 0;\n\t\t} else if (Array.isArray(mappings)) {\n\t\t\tthis._encoded = void 0;\n\t\t\tthis._decoded = maybeSort(mappings, isString);\n\t\t} else if (parsed.sections) throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);\n\t\telse throw new Error(`invalid source map: ${JSON.stringify(parsed)}`);\n\t\tthis._decodedMemo = memoizedState();\n\t\tthis._bySources = void 0;\n\t\tthis._bySourceMemos = void 0;\n\t}\n};\nfunction cast(map) {\n\treturn map;\n}\nfunction decodedMappings(map) {\n\tvar _a;\n\treturn (_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded));\n}\nfunction originalPositionFor(map, needle) {\n\tlet { line, column, bias } = needle;\n\tline--;\n\tif (line < 0) throw new Error(LINE_GTR_ZERO);\n\tif (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\tconst decoded = decodedMappings(map);\n\tif (line >= decoded.length) return OMapping(null, null, null, null);\n\tconst segments = decoded[line];\n\tconst index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);\n\tif (index === -1) return OMapping(null, null, null, null);\n\tconst segment = segments[index];\n\tif (segment.length === 1) return OMapping(null, null, null, null);\n\tconst { names, resolvedSources } = map;\n\treturn OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);\n}\nfunction OMapping(source, line, column, name) {\n\treturn {\n\t\tsource,\n\t\tline,\n\t\tcolumn,\n\t\tname\n\t};\n}\nfunction traceSegmentInternal(segments, memo, line, column, bias) {\n\tlet index = memoizedBinarySearch(segments, column, memo, line);\n\tif (found) index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n\telse if (bias === LEAST_UPPER_BOUND) index++;\n\tif (index === -1 || index === segments.length) return -1;\n\treturn index;\n}\n\n//#endregion\n//#region src/source-map-handler.ts\nlet errorFormatterInstalled = false;\nconst fileContentsCache = {};\nconst sourceMapCache = {};\nconst reSourceMap = /^data:application\\/json[^,]+base64,/;\nlet retrieveFileHandlers = [];\nlet retrieveMapHandlers = [];\nfunction globalProcessVersion() {\n\tif (typeof process === \"object\" && process !== null) return process.version;\n\telse return \"\";\n}\nfunction handlerExec(list) {\n\treturn function(arg) {\n\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\tconst ret = list[i](arg);\n\t\t\tif (ret) return ret;\n\t\t}\n\t\treturn null;\n\t};\n}\nlet retrieveFile = handlerExec(retrieveFileHandlers);\nretrieveFileHandlers.push((path$1) => {\n\tpath$1 = path$1.trim();\n\tif (path$1.startsWith(\"file:\")) path$1 = path$1.replace(/file:\\/\\/\\/(\\w:)?/, (protocol, drive) => {\n\t\treturn drive ? \"\" : \"/\";\n\t});\n\tif (path$1 in fileContentsCache) return fileContentsCache[path$1];\n\tlet contents = \"\";\n\ttry {\n\t\tif (fs.existsSync(path$1)) contents = fs.readFileSync(path$1, \"utf8\");\n\t} catch {}\n\treturn fileContentsCache[path$1] = contents;\n});\nfunction supportRelativeURL(file, url) {\n\tif (!file) return url;\n\tconst dir = path.dirname(file);\n\tconst match = /^\\w+:\\/\\/[^/]*/.exec(dir);\n\tlet protocol = match ? match[0] : \"\";\n\tconst startPath = dir.slice(protocol.length);\n\tif (protocol && /^\\/\\w:/.test(startPath)) {\n\t\tprotocol += \"/\";\n\t\treturn protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\\\/g, \"/\");\n\t}\n\treturn protocol + path.resolve(dir.slice(protocol.length), url);\n}\nfunction retrieveSourceMapURL(source) {\n\tconst fileData = retrieveFile(source);\n\tif (!fileData) return null;\n\tconst re = /\\/\\/[@#]\\s*sourceMappingURL=([^\\s'\"]+)\\s*$|\\/\\*[@#]\\s*sourceMappingURL=[^\\s*'\"]+\\s*\\*\\/\\s*$/gm;\n\tlet lastMatch, match;\n\twhile (match = re.exec(fileData)) lastMatch = match;\n\tif (!lastMatch) return null;\n\treturn lastMatch[1];\n}\nlet retrieveSourceMap = handlerExec(retrieveMapHandlers);\nretrieveMapHandlers.push((source) => {\n\tlet sourceMappingURL = retrieveSourceMapURL(source);\n\tif (!sourceMappingURL) return null;\n\tlet sourceMapData;\n\tif (reSourceMap.test(sourceMappingURL)) {\n\t\tconst rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(\",\") + 1);\n\t\tsourceMapData = Buffer$1.from(rawData, \"base64\").toString();\n\t\tsourceMappingURL = source;\n\t} else {\n\t\tsourceMappingURL = supportRelativeURL(source, sourceMappingURL);\n\t\tsourceMapData = retrieveFile(sourceMappingURL);\n\t}\n\tif (!sourceMapData) return null;\n\treturn {\n\t\turl: sourceMappingURL,\n\t\tmap: sourceMapData\n\t};\n});\nfunction mapSourcePosition(position) {\n\tif (!position.source) return position;\n\tlet sourceMap = sourceMapCache[position.source];\n\tif (!sourceMap) {\n\t\tconst urlAndMap = retrieveSourceMap(position.source);\n\t\tconst map = urlAndMap && urlAndMap.map;\n\t\tif (map && !(typeof map === \"object\" && \"mappings\" in map && map.mappings === \"\")) {\n\t\t\tsourceMap = sourceMapCache[position.source] = {\n\t\t\t\turl: urlAndMap.url,\n\t\t\t\tmap: new TraceMap(map)\n\t\t\t};\n\t\t\tif (sourceMap.map?.sourcesContent) sourceMap.map.sources.forEach((source, i) => {\n\t\t\t\tconst contents = sourceMap.map?.sourcesContent?.[i];\n\t\t\t\tif (contents && source && sourceMap.url) {\n\t\t\t\t\tconst url = supportRelativeURL(sourceMap.url, source);\n\t\t\t\t\tfileContentsCache[url] = contents;\n\t\t\t\t}\n\t\t\t});\n\t\t} else sourceMap = sourceMapCache[position.source] = {\n\t\t\turl: null,\n\t\t\tmap: null\n\t\t};\n\t}\n\tif (sourceMap && sourceMap.map && sourceMap.url) {\n\t\tconst originalPosition = originalPositionFor(sourceMap.map, position);\n\t\tif (originalPosition.source !== null) {\n\t\t\toriginalPosition.source = supportRelativeURL(sourceMap.url, originalPosition.source);\n\t\t\treturn originalPosition;\n\t\t}\n\t}\n\treturn position;\n}\nfunction mapEvalOrigin(origin) {\n\tlet match = /^eval at ([^(]+) \\((.+):(\\d+):(\\d+)\\)$/.exec(origin);\n\tif (match) {\n\t\tconst position = mapSourcePosition({\n\t\t\tname: null,\n\t\t\tsource: match[2],\n\t\t\tline: +match[3],\n\t\t\tcolumn: +match[4] - 1\n\t\t});\n\t\treturn `eval at ${match[1]} (${position.source}:${position.line}:${position.column + 1})`;\n\t}\n\tmatch = /^eval at ([^(]+) \\((.+)\\)$/.exec(origin);\n\tif (match) return `eval at ${match[1]} (${mapEvalOrigin(match[2])})`;\n\treturn origin;\n}\nfunction CallSiteToString() {\n\tlet fileName;\n\tlet fileLocation = \"\";\n\tif (this.isNative()) fileLocation = \"native\";\n\telse {\n\t\tfileName = this.getScriptNameOrSourceURL();\n\t\tif (!fileName && this.isEval()) {\n\t\t\tfileLocation = this.getEvalOrigin();\n\t\t\tfileLocation += \", \";\n\t\t}\n\t\tif (fileName) fileLocation += fileName;\n\t\telse fileLocation += \"<anonymous>\";\n\t\tconst lineNumber = this.getLineNumber();\n\t\tif (lineNumber != null) {\n\t\t\tfileLocation += `:${lineNumber}`;\n\t\t\tconst columnNumber = this.getColumnNumber();\n\t\t\tif (columnNumber) fileLocation += `:${columnNumber}`;\n\t\t}\n\t}\n\tlet line = \"\";\n\tconst functionName = this.getFunctionName();\n\tlet addSuffix = true;\n\tconst isConstructor = this.isConstructor();\n\tif (!(this.isToplevel() || isConstructor)) {\n\t\tlet typeName = this.getTypeName();\n\t\tif (typeName === \"[object Object]\") typeName = \"null\";\n\t\tconst methodName = this.getMethodName();\n\t\tif (functionName) {\n\t\t\tif (typeName && functionName.indexOf(typeName) !== 0) line += `${typeName}.`;\n\t\t\tline += functionName;\n\t\t\tif (methodName && functionName.indexOf(`.${methodName}`) !== functionName.length - methodName.length - 1) line += ` [as ${methodName}]`;\n\t\t} else line += `${typeName}.${methodName || \"<anonymous>\"}`;\n\t} else if (isConstructor) line += `new ${functionName || \"<anonymous>\"}`;\n\telse if (functionName) line += functionName;\n\telse {\n\t\tline += fileLocation;\n\t\taddSuffix = false;\n\t}\n\tif (addSuffix) line += ` (${fileLocation})`;\n\treturn line;\n}\nfunction cloneCallSite(frame) {\n\tconst object = {};\n\tObject.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach((name) => {\n\t\tconst key = name;\n\t\tobject[key] = /^(?:is|get)/.test(name) ? function() {\n\t\t\treturn frame[key].call(frame);\n\t\t} : frame[key];\n\t});\n\tobject.toString = CallSiteToString;\n\treturn object;\n}\nfunction wrapCallSite(frame, state) {\n\tif (state === void 0) state = {\n\t\tnextPosition: null,\n\t\tcurPosition: null\n\t};\n\tif (frame.isNative()) {\n\t\tstate.curPosition = null;\n\t\treturn frame;\n\t}\n\tconst source = frame.getFileName() || frame.getScriptNameOrSourceURL();\n\tif (source) {\n\t\tconst line = frame.getLineNumber();\n\t\tlet column = frame.getColumnNumber() - 1;\n\t\tconst headerLength = /^v(?:10\\.1[6-9]|10\\.[2-9]\\d|10\\.\\d{3,}|1[2-9]\\d*|[2-9]\\d|\\d{3,}|11\\.11)/.test(globalProcessVersion()) ? 0 : 62;\n\t\tif (line === 1 && column > headerLength && !frame.isEval()) column -= headerLength;\n\t\tconst position = mapSourcePosition({\n\t\t\tname: null,\n\t\t\tsource,\n\t\t\tline,\n\t\t\tcolumn\n\t\t});\n\t\tstate.curPosition = position;\n\t\tframe = cloneCallSite(frame);\n\t\tconst originalFunctionName = frame.getFunctionName;\n\t\tframe.getFunctionName = function() {\n\t\t\tif (state.nextPosition == null) return originalFunctionName();\n\t\t\treturn state.nextPosition.name || originalFunctionName();\n\t\t};\n\t\tframe.getFileName = function() {\n\t\t\treturn position.source ?? null;\n\t\t};\n\t\tframe.getLineNumber = function() {\n\t\t\treturn position.line;\n\t\t};\n\t\tframe.getColumnNumber = function() {\n\t\t\treturn position.column + 1;\n\t\t};\n\t\tframe.getScriptNameOrSourceURL = function() {\n\t\t\treturn position.source;\n\t\t};\n\t\treturn frame;\n\t}\n\tlet origin = frame.isEval() && frame.getEvalOrigin();\n\tif (origin) {\n\t\torigin = mapEvalOrigin(origin);\n\t\tframe = cloneCallSite(frame);\n\t\tframe.getEvalOrigin = function() {\n\t\t\treturn origin || void 0;\n\t\t};\n\t\treturn frame;\n\t}\n\treturn frame;\n}\nfunction prepareStackTrace(error, stack) {\n\tconst errorString = `${error.name || \"Error\"}: ${error.message || \"\"}`;\n\tconst state = {\n\t\tnextPosition: null,\n\t\tcurPosition: null\n\t};\n\tconst processedStack = [];\n\tfor (let i = stack.length - 1; i >= 0; i--) {\n\t\tprocessedStack.push(`\\n at ${wrapCallSite(stack[i], state)}`);\n\t\tstate.nextPosition = state.curPosition;\n\t}\n\tstate.curPosition = state.nextPosition = null;\n\treturn errorString + processedStack.reverse().join(\"\");\n}\nconst originalRetrieveFileHandlers = retrieveFileHandlers.slice(0);\nconst originalRetrieveMapHandlers = retrieveMapHandlers.slice(0);\nfunction install(options) {\n\toptions = options || {};\n\tif (options.retrieveFile) {\n\t\tif (options.overrideRetrieveFile) retrieveFileHandlers.length = 0;\n\t\tretrieveFileHandlers.unshift(options.retrieveFile);\n\t}\n\tif (options.retrieveSourceMap) {\n\t\tif (options.overrideRetrieveSourceMap) retrieveMapHandlers.length = 0;\n\t\tretrieveMapHandlers.unshift(options.retrieveSourceMap);\n\t}\n\tif (!errorFormatterInstalled) {\n\t\terrorFormatterInstalled = true;\n\t\tError.prepareStackTrace = prepareStackTrace;\n\t}\n}\n\n//#endregion\n//#region src/source-map.ts\nlet SOURCEMAPPING_URL = \"sourceMa\";\nSOURCEMAPPING_URL += \"ppingURL\";\nconst VITE_NODE_SOURCEMAPPING_SOURCE = \"//# sourceMappingSource=vite-node\";\nconst VITE_NODE_SOURCEMAPPING_URL = `${SOURCEMAPPING_URL}=data:application/json;charset=utf-8`;\nfunction withInlineSourcemap(result, options) {\n\tconst map = result.map;\n\tlet code = result.code;\n\tif (!map || code.includes(VITE_NODE_SOURCEMAPPING_SOURCE)) return result;\n\tif (\"sources\" in map) map.sources = map.sources?.map((source) => {\n\t\tif (!source) return source;\n\t\tif (isAbsolute(source)) {\n\t\t\tconst actualPath = !source.startsWith(withTrailingSlash(options.root)) && source.startsWith(\"/\") ? resolve(options.root, source.slice(1)) : source;\n\t\t\treturn relative(dirname(options.filepath), actualPath);\n\t\t}\n\t\treturn source;\n\t});\n\tconst OTHER_SOURCE_MAP_REGEXP = new RegExp(`//# ${SOURCEMAPPING_URL}=data:application/json[^,]+base64,([A-Za-z0-9+/=]+)$`, \"gm\");\n\twhile (OTHER_SOURCE_MAP_REGEXP.test(code)) code = code.replace(OTHER_SOURCE_MAP_REGEXP, \"\");\n\tif (!options.noFirstLineMapping && map.mappings.startsWith(\";\")) map.mappings = `AAAA,CAAA${map.mappings}`;\n\tconst sourceMap = Buffer$1.from(JSON.stringify(map), \"utf-8\").toString(\"base64\");\n\tresult.code = `${code.trimEnd()}\\n\\n${VITE_NODE_SOURCEMAPPING_SOURCE}\\n//# ${VITE_NODE_SOURCEMAPPING_URL};base64,${sourceMap}\\n`;\n\treturn result;\n}\nfunction extractSourceMap(code) {\n\tconst regexp = new RegExp(`//# ${VITE_NODE_SOURCEMAPPING_URL};base64,(.+)`, \"gm\");\n\tlet lastMatch, match;\n\twhile (match = regexp.exec(code)) lastMatch = match;\n\tif (lastMatch) return JSON.parse(Buffer$1.from(lastMatch[1], \"base64\").toString(\"utf-8\"));\n\treturn null;\n}\nfunction installSourcemapsSupport(options) {\n\tinstall({ retrieveSourceMap(source) {\n\t\tconst map = options.getSourceMap(source);\n\t\tif (map) return {\n\t\t\turl: source,\n\t\t\tmap\n\t\t};\n\t\treturn null;\n\t} });\n}\n\n//#endregion\nexport { installSourcemapsSupport as n, withInlineSourcemap as r, extractSourceMap as t };","function coerce(value) {\n\tif (value instanceof Error) return value.stack || value.message;\n\treturn value;\n}\nfunction selectColor(colors, namespace) {\n\tlet hash = 0;\n\tfor (let i = 0; i < namespace.length; i++) {\n\t\thash = (hash << 5) - hash + namespace.charCodeAt(i);\n\t\thash |= 0;\n\t}\n\treturn colors[Math.abs(hash) % colors.length];\n}\nfunction matchesTemplate(search, template) {\n\tlet searchIndex = 0;\n\tlet templateIndex = 0;\n\tlet starIndex = -1;\n\tlet matchIndex = 0;\n\twhile (searchIndex < search.length) if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === \"*\")) if (template[templateIndex] === \"*\") {\n\t\tstarIndex = templateIndex;\n\t\tmatchIndex = searchIndex;\n\t\ttemplateIndex++;\n\t} else {\n\t\tsearchIndex++;\n\t\ttemplateIndex++;\n\t}\n\telse if (starIndex !== -1) {\n\t\ttemplateIndex = starIndex + 1;\n\t\tmatchIndex++;\n\t\tsearchIndex = matchIndex;\n\t} else return false;\n\twhile (templateIndex < template.length && template[templateIndex] === \"*\") templateIndex++;\n\treturn templateIndex === template.length;\n}\nfunction humanize(value) {\n\tif (value >= 1e3) return `${(value / 1e3).toFixed(1)}s`;\n\treturn `${value}ms`;\n}\nlet globalNamespaces = \"\";\nfunction namespaces() {\n\treturn globalNamespaces;\n}\nfunction createDebug(namespace, options) {\n\tlet prevTime;\n\tlet enableOverride;\n\tlet namespacesCache;\n\tlet enabledCache;\n\tconst debug = (...args) => {\n\t\tif (!debug.enabled) return;\n\t\tconst curr = Date.now();\n\t\tconst diff = curr - (prevTime || curr);\n\t\tprevTime = curr;\n\t\targs[0] = coerce(args[0]);\n\t\tif (typeof args[0] !== \"string\") args.unshift(\"%O\");\n\t\tlet index = 0;\n\t\targs[0] = args[0].replace(/%([a-z%])/gi, (match, format) => {\n\t\t\tif (match === \"%%\") return \"%\";\n\t\t\tindex++;\n\t\t\tconst formatter = options.formatters[format];\n\t\t\tif (typeof formatter === \"function\") {\n\t\t\t\tconst value = args[index];\n\t\t\t\tmatch = formatter.call(debug, value);\n\t\t\t\targs.splice(index, 1);\n\t\t\t\tindex--;\n\t\t\t}\n\t\t\treturn match;\n\t\t});\n\t\toptions.formatArgs.call(debug, diff, args);\n\t\tdebug.log(...args);\n\t};\n\tdebug.extend = function(namespace$1, delimiter = \":\") {\n\t\treturn createDebug(this.namespace + delimiter + namespace$1, {\n\t\t\tuseColors: this.useColors,\n\t\t\tcolor: this.color,\n\t\t\tformatArgs: this.formatArgs,\n\t\t\tformatters: this.formatters,\n\t\t\tinspectOpts: this.inspectOpts,\n\t\t\tlog: this.log,\n\t\t\thumanize: this.humanize\n\t\t});\n\t};\n\tObject.assign(debug, options);\n\tdebug.namespace = namespace;\n\tObject.defineProperty(debug, \"enabled\", {\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\tget: () => {\n\t\t\tif (enableOverride != null) return enableOverride;\n\t\t\tif (namespacesCache !== globalNamespaces) {\n\t\t\t\tnamespacesCache = globalNamespaces;\n\t\t\t\tenabledCache = enabled(namespace);\n\t\t\t}\n\t\t\treturn enabledCache;\n\t\t},\n\t\tset: (v) => {\n\t\t\tenableOverride = v;\n\t\t}\n\t});\n\treturn debug;\n}\nlet names = [];\nlet skips = [];\nfunction enable(namespaces$1) {\n\tglobalNamespaces = namespaces$1;\n\tnames = [];\n\tskips = [];\n\tconst split = globalNamespaces.trim().replace(/\\s+/g, \",\").split(\",\").filter(Boolean);\n\tfor (const ns of split) if (ns[0] === \"-\") skips.push(ns.slice(1));\n\telse names.push(ns);\n}\nfunction disable() {\n\tconst namespaces$1 = [...names, ...skips.map((namespace) => `-${namespace}`)].join(\",\");\n\tenable(\"\");\n\treturn namespaces$1;\n}\nfunction enabled(name) {\n\tfor (const skip of skips) if (matchesTemplate(name, skip)) return false;\n\tfor (const ns of names) if (matchesTemplate(name, ns)) return true;\n\treturn false;\n}\nexport { namespaces as a, enabled as i, disable as n, humanize as o, enable as r, selectColor as s, createDebug as t };\n","import { a as namespaces, i as enabled, n as disable, o as humanize, r as enable$1, s as selectColor, t as createDebug$1 } from \"./core.js\";\nimport { isatty } from \"node:tty\";\nimport { formatWithOptions, inspect } from \"node:util\";\nconst colors = process.stderr.getColorDepth && process.stderr.getColorDepth() > 2 ? [\n\t20,\n\t21,\n\t26,\n\t27,\n\t32,\n\t33,\n\t38,\n\t39,\n\t40,\n\t41,\n\t42,\n\t43,\n\t44,\n\t45,\n\t56,\n\t57,\n\t62,\n\t63,\n\t68,\n\t69,\n\t74,\n\t75,\n\t76,\n\t77,\n\t78,\n\t79,\n\t80,\n\t81,\n\t92,\n\t93,\n\t98,\n\t99,\n\t112,\n\t113,\n\t128,\n\t129,\n\t134,\n\t135,\n\t148,\n\t149,\n\t160,\n\t161,\n\t162,\n\t163,\n\t164,\n\t165,\n\t166,\n\t167,\n\t168,\n\t169,\n\t170,\n\t171,\n\t172,\n\t173,\n\t178,\n\t179,\n\t184,\n\t185,\n\t196,\n\t197,\n\t198,\n\t199,\n\t200,\n\t201,\n\t202,\n\t203,\n\t204,\n\t205,\n\t206,\n\t207,\n\t208,\n\t209,\n\t214,\n\t215,\n\t220,\n\t221\n] : [\n\t6,\n\t2,\n\t3,\n\t4,\n\t5,\n\t1\n];\nconst inspectOpts = Object.keys(process.env).filter((key) => /^debug_/i.test(key)).reduce((obj, key) => {\n\tconst prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, k) => k.toUpperCase());\n\tlet value = process.env[key];\n\tif (value === \"null\") value = null;\n\telse if (/^yes|on|true|enabled$/i.test(value)) value = true;\n\telse if (/^no|off|false|disabled$/i.test(value)) value = false;\n\telse value = Number(value);\n\tobj[prop] = value;\n\treturn obj;\n}, {});\nfunction useColors() {\n\treturn \"colors\" in inspectOpts ? Boolean(inspectOpts.colors) : isatty(process.stderr.fd);\n}\nfunction getDate() {\n\tif (inspectOpts.hideDate) return \"\";\n\treturn `${(/* @__PURE__ */ new Date()).toISOString()} `;\n}\nfunction formatArgs(diff, args) {\n\tconst { namespace: name, useColors: useColors$1 } = this;\n\tif (useColors$1) {\n\t\tconst c = this.color;\n\t\tconst colorCode = `\\u001B[3${c < 8 ? c : `8;5;${c}`}`;\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\t\targs[0] = prefix + args[0].split(\"\\n\").join(`\\n${prefix}`);\n\t\targs.push(`${colorCode}m+${this.humanize(diff)}\\u001B[0m`);\n\t} else args[0] = `${getDate()}${name} ${args[0]}`;\n}\nfunction log(...args) {\n\tprocess.stderr.write(`${formatWithOptions(this.inspectOpts, ...args)}\\n`);\n}\nconst defaultOptions = {\n\tuseColors: useColors(),\n\tformatArgs,\n\tformatters: {\n\t\to(v) {\n\t\t\tthis.inspectOpts.colors = this.useColors;\n\t\t\treturn inspect(v, this.inspectOpts).split(\"\\n\").map((str) => str.trim()).join(\" \");\n\t\t},\n\t\tO(v) {\n\t\t\tthis.inspectOpts.colors = this.useColors;\n\t\t\treturn inspect(v, this.inspectOpts);\n\t\t}\n\t},\n\tinspectOpts,\n\tlog,\n\thumanize\n};\nfunction createDebug(namespace, options) {\n\tvar _ref;\n\tconst color = (_ref = options && options.color) !== null && _ref !== void 0 ? _ref : selectColor(colors, namespace);\n\treturn createDebug$1(namespace, Object.assign(defaultOptions, { color }, options));\n}\nfunction save(namespaces$1) {\n\tif (namespaces$1) process.env.DEBUG = namespaces$1;\n\telse delete process.env.DEBUG;\n}\nfunction enable(namespaces$1) {\n\tsave(namespaces$1);\n\tenable$1(namespaces$1);\n}\nenable$1(process.env.DEBUG || \"\");\nexport { createDebug, disable, enable, enabled, namespaces };\n","import { c as isNodeBuiltin, d as normalizeModuleId, f as normalizeRequestId, g as toFilePath, l as isPrimitive, m as slash, n as cleanUrl, o as isBareImport, r as createImportMetaEnvProxy, s as isInternalRequest } from \"./utils-ExLpYVUV.mjs\";\nimport { t as extractSourceMap } from \"./source-map-DQLD3K8K.mjs\";\nimport { createRequire } from \"node:module\";\nimport process from \"node:process\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { createDebug } from \"obug\";\nimport { dirname, resolve } from \"node:path\";\nimport vm from \"node:vm\";\n\n//#region src/client.ts\nconst { setTimeout, clearTimeout } = globalThis;\nconst debugExecute = createDebug(\"vite-node:client:execute\");\nconst debugNative = createDebug(\"vite-node:client:native\");\nconst clientStub = {\n\tinjectQuery: (id) => id,\n\tcreateHotContext: () => {\n\t\treturn {\n\t\t\taccept: () => {},\n\t\t\tprune: () => {},\n\t\t\tdispose: () => {},\n\t\t\tdecline: () => {},\n\t\t\tinvalidate: () => {},\n\t\t\ton: () => {},\n\t\t\tsend: () => {}\n\t\t};\n\t},\n\tupdateStyle: () => {},\n\tremoveStyle: () => {}\n};\nconst env = createImportMetaEnvProxy();\nconst DEFAULT_REQUEST_STUBS = {\n\t\"/@vite/client\": clientStub,\n\t\"@vite/client\": clientStub\n};\nvar ModuleCacheMap = class extends Map {\n\tnormalizePath(fsPath) {\n\t\treturn normalizeModuleId(fsPath);\n\t}\n\t/**\n\t* Assign partial data to the map\n\t*/\n\tupdate(fsPath, mod) {\n\t\tfsPath = this.normalizePath(fsPath);\n\t\tif (!super.has(fsPath)) this.setByModuleId(fsPath, mod);\n\t\telse Object.assign(super.get(fsPath), mod);\n\t\treturn this;\n\t}\n\tsetByModuleId(modulePath, mod) {\n\t\treturn super.set(modulePath, mod);\n\t}\n\tset(fsPath, mod) {\n\t\treturn this.setByModuleId(this.normalizePath(fsPath), mod);\n\t}\n\tgetByModuleId(modulePath) {\n\t\tif (!super.has(modulePath)) this.setByModuleId(modulePath, {});\n\t\tconst mod = super.get(modulePath);\n\t\tif (!mod.imports) Object.assign(mod, {\n\t\t\timports: /* @__PURE__ */ new Set(),\n\t\t\timporters: /* @__PURE__ */ new Set()\n\t\t});\n\t\treturn mod;\n\t}\n\tget(fsPath) {\n\t\treturn this.getByModuleId(this.normalizePath(fsPath));\n\t}\n\tdeleteByModuleId(modulePath) {\n\t\treturn super.delete(modulePath);\n\t}\n\tdelete(fsPath) {\n\t\treturn this.deleteByModuleId(this.normalizePath(fsPath));\n\t}\n\tinvalidateModule(mod) {\n\t\tdelete mod.evaluated;\n\t\tdelete mod.resolving;\n\t\tdelete mod.promise;\n\t\tdelete mod.exports;\n\t\tmod.importers?.clear();\n\t\tmod.imports?.clear();\n\t\treturn true;\n\t}\n\t/**\n\t* Invalidate modules that dependent on the given modules, up to the main entry\n\t*/\n\tinvalidateDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {\n\t\tfor (const _id of ids) {\n\t\t\tconst id = this.normalizePath(_id);\n\t\t\tif (invalidated.has(id)) continue;\n\t\t\tinvalidated.add(id);\n\t\t\tconst mod = super.get(id);\n\t\t\tif (mod?.importers) this.invalidateDepTree(mod.importers, invalidated);\n\t\t\tsuper.delete(id);\n\t\t}\n\t\treturn invalidated;\n\t}\n\t/**\n\t* Invalidate dependency modules of the given modules, down to the bottom-level dependencies\n\t*/\n\tinvalidateSubDepTree(ids, invalidated = /* @__PURE__ */ new Set()) {\n\t\tfor (const _id of ids) {\n\t\t\tconst id = this.normalizePath(_id);\n\t\t\tif (invalidated.has(id)) continue;\n\t\t\tinvalidated.add(id);\n\t\t\tconst subIds = Array.from(super.entries()).filter(([, mod]) => mod.importers?.has(id)).map(([key]) => key);\n\t\t\tif (subIds.length) this.invalidateSubDepTree(subIds, invalidated);\n\t\t\tsuper.delete(id);\n\t\t}\n\t\treturn invalidated;\n\t}\n\t/**\n\t* Return parsed source map based on inlined source map of the module\n\t*/\n\tgetSourceMap(id) {\n\t\tconst cache = this.get(id);\n\t\tif (cache.map) return cache.map;\n\t\tconst map = cache.code && extractSourceMap(cache.code);\n\t\tif (map) {\n\t\t\tcache.map = map;\n\t\t\treturn map;\n\t\t}\n\t\treturn null;\n\t}\n};\nvar ViteNodeRunner = class {\n\troot;\n\tdebug;\n\t/**\n\t* Holds the cache of modules\n\t* Keys of the map are filepaths, or plain package names\n\t*/\n\tmoduleCache;\n\t/**\n\t* Tracks the stack of modules being executed for the purpose of calculating import self-time.\n\t*\n\t* Note that while in most cases, imports are a linear stack of modules,\n\t* this is occasionally not the case, for example when you have parallel top-level dynamic imports like so:\n\t*\n\t* ```ts\n\t* await Promise.all([\n\t* import('./module1'),\n\t* import('./module2'),\n\t* ]);\n\t* ```\n\t*\n\t* In this case, the self time will be reported incorrectly for one of the modules (could go negative).\n\t* As top-level awaits with dynamic imports like this are uncommon, we don't handle this case specifically.\n\t*/\n\texecutionStack = [];\n\tperformanceNow = performance.now.bind(performance);\n\tconstructor(options) {\n\t\tthis.options = options;\n\t\tthis.root = options.root ?? process.cwd();\n\t\tthis.moduleCache = options.moduleCache ?? new ModuleCacheMap();\n\t\tthis.debug = options.debug ?? (typeof process !== \"undefined\" ? !!process.env.VITE_NODE_DEBUG_RUNNER : false);\n\t}\n\tasync executeFile(file) {\n\t\tconst url = `/@fs/${slash(resolve(file))}`;\n\t\treturn await this.cachedRequest(url, url, []);\n\t}\n\tasync executeId(rawId) {\n\t\tconst [id, url] = await this.resolveUrl(rawId);\n\t\treturn await this.cachedRequest(id, url, []);\n\t}\n\t/** @internal */\n\tasync cachedRequest(id, fsPath, callstack) {\n\t\tconst importee = callstack[callstack.length - 1];\n\t\tconst mod = this.moduleCache.get(fsPath);\n\t\tconst { imports, importers } = mod;\n\t\tif (importee) importers.add(importee);\n\t\tconst getStack = () => `stack:\\n${[...callstack, fsPath].reverse().map((p) => ` - ${p}`).join(\"\\n\")}`;\n\t\tif (callstack.includes(fsPath) || Array.from(imports.values()).some((i) => importers.has(i))) {\n\t\t\tif (mod.exports) return mod.exports;\n\t\t}\n\t\tlet debugTimer;\n\t\tif (this.debug) debugTimer = setTimeout(() => console.warn(`[vite-node] module ${fsPath} takes over 2s to load.\\n${getStack()}`), 2e3);\n\t\ttry {\n\t\t\tif (mod.promise) return await mod.promise;\n\t\t\tconst promise = this.directRequest(id, fsPath, callstack);\n\t\t\tObject.assign(mod, {\n\t\t\t\tpromise,\n\t\t\t\tevaluated: false\n\t\t\t});\n\t\t\treturn await promise;\n\t\t} finally {\n\t\t\tmod.evaluated = true;\n\t\t\tif (debugTimer) clearTimeout(debugTimer);\n\t\t}\n\t}\n\tshouldResolveId(id, _importee) {\n\t\treturn !isInternalRequest(id) && !isNodeBuiltin(id) && !id.startsWith(\"data:\");\n\t}\n\tasync _resolveUrl(id, importer) {\n\t\tconst dep = normalizeRequestId(id, this.options.base);\n\t\tif (!this.shouldResolveId(dep)) return [dep, dep];\n\t\tconst { path: path$1, exists } = toFilePath(dep, this.root);\n\t\tif (!this.options.resolveId || exists) return [dep, path$1];\n\t\tconst resolved = await this.options.resolveId(dep, importer);\n\t\tif (resolved?.meta?.[\"vite:alias\"]?.noResolved) {\n\t\t\tconst error = /* @__PURE__ */ new Error(`Cannot find module '${id}'${importer ? ` imported from '${importer}'` : \"\"}.\n\n- If you rely on tsconfig.json's \"paths\" to resolve modules, please install \"vite-tsconfig-paths\" plugin to handle module resolution.\n- Make sure you don't have relative aliases in your Vitest config. Use absolute paths instead. Read more: https://vitest.dev/guide/common-errors`);\n\t\t\tObject.defineProperty(error, \"code\", {\n\t\t\t\tvalue: \"ERR_MODULE_NOT_FOUND\",\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tObject.defineProperty(error, Symbol.for(\"vitest.error.not_found.data\"), {\n\t\t\t\tvalue: {\n\t\t\t\t\tid: dep,\n\t\t\t\t\timporter\n\t\t\t\t},\n\t\t\t\tenumerable: false\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t\tconst resolvedId = resolved ? normalizeRequestId(resolved.id, this.options.base) : dep;\n\t\treturn [resolvedId, resolvedId];\n\t}\n\tasync resolveUrl(id, importee) {\n\t\tconst resolveKey = `resolve:${id}`;\n\t\tthis.moduleCache.setByModuleId(resolveKey, { resolving: true });\n\t\ttry {\n\t\t\treturn await this._resolveUrl(id, importee);\n\t\t} finally {\n\t\t\tthis.moduleCache.deleteByModuleId(resolveKey);\n\t\t}\n\t}\n\t/** @internal */\n\tasync dependencyRequest(id, fsPath, callstack) {\n\t\treturn await this.cachedRequest(id, fsPath, callstack);\n\t}\n\tasync _fetchModule(id, importer) {\n\t\ttry {\n\t\t\treturn await this.options.fetchModule(id);\n\t\t} catch (cause) {\n\t\t\tif (typeof cause === \"object\" && cause.code === \"ERR_LOAD_URL\" || typeof cause?.message === \"string\" && cause.message.includes(\"Failed to load url\")) {\n\t\t\t\tconst error = new Error(`Cannot find ${isBareImport(id) ? \"package\" : \"module\"} '${id}'${importer ? ` imported from '${importer}'` : \"\"}`, { cause });\n\t\t\t\terror.code = \"ERR_MODULE_NOT_FOUND\";\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tthrow cause;\n\t\t}\n\t}\n\t/** @internal */\n\tasync directRequest(id, fsPath, _callstack) {\n\t\tconst moduleId = normalizeModuleId(fsPath);\n\t\tconst callstack = [..._callstack, moduleId];\n\t\tconst mod = this.moduleCache.getByModuleId(moduleId);\n\t\tconst request = async (dep) => {\n\t\t\tconst [id$1, depFsPath] = await this.resolveUrl(String(dep), fsPath);\n\t\t\tthis.moduleCache.getByModuleId(depFsPath).importers.add(moduleId);\n\t\t\tmod.imports.add(depFsPath);\n\t\t\treturn this.dependencyRequest(id$1, depFsPath, callstack);\n\t\t};\n\t\tconst requestStubs = this.options.requestStubs || DEFAULT_REQUEST_STUBS;\n\t\tif (id in requestStubs) return requestStubs[id];\n\t\tlet { code: transformed, externalize } = await this._fetchModule(id, callstack[callstack.length - 2]);\n\t\tif (externalize) {\n\t\t\tdebugNative(externalize);\n\t\t\tconst exports$1 = await this.interopedImport(externalize);\n\t\t\tmod.exports = exports$1;\n\t\t\treturn exports$1;\n\t\t}\n\t\tif (transformed == null) throw new Error(`[vite-node] Failed to load \"${id}\" imported from ${callstack[callstack.length - 2]}`);\n\t\tconst { Object: Object$1, Reflect: Reflect$1, Symbol: Symbol$1 } = this.getContextPrimitives();\n\t\tconst modulePath = cleanUrl(moduleId);\n\t\tconst href = pathToFileURL(modulePath).href;\n\t\tconst __filename = fileURLToPath(href);\n\t\tconst __dirname = dirname(__filename);\n\t\tconst meta = {\n\t\t\turl: href,\n\t\t\tenv,\n\t\t\tfilename: __filename,\n\t\t\tdirname: __dirname\n\t\t};\n\t\tconst exports = Object$1.create(null);\n\t\tObject$1.defineProperty(exports, Symbol$1.toStringTag, {\n\t\t\tvalue: \"Module\",\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false\n\t\t});\n\t\tconst SYMBOL_NOT_DEFINED = Symbol$1(\"not defined\");\n\t\tlet moduleExports = SYMBOL_NOT_DEFINED;\n\t\tconst cjsExports = new Proxy(exports, {\n\t\t\tget: (target, p, receiver) => {\n\t\t\t\tif (Reflect$1.has(target, p)) return Reflect$1.get(target, p, receiver);\n\t\t\t\treturn Reflect$1.get(Object$1.prototype, p, receiver);\n\t\t\t},\n\t\t\tgetPrototypeOf: () => Object$1.prototype,\n\t\t\tset: (_, p, value) => {\n\t\t\t\tif (p === \"default\" && this.shouldInterop(modulePath, { default: value }) && cjsExports !== value) {\n\t\t\t\t\texportAll(cjsExports, value);\n\t\t\t\t\texports.default = value;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (!Reflect$1.has(exports, \"default\")) exports.default = {};\n\t\t\t\tif (moduleExports !== SYMBOL_NOT_DEFINED && isPrimitive(moduleExports)) {\n\t\t\t\t\tdefineExport(exports, p, () => void 0);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (!isPrimitive(exports.default)) exports.default[p] = value;\n\t\t\t\tif (p !== \"default\") defineExport(exports, p, () => value);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\t\tObject$1.assign(mod, {\n\t\t\tcode: transformed,\n\t\t\texports\n\t\t});\n\t\tconst moduleProxy = {\n\t\t\tset exports(value) {\n\t\t\t\texportAll(cjsExports, value);\n\t\t\t\texports.default = value;\n\t\t\t\tmoduleExports = value;\n\t\t\t},\n\t\t\tget exports() {\n\t\t\t\treturn cjsExports;\n\t\t\t}\n\t\t};\n\t\tlet hotContext;\n\t\tif (this.options.createHotContext) Object$1.defineProperty(meta, \"hot\", {\n\t\t\tenumerable: true,\n\t\t\tget: () => {\n\t\t\t\thotContext ||= this.options.createHotContext?.(this, moduleId);\n\t\t\t\treturn hotContext;\n\t\t\t},\n\t\t\tset: (value) => {\n\t\t\t\thotContext = value;\n\t\t\t}\n\t\t});\n\t\tconst context = this.prepareContext({\n\t\t\t__vite_ssr_import__: request,\n\t\t\t__vite_ssr_dynamic_import__: request,\n\t\t\t__vite_ssr_exports__: exports,\n\t\t\t__vite_ssr_exportAll__: (obj) => exportAll(exports, obj),\n\t\t\t__vite_ssr_exportName__: (name, getter) => Object$1.defineProperty(exports, name, {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: getter\n\t\t\t}),\n\t\t\t__vite_ssr_import_meta__: meta,\n\t\t\trequire: createRequire(href),\n\t\t\texports: cjsExports,\n\t\t\tmodule: moduleProxy,\n\t\t\t__filename,\n\t\t\t__dirname\n\t\t});\n\t\tdebugExecute(__filename);\n\t\tif (transformed[0] === \"#\") transformed = transformed.replace(/^#!.*/, (s) => \" \".repeat(s.length));\n\t\tawait this.runModule(context, transformed);\n\t\treturn exports;\n\t}\n\tgetContextPrimitives() {\n\t\treturn {\n\t\t\tObject,\n\t\t\tReflect,\n\t\t\tSymbol\n\t\t};\n\t}\n\tasync runModule(context, transformed) {\n\t\tconst codeDefinition = `'use strict';async (${Object.keys(context).join(\",\")})=>{{`;\n\t\tconst code = `${codeDefinition}${transformed}\\n}}`;\n\t\tconst options = {\n\t\t\tfilename: context.__filename,\n\t\t\tlineOffset: 0,\n\t\t\tcolumnOffset: -codeDefinition.length\n\t\t};\n\t\tconst finishModuleExecutionInfo = this.startCalculateModuleExecutionInfo(options.filename, codeDefinition.length);\n\t\ttry {\n\t\t\tawait vm.runInThisContext(code, options)(...Object.values(context));\n\t\t} finally {\n\t\t\tthis.options.moduleExecutionInfo?.set(options.filename, finishModuleExecutionInfo());\n\t\t}\n\t}\n\t/**\n\t* Starts calculating the module execution info such as the total duration and self time spent on executing the module.\n\t* Returns a function to call once the module has finished executing.\n\t*/\n\tstartCalculateModuleExecutionInfo(filename, startOffset) {\n\t\tconst startTime = this.performanceNow();\n\t\tthis.executionStack.push({\n\t\t\tfilename,\n\t\t\tstartTime,\n\t\t\tsubImportTime: 0\n\t\t});\n\t\treturn () => {\n\t\t\tconst duration = this.performanceNow() - startTime;\n\t\t\tconst currentExecution = this.executionStack.pop();\n\t\t\tif (currentExecution == null) throw new Error(\"Execution stack is empty, this should never happen\");\n\t\t\tconst selfTime = duration - currentExecution.subImportTime;\n\t\t\tif (this.executionStack.length > 0) this.executionStack.at(-1).subImportTime += duration;\n\t\t\treturn {\n\t\t\t\tstartOffset,\n\t\t\t\tduration,\n\t\t\t\tselfTime\n\t\t\t};\n\t\t};\n\t}\n\tprepareContext(context) {\n\t\treturn context;\n\t}\n\t/**\n\t* Define if a module should be interop-ed\n\t* This function mostly for the ability to override by subclass\n\t*/\n\tshouldInterop(path$1, mod) {\n\t\tif (this.options.interopDefault === false) return false;\n\t\treturn !path$1.endsWith(\".mjs\") && \"default\" in mod;\n\t}\n\timportExternalModule(path$1) {\n\t\treturn import(\n\t\t\t/* @vite-ignore */\n\t\t\tpath$1\n);\n\t}\n\t/**\n\t* Import a module and interop it\n\t*/\n\tasync interopedImport(path$1) {\n\t\tconst importedModule = await this.importExternalModule(path$1);\n\t\tif (!this.shouldInterop(path$1, importedModule)) return importedModule;\n\t\tconst { mod, defaultExport } = interopModule(importedModule);\n\t\treturn new Proxy(mod, {\n\t\t\tget(mod$1, prop) {\n\t\t\t\tif (prop === \"default\") return defaultExport;\n\t\t\t\treturn mod$1[prop] ?? defaultExport?.[prop];\n\t\t\t},\n\t\t\thas(mod$1, prop) {\n\t\t\t\tif (prop === \"default\") return defaultExport !== void 0;\n\t\t\t\treturn prop in mod$1 || defaultExport && prop in defaultExport;\n\t\t\t},\n\t\t\tgetOwnPropertyDescriptor(mod$1, prop) {\n\t\t\t\tconst descriptor = Reflect.getOwnPropertyDescriptor(mod$1, prop);\n\t\t\t\tif (descriptor) return descriptor;\n\t\t\t\tif (prop === \"default\" && defaultExport !== void 0) return {\n\t\t\t\t\tvalue: defaultExport,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n};\nfunction interopModule(mod) {\n\tif (isPrimitive(mod)) return {\n\t\tmod: { default: mod },\n\t\tdefaultExport: mod\n\t};\n\tlet defaultExport = \"default\" in mod ? mod.default : mod;\n\tif (!isPrimitive(defaultExport) && \"__esModule\" in defaultExport) {\n\t\tmod = defaultExport;\n\t\tif (\"default\" in defaultExport) defaultExport = defaultExport.default;\n\t}\n\treturn {\n\t\tmod,\n\t\tdefaultExport\n\t};\n}\nfunction defineExport(exports, key, value) {\n\tObject.defineProperty(exports, key, {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: value\n\t});\n}\nfunction exportAll(exports, sourceModule) {\n\tif (exports === sourceModule) return;\n\tif (isPrimitive(sourceModule) || Array.isArray(sourceModule) || sourceModule instanceof Promise) return;\n\tfor (const key in sourceModule) if (key !== \"default\" && !(key in exports)) try {\n\t\tdefineExport(exports, key, () => sourceModule[key]);\n\t} catch {}\n}\n\n//#endregion\nexport { ModuleCacheMap as n, ViteNodeRunner as r, DEFAULT_REQUEST_STUBS as t };","//#region node_modules/.pnpm/tinyrainbow@3.0.3/node_modules/tinyrainbow/dist/index.js\nvar d = {\n\treset: [0, 0],\n\tbold: [\n\t\t1,\n\t\t22,\n\t\t\"\\x1B[22m\\x1B[1m\"\n\t],\n\tdim: [\n\t\t2,\n\t\t22,\n\t\t\"\\x1B[22m\\x1B[2m\"\n\t],\n\titalic: [3, 23],\n\tunderline: [4, 24],\n\tinverse: [7, 27],\n\thidden: [8, 28],\n\tstrikethrough: [9, 29],\n\tblack: [30, 39],\n\tred: [31, 39],\n\tgreen: [32, 39],\n\tyellow: [33, 39],\n\tblue: [34, 39],\n\tmagenta: [35, 39],\n\tcyan: [36, 39],\n\twhite: [37, 39],\n\tgray: [90, 39],\n\tbgBlack: [40, 49],\n\tbgRed: [41, 49],\n\tbgGreen: [42, 49],\n\tbgYellow: [43, 49],\n\tbgBlue: [44, 49],\n\tbgMagenta: [45, 49],\n\tbgCyan: [46, 49],\n\tbgWhite: [47, 49],\n\tblackBright: [90, 39],\n\tredBright: [91, 39],\n\tgreenBright: [92, 39],\n\tyellowBright: [93, 39],\n\tblueBright: [94, 39],\n\tmagentaBright: [95, 39],\n\tcyanBright: [96, 39],\n\twhiteBright: [97, 39],\n\tbgBlackBright: [100, 49],\n\tbgRedBright: [101, 49],\n\tbgGreenBright: [102, 49],\n\tbgYellowBright: [103, 49],\n\tbgBlueBright: [104, 49],\n\tbgMagentaBright: [105, 49],\n\tbgCyanBright: [106, 49],\n\tbgWhiteBright: [107, 49]\n};\nfunction g(e) {\n\treturn String(e);\n}\ng.open = \"\";\ng.close = \"\";\nfunction h() {\n\tlet e = typeof process != \"undefined\" ? process : void 0, n = (e == null ? void 0 : e.env) || {}, a = n.FORCE_TTY !== \"false\", i = (e == null ? void 0 : e.argv) || [];\n\treturn !(\"NO_COLOR\" in n || i.includes(\"--no-color\")) && (\"FORCE_COLOR\" in n || i.includes(\"--color\") || (e == null ? void 0 : e.platform) === \"win32\" || a && n.TERM !== \"dumb\" || \"CI\" in n) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction f() {\n\tlet e = h(), n = (r, t, u, o) => {\n\t\tlet l = \"\", s = 0;\n\t\tdo\n\t\t\tl += r.substring(s, o) + u, s = o + t.length, o = r.indexOf(t, s);\n\t\twhile (~o);\n\t\treturn l + r.substring(s);\n\t}, a = (r, t, u = r) => {\n\t\tlet o = (l) => {\n\t\t\tlet s = String(l), b = s.indexOf(t, r.length);\n\t\t\treturn ~b ? r + n(s, t, u, b) + t : r + s + t;\n\t\t};\n\t\treturn o.open = r, o.close = t, o;\n\t}, i = { isColorSupported: e }, c = (r) => `\\x1B[${r}m`;\n\tfor (let r in d) {\n\t\tlet t = d[r];\n\t\ti[r] = e ? a(c(t[0]), c(t[1]), t[2]) : g;\n\t}\n\treturn i;\n}\nvar C = f();\n\n//#endregion\nexport { C as t };","//#region src/constants.ts\nconst KNOWN_ASSET_TYPES = [\n\t\"apng\",\n\t\"bmp\",\n\t\"png\",\n\t\"jpe?g\",\n\t\"jfif\",\n\t\"pjpeg\",\n\t\"pjp\",\n\t\"gif\",\n\t\"svg\",\n\t\"ico\",\n\t\"webp\",\n\t\"avif\",\n\t\"mp4\",\n\t\"webm\",\n\t\"ogg\",\n\t\"mp3\",\n\t\"wav\",\n\t\"flac\",\n\t\"aac\",\n\t\"woff2?\",\n\t\"eot\",\n\t\"ttf\",\n\t\"otf\",\n\t\"webmanifest\",\n\t\"pdf\",\n\t\"txt\"\n];\nconst KNOWN_ASSET_RE = /* @__PURE__ */ new RegExp(`\\\\.(${KNOWN_ASSET_TYPES.join(\"|\")})$`);\nconst CSS_LANGS_RE = /\\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\\?)/;\n\n//#endregion\nexport { KNOWN_ASSET_RE as n, KNOWN_ASSET_TYPES as r, CSS_LANGS_RE as t };","/* es-module-lexer 1.7.0 */\nexport var ImportType;!function(A){A[A.Static=1]=\"Static\",A[A.Dynamic=2]=\"Dynamic\",A[A.ImportMeta=3]=\"ImportMeta\",A[A.StaticSourcePhase=4]=\"StaticSourcePhase\",A[A.DynamicSourcePhase=5]=\"DynamicSourcePhase\",A[A.StaticDeferPhase=6]=\"StaticDeferPhase\",A[A.DynamicDeferPhase=7]=\"DynamicDeferPhase\"}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];export function parse(E,g=\"@\"){if(!C)return init.then((()=>parse(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const K=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,K,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split(\"\\n\").length}:${C.e()-E.lastIndexOf(\"\\n\",C.e()-1)}`),{idx:C.e()});const o=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),w=C.ss(),K=C.se();let D;C.ip()&&(D=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:D,t:B,s:A,e:Q,ss:w,se:K,d:I,a:g})}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],K=B<0?void 0:E.slice(B,g),o=K?K[0]:\"\";D.push({s:A,e:Q,ls:B,le:g,n:'\"'===w||\"'\"===w?k(I):I,ln:'\"'===o||\"'\"===o?k(K):K})}function k(A){try{return(0,eval)(A)}catch(A){}}return[o,D,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++)}let C;const E=()=>{return A=\"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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=\",\"undefined\"!=typeof Buffer?Buffer.from(A,\"base64\"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A};export const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A}));export const initSync=()=>{if(C)return;const A=new WebAssembly.Module(E());C=new WebAssembly.Instance(A).exports};","import { t as C } from \"./dist-B2ebky9O.mjs\";\nimport { n as KNOWN_ASSET_RE } from \"./constants-DRkacFwN.mjs\";\nimport { _ as withTrailingSlash, c as isNodeBuiltin, d as normalizeModuleId, g as toFilePath, h as toArray, i as findNearestPackageData, m as slash } from \"./utils-ExLpYVUV.mjs\";\nimport { r as withInlineSourcemap } from \"./source-map-DQLD3K8K.mjs\";\nimport assert from \"node:assert\";\nimport { existsSync, promises } from \"node:fs\";\nimport { performance } from \"node:perf_hooks\";\nimport process from \"node:process\";\nimport { pathToFileURL } from \"node:url\";\nimport { createDebug } from \"obug\";\nimport { dirname, extname, join, normalize, relative, resolve } from \"pathe\";\nimport { version } from \"vite\";\nimport * as esModuleLexer from \"es-module-lexer\";\n\n//#region src/debug.ts\nfunction hashCode(s) {\n\treturn s.split(\"\").reduce((a, b) => {\n\t\ta = (a << 5) - a + b.charCodeAt(0);\n\t\treturn a & a;\n\t}, 0);\n}\nvar Debugger = class {\n\tdumpDir;\n\tinitPromise;\n\texternalizeMap = /* @__PURE__ */ new Map();\n\tconstructor(root, options) {\n\t\tthis.options = options;\n\t\tif (options.dumpModules) this.dumpDir = resolve(root, options.dumpModules === true ? \".vite-node/dump\" : options.dumpModules);\n\t\tif (this.dumpDir) if (options.loadDumppedModules) console.info(C.gray(`[vite-node] [debug] load modules from ${this.dumpDir}`));\n\t\telse console.info(C.gray(`[vite-node] [debug] dump modules to ${this.dumpDir}`));\n\t\tthis.initPromise = this.clearDump();\n\t}\n\tasync clearDump() {\n\t\tif (!this.dumpDir) return;\n\t\tif (!this.options.loadDumppedModules && existsSync(this.dumpDir)) await promises.rm(this.dumpDir, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t\tawait promises.mkdir(this.dumpDir, { recursive: true });\n\t}\n\tencodeId(id) {\n\t\treturn `${id.replace(/[^\\w@\\-]/g, \"_\").replace(/_+/g, \"_\")}-${hashCode(id)}.js`;\n\t}\n\tasync recordExternalize(id, path) {\n\t\tif (!this.dumpDir) return;\n\t\tthis.externalizeMap.set(id, path);\n\t\tawait this.writeInfo();\n\t}\n\tasync dumpFile(id, result) {\n\t\tif (!result || !this.dumpDir) return;\n\t\tawait this.initPromise;\n\t\tconst name = this.encodeId(id);\n\t\treturn await promises.writeFile(join(this.dumpDir, name), `// ${id.replace(/\\0/g, \"\\\\0\")}\\n${result.code}`, \"utf-8\");\n\t}\n\tasync loadDump(id) {\n\t\tif (!this.dumpDir) return null;\n\t\tawait this.initPromise;\n\t\tconst name = this.encodeId(id);\n\t\tconst path = join(this.dumpDir, name);\n\t\tif (!existsSync(path)) return null;\n\t\treturn {\n\t\t\tcode: (await promises.readFile(path, \"utf-8\")).replace(/^\\/\\/.*\\n/, \"\"),\n\t\t\tmap: void 0\n\t\t};\n\t}\n\tasync writeInfo() {\n\t\tif (!this.dumpDir) return;\n\t\tconst info = JSON.stringify({\n\t\t\ttime: (/* @__PURE__ */ new Date()).toLocaleString(),\n\t\t\texternalize: Object.fromEntries(this.externalizeMap.entries())\n\t\t}, null, 2);\n\t\treturn promises.writeFile(join(this.dumpDir, \"info.json\"), info, \"utf-8\");\n\t}\n};\n\n//#endregion\n//#region src/externalize.ts\nconst BUILTIN_EXTENSIONS = new Set([\n\t\".mjs\",\n\t\".cjs\",\n\t\".node\",\n\t\".wasm\"\n]);\nconst ESM_EXT_RE = /\\.(es|esm|esm-browser|esm-bundler|es6|module)\\.js$/;\nconst ESM_FOLDER_RE = /\\/(es|esm)\\/(.*\\.js)$/;\nconst defaultInline = [\n\t/virtual:/,\n\t/\\.[mc]?ts$/,\n\t/[?&](init|raw|url|inline)\\b/,\n\tKNOWN_ASSET_RE\n];\nconst depsExternal = [/\\/node_modules\\/.*\\.cjs\\.js$/, /\\/node_modules\\/.*\\.mjs$/];\nfunction guessCJSversion(id) {\n\tif (id.match(ESM_EXT_RE)) {\n\t\tfor (const i of [\n\t\t\tid.replace(ESM_EXT_RE, \".mjs\"),\n\t\t\tid.replace(ESM_EXT_RE, \".umd.js\"),\n\t\t\tid.replace(ESM_EXT_RE, \".cjs.js\"),\n\t\t\tid.replace(ESM_EXT_RE, \".js\")\n\t\t]) if (existsSync(i)) return i;\n\t}\n\tif (id.match(ESM_FOLDER_RE)) {\n\t\tfor (const i of [\n\t\t\tid.replace(ESM_FOLDER_RE, \"/umd/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/cjs/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/lib/$1\"),\n\t\t\tid.replace(ESM_FOLDER_RE, \"/$1\")\n\t\t]) if (existsSync(i)) return i;\n\t}\n}\nasync function isValidNodeImport(id) {\n\tconst extension = extname(id);\n\tif (BUILTIN_EXTENSIONS.has(extension)) return true;\n\tif (extension !== \".js\") return false;\n\tid = id.replace(\"file:///\", \"\");\n\tif ((await findNearestPackageData(dirname(id))).type === \"module\") return true;\n\tif (/\\.(?:\\w+-)?esm?(?:-\\w+)?\\.js$|\\/esm?\\//.test(id)) return false;\n\ttry {\n\t\tawait esModuleLexer.init;\n\t\tconst code = await promises.readFile(id, \"utf8\");\n\t\tconst [, , , hasModuleSyntax] = esModuleLexer.parse(code);\n\t\treturn !hasModuleSyntax;\n\t} catch {\n\t\treturn false;\n\t}\n}\nconst _defaultExternalizeCache = /* @__PURE__ */ new Map();\nasync function shouldExternalize(id, options, cache = _defaultExternalizeCache) {\n\tif (!cache.has(id)) cache.set(id, _shouldExternalize(id, options));\n\treturn cache.get(id);\n}\nasync function _shouldExternalize(id, options) {\n\tif (isNodeBuiltin(id)) return id;\n\tif (id.startsWith(\"data:\") || /^(?:https?:)?\\/\\//.test(id)) return id;\n\tid = patchWindowsImportPath(id);\n\tconst moduleDirectories = options?.moduleDirectories || [\"/node_modules/\"];\n\tif (matchExternalizePattern(id, moduleDirectories, options?.inline)) return false;\n\tif (options?.inlineFiles && options?.inlineFiles.includes(id)) return false;\n\tif (matchExternalizePattern(id, moduleDirectories, options?.external)) return id;\n\tif (options?.cacheDir && id.includes(options.cacheDir)) return id;\n\tconst isLibraryModule = moduleDirectories.some((dir) => id.includes(dir));\n\tid = isLibraryModule && options?.fallbackCJS ? guessCJSversion(id) || id : id;\n\tif (matchExternalizePattern(id, moduleDirectories, defaultInline)) return false;\n\tif (matchExternalizePattern(id, moduleDirectories, depsExternal)) return id;\n\tif (isLibraryModule && await isValidNodeImport(id)) return id;\n\treturn false;\n}\nfunction matchExternalizePattern(id, moduleDirectories, patterns) {\n\tif (patterns == null) return false;\n\tif (patterns === true) return true;\n\tfor (const ex of patterns) if (typeof ex === \"string\") {\n\t\tif (moduleDirectories.some((dir) => id.includes(join(dir, ex)))) return true;\n\t} else if (ex.test(id)) return true;\n\treturn false;\n}\nfunction patchWindowsImportPath(path) {\n\tif (path.match(/^\\w:\\\\/)) return `file:///${slash(path)}`;\n\telse if (path.match(/^\\w:\\//)) return `file:///${path}`;\n\telse return path;\n}\n\n//#endregion\n//#region src/server.ts\nconst debugRequest = createDebug(\"vite-node:server:request\");\nvar ViteNodeServer = class {\n\tfetchPromiseMap = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\ttransformPromiseMap = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\tdurations = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\texistingOptimizedDeps = /* @__PURE__ */ new Set();\n\tfetchCaches = {\n\t\tssr: /* @__PURE__ */ new Map(),\n\t\tweb: /* @__PURE__ */ new Map()\n\t};\n\tfetchCache = /* @__PURE__ */ new Map();\n\texternalizeCache = /* @__PURE__ */ new Map();\n\tdebugger;\n\tconstructor(server, options = {}) {\n\t\tthis.server = server;\n\t\tthis.options = options;\n\t\tconst ssrOptions = server.config.ssr;\n\t\toptions.deps ??= {};\n\t\toptions.deps.cacheDir = relative(server.config.root, options.deps.cacheDir || server.config.cacheDir);\n\t\tif (ssrOptions) {\n\t\t\tif (ssrOptions.noExternal === true) options.deps.inline ??= true;\n\t\t\telse if (options.deps.inline !== true) {\n\t\t\t\toptions.deps.inline ??= [];\n\t\t\t\tconst inline = options.deps.inline;\n\t\t\t\toptions.deps.inline.push(...toArray(ssrOptions.noExternal).filter((dep) => !inline.includes(dep)));\n\t\t\t}\n\t\t}\n\t\tif (process.env.VITE_NODE_DEBUG_DUMP) options.debug = Object.assign({\n\t\t\tdumpModules: !!process.env.VITE_NODE_DEBUG_DUMP,\n\t\t\tloadDumppedModules: process.env.VITE_NODE_DEBUG_DUMP === \"load\"\n\t\t}, options.debug ?? {});\n\t\tif (options.debug) this.debugger = new Debugger(server.config.root, options.debug);\n\t\tif (options.deps.inlineFiles) options.deps.inlineFiles = options.deps.inlineFiles.flatMap((file) => {\n\t\t\tif (file.startsWith(\"file://\")) return file;\n\t\t\tconst resolvedId = resolve(file);\n\t\t\treturn [resolvedId, pathToFileURL(resolvedId).href];\n\t\t});\n\t\toptions.deps.moduleDirectories ??= [];\n\t\tconst customModuleDirectories = (process.env.VITE_NODE_DEPS_MODULE_DIRECTORIES || process.env.npm_config_VITE_NODE_DEPS_MODULE_DIRECTORIES)?.split(\",\");\n\t\tif (customModuleDirectories) options.deps.moduleDirectories.push(...customModuleDirectories);\n\t\toptions.deps.moduleDirectories = options.deps.moduleDirectories.map((dir) => {\n\t\t\tif (!dir.startsWith(\"/\")) dir = `/${dir}`;\n\t\t\tif (!dir.endsWith(\"/\")) dir += \"/\";\n\t\t\treturn normalize(dir);\n\t\t});\n\t\tif (!options.deps.moduleDirectories.includes(\"/node_modules/\")) options.deps.moduleDirectories.push(\"/node_modules/\");\n\t}\n\tshouldExternalize(id) {\n\t\treturn shouldExternalize(id, this.options.deps, this.externalizeCache);\n\t}\n\tgetTotalDuration() {\n\t\tconst ssrDurations = [...this.durations.ssr.values()].flat();\n\t\tconst webDurations = [...this.durations.web.values()].flat();\n\t\treturn [...ssrDurations, ...webDurations].reduce((a, b) => a + b, 0);\n\t}\n\tasync ensureExists(id) {\n\t\tif (this.existingOptimizedDeps.has(id)) return true;\n\t\tif (existsSync(id)) {\n\t\t\tthis.existingOptimizedDeps.add(id);\n\t\t\treturn true;\n\t\t}\n\t\treturn new Promise((resolve$1) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ensureExists(id).then(() => {\n\t\t\t\t\tresolve$1(true);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\tasync resolveId(id, importer, transformMode) {\n\t\tif (importer && !importer.startsWith(withTrailingSlash(this.server.config.root))) importer = resolve(this.server.config.root, importer);\n\t\tconst mode = transformMode ?? (importer && this.getTransformMode(importer) || \"ssr\");\n\t\treturn this.server.pluginContainer.resolveId(id, importer, { ssr: mode === \"ssr\" });\n\t}\n\tgetSourceMap(source) {\n\t\tsource = normalizeModuleId(source);\n\t\tconst fetchResult = this.fetchCache.get(source)?.result;\n\t\tif (fetchResult?.map) return fetchResult.map;\n\t\treturn (this.server.moduleGraph.getModuleById(source)?.ssrTransformResult)?.map || null;\n\t}\n\tassertMode(mode) {\n\t\tassert(mode === \"web\" || mode === \"ssr\", `\"transformMode\" can only be \"web\" or \"ssr\", received \"${mode}\".`);\n\t}\n\tasync fetchModule(id, transformMode) {\n\t\tconst mode = transformMode || this.getTransformMode(id);\n\t\treturn this.fetchResult(id, mode).then((r) => {\n\t\t\treturn this.options.sourcemap !== true ? {\n\t\t\t\t...r,\n\t\t\t\tmap: void 0\n\t\t\t} : r;\n\t\t});\n\t}\n\tasync fetchResult(id, mode) {\n\t\tconst moduleId = normalizeModuleId(id);\n\t\tthis.assertMode(mode);\n\t\tconst promiseMap = this.fetchPromiseMap[mode];\n\t\tif (!promiseMap.has(moduleId)) promiseMap.set(moduleId, this._fetchModule(moduleId, mode).finally(() => {\n\t\t\tpromiseMap.delete(moduleId);\n\t\t}));\n\t\treturn promiseMap.get(moduleId);\n\t}\n\tasync transformRequest(id, filepath = id, transformMode) {\n\t\tconst mode = transformMode || this.getTransformMode(id);\n\t\tthis.assertMode(mode);\n\t\tconst promiseMap = this.transformPromiseMap[mode];\n\t\tif (!promiseMap.has(id)) promiseMap.set(id, this._transformRequest(id, filepath, mode).finally(() => {\n\t\t\tpromiseMap.delete(id);\n\t\t}));\n\t\treturn promiseMap.get(id);\n\t}\n\tasync transformModule(id, transformMode) {\n\t\tif (transformMode !== \"web\") throw new Error(\"`transformModule` only supports `transformMode: \\\"web\\\"`.\");\n\t\tconst normalizedId = normalizeModuleId(id);\n\t\treturn { code: (this.server.moduleGraph.getModuleById(normalizedId)?.transformResult || await this.server.transformRequest(normalizedId))?.code };\n\t}\n\tgetTransformMode(id) {\n\t\tconst withoutQuery = id.split(\"?\")[0];\n\t\tif (this.options.transformMode?.web?.some((r) => withoutQuery.match(r))) return \"web\";\n\t\tif (this.options.transformMode?.ssr?.some((r) => withoutQuery.match(r))) return \"ssr\";\n\t\tif (withoutQuery.match(/\\.([cm]?[jt]sx?|json)$/)) return \"ssr\";\n\t\treturn \"web\";\n\t}\n\tgetChangedModule(id, file) {\n\t\tconst module = this.server.moduleGraph.getModuleById(id) || this.server.moduleGraph.getModuleById(file);\n\t\tif (module) return module;\n\t\tconst _modules = this.server.moduleGraph.getModulesByFile(file);\n\t\tif (!_modules || !_modules.size) return null;\n\t\tlet mod = [..._modules][0];\n\t\tlet latestMax = -1;\n\t\tfor (const m of _modules) {\n\t\t\tconst timestamp = Math.max(m.lastHMRTimestamp, m.lastInvalidationTimestamp);\n\t\t\tif (timestamp > latestMax) {\n\t\t\t\tlatestMax = timestamp;\n\t\t\t\tmod = m;\n\t\t\t}\n\t\t}\n\t\treturn mod;\n\t}\n\tasync _fetchModule(id, transformMode) {\n\t\tlet result;\n\t\tconst cacheDir = this.options.deps?.cacheDir;\n\t\tif (cacheDir && id.includes(cacheDir)) {\n\t\t\tif (!id.startsWith(withTrailingSlash(this.server.config.root))) id = join(this.server.config.root, id);\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tthrow new Error(`ViteNodeServer: ${id} not found. This is a bug, please report it.`);\n\t\t\t}, 5e3);\n\t\t\tawait this.ensureExists(id);\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\tconst { path: filePath } = toFilePath(id, this.server.config.root);\n\t\tconst moduleNode = this.getChangedModule(id, filePath);\n\t\tconst cache = this.fetchCaches[transformMode].get(filePath);\n\t\tconst timestamp = moduleNode ? Math.max(moduleNode.lastHMRTimestamp, moduleNode.lastInvalidationTimestamp) : 0;\n\t\tif (cache && (timestamp === 0 || cache.timestamp >= timestamp)) return cache.result;\n\t\tconst time = Date.now();\n\t\tconst externalize = await this.shouldExternalize(filePath);\n\t\tlet duration;\n\t\tif (externalize) {\n\t\t\tresult = { externalize };\n\t\t\tthis.debugger?.recordExternalize(id, externalize);\n\t\t} else {\n\t\t\tconst start = performance.now();\n\t\t\tconst r = await this._transformRequest(id, filePath, transformMode);\n\t\t\tduration = performance.now() - start;\n\t\t\tresult = {\n\t\t\t\tcode: r?.code,\n\t\t\t\tmap: r?.map\n\t\t\t};\n\t\t}\n\t\tconst cacheEntry = {\n\t\t\tduration,\n\t\t\ttimestamp: time,\n\t\t\tresult\n\t\t};\n\t\tconst durations = this.durations[transformMode].get(filePath) || [];\n\t\tthis.durations[transformMode].set(filePath, [...durations, duration ?? 0]);\n\t\tthis.fetchCaches[transformMode].set(filePath, cacheEntry);\n\t\tthis.fetchCache.set(filePath, cacheEntry);\n\t\treturn result;\n\t}\n\tasync processTransformResult(filepath, result) {\n\t\treturn withInlineSourcemap(result, {\n\t\t\tfilepath: this.server.moduleGraph.getModuleById(filepath)?.file || filepath,\n\t\t\troot: this.server.config.root,\n\t\t\tnoFirstLineMapping: Number(version.split(\".\")[0]) >= 6\n\t\t});\n\t}\n\tasync _transformRequest(id, filepath, transformMode) {\n\t\tdebugRequest(id);\n\t\tlet result = null;\n\t\tif (this.options.debug?.loadDumppedModules) {\n\t\t\tresult = await this.debugger?.loadDump(id) ?? null;\n\t\t\tif (result) return result;\n\t\t}\n\t\tif (transformMode === \"web\") {\n\t\t\tresult = await this.server.transformRequest(id);\n\t\t\tif (result) result = await this.server.ssrTransform(result.code, result.map, id);\n\t\t} else result = await this.server.transformRequest(id, { ssr: true });\n\t\tif ((this.options.sourcemap ?? \"inline\") === \"inline\" && result) result = await this.processTransformResult(filepath, result);\n\t\tif (this.options.debug?.dumpModules) await this.debugger?.dumpFile(id, result);\n\t\treturn result;\n\t}\n};\n\n//#endregion\nexport { guessCJSversion as n, shouldExternalize as r, ViteNodeServer as t };","import fs from 'node:fs';\nimport path from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport { type ConfigInit, defineConfig, type Logger } from '@terrazzo/parser';\nimport pc from 'picocolors';\nimport { createServer, type ViteDevServer } from 'vite';\nimport { ViteNodeRunner } from 'vite-node/client';\nimport { ViteNodeServer } from 'vite-node/server';\n\nexport const cwd = new URL(`${pathToFileURL(process.cwd())}/`); // trailing slash needed to interpret as directory\nexport const DEFAULT_CONFIG_PATH = new URL('./terrazzo.config.ts', cwd);\nexport const DEFAULT_TOKENS_PATH = new URL('./tokens.json', cwd);\n\nexport type Command = 'build' | 'check' | 'help' | 'init' | 'version';\n\nexport const GREEN_CHECK = pc.green('✔');\n\nexport interface Flags {\n /** --config, -c */\n config?: string;\n /** --out, -o */\n out?: string;\n /** --help */\n help?: boolean;\n /** --watch, -w */\n watch?: boolean;\n /** --version */\n version?: boolean;\n}\n\nexport interface LoadConfigOptions {\n cmd: Command;\n flags: Flags;\n logger: Logger;\n}\n\n/** Load config */\nexport async function loadConfig({ cmd, flags, logger }: LoadConfigOptions) {\n /**\n * Vite server for loading .ts config files\n * TODO: remove me when Node 24 is the oldest-supported Node version\n */\n let viteServer: ViteDevServer | undefined;\n try {\n let config: ConfigInit = {\n tokens: [DEFAULT_TOKENS_PATH],\n outDir: new URL('./tokens/', cwd),\n plugins: [],\n lint: {\n build: { enabled: true },\n rules: {},\n },\n ignore: { tokens: [], deprecated: false },\n };\n let configPath: string | undefined;\n\n if (typeof flags.config === 'string') {\n if (flags.config === '') {\n logger.error({ group: 'config', message: 'Missing path after --config flag' });\n process.exit(1);\n }\n configPath = resolveConfig(flags.config);\n if (!configPath) {\n logger.error({ group: 'config', message: `Could not locate ${flags.config}` });\n }\n }\n\n const resolvedConfigPath = resolveConfig(configPath);\n if (resolvedConfigPath) {\n try {\n // Note: we create a vite-node instance only when resolving the config,\n // because in most scenarios we only ever need this once and never again.\n // even in watch mode we don’t reload the config, so keeping a vite-node\n // “hot” instance doesn’t provide obvious benefits (only potential memory leaks)\n viteServer = await createServer({ mode: 'development' });\n const viteNodeServer = new ViteNodeServer(viteServer);\n const viteNodeRunner = new ViteNodeRunner({\n root: viteServer.config.root,\n base: viteServer.config.base,\n fetchModule(...args) {\n return viteNodeServer.fetchModule(...args);\n },\n resolveId(...args) {\n return viteNodeServer.resolveId(...args);\n },\n });\n const mod = await viteNodeRunner.executeFile(resolvedConfigPath);\n if (!mod.default) {\n // we format it immediately below\n throw new Error(\n `No default export found in ${resolvedConfigPath}. See https://terrazzo.dev/docs for instructions.`,\n );\n }\n config = defineConfig(mod.default, { cwd, logger });\n } catch (err) {\n logger.error({ group: 'config', message: (err as Error).message || (err as string) });\n }\n } else if (cmd !== 'init' && cmd !== 'check') {\n logger.error({ group: 'config', message: 'No config file found. Create one with `npx terrazzo init`.' });\n }\n\n // clean up\n if (viteServer) {\n await viteServer?.close();\n }\n\n return {\n config,\n configPath: resolvedConfigPath!,\n };\n } catch (err) {\n printError((err as Error).message);\n\n // clean up\n if (viteServer) {\n await viteServer.close();\n }\n\n process.exit(1);\n }\n}\n\n/** load tokens */\nexport async function loadTokens(tokenPaths: URL[], { logger }: { logger: Logger }) {\n try {\n const allTokens = [];\n\n if (!Array.isArray(tokenPaths)) {\n logger.error({ group: 'config', message: `loadTokens: Expected array, received ${typeof tokenPaths}` });\n }\n\n // if this is the default value, also check for tokens.yaml\n if (tokenPaths.length === 1 && tokenPaths[0]!.href === DEFAULT_TOKENS_PATH.href) {\n if (!fs.existsSync(tokenPaths[0]!)) {\n const yamlPath = new URL('./tokens.yaml', cwd);\n if (fs.existsSync(yamlPath)) {\n tokenPaths[0] = yamlPath;\n } else {\n logger.error({\n group: 'config',\n message: `Could not locate ${path.relative(cwd.href, tokenPaths[0]!.href)}. To create one, run \\`npx tz init\\`.`,\n });\n return;\n }\n }\n }\n\n // download/read\n for (let i = 0; i < tokenPaths.length; i++) {\n const filename = tokenPaths[i];\n\n if (!(filename instanceof URL)) {\n logger.error({ group: 'config', message: `Expected URL, received ${filename}`, label: `loadTokens[${i}]` });\n return;\n } else if (filename.protocol === 'http:' || filename.protocol === 'https:') {\n try {\n // if Figma URL\n if (filename.host === 'figma.com' || filename.host === 'www.figma.com') {\n const [_, fileKeyword, fileKey] = filename.pathname.split('/');\n if (fileKeyword !== 'file' || !fileKey) {\n logger.error({\n group: 'config',\n message: `Unexpected Figma URL. Expected \"https://www.figma.com/file/:file_key/:file_name?…\", received \"${filename.href}\"`,\n });\n }\n const headers = new Headers({\n Accept: '*/*',\n 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0',\n });\n if (process.env.FIGMA_ACCESS_TOKEN) {\n headers.set('X-FIGMA-TOKEN', process.env.FIGMA_ACCESS_TOKEN);\n } else {\n logger.warn({ group: 'config', message: 'FIGMA_ACCESS_TOKEN not set' });\n }\n const res = await fetch(`https://api.figma.com/v1/files/${fileKey}/variables/local`, {\n method: 'GET',\n headers,\n });\n if (res.ok) {\n allTokens.push({ filename, src: await res.text() });\n }\n const message = res.status !== 404 ? JSON.stringify(await res.json(), undefined, 2) : '';\n logger.error({\n group: 'config',\n message: `Figma responded with ${res.status}${message ? `:\\n${message}` : ''}`,\n });\n break;\n }\n\n // otherwise, expect YAML/JSON\n const res = await fetch(filename, {\n method: 'GET',\n headers: { Accept: '*/*', 'User-Agent': 'Mozilla/5.0 Gecko/20100101 Firefox/123.0' },\n });\n allTokens.push({ filename, src: await res.text() });\n } catch (err) {\n logger.error({ group: 'config', message: `${filename.href}: ${err}` });\n return;\n }\n } else {\n if (fs.existsSync(filename)) {\n allTokens.push({ filename, src: fs.readFileSync(filename, 'utf8') });\n } else {\n logger.error({\n group: 'config',\n message: `Could not locate ${path.relative(cwd.href, filename.href)}. To create one, run \\`npx tz init\\`.`,\n });\n return;\n }\n }\n }\n\n return allTokens;\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\n/** Print error */\nexport function printError(message: string) {\n console.error(pc.red(`✗ ${message}`));\n}\n\n/** Print success */\nexport function printSuccess(message: string, startTime?: number) {\n console.log(`${GREEN_CHECK} ${message}${startTime ? ` ${time(startTime)}` : ''}`);\n}\n\n/** Resolve config */\nexport function resolveConfig(filename?: string): string | undefined {\n // --config [configpath]\n if (filename && fs.existsSync(new URL(filename, cwd))) {\n return filename;\n }\n // note: the order isn’t significant; just try for most-common first.\n // if a user has multiple config files with different extensions that’s their fault\n for (const ext of ['.ts', '.js', '.mts', '.cts', '.mjs', '.cjs']) {\n const maybeFilename = `terrazzo.config${ext}`;\n if (fs.existsSync(maybeFilename)) {\n return maybeFilename;\n }\n }\n}\n\n/** Resolve tokens.json path (for lint command) */\nexport function resolveTokenPath(filename: string, { logger }: { logger: Logger }) {\n const tokensPath = new URL(filename, cwd);\n if (!fs.existsSync(tokensPath)) {\n logger.error({ group: 'config', message: `Could not locate ${filename}. Does the file exist?` });\n } else if (!fs.statSync(tokensPath).isFile()) {\n logger.error({ group: 'config', message: `Expected JSON or YAML file, received ${filename}.` });\n }\n return tokensPath;\n}\n\n/** Print time elapsed */\nexport function time(start: number) {\n const diff = performance.now() - start;\n return pc.dim(diff < 750 ? `${Math.round(diff)}ms` : `${(diff / 1000).toFixed(1)}s`);\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { type BuildRunnerResult, build, type ConfigInit, type Logger, parse } from '@terrazzo/parser';\nimport chokidar from 'chokidar';\nimport pc from 'picocolors';\nimport yamlToMomoa from 'yaml-to-momoa';\nimport {\n cwd,\n DEFAULT_TOKENS_PATH,\n type Flags,\n GREEN_CHECK,\n loadTokens,\n printError,\n printSuccess,\n resolveConfig,\n} from './shared.js';\n\nexport interface BuildOptions {\n flags: Flags;\n config: ConfigInit;\n configPath: string;\n logger: Logger;\n}\n\n/** tz build */\nexport async function buildCmd({ config, configPath, flags, logger }: BuildOptions) {\n try {\n const startTime = performance.now();\n if (!Array.isArray(config.plugins) || !config.plugins.length) {\n logger.error({\n group: 'config',\n message: `No plugins defined! Add some in ${configPath || 'terrazzo.config.ts'}`,\n });\n }\n\n // first build\n let rawSchemas = await loadTokens(config.tokens, { logger });\n if (!rawSchemas) {\n logger.error({\n group: 'config',\n message: `Error loading ${path.relative(fileURLToPath(cwd), fileURLToPath(config.tokens[0] || DEFAULT_TOKENS_PATH))}`,\n });\n return;\n }\n let { tokens, sources } = await parse(rawSchemas, { config, logger, yamlToMomoa });\n let result = await build(tokens, { sources, config, logger });\n writeFiles(result, { config, logger });\n\n // --watch (handle rebuild)\n if (flags.watch) {\n const dt = new Intl.DateTimeFormat('en-us', {\n hour: '2-digit',\n minute: '2-digit',\n });\n\n async function rebuild({ messageBefore, messageAfter }: { messageBefore?: string; messageAfter?: string } = {}) {\n try {\n if (messageBefore) {\n logger.info({ group: 'plugin', label: 'watch', message: messageBefore });\n }\n rawSchemas = await loadTokens(config.tokens, { logger });\n if (!rawSchemas) {\n throw new Error(\n `Error loading ${path.relative(fileURLToPath(cwd), fileURLToPath(config.tokens[0] || DEFAULT_TOKENS_PATH))}`,\n );\n }\n const parseResult = await parse(rawSchemas, { config, logger, yamlToMomoa });\n tokens = parseResult.tokens;\n sources = parseResult.sources;\n result = await build(tokens, { sources, config, logger });\n if (messageAfter) {\n logger.info({ group: 'plugin', label: 'watch', message: messageAfter });\n }\n writeFiles(result, { config, logger });\n } catch (err) {\n console.error(pc.red(`✗ ${(err as Error).message || (err as string)}`));\n // don’t exit! we’re watching, so continue as long as possible\n }\n }\n\n const tokenWatcher = chokidar.watch(config.tokens.map((filename) => fileURLToPath(filename)));\n tokenWatcher.on('change', async (filename) => {\n await rebuild({\n messageBefore: `${pc.dim(dt.format(new Date()))} ${pc.green('tz')}} ${pc.yellow(filename)} updated ${GREEN_CHECK}`,\n });\n });\n const configWatcher = chokidar.watch(resolveConfig(configPath)!);\n configWatcher.on('change', async () => {\n await rebuild({\n messageBefore: `${pc.dim(dt.format(new Date()))} ${pc.green('tz')} ${pc.yellow('Config updated. Reloading…')}`,\n });\n });\n\n // keep process occupied\n await new Promise(() => {});\n } else {\n printSuccess(\n `${Object.keys(tokens).length} token${Object.keys(tokens).length !== 1 ? 's' : ''} built`,\n startTime,\n );\n }\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\n/** Write files */\nexport function writeFiles(result: BuildRunnerResult, { config, logger }: { config: ConfigInit; logger: Logger }) {\n for (const { filename, contents } of result.outputFiles) {\n const output = new URL(filename, config.outDir);\n fs.mkdirSync(new URL('.', output), { recursive: true });\n fs.writeFileSync(output, contents);\n logger.debug({ group: 'parser', label: 'buildEnd', message: `Wrote file ${fileURLToPath(output)}` });\n }\n}\n","import { type ConfigInit, type Logger, parse } from '@terrazzo/parser';\nimport yamlToMomoa from 'yaml-to-momoa';\nimport { loadTokens, printError, printSuccess, resolveTokenPath } from './shared.js';\n\nexport interface CheckOptions {\n /** positional CLI args */\n positionals: string[];\n config: ConfigInit;\n logger: Logger;\n}\n\n/** tz check */\nexport async function checkCmd({ config, logger, positionals }: CheckOptions) {\n try {\n const startTime = performance.now();\n const tokenPaths = positionals.slice(1).length\n ? positionals.slice(1).map((tokenPath) => resolveTokenPath(tokenPath, { logger }))\n : config.tokens;\n const sources = await loadTokens(tokenPaths, { logger });\n if (!sources?.length) {\n logger.error({ group: 'config', message: 'Couldn’t find any tokens. Run `npx tz init` to create some.' });\n return;\n }\n await parse(sources, { config, continueOnError: true, logger, yamlToMomoa }); // will throw if errors\n printSuccess('No errors', startTime);\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n","/** Show help */\nexport function helpCmd() {\n console.log(`tz\n [commands]\n build Build token artifacts from tokens.json\n --watch, -w Watch tokens.json for changes and recompile\n --no-lint Disable linters running on build\n check [path] Check tokens.json for errors and run linters\n lint [path] (alias of check)\n init Create a starter tokens.json file\n lab Manage your tokens with a web interface\n\n [options]\n --help Show this message\n --config, -c Path to config (default: ./terrazzo.config.ts)\n --quiet Suppress warnings\n`);\n}\n","import { exec } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { confirm, intro, multiselect, outro, select, spinner } from '@clack/prompts';\nimport type { Logger } from '@terrazzo/parser';\nimport { pluralize } from '@terrazzo/token-tools';\nimport { detect } from 'detect-package-manager';\nimport { generate } from 'escodegen';\nimport { type ESTree, parseModule } from 'meriyah';\nimport { cwd, DEFAULT_CONFIG_PATH, DEFAULT_TOKENS_PATH, loadConfig, printError } from './shared.js';\n\nconst INSTALL_COMMAND = {\n npm: 'install -D --silent',\n yarn: 'add -D --silent',\n pnpm: 'add -D --silent',\n bun: 'install -D --silent',\n};\n\n// Local copy of dtcg-examples/index.json. Copied partially for security (no\n// arbitrary injection of URL fetches), but also efficiency (saves a\n// round-trip).\ntype DesignSystem =\n | 'adobe-spectrum'\n | 'apple-hig'\n | 'figma-sds'\n | 'github-primer'\n | 'ibm-carbon'\n | 'microsoft-fluent'\n | 'radix'\n | 'salesforce-lightning'\n | 'shopify-polaris';\n\nconst DTCG_ROOT_URL = 'https://raw.githubusercontent.com/terrazzoapp/dtcg-examples/refs/heads/main/';\nconst DESIGN_SYSTEMS: Record<DesignSystem, { name: string; author: string; tokens: string[] }> = {\n 'adobe-spectrum': {\n name: 'Spectrum',\n author: 'Adobe',\n tokens: ['adobe-spectrum.json'],\n },\n 'apple-hig': {\n name: 'Human Interface Guidelines',\n author: 'Apple',\n tokens: ['apple-hig.json'],\n },\n 'figma-sds': {\n name: 'Simple Design System',\n author: 'Figma',\n tokens: ['figma-sds.json'],\n },\n 'github-primer': {\n name: 'Primer',\n author: 'GitHub',\n tokens: ['github-primer.json'],\n },\n 'ibm-carbon': {\n name: 'Carbon',\n author: 'IBM',\n tokens: ['ibm-carbon.json'],\n },\n 'microsoft-fluent': {\n name: 'Fluent',\n author: 'Microsoft',\n tokens: ['microsoft-fluent.json'],\n },\n radix: {\n name: 'Radix',\n author: 'Radix',\n tokens: ['radix.json'],\n },\n 'salesforce-lightning': {\n name: 'Lightning',\n author: 'Salesforce',\n tokens: ['salesforce-lightning.json'],\n },\n 'shopify-polaris': {\n name: 'Polaris',\n author: 'Shopify',\n tokens: ['shopify-polaris.json'],\n },\n};\n\nexport interface InitOptions {\n logger: Logger;\n}\n\nexport async function initCmd({ logger }: InitOptions) {\n try {\n intro('⛋ Welcome to Terrazzo');\n const packageManager = await detect({ cwd: fileURLToPath(cwd) });\n\n // TODO: pass in CLI flags?\n const { config, configPath } = await loadConfig({ cmd: 'init', flags: {}, logger });\n const relConfigPath = configPath\n ? path.relative(fileURLToPath(cwd), fileURLToPath(new URL(configPath)))\n : undefined;\n\n let tokensPath = config.tokens[0]!;\n let startFromDS = !(tokensPath && fs.existsSync(tokensPath));\n\n // 1. tokens\n if (tokensPath && fs.existsSync(tokensPath)) {\n if (\n await confirm({\n message: `Found tokens at ${path.relative(fileURLToPath(cwd), fileURLToPath(tokensPath))}. Overwrite with a new design system?`,\n })\n ) {\n startFromDS = true;\n }\n } else {\n tokensPath = DEFAULT_TOKENS_PATH;\n }\n\n if (startFromDS) {\n const ds = DESIGN_SYSTEMS[\n (await select({\n message: 'Start from existing design system?',\n options: [\n ...Object.entries(DESIGN_SYSTEMS).map(([id, { author, name }]) => ({\n value: id,\n label: `${author} ${name}`,\n })),\n { value: 'none', label: 'None' },\n ],\n })) as keyof typeof DESIGN_SYSTEMS\n ] as (typeof DESIGN_SYSTEMS)[DesignSystem] | undefined;\n if (ds) {\n // TODO: support multiple tokens files?\n const s = spinner();\n s.start('Downloading');\n const tokenSource = await fetch(new URL(ds.tokens[0]!, DTCG_ROOT_URL)).then((res) => res.text());\n fs.writeFileSync(tokensPath, tokenSource);\n s.stop('Download complete');\n }\n }\n\n // 2. plugins\n const existingPlugins = config.plugins.map((p) => p.name);\n const pluginSelection = await multiselect({\n message: 'Install plugins?',\n options: [\n { value: ['@terrazzo/plugin-css'], label: 'CSS' },\n { value: ['@terrazzo/plugin-js'], label: 'JS + TS' },\n { value: ['@terrazzo/plugin-css', '@terrazzo/plugin-sass'], label: 'Sass' },\n { value: ['@terrazzo/plugin-tailwind'], label: 'Tailwind' },\n ],\n required: false,\n });\n const newPlugins = Array.isArray(pluginSelection)\n ? Array.from(new Set(pluginSelection.flat().filter((p) => !existingPlugins.includes(p))))\n : [];\n if (newPlugins?.length) {\n const plugins = newPlugins.map((p) => ({ specifier: p.replace('@terrazzo/plugin-', ''), package: p }));\n const pluginCount = `${newPlugins.length} ${pluralize(newPlugins.length, 'plugin', 'plugins')}`;\n\n const s = spinner();\n s.start(`Installing ${pluginCount}`);\n // note: thi sis async to show the spinner\n await new Promise((resolve, reject) => {\n const subprocess = exec([packageManager, INSTALL_COMMAND[packageManager], newPlugins.join(' ')].join(' '), {\n cwd,\n });\n subprocess.on('error', reject);\n subprocess.on('exit', resolve);\n });\n s.message('Updating config');\n if (configPath) {\n const ast = parseModule(fs.readFileSync(configPath, 'utf8'));\n const astExport = ast.body.find((node) => node.type === 'ExportDefaultDeclaration');\n\n // 2a. add plugin imports\n // note: this has the potential to duplicate plugins, but we tried our\n // best to filter already, and this may be the user’s fault if they\n // selected to install a plugin already installed. But also, this is\n // easily-fixable, so let’s not waste too much time here (and possibly\n // introduce bugs).\n ast.body.push(\n ...plugins.map(\n (p) =>\n ({\n type: 'ImportDeclaration',\n source: { type: 'Literal', value: p.package },\n specifiers: [{ type: 'ImportDefaultSpecifier', local: { type: 'Identifier', name: p.specifier } }],\n attributes: [],\n }) as ESTree.ImportDeclaration,\n ),\n );\n\n // 2b. add plugins to config.plugins\n if (!astExport) {\n logger.error({ group: 'config', message: `SyntaxError: ${relConfigPath} does not have default export.` });\n return;\n }\n const astConfig = (\n astExport.declaration.type === 'CallExpression'\n ? // export default defineConfig({ ... })\n astExport.declaration.arguments[0]\n : // export default { ... }\n astExport.declaration\n ) as ESTree.ObjectExpression;\n if (astConfig.type !== 'ObjectExpression') {\n logger.error({\n group: 'config',\n message: `Config: expected object default export, received ${astConfig.type}`,\n });\n return;\n }\n const pluginsArray = (\n astConfig.properties.find(\n (property) =>\n property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === 'plugins', // ASTs are so fun 😑\n ) as ESTree.Property\n )?.value as ESTree.ArrayExpression | undefined;\n const pluginsAst = plugins.map(\n (p) =>\n ({\n type: 'CallExpression' as const,\n callee: {\n type: 'Identifier' as const,\n name: p.specifier,\n },\n arguments: [],\n optional: false,\n }) as ESTree.CallExpression,\n );\n if (pluginsArray) {\n pluginsArray.elements.push(...pluginsAst);\n } else {\n astConfig.properties.push({\n type: 'Property',\n key: { type: 'Identifier', name: 'plugins' },\n value: { type: 'ArrayExpression', elements: pluginsAst },\n kind: 'init',\n computed: false,\n method: false,\n shorthand: false,\n });\n }\n\n // 2c. update new file (and we’ll probably format it wrong but hey)\n fs.writeFileSync(\n configPath,\n generate(ast, {\n format: {\n indent: { style: ' ' },\n quotes: 'single',\n semicolons: true,\n },\n }),\n );\n } else {\n // 2a. write new config file (easy)\n fs.writeFileSync(\n DEFAULT_CONFIG_PATH,\n `import { defineConfig } from '@terrazzo/cli';\n${plugins.map((p) => `import ${p.specifier} from '${p.package}';`).join('\\n')}\n\nexport default defineConfig({\n tokens: ['./tokens.json'],\n plugins: [\n ${plugins.map((p) => `${p.specifier}(),`).join('\\n ')}\n ],\n outDir: './dist/',\n lint: {\n /** @see https://terrazzo.app/docs/linting */\n build: {\n enabled: true,\n },\n rules: {\n 'core/valid-color': 'error',\n 'core/valid-dimension': 'error',\n 'core/valid-font-family': 'error',\n 'core/valid-font-weight': 'error',\n 'core/valid-duration': 'error',\n 'core/valid-cubic-bezier': 'error',\n 'core/valid-number': 'error',\n 'core/valid-link': 'error',\n 'core/valid-boolean': 'error',\n 'core/valid-string': 'error',\n 'core/valid-stroke-style': 'error',\n 'core/valid-border': 'error',\n 'core/valid-transition': 'error',\n 'core/valid-shadow': 'error',\n 'core/valid-gradient': 'error',\n 'core/valid-typography': 'error',\n 'core/consistent-naming': 'warn',\n },\n },\n});`,\n );\n }\n s.stop(`Installed ${pluginCount}`);\n }\n\n outro('⛋ Done! 🎉');\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n","import { createReadStream, createWriteStream, type PathLike } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { Readable, Writable } from 'node:stream';\nimport { fileURLToPath } from 'node:url';\nimport { serve } from '@hono/node-server';\nimport type { ConfigInit, Logger } from '@terrazzo/parser';\nimport mime from 'mime';\nimport type { Flags } from './shared.js';\n\nexport interface LabBuildOptions {\n flags: Flags;\n config: ConfigInit;\n configPath: string;\n logger: Logger;\n}\n\nexport async function labCmd({ config, logger }: LabBuildOptions) {\n /** TODO: handle multiple files */\n const [tokenFileUrl] = config.tokens;\n\n const staticFiles = new Set();\n const dirEntries = await readdir(fileURLToPath(import.meta.resolve('./lab')), {\n withFileTypes: true,\n recursive: true,\n });\n for (const entry of dirEntries) {\n if (entry.isFile() === false) {\n continue;\n }\n const absolutePath = `${entry.parentPath.replaceAll('\\\\', '/')}/${entry.name}`;\n staticFiles.add(absolutePath.replace(fileURLToPath(import.meta.resolve('./lab')).replaceAll('\\\\', '/'), ''));\n }\n\n const server = serve(\n {\n port: 9000,\n overrideGlobalObjects: false,\n async fetch(request) {\n const url = new URL(request.url);\n const pathname = url.pathname;\n if (pathname === '/') {\n return new Response(\n Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve('./lab/index.html')))) as ReadableStream,\n {\n headers: {\n 'Content-Type': 'text/html',\n },\n },\n );\n }\n if (pathname === '/api/tokens') {\n if (request.method === 'GET') {\n return new Response(Readable.toWeb(createReadStream(tokenFileUrl as PathLike)) as ReadableStream, {\n headers: {\n 'Content-Type': 'application/json',\n 'Cache-Control': 'no-cache',\n },\n });\n } else if (request.method === 'POST' && request.body) {\n await request.body.pipeTo(Writable.toWeb(createWriteStream(tokenFileUrl as PathLike)));\n return new Response(JSON.stringify({ success: true }), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n }\n\n if (staticFiles.has(pathname)) {\n return new Response(\n Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve(`./lab${pathname}`)))) as ReadableStream,\n {\n headers: { 'Content-Type': mime.getType(pathname) ?? 'application/octet-stream' },\n },\n );\n }\n return new Response('Not found', { status: 404 });\n },\n },\n (info) => {\n logger.info({\n group: 'server',\n message: `Token Lab running at http://${info.address === '::' ? 'localhost' : info.address}:${info.port}`,\n });\n },\n );\n /**\n * The cli entrypoint is going to manually exit the process after labCmd returns.\n */\n await new Promise<void>((resolve, reject) => {\n server.on('close', resolve);\n server.on('error', reject);\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport * as momoa from '@humanwhocodes/momoa';\nimport { getObjMember, getObjMembers, traverse } from '@terrazzo/json-schema-tools';\nimport { defineConfig, type Logger, parse } from '@terrazzo/parser';\nimport { isAlias } from '@terrazzo/token-tools';\nimport { cwd, printError } from './shared.js';\n\nexport interface NormalizeOptions {\n logger: Logger;\n output: URL;\n}\n\nfunction findMember(name: string) {\n return function (member: momoa.MemberNode) {\n return member.name.type === 'String' && member.name.value === name;\n };\n}\n\nexport async function normalizeCmd(filename: string, { logger, output }: NormalizeOptions) {\n try {\n if (!filename) {\n logger.error({ group: 'config', message: 'Expected input: `tz normalize <tokens.json> -o output.json`' });\n return;\n }\n const sourceLoc = new URL(filename, cwd);\n if (!fs.existsSync(sourceLoc)) {\n logger.error({\n group: 'config',\n message: `Couldn’t find ${path.relative(cwd.href, sourceLoc.href)}. Does it exist?`,\n });\n }\n const sourceData = fs.readFileSync(sourceLoc, 'utf8');\n const document = momoa.parse(sourceData, { mode: 'jsonc' });\n const { tokens } = await parse([{ src: sourceData, filename: sourceLoc }], {\n config: defineConfig(\n {\n lint: {\n rules: {\n 'core/valid-color': 'off',\n 'core/valid-dimension': 'off',\n 'core/valid-duration': 'off',\n 'core/valid-typography': 'off',\n },\n },\n },\n { cwd },\n ),\n logger,\n });\n\n traverse(document, {\n enter(node, _parent, nodePath) {\n const token = tokens[nodePath.join('.')];\n if (!token || token.aliasOf || node.type !== 'Member' || node.value.type !== 'Object') {\n return;\n }\n const $valueI = node.value.members.findIndex(findMember('$value'));\n\n switch (token.$type) {\n case 'color': {\n if (node.value.members[$valueI]!.value.type === 'String') {\n if (isAlias(node.value.members[$valueI]!.value.value)) {\n return;\n }\n const hex = (node.value.members[$valueI]!.value as momoa.StringNode).value;\n node.value.members[$valueI]!.value = momoa.parse(\n JSON.stringify({\n ...token.$value,\n hex: hex.startsWith('#') ? hex.slice(0, 7) : undefined,\n }),\n ).body;\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n const modeName = (mode.members[i]!.name as momoa.StringNode).value;\n const hex = (mode.members[i]!.value as momoa.StringNode).value;\n mode.members[i]!.value = momoa.parse(\n JSON.stringify({\n ...token.mode[modeName]!.$value,\n hex: hex.startsWith('#') ? hex.slice(0, 7) : undefined,\n }),\n ).body;\n }\n }\n }\n }\n break;\n }\n case 'dimension':\n case 'duration': {\n if (node.value.members[$valueI]!.value.type === 'String') {\n if (isAlias(node.value.members[$valueI]!.value.value)) {\n return;\n }\n node.value.members[$valueI]!.value = normalizeDurationDimension(node.value.members[$valueI]!.value);\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n mode.members[i]!.value = normalizeDurationDimension(node.value.members[$valueI]!.value);\n }\n }\n }\n }\n break;\n }\n case 'typography': {\n if (node.value.members[$valueI]?.value.type !== 'Object') {\n return;\n }\n node.value.members[$valueI].value = normalizeTypography(node.value.members[$valueI].value);\n const $extensions = getObjMember(node.value, '$extensions');\n if ($extensions?.type === 'Object') {\n const mode = getObjMember($extensions, 'mode');\n if (mode?.type === 'Object') {\n for (let i = 0; i < mode.members.length; i++) {\n mode.members[i]!.value = normalizeTypography(mode.members[i]!.value as momoa.ObjectNode);\n }\n }\n }\n }\n }\n },\n });\n\n const outputLoc = new URL(output, cwd);\n fs.mkdirSync(new URL('.', outputLoc), { recursive: true });\n fs.writeFileSync(outputLoc, momoa.print(document, { indent: 2 }));\n } catch (err) {\n printError((err as Error).message);\n process.exit(1);\n }\n}\n\nfunction normalizeDurationDimension(node: momoa.StringNode) {\n const value = Number.parseFloat(node.value);\n if (!Number.isFinite(value)) {\n return node;\n }\n (node as any).type = 'Object';\n (node as any).members = (\n momoa.parse(JSON.stringify({ value, unit: node.value.replace(String(value), '') })).body as momoa.ObjectNode\n ).members;\n delete (node as any).value;\n return node;\n}\n\nfunction normalizeTypography(node: momoa.ObjectNode) {\n const { fontFamily, fontSize, fontWeight, letterSpacing, lineHeight } = getObjMembers(node);\n if (!fontFamily) {\n node.members.push((momoa.parse('{\"fontFamily\":[\"inherit\"]}').body as momoa.ObjectNode).members[0]!);\n }\n if (!fontSize) {\n node.members.push((momoa.parse('{\"fontSize\":{\"value\":1,\"unit\":\"rem\"}}').body as momoa.ObjectNode).members[0]!);\n }\n if (!fontWeight) {\n node.members.push((momoa.parse('{\"fontWeight\":400}').body as momoa.ObjectNode).members[0]!);\n }\n if (!letterSpacing) {\n node.members.push((momoa.parse('{\"letterSpacing\":{\"value\":0,\"unit\":\"rem\"}}').body as momoa.ObjectNode).members[0]!);\n }\n if (!lineHeight) {\n node.members.push((momoa.parse('{\"lineHeight\":1}').body as momoa.ObjectNode).members[0]!);\n }\n return node;\n}\n","import fs from 'node:fs';\n\nexport function versionCmd() {\n const { version } = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf8'));\n console.log(version);\n}\n","import { createRequire } from 'node:module';\nimport { pathToFileURL } from 'node:url';\nimport { type Config, type ConfigInit, defineConfig as defineConfigCore } from '@terrazzo/parser';\nimport { cwd } from './shared.js';\n\nexport * from './build.js';\nexport * from './check.js';\nexport * from './help.js';\nexport * from './init.js';\nexport * from './lab.js';\nexport * from './normalize.js';\nexport * from './shared.js';\nexport * from './version.js';\n\nconst require = createRequire(cwd);\n\n// wrap defineConfig from @terrazzo/parser and add Node.js resolution\nexport function defineConfig(config: Config): ConfigInit {\n const normalizedConfig: Config = { ...config }; // note: we only need a shallow copy because we’re only mutating top-level `tokens`\n\n // Resolve tokens from npm modules, if any\n if (typeof normalizedConfig.tokens === 'string' || Array.isArray(normalizedConfig.tokens)) {\n normalizedConfig.tokens = (\n Array.isArray(normalizedConfig.tokens) ? normalizedConfig.tokens : [normalizedConfig.tokens]\n ).map((tokenPath) => {\n if (tokenPath.startsWith('.') || /^(https?|file):\\/\\//i.test(tokenPath)) {\n return tokenPath;\n }\n try {\n return pathToFileURL(require.resolve(tokenPath));\n } catch (err) {\n console.error(err);\n // this will throw an error if Node couldn’t automatically resolve it,\n // which will be true for many token paths. We don’t need to surface\n // that error; it’ll get its own error down the line if it’s a bad path.\n return tokenPath;\n }\n }) as string[];\n }\n\n return defineConfigCore(normalizedConfig, { cwd });\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,yBAAyB;AAC/B,SAAS,qBAAqB,QAAQ,IAAI;AACxC,KAAI,CAAC,MACH,QAAO;AAET,QAAO,MAAM,QAAQ,OAAO,IAAI,CAAC,QAAQ,yBAAyB,MAAM,EAAE,aAAa,CAAC;;AAG1F,MAAM,aAAa;AACnB,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AACxB,MAAM,cAAc;AAGpB,MAAM,YAAY,SAAS,QAAM;AAC/B,KAAIA,OAAK,WAAW,EAClB,QAAO;AAET,UAAO,qBAAqBA,OAAK;CACjC,MAAM,YAAYA,OAAK,MAAM,WAAW;CACxC,MAAM,iBAAiB,WAAWA,OAAK;CACvC,MAAM,oBAAoBA,OAAKA,OAAK,SAAS,OAAO;AACpD,UAAO,gBAAgBA,QAAM,CAAC,eAAe;AAC7C,KAAIA,OAAK,WAAW,GAAG;AACrB,MAAI,eACF,QAAO;AAET,SAAO,oBAAoB,OAAO;;AAEpC,KAAI,kBACF,WAAQ;AAEV,KAAI,iBAAiB,KAAKA,OAAK,CAC7B,WAAQ;AAEV,KAAI,WAAW;AACb,MAAI,CAAC,eACH,QAAO,OAAOA;AAEhB,SAAO,KAAKA;;AAEd,QAAO,kBAAkB,CAAC,WAAWA,OAAK,GAAG,IAAIA,WAASA;;AAE5D,MAAM,OAAO,SAAS,GAAG,UAAU;CACjC,IAAIA,SAAO;AACX,MAAK,MAAM,OAAO,UAAU;AAC1B,MAAI,CAAC,IACH;AAEF,MAAIA,OAAK,SAAS,GAAG;GACnB,MAAM,eAAeA,OAAKA,OAAK,SAAS,OAAO;GAC/C,MAAM,aAAa,IAAI,OAAO;AAE9B,OADa,gBAAgB,WAE3B,WAAQ,IAAI,MAAM,EAAE;OAEpB,WAAQ,gBAAgB,aAAa,MAAM,IAAI;QAGjD,WAAQ;;AAGZ,QAAO,UAAUA,OAAK;;AAExB,SAASC,QAAM;AACb,KAAI,OAAO,YAAY,eAAe,OAAO,QAAQ,QAAQ,WAC3D,QAAO,QAAQ,KAAK,CAAC,QAAQ,OAAO,IAAI;AAE1C,QAAO;;AAET,MAAMC,YAAU,SAAS,GAAG,YAAY;AACtC,cAAa,WAAW,KAAK,aAAa,qBAAqB,SAAS,CAAC;CACzE,IAAI,eAAe;CACnB,IAAI,mBAAmB;AACvB,MAAK,IAAI,QAAQ,WAAW,SAAS,GAAG,SAAS,MAAM,CAAC,kBAAkB,SAAS;EACjF,MAAMF,SAAO,SAAS,IAAI,WAAW,SAASC,OAAK;AACnD,MAAI,CAACD,UAAQA,OAAK,WAAW,EAC3B;AAEF,iBAAe,GAAGA,OAAK,GAAG;AAC1B,qBAAmB,WAAWA,OAAK;;AAErC,gBAAe,gBAAgB,cAAc,CAAC,iBAAiB;AAC/D,KAAI,oBAAoB,CAAC,WAAW,aAAa,CAC/C,QAAO,IAAI;AAEb,QAAO,aAAa,SAAS,IAAI,eAAe;;AAElD,SAAS,gBAAgB,QAAM,gBAAgB;CAC7C,IAAI,MAAM;CACV,IAAI,oBAAoB;CACxB,IAAI,YAAY;CAChB,IAAI,OAAO;CACX,IAAI,OAAO;AACX,MAAK,IAAI,QAAQ,GAAG,SAASA,OAAK,QAAQ,EAAE,OAAO;AACjD,MAAI,QAAQA,OAAK,OACf,QAAOA,OAAK;WACH,SAAS,IAClB;MAEA,QAAO;AAET,MAAI,SAAS,KAAK;AAChB,OAAI,cAAc,QAAQ,KAAK,SAAS;YAAc,SAAS,GAAG;AAChE,QAAI,IAAI,SAAS,KAAK,sBAAsB,KAAK,IAAI,IAAI,SAAS,OAAO,OAAO,IAAI,IAAI,SAAS,OAAO,KACtG;SAAI,IAAI,SAAS,GAAG;MAClB,MAAM,iBAAiB,IAAI,YAAY,IAAI;AAC3C,UAAI,mBAAmB,IAAI;AACzB,aAAM;AACN,2BAAoB;aACf;AACL,aAAM,IAAI,MAAM,GAAG,eAAe;AAClC,2BAAoB,IAAI,SAAS,IAAI,IAAI,YAAY,IAAI;;AAE3D,kBAAY;AACZ,aAAO;AACP;gBACS,IAAI,SAAS,GAAG;AACzB,YAAM;AACN,0BAAoB;AACpB,kBAAY;AACZ,aAAO;AACP;;;AAGJ,QAAI,gBAAgB;AAClB,YAAO,IAAI,SAAS,IAAI,QAAQ;AAChC,yBAAoB;;UAEjB;AACL,QAAI,IAAI,SAAS,EACf,QAAO,IAAIA,OAAK,MAAM,YAAY,GAAG,MAAM;QAE3C,OAAMA,OAAK,MAAM,YAAY,GAAG,MAAM;AAExC,wBAAoB,QAAQ,YAAY;;AAE1C,eAAY;AACZ,UAAO;aACE,SAAS,OAAO,SAAS,GAClC,GAAE;MAEF,QAAO;;AAGX,QAAO;;AAET,MAAM,aAAa,SAAS,GAAG;AAC7B,QAAO,gBAAgB,KAAK,EAAE;;AAKhC,MAAM,UAAU,SAAS,GAAG;AAC1B,KAAI,MAAM,KAAM,QAAO;CACvB,MAAM,QAAQ,YAAY,KAAK,qBAAqB,EAAE,CAAC;AACvD,QAAO,SAAS,MAAM,MAAM;;AAE9B,MAAM,WAAW,SAAS,MAAM,IAAI;CAClC,MAAM,QAAQE,UAAQ,KAAK,CAAC,QAAQ,iBAAiB,KAAK,CAAC,MAAM,IAAI;CACrE,MAAM,MAAMA,UAAQ,GAAG,CAAC,QAAQ,iBAAiB,KAAK,CAAC,MAAM,IAAI;AACjE,KAAI,IAAI,GAAG,OAAO,OAAO,MAAM,GAAG,OAAO,OAAO,MAAM,OAAO,IAAI,GAC/D,QAAO,IAAI,KAAK,IAAI;CAEtB,MAAM,YAAY,CAAC,GAAG,MAAM;AAC5B,MAAK,MAAM,WAAW,WAAW;AAC/B,MAAI,IAAI,OAAO,QACb;AAEF,QAAM,OAAO;AACb,MAAI,OAAO;;AAEb,QAAO,CAAC,GAAG,MAAM,UAAU,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;;AAErD,MAAMC,YAAU,SAAS,GAAG;CAC1B,MAAM,WAAW,qBAAqB,EAAE,CAAC,QAAQ,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,GAAG;AACnF,KAAI,SAAS,WAAW,KAAK,iBAAiB,KAAK,SAAS,GAAG,CAC7D,UAAS,MAAM;AAEjB,QAAO,SAAS,KAAK,IAAI,KAAK,WAAW,EAAE,GAAG,MAAM;;;;;ACxLtD,MAAM,YAAYC,UAAQ,aAAa;AACvC,MAAM,QAAQ,YAAYA,UAAQ,KAAK,CAAC,KAAK;AAC7C,MAAM,gBAAgB,QAAQ,UAAU,MAAM,aAAa,GAAG,MAAM,aAAa,GAAG,MAAM,aAAa,GAAG;AAC1G,MAAM,cAAc,wBAAwB,IAAI,OAAO,cAAc,MAAM,WAAW,GAAG;AACzF,MAAM,sBAAsB,gCAAgC,IAAI,OAAO,cAAc,cAAc,WAAW,GAAG;AACjH,SAAS,MAAM,KAAK;AACnB,QAAO,IAAI,QAAQ,OAAO,IAAI;;AAE/B,MAAM,eAAe;AACrB,SAAS,aAAa,IAAI;AACzB,QAAO,aAAa,KAAK,GAAG;;AAG7B,SAAS,mBAAmB,IAAI,MAAM;AACrC,KAAI,QAAQ,GAAG,WAAW,kBAAkB,KAAK,CAAC,CAAE,MAAK,IAAI,GAAG,MAAM,KAAK,OAAO;AAClF,KAAI,eAAe,CAAC,aAAa,KAAK,GAAG,IAAI,qBAAqB,KAAK,GAAG,CAAE,MAAK,GAAG,QAAQ,qBAAqB,GAAG,MAAM,IAAI;AAC9H,KAAI,GAAG,WAAW,UAAU,EAAE;EAC7B,MAAM,EAAE,MAAM,YAAY,oBAAoB,GAAG;AACjD,SAAO,cAAc,KAAK,GAAG;;AAE9B,QAAO,GAAG,QAAQ,mBAAmB,KAAK,CAAC,QAAQ,YAAY,GAAG,CAAC,QAAQ,6BAA6B,GAAG,CAAC,QAAQ,WAAW,IAAI,CAAC,QAAQ,UAAU,GAAG,CAAC,QAAQ,WAAW,IAAI,CAAC,QAAQ,UAAU,GAAG,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,WAAW,GAAG,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,QAAQ,GAAG;;AAEhS,MAAM,YAAY;AAClB,SAAS,SAAS,KAAK;AACtB,QAAO,IAAI,QAAQ,WAAW,GAAG;;AAElC,SAAS,oBAAoB,QAAM;CAClC,MAAM,OAAO,SAASC,OAAK;AAC3B,QAAO;EACN;EACA,SAASA,OAAK,MAAM,KAAK,OAAO;EAChC;;AAEF,MAAM,wCAAwC,IAAI,OAAO,SAAS,CAAC,gBAAgB,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI;AAC9G,SAAS,kBAAkB,IAAI;AAC9B,QAAO,sBAAsB,KAAK,GAAG;;AAEtC,MAAM,mBAAmB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA,CAAC;AACF,MAAM,WAAW,IAAI,IAAI;CACxB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,CAAC;AACF,SAAS,kBAAkB,IAAI;AAC9B,KAAI,iBAAiB,IAAI,GAAG,CAAE,QAAO;AACrC,KAAI,GAAG,WAAW,UAAU,CAAE,QAAO,cAAc,GAAG;AACtD,QAAO,GAAG,QAAQ,OAAO,IAAI,CAAC,QAAQ,YAAY,YAAY,KAAK,IAAI,CAAC,QAAQ,UAAU,GAAG,CAAC,QAAQ,QAAQ,IAAI;;AAEnH,SAAS,YAAY,GAAG;AACvB,QAAO,MAAM,OAAO,EAAE;;AAEvB,SAAS,WAAW,IAAI,MAAM;CAC7B,IAAI,EAAE,UAAU,kBAAkB;AACjC,MAAI,GAAG,WAAW,QAAQ,CAAE,QAAO;GAClC,UAAU,GAAG,MAAM,EAAE;GACrB,QAAQ;GACR;AACD,MAAI,CAAC,GAAG,WAAW,kBAAkB,KAAK,CAAC,IAAI,GAAG,WAAW,IAAI,EAAE;GAClE,MAAM,WAAWC,UAAQ,MAAM,GAAG,MAAM,EAAE,CAAC;AAC3C,OAAI,WAAW,SAAS,SAAS,CAAC,CAAE,QAAO;IAC1C,UAAU;IACV,QAAQ;IACR;aACS,GAAG,WAAW,kBAAkB,KAAK,CAAC,IAAI,WAAW,SAAS,GAAG,CAAC,CAAE,QAAO;GACrF,UAAU;GACV,QAAQ;GACR;AACD,SAAO;GACN,UAAU;GACV,QAAQ;GACR;KACE;AACJ,KAAI,SAAS,WAAW,KAAK,CAAE,YAAW,SAAS,MAAM,EAAE;AAC3D,QAAO;EACN,MAAM,aAAa,SAAS,WAAW,IAAI,GAAG,MAAM,cAAc,cAAc,SAAS,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;EAC5G;EACA;;AAEF,MAAM,yBAAyB;AAC/B,SAAS,cAAc,IAAI;AAC1B,KAAI,iBAAiB,IAAI,GAAG,CAAE,QAAO;AACrC,QAAO,SAAS,IAAI,GAAG,WAAW,uBAAuB,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG;;;;;;;AAO9E,SAAS,QAAQ,OAAO;AACvB,KAAI,UAAU,QAAQ,UAAU,KAAK,EAAG,SAAQ,EAAE;AAClD,KAAI,MAAM,QAAQ,MAAM,CAAE,QAAO;AACjC,QAAO,CAAC,MAAM;;AAEf,SAAS,cAAc,OAAO,SAAS,iBAAiB;CACvD,MAAM,UAAU,MAAM,IAAI,gBAAgB,QAAQ,CAAC;AACnD,KAAI,SAAS;AACZ,sBAAoB,iBAAiB,UAAU,QAAQ;AACtD,SAAM,IAAI,gBAAgB,IAAI,EAAE,QAAQ;IACvC;AACF,SAAO;;;AAGT,SAAS,aAAa,OAAO,MAAM,SAAS,iBAAiB;AAC5D,OAAM,IAAI,gBAAgB,QAAQ,EAAE,KAAK;AACzC,qBAAoB,iBAAiB,UAAU,QAAQ;AACtD,QAAM,IAAI,gBAAgB,IAAI,EAAE,KAAK;GACpC;;AAEH,SAAS,gBAAgB,SAAS;AACjC,QAAO,QAAQ;;;;;;;AAOhB,SAAS,oBAAoB,WAAW,YAAY,IAAI;AACvD,QAAO,cAAc,YAAY;AAChC,KAAG,UAAU;AACb,cAAYC,UAAQ,UAAU;;;AAGhC,SAAS,kBAAkB,QAAM;AAChC,KAAIF,OAAKA,OAAK,SAAS,OAAO,IAAK,QAAO,GAAGA,OAAK;AAClD,QAAOA;;AAER,SAAS,2BAA2B;CACnC,MAAM,cAAc;EACnB;EACA;EACA;EACA;AACD,QAAO,IAAI,MAAMD,UAAQ,KAAK;EAC7B,IAAI,GAAG,KAAK;AACX,OAAI,OAAO,QAAQ,SAAU;AAC7B,OAAI,YAAY,SAAS,IAAI,CAAE,QAAO,CAAC,CAACA,UAAQ,IAAI;AACpD,UAAOA,UAAQ,IAAI;;EAEpB,IAAI,GAAG,KAAK,OAAO;AAClB,OAAI,OAAO,QAAQ,SAAU,QAAO;AACpC,OAAI,YAAY,SAAS,IAAI,CAAE,WAAQ,IAAI,OAAO,QAAQ,MAAM;OAC3D,WAAQ,IAAI,OAAO;AACxB,UAAO;;EAER,CAAC;;AAEH,MAAM,+BAA+B,IAAI,KAAK;AAC9C,eAAe,uBAAuB,SAAS;CAC9C,MAAM,kBAAkB;AACxB,QAAO,SAAS;EACf,MAAM,SAAS,cAAc,cAAc,SAAS,gBAAgB;AACpE,MAAI,OAAQ,QAAO;EACnB,MAAM,UAAU,KAAK,SAAS,eAAe;AAC7C,OAAK,MAAM,SAAS,KAAK,QAAQ,CAAC,YAAY,GAAG,GAAG,QAAQ,EAAE;GAC7D,MAAM,UAAU,KAAK,MAAM,MAAM,SAAS,SAAS,SAAS,OAAO,CAAC;AACpE,OAAI,aAAc,cAAa,cAAc,SAAS,SAAS,gBAAgB;AAC/E,UAAO;;EAER,MAAM,cAAcG,UAAQ,QAAQ;AACpC,MAAI,gBAAgB,QAAS;AAC7B,YAAU;;AAEX,QAAO,EAAE;;;;;ACjLV,IAAI,QAAQ,IAAI,WAAW,EAAE;AACb,IAAI,WAAW,EAAE;AACjC,IAAI,QAAQ;AACZ,IAAI,YAAY,IAAI,WAAW,GAAG;AAClC,IAAI,YAAY,IAAI,WAAW,IAAI;AACnC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;CACtC,MAAM,IAAI,MAAM,WAAW,EAAE;AAC7B,WAAU,KAAK;AACf,WAAU,KAAK;;AAqahB,MAAM,oBAAoB,EAAE;AAE5B,MAAM,cAAc;AACpB,IAAI,uBAAuB,EAAE;AAC7B,IAAI,sBAAsB,EAAE;AAK5B,SAAS,YAAY,MAAM;AAC1B,QAAO,SAAS,KAAK;AACpB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACrC,MAAM,MAAM,KAAK,GAAG,IAAI;AACxB,OAAI,IAAK,QAAO;;AAEjB,SAAO;;;AAGT,IAAI,eAAe,YAAY,qBAAqB;AACpD,qBAAqB,MAAM,WAAW;AACrC,UAAS,OAAO,MAAM;AACtB,KAAI,OAAO,WAAW,QAAQ,CAAE,UAAS,OAAO,QAAQ,sBAAsB,UAAU,YAAU;AACjG,SAAOC,UAAQ,KAAK;GACnB;AACF,KAAI,UAAU,kBAAmB,QAAO,kBAAkB;CAC1D,IAAI,WAAW;AACf,KAAI;AACH,MAAI,GAAG,WAAW,OAAO,CAAE,YAAW,GAAG,aAAa,QAAQ,OAAO;SAC9D;AACR,QAAO,kBAAkB,UAAU;EAClC;AACF,SAAS,mBAAmB,MAAM,KAAK;AACtC,KAAI,CAAC,KAAM,QAAO;CAClB,MAAM,MAAM,KAAK,QAAQ,KAAK;CAC9B,MAAM,QAAQ,iBAAiB,KAAK,IAAI;CACxC,IAAI,WAAW,QAAQ,MAAM,KAAK;CAClC,MAAM,YAAY,IAAI,MAAM,SAAS,OAAO;AAC5C,KAAI,YAAY,SAAS,KAAK,UAAU,EAAE;AACzC,cAAY;AACZ,SAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,SAAS,OAAO,EAAE,IAAI,CAAC,QAAQ,OAAO,IAAI;;AAEpF,QAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,SAAS,OAAO,EAAE,IAAI;;AAEhE,SAAS,qBAAqB,QAAQ;CACrC,MAAM,WAAW,aAAa,OAAO;AACrC,KAAI,CAAC,SAAU,QAAO;CACtB,MAAM,KAAK;CACX,IAAI,WAAW;AACf,QAAO,QAAQ,GAAG,KAAK,SAAS,CAAE,aAAY;AAC9C,KAAI,CAAC,UAAW,QAAO;AACvB,QAAO,UAAU;;AAElB,IAAI,oBAAoB,YAAY,oBAAoB;AACxD,oBAAoB,MAAM,WAAW;CACpC,IAAI,mBAAmB,qBAAqB,OAAO;AACnD,KAAI,CAAC,iBAAkB,QAAO;CAC9B,IAAI;AACJ,KAAI,YAAY,KAAK,iBAAiB,EAAE;EACvC,MAAM,UAAU,iBAAiB,MAAM,iBAAiB,QAAQ,IAAI,GAAG,EAAE;AACzE,kBAAgB,SAAS,KAAK,SAAS,SAAS,CAAC,UAAU;AAC3D,qBAAmB;QACb;AACN,qBAAmB,mBAAmB,QAAQ,iBAAiB;AAC/D,kBAAgB,aAAa,iBAAiB;;AAE/C,KAAI,CAAC,cAAe,QAAO;AAC3B,QAAO;EACN,KAAK;EACL,KAAK;EACL;EACA;AAuKmC,qBAAqB,MAAM,EAAE;AAC9B,oBAAoB,MAAM,EAAE;AAmBhE,IAAI,oBAAoB;AACxB,qBAAqB;AACrB,MAAM,iCAAiC;AACvC,MAAM,8BAA8B,GAAG,kBAAkB;AACzD,SAAS,oBAAoB,QAAQ,SAAS;CAC7C,MAAM,MAAM,OAAO;CACnB,IAAI,OAAO,OAAO;AAClB,KAAI,CAAC,OAAO,KAAK,SAAS,+BAA+B,CAAE,QAAO;AAClE,KAAI,aAAa,IAAK,KAAI,UAAU,IAAI,SAAS,KAAK,WAAW;AAChE,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,WAAW,OAAO,EAAE;GACvB,MAAM,aAAa,CAAC,OAAO,WAAW,kBAAkB,QAAQ,KAAK,CAAC,IAAI,OAAO,WAAW,IAAI,GAAGC,UAAQ,QAAQ,MAAM,OAAO,MAAM,EAAE,CAAC,GAAG;AAC5I,UAAO,SAASC,UAAQ,QAAQ,SAAS,EAAE,WAAW;;AAEvD,SAAO;GACN;CACF,MAAM,0BAA0B,IAAI,OAAO,OAAO,kBAAkB,uDAAuD,KAAK;AAChI,QAAO,wBAAwB,KAAK,KAAK,CAAE,QAAO,KAAK,QAAQ,yBAAyB,GAAG;AAC3F,KAAI,CAAC,QAAQ,sBAAsB,IAAI,SAAS,WAAW,IAAI,CAAE,KAAI,WAAW,YAAY,IAAI;CAChG,MAAM,YAAY,SAAS,KAAK,KAAK,UAAU,IAAI,EAAE,QAAQ,CAAC,SAAS,SAAS;AAChF,QAAO,OAAO,GAAG,KAAK,SAAS,CAAC,MAAM,+BAA+B,QAAQ,4BAA4B,UAAU,UAAU;AAC7H,QAAO;;AAER,SAAS,iBAAiB,MAAM;CAC/B,MAAM,SAAS,IAAI,OAAO,OAAO,4BAA4B,eAAe,KAAK;CACjF,IAAI,WAAW;AACf,QAAO,QAAQ,OAAO,KAAK,KAAK,CAAE,aAAY;AAC9C,KAAI,UAAW,QAAO,KAAK,MAAM,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,SAAS,QAAQ,CAAC;AACzF,QAAO;;;;;ACltBR,SAAS,OAAO,OAAO;AACtB,KAAI,iBAAiB,MAAO,QAAO,MAAM,SAAS,MAAM;AACxD,QAAO;;AAER,SAAS,YAAY,UAAQ,WAAW;CACvC,IAAI,OAAO;AACX,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,UAAQ,QAAQ,KAAK,OAAO,UAAU,WAAW,EAAE;AACnD,UAAQ;;AAET,QAAOC,SAAO,KAAK,IAAI,KAAK,GAAGA,SAAO;;AAEvC,SAAS,gBAAgB,QAAQ,UAAU;CAC1C,IAAI,cAAc;CAClB,IAAI,gBAAgB;CACpB,IAAI,YAAY;CAChB,IAAI,aAAa;AACjB,QAAO,cAAc,OAAO,OAAQ,KAAI,gBAAgB,SAAS,WAAW,SAAS,mBAAmB,OAAO,gBAAgB,SAAS,mBAAmB,KAAM,KAAI,SAAS,mBAAmB,KAAK;AACrM,cAAY;AACZ,eAAa;AACb;QACM;AACN;AACA;;UAEQ,cAAc,IAAI;AAC1B,kBAAgB,YAAY;AAC5B;AACA,gBAAc;OACR,QAAO;AACd,QAAO,gBAAgB,SAAS,UAAU,SAAS,mBAAmB,IAAK;AAC3E,QAAO,kBAAkB,SAAS;;AAEnC,SAAS,SAAS,OAAO;AACxB,KAAI,SAAS,IAAK,QAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;AACrD,QAAO,GAAG,MAAM;;AAEjB,IAAI,mBAAmB;AAIvB,SAASC,cAAY,WAAW,SAAS;CACxC,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM,SAAS,GAAG,SAAS;AAC1B,MAAI,CAAC,MAAM,QAAS;EACpB,MAAM,OAAO,KAAK,KAAK;EACvB,MAAM,OAAO,QAAQ,YAAY;AACjC,aAAW;AACX,OAAK,KAAK,OAAO,KAAK,GAAG;AACzB,MAAI,OAAO,KAAK,OAAO,SAAU,MAAK,QAAQ,KAAK;EACnD,IAAI,QAAQ;AACZ,OAAK,KAAK,KAAK,GAAG,QAAQ,gBAAgB,OAAO,WAAW;AAC3D,OAAI,UAAU,KAAM,QAAO;AAC3B;GACA,MAAM,YAAY,QAAQ,WAAW;AACrC,OAAI,OAAO,cAAc,YAAY;IACpC,MAAM,QAAQ,KAAK;AACnB,YAAQ,UAAU,KAAK,OAAO,MAAM;AACpC,SAAK,OAAO,OAAO,EAAE;AACrB;;AAED,UAAO;IACN;AACF,UAAQ,WAAW,KAAK,OAAO,MAAM,KAAK;AAC1C,QAAM,IAAI,GAAG,KAAK;;AAEnB,OAAM,SAAS,SAAS,aAAa,YAAY,KAAK;AACrD,SAAOA,cAAY,KAAK,YAAY,YAAY,aAAa;GAC5D,WAAW,KAAK;GAChB,OAAO,KAAK;GACZ,YAAY,KAAK;GACjB,YAAY,KAAK;GACjB,aAAa,KAAK;GAClB,KAAK,KAAK;GACV,UAAU,KAAK;GACf,CAAC;;AAEH,QAAO,OAAO,OAAO,QAAQ;AAC7B,OAAM,YAAY;AAClB,QAAO,eAAe,OAAO,WAAW;EACvC,YAAY;EACZ,cAAc;EACd,WAAW;AACV,OAAI,kBAAkB,KAAM,QAAO;AACnC,OAAI,oBAAoB,kBAAkB;AACzC,sBAAkB;AAClB,mBAAe,QAAQ,UAAU;;AAElC,UAAO;;EAER,MAAM,MAAM;AACX,oBAAiB;;EAElB,CAAC;AACF,QAAO;;AAER,IAAI,QAAQ,EAAE;AACd,IAAI,QAAQ,EAAE;AACd,SAAS,OAAO,cAAc;AAC7B,oBAAmB;AACnB,SAAQ,EAAE;AACV,SAAQ,EAAE;CACV,MAAM,QAAQ,iBAAiB,MAAM,CAAC,QAAQ,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,QAAQ;AACrF,MAAK,MAAM,MAAM,MAAO,KAAI,GAAG,OAAO,IAAK,OAAM,KAAK,GAAG,MAAM,EAAE,CAAC;KAC7D,OAAM,KAAK,GAAG;;AAOpB,SAAS,QAAQ,MAAM;AACtB,MAAK,MAAM,QAAQ,MAAO,KAAI,gBAAgB,MAAM,KAAK,CAAE,QAAO;AAClE,MAAK,MAAM,MAAM,MAAO,KAAI,gBAAgB,MAAM,GAAG,CAAE,QAAO;AAC9D,QAAO;;;;;AClHR,MAAM,SAAS,QAAQ,OAAO,iBAAiB,QAAQ,OAAO,eAAe,GAAG,IAAI;CACnF;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAM,cAAc,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,QAAQ,WAAW,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;CACvG,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,cAAc,GAAG,MAAM,EAAE,aAAa,CAAC;CACvF,IAAI,QAAQ,QAAQ,IAAI;AACxB,KAAI,UAAU,OAAQ,SAAQ;UACrB,yBAAyB,KAAK,MAAM,CAAE,SAAQ;UAC9C,2BAA2B,KAAK,MAAM,CAAE,SAAQ;KACpD,SAAQ,OAAO,MAAM;AAC1B,KAAI,QAAQ;AACZ,QAAO;GACL,EAAE,CAAC;AACN,SAAS,YAAY;AACpB,QAAO,YAAY,cAAc,QAAQ,YAAY,OAAO,GAAG,OAAO,QAAQ,OAAO,GAAG;;AAEzF,SAAS,UAAU;AAClB,KAAI,YAAY,SAAU,QAAO;AACjC,QAAO,oBAAoB,IAAI,MAAM,EAAE,aAAa,CAAC;;AAEtD,SAAS,WAAW,MAAM,MAAM;CAC/B,MAAM,EAAE,WAAW,MAAM,WAAW,gBAAgB;AACpD,KAAI,aAAa;EAChB,MAAM,IAAI,KAAK;EACf,MAAM,YAAY,WAAW,IAAI,IAAI,IAAI,OAAO;EAChD,MAAM,SAAS,KAAK,UAAU,KAAK,KAAK;AACxC,OAAK,KAAK,SAAS,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,KAAK,SAAS;AAC1D,OAAK,KAAK,GAAG,UAAU,IAAI,KAAK,SAAS,KAAK,CAAC,WAAW;OACpD,MAAK,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK;;AAE9C,SAAS,IAAI,GAAG,MAAM;AACrB,SAAQ,OAAO,MAAM,GAAG,kBAAkB,KAAK,aAAa,GAAG,KAAK,CAAC,IAAI;;AAE1E,MAAM,iBAAiB;CACtB,WAAW,WAAW;CACtB;CACA,YAAY;EACX,EAAE,GAAG;AACJ,QAAK,YAAY,SAAS,KAAK;AAC/B,UAAO,QAAQ,GAAG,KAAK,YAAY,CAAC,MAAM,KAAK,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI;;EAEnF,EAAE,GAAG;AACJ,QAAK,YAAY,SAAS,KAAK;AAC/B,UAAO,QAAQ,GAAG,KAAK,YAAY;;EAEpC;CACD;CACA;CACA;CACA;AACD,SAAS,YAAY,WAAW,SAAS;CACxC,IAAI;CACJ,MAAM,SAAS,OAAO,WAAW,QAAQ,WAAW,QAAQ,SAAS,KAAK,IAAI,OAAO,YAAY,QAAQ,UAAU;AACnH,QAAO,cAAc,WAAW,OAAO,OAAO,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC;;AAUnFC,OAAS,QAAQ,IAAI,SAAS,GAAG;;;;AC1IjC,MAAM,EAAE,0BAAY,iCAAiB;AACrC,MAAM,eAAe,YAAY,2BAA2B;AAC5D,MAAM,cAAc,YAAY,0BAA0B;AAC1D,MAAM,aAAa;CAClB,cAAc,OAAO;CACrB,wBAAwB;AACvB,SAAO;GACN,cAAc;GACd,aAAa;GACb,eAAe;GACf,eAAe;GACf,kBAAkB;GAClB,UAAU;GACV,YAAY;GACZ;;CAEF,mBAAmB;CACnB,mBAAmB;CACnB;AACD,MAAM,MAAM,0BAA0B;AACtC,MAAM,wBAAwB;CAC7B,iBAAiB;CACjB,gBAAgB;CAChB;AACD,IAAI,iBAAiB,cAAc,IAAI;CACtC,cAAc,QAAQ;AACrB,SAAO,kBAAkB,OAAO;;;;;CAKjC,OAAO,QAAQ,KAAK;AACnB,WAAS,KAAK,cAAc,OAAO;AACnC,MAAI,CAAC,MAAM,IAAI,OAAO,CAAE,MAAK,cAAc,QAAQ,IAAI;MAClD,QAAO,OAAO,MAAM,IAAI,OAAO,EAAE,IAAI;AAC1C,SAAO;;CAER,cAAc,YAAY,KAAK;AAC9B,SAAO,MAAM,IAAI,YAAY,IAAI;;CAElC,IAAI,QAAQ,KAAK;AAChB,SAAO,KAAK,cAAc,KAAK,cAAc,OAAO,EAAE,IAAI;;CAE3D,cAAc,YAAY;AACzB,MAAI,CAAC,MAAM,IAAI,WAAW,CAAE,MAAK,cAAc,YAAY,EAAE,CAAC;EAC9D,MAAM,MAAM,MAAM,IAAI,WAAW;AACjC,MAAI,CAAC,IAAI,QAAS,QAAO,OAAO,KAAK;GACpC,yBAAyB,IAAI,KAAK;GAClC,2BAA2B,IAAI,KAAK;GACpC,CAAC;AACF,SAAO;;CAER,IAAI,QAAQ;AACX,SAAO,KAAK,cAAc,KAAK,cAAc,OAAO,CAAC;;CAEtD,iBAAiB,YAAY;AAC5B,SAAO,MAAM,OAAO,WAAW;;CAEhC,OAAO,QAAQ;AACd,SAAO,KAAK,iBAAiB,KAAK,cAAc,OAAO,CAAC;;CAEzD,iBAAiB,KAAK;AACrB,SAAO,IAAI;AACX,SAAO,IAAI;AACX,SAAO,IAAI;AACX,SAAO,IAAI;AACX,MAAI,WAAW,OAAO;AACtB,MAAI,SAAS,OAAO;AACpB,SAAO;;;;;CAKR,kBAAkB,KAAK,8BAA8B,IAAI,KAAK,EAAE;AAC/D,OAAK,MAAM,OAAO,KAAK;GACtB,MAAM,KAAK,KAAK,cAAc,IAAI;AAClC,OAAI,YAAY,IAAI,GAAG,CAAE;AACzB,eAAY,IAAI,GAAG;GACnB,MAAM,MAAM,MAAM,IAAI,GAAG;AACzB,OAAI,KAAK,UAAW,MAAK,kBAAkB,IAAI,WAAW,YAAY;AACtE,SAAM,OAAO,GAAG;;AAEjB,SAAO;;;;;CAKR,qBAAqB,KAAK,8BAA8B,IAAI,KAAK,EAAE;AAClE,OAAK,MAAM,OAAO,KAAK;GACtB,MAAM,KAAK,KAAK,cAAc,IAAI;AAClC,OAAI,YAAY,IAAI,GAAG,CAAE;AACzB,eAAY,IAAI,GAAG;GACnB,MAAM,SAAS,MAAM,KAAK,MAAM,SAAS,CAAC,CAAC,QAAQ,GAAG,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI;AAC1G,OAAI,OAAO,OAAQ,MAAK,qBAAqB,QAAQ,YAAY;AACjE,SAAM,OAAO,GAAG;;AAEjB,SAAO;;;;;CAKR,aAAa,IAAI;EAChB,MAAM,QAAQ,KAAK,IAAI,GAAG;AAC1B,MAAI,MAAM,IAAK,QAAO,MAAM;EAC5B,MAAM,MAAM,MAAM,QAAQ,iBAAiB,MAAM,KAAK;AACtD,MAAI,KAAK;AACR,SAAM,MAAM;AACZ,UAAO;;AAER,SAAO;;;AAGT,IAAI,iBAAiB,MAAM;CAC1B;CACA;;;;;CAKA;;;;;;;;;;;;;;;;;CAiBA,iBAAiB,EAAE;CACnB,iBAAiB,YAAY,IAAI,KAAK,YAAY;CAClD,YAAY,SAAS;AACpB,OAAK,UAAU;AACf,OAAK,OAAO,QAAQ,QAAQC,UAAQ,KAAK;AACzC,OAAK,cAAc,QAAQ,eAAe,IAAI,gBAAgB;AAC9D,OAAK,QAAQ,QAAQ,UAAU,OAAOA,cAAY,cAAc,CAAC,CAACA,UAAQ,IAAI,yBAAyB;;CAExG,MAAM,YAAY,MAAM;EACvB,MAAM,MAAM,QAAQ,MAAM,QAAQ,KAAK,CAAC;AACxC,SAAO,MAAM,KAAK,cAAc,KAAK,KAAK,EAAE,CAAC;;CAE9C,MAAM,UAAU,OAAO;EACtB,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,WAAW,MAAM;AAC9C,SAAO,MAAM,KAAK,cAAc,IAAI,KAAK,EAAE,CAAC;;;CAG7C,MAAM,cAAc,IAAI,QAAQ,WAAW;EAC1C,MAAM,WAAW,UAAU,UAAU,SAAS;EAC9C,MAAM,MAAM,KAAK,YAAY,IAAI,OAAO;EACxC,MAAM,EAAE,SAAS,cAAc;AAC/B,MAAI,SAAU,WAAU,IAAI,SAAS;EACrC,MAAM,iBAAiB,WAAW,CAAC,GAAG,WAAW,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,OAAO,IAAI,CAAC,KAAK,KAAK;AACpG,MAAI,UAAU,SAAS,OAAO,IAAI,MAAM,KAAK,QAAQ,QAAQ,CAAC,CAAC,MAAM,MAAM,UAAU,IAAI,EAAE,CAAC,EAC3F;OAAI,IAAI,QAAS,QAAO,IAAI;;EAE7B,IAAI;AACJ,MAAI,KAAK,MAAO,cAAaC,mBAAiB,QAAQ,KAAK,sBAAsB,OAAO,2BAA2B,UAAU,GAAG,EAAE,IAAI;AACtI,MAAI;AACH,OAAI,IAAI,QAAS,QAAO,MAAM,IAAI;GAClC,MAAM,UAAU,KAAK,cAAc,IAAI,QAAQ,UAAU;AACzD,UAAO,OAAO,KAAK;IAClB;IACA,WAAW;IACX,CAAC;AACF,UAAO,MAAM;YACJ;AACT,OAAI,YAAY;AAChB,OAAI,WAAY,gBAAa,WAAW;;;CAG1C,gBAAgB,IAAI,WAAW;AAC9B,SAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,WAAW,QAAQ;;CAE/E,MAAM,YAAY,IAAI,UAAU;EAC/B,MAAM,MAAM,mBAAmB,IAAI,KAAK,QAAQ,KAAK;AACrD,MAAI,CAAC,KAAK,gBAAgB,IAAI,CAAE,QAAO,CAAC,KAAK,IAAI;EACjD,MAAM,EAAE,MAAM,QAAQ,WAAW,WAAW,KAAK,KAAK,KAAK;AAC3D,MAAI,CAAC,KAAK,QAAQ,aAAa,OAAQ,QAAO,CAAC,KAAK,OAAO;EAC3D,MAAM,WAAW,MAAM,KAAK,QAAQ,UAAU,KAAK,SAAS;AAC5D,MAAI,UAAU,OAAO,eAAe,YAAY;GAC/C,MAAM,wBAAwB,IAAI,MAAM,uBAAuB,GAAG,GAAG,WAAW,mBAAmB,SAAS,KAAK,GAAG;;;kJAG2B;AAC/I,UAAO,eAAe,OAAO,QAAQ;IACpC,OAAO;IACP,YAAY;IACZ,CAAC;AACF,UAAO,eAAe,OAAO,OAAO,IAAI,8BAA8B,EAAE;IACvE,OAAO;KACN,IAAI;KACJ;KACA;IACD,YAAY;IACZ,CAAC;AACF,SAAM;;EAEP,MAAM,aAAa,WAAW,mBAAmB,SAAS,IAAI,KAAK,QAAQ,KAAK,GAAG;AACnF,SAAO,CAAC,YAAY,WAAW;;CAEhC,MAAM,WAAW,IAAI,UAAU;EAC9B,MAAM,aAAa,WAAW;AAC9B,OAAK,YAAY,cAAc,YAAY,EAAE,WAAW,MAAM,CAAC;AAC/D,MAAI;AACH,UAAO,MAAM,KAAK,YAAY,IAAI,SAAS;YAClC;AACT,QAAK,YAAY,iBAAiB,WAAW;;;;CAI/C,MAAM,kBAAkB,IAAI,QAAQ,WAAW;AAC9C,SAAO,MAAM,KAAK,cAAc,IAAI,QAAQ,UAAU;;CAEvD,MAAM,aAAa,IAAI,UAAU;AAChC,MAAI;AACH,UAAO,MAAM,KAAK,QAAQ,YAAY,GAAG;WACjC,OAAO;AACf,OAAI,OAAO,UAAU,YAAY,MAAM,SAAS,kBAAkB,OAAO,OAAO,YAAY,YAAY,MAAM,QAAQ,SAAS,qBAAqB,EAAE;IACrJ,MAAM,QAAQ,IAAI,MAAM,eAAe,aAAa,GAAG,GAAG,YAAY,SAAS,IAAI,GAAG,GAAG,WAAW,mBAAmB,SAAS,KAAK,MAAM,EAAE,OAAO,CAAC;AACrJ,UAAM,OAAO;AACb,UAAM;;AAEP,SAAM;;;;CAIR,MAAM,cAAc,IAAI,QAAQ,YAAY;EAC3C,MAAM,WAAW,kBAAkB,OAAO;EAC1C,MAAM,YAAY,CAAC,GAAG,YAAY,SAAS;EAC3C,MAAM,MAAM,KAAK,YAAY,cAAc,SAAS;EACpD,MAAM,UAAU,OAAO,QAAQ;GAC9B,MAAM,CAAC,MAAM,aAAa,MAAM,KAAK,WAAW,OAAO,IAAI,EAAE,OAAO;AACpE,QAAK,YAAY,cAAc,UAAU,CAAC,UAAU,IAAI,SAAS;AACjE,OAAI,QAAQ,IAAI,UAAU;AAC1B,UAAO,KAAK,kBAAkB,MAAM,WAAW,UAAU;;EAE1D,MAAM,eAAe,KAAK,QAAQ,gBAAgB;AAClD,MAAI,MAAM,aAAc,QAAO,aAAa;EAC5C,IAAI,EAAE,MAAM,aAAa,gBAAgB,MAAM,KAAK,aAAa,IAAI,UAAU,UAAU,SAAS,GAAG;AACrG,MAAI,aAAa;AAChB,eAAY,YAAY;GACxB,MAAM,YAAY,MAAM,KAAK,gBAAgB,YAAY;AACzD,OAAI,UAAU;AACd,UAAO;;AAER,MAAI,eAAe,KAAM,OAAM,IAAI,MAAM,+BAA+B,GAAG,kBAAkB,UAAU,UAAU,SAAS,KAAK;EAC/H,MAAM,EAAE,QAAQ,UAAU,SAAS,WAAW,QAAQ,aAAa,KAAK,sBAAsB;EAC9F,MAAM,aAAa,SAAS,SAAS;EACrC,MAAM,OAAO,cAAc,WAAW,CAAC;EACvC,MAAM,aAAa,cAAc,KAAK;EACtC,MAAM,YAAY,QAAQ,WAAW;EACrC,MAAM,OAAO;GACZ,KAAK;GACL;GACA,UAAU;GACV,SAAS;GACT;EACD,MAAM,UAAU,SAAS,OAAO,KAAK;AACrC,WAAS,eAAe,SAAS,SAAS,aAAa;GACtD,OAAO;GACP,YAAY;GACZ,cAAc;GACd,CAAC;EACF,MAAM,qBAAqB,SAAS,cAAc;EAClD,IAAI,gBAAgB;EACpB,MAAM,aAAa,IAAI,MAAM,SAAS;GACrC,MAAM,QAAQ,GAAG,aAAa;AAC7B,QAAI,UAAU,IAAI,QAAQ,EAAE,CAAE,QAAO,UAAU,IAAI,QAAQ,GAAG,SAAS;AACvE,WAAO,UAAU,IAAI,SAAS,WAAW,GAAG,SAAS;;GAEtD,sBAAsB,SAAS;GAC/B,MAAM,GAAG,GAAG,UAAU;AACrB,QAAI,MAAM,aAAa,KAAK,cAAc,YAAY,EAAE,SAAS,OAAO,CAAC,IAAI,eAAe,OAAO;AAClG,eAAU,YAAY,MAAM;AAC5B,aAAQ,UAAU;AAClB,YAAO;;AAER,QAAI,CAAC,UAAU,IAAI,SAAS,UAAU,CAAE,SAAQ,UAAU,EAAE;AAC5D,QAAI,kBAAkB,sBAAsB,YAAY,cAAc,EAAE;AACvE,kBAAa,SAAS,SAAS,KAAK,EAAE;AACtC,YAAO;;AAER,QAAI,CAAC,YAAY,QAAQ,QAAQ,CAAE,SAAQ,QAAQ,KAAK;AACxD,QAAI,MAAM,UAAW,cAAa,SAAS,SAAS,MAAM;AAC1D,WAAO;;GAER,CAAC;AACF,WAAS,OAAO,KAAK;GACpB,MAAM;GACN;GACA,CAAC;EACF,MAAM,cAAc;GACnB,IAAI,QAAQ,OAAO;AAClB,cAAU,YAAY,MAAM;AAC5B,YAAQ,UAAU;AAClB,oBAAgB;;GAEjB,IAAI,UAAU;AACb,WAAO;;GAER;EACD,IAAI;AACJ,MAAI,KAAK,QAAQ,iBAAkB,UAAS,eAAe,MAAM,OAAO;GACvE,YAAY;GACZ,WAAW;AACV,mBAAe,KAAK,QAAQ,mBAAmB,MAAM,SAAS;AAC9D,WAAO;;GAER,MAAM,UAAU;AACf,iBAAa;;GAEd,CAAC;EACF,MAAM,UAAU,KAAK,eAAe;GACnC,qBAAqB;GACrB,6BAA6B;GAC7B,sBAAsB;GACtB,yBAAyB,QAAQ,UAAU,SAAS,IAAI;GACxD,0BAA0B,MAAM,WAAW,SAAS,eAAe,SAAS,MAAM;IACjF,YAAY;IACZ,cAAc;IACd,KAAK;IACL,CAAC;GACF,0BAA0B;GAC1B,SAAS,cAAc,KAAK;GAC5B,SAAS;GACT,QAAQ;GACR;GACA;GACA,CAAC;AACF,eAAa,WAAW;AACxB,MAAI,YAAY,OAAO,IAAK,eAAc,YAAY,QAAQ,UAAU,MAAM,IAAI,OAAO,EAAE,OAAO,CAAC;AACnG,QAAM,KAAK,UAAU,SAAS,YAAY;AAC1C,SAAO;;CAER,uBAAuB;AACtB,SAAO;GACN;GACA;GACA;GACA;;CAEF,MAAM,UAAU,SAAS,aAAa;EACrC,MAAM,iBAAiB,uBAAuB,OAAO,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC;EAC7E,MAAM,OAAO,GAAG,iBAAiB,YAAY;EAC7C,MAAM,UAAU;GACf,UAAU,QAAQ;GAClB,YAAY;GACZ,cAAc,CAAC,eAAe;GAC9B;EACD,MAAM,4BAA4B,KAAK,kCAAkC,QAAQ,UAAU,eAAe,OAAO;AACjH,MAAI;AACH,SAAM,GAAG,iBAAiB,MAAM,QAAQ,CAAC,GAAG,OAAO,OAAO,QAAQ,CAAC;YAC1D;AACT,QAAK,QAAQ,qBAAqB,IAAI,QAAQ,UAAU,2BAA2B,CAAC;;;;;;;CAOtF,kCAAkC,UAAU,aAAa;EACxD,MAAM,YAAY,KAAK,gBAAgB;AACvC,OAAK,eAAe,KAAK;GACxB;GACA;GACA,eAAe;GACf,CAAC;AACF,eAAa;GACZ,MAAM,WAAW,KAAK,gBAAgB,GAAG;GACzC,MAAM,mBAAmB,KAAK,eAAe,KAAK;AAClD,OAAI,oBAAoB,KAAM,OAAM,IAAI,MAAM,qDAAqD;GACnG,MAAM,WAAW,WAAW,iBAAiB;AAC7C,OAAI,KAAK,eAAe,SAAS,EAAG,MAAK,eAAe,GAAG,GAAG,CAAC,iBAAiB;AAChF,UAAO;IACN;IACA;IACA;IACA;;;CAGH,eAAe,SAAS;AACvB,SAAO;;;;;;CAMR,cAAc,QAAQ,KAAK;AAC1B,MAAI,KAAK,QAAQ,mBAAmB,MAAO,QAAO;AAClD,SAAO,CAAC,OAAO,SAAS,OAAO,IAAI,aAAa;;CAEjD,qBAAqB,QAAQ;AAC5B,SAAO;;GAEN;;;;;;CAMF,MAAM,gBAAgB,QAAQ;EAC7B,MAAM,iBAAiB,MAAM,KAAK,qBAAqB,OAAO;AAC9D,MAAI,CAAC,KAAK,cAAc,QAAQ,eAAe,CAAE,QAAO;EACxD,MAAM,EAAE,KAAK,kBAAkB,cAAc,eAAe;AAC5D,SAAO,IAAI,MAAM,KAAK;GACrB,IAAI,OAAO,MAAM;AAChB,QAAI,SAAS,UAAW,QAAO;AAC/B,WAAO,MAAM,SAAS,gBAAgB;;GAEvC,IAAI,OAAO,MAAM;AAChB,QAAI,SAAS,UAAW,QAAO,kBAAkB,KAAK;AACtD,WAAO,QAAQ,SAAS,iBAAiB,QAAQ;;GAElD,yBAAyB,OAAO,MAAM;IACrC,MAAM,aAAa,QAAQ,yBAAyB,OAAO,KAAK;AAChE,QAAI,WAAY,QAAO;AACvB,QAAI,SAAS,aAAa,kBAAkB,KAAK,EAAG,QAAO;KAC1D,OAAO;KACP,YAAY;KACZ,cAAc;KACd;;GAEF,CAAC;;;AAGJ,SAAS,cAAc,KAAK;AAC3B,KAAI,YAAY,IAAI,CAAE,QAAO;EAC5B,KAAK,EAAE,SAAS,KAAK;EACrB,eAAe;EACf;CACD,IAAI,gBAAgB,aAAa,MAAM,IAAI,UAAU;AACrD,KAAI,CAAC,YAAY,cAAc,IAAI,gBAAgB,eAAe;AACjE,QAAM;AACN,MAAI,aAAa,cAAe,iBAAgB,cAAc;;AAE/D,QAAO;EACN;EACA;EACA;;AAEF,SAAS,aAAa,SAAS,KAAK,OAAO;AAC1C,QAAO,eAAe,SAAS,KAAK;EACnC,YAAY;EACZ,cAAc;EACd,KAAK;EACL,CAAC;;AAEH,SAAS,UAAU,SAAS,cAAc;AACzC,KAAI,YAAY,aAAc;AAC9B,KAAI,YAAY,aAAa,IAAI,MAAM,QAAQ,aAAa,IAAI,wBAAwB,QAAS;AACjG,MAAK,MAAM,OAAO,aAAc,KAAI,QAAQ,aAAa,EAAE,OAAO,SAAU,KAAI;AAC/E,eAAa,SAAS,WAAW,aAAa,KAAK;SAC5C;;;;;ACpdT,IAAI,IAAI;CACP,OAAO,CAAC,GAAG,EAAE;CACb,MAAM;EACL;EACA;EACA;EACA;CACD,KAAK;EACJ;EACA;EACA;EACA;CACD,QAAQ,CAAC,GAAG,GAAG;CACf,WAAW,CAAC,GAAG,GAAG;CAClB,SAAS,CAAC,GAAG,GAAG;CAChB,QAAQ,CAAC,GAAG,GAAG;CACf,eAAe,CAAC,GAAG,GAAG;CACtB,OAAO,CAAC,IAAI,GAAG;CACf,KAAK,CAAC,IAAI,GAAG;CACb,OAAO,CAAC,IAAI,GAAG;CACf,QAAQ,CAAC,IAAI,GAAG;CAChB,MAAM,CAAC,IAAI,GAAG;CACd,SAAS,CAAC,IAAI,GAAG;CACjB,MAAM,CAAC,IAAI,GAAG;CACd,OAAO,CAAC,IAAI,GAAG;CACf,MAAM,CAAC,IAAI,GAAG;CACd,SAAS,CAAC,IAAI,GAAG;CACjB,OAAO,CAAC,IAAI,GAAG;CACf,SAAS,CAAC,IAAI,GAAG;CACjB,UAAU,CAAC,IAAI,GAAG;CAClB,QAAQ,CAAC,IAAI,GAAG;CAChB,WAAW,CAAC,IAAI,GAAG;CACnB,QAAQ,CAAC,IAAI,GAAG;CAChB,SAAS,CAAC,IAAI,GAAG;CACjB,aAAa,CAAC,IAAI,GAAG;CACrB,WAAW,CAAC,IAAI,GAAG;CACnB,aAAa,CAAC,IAAI,GAAG;CACrB,cAAc,CAAC,IAAI,GAAG;CACtB,YAAY,CAAC,IAAI,GAAG;CACpB,eAAe,CAAC,IAAI,GAAG;CACvB,YAAY,CAAC,IAAI,GAAG;CACpB,aAAa,CAAC,IAAI,GAAG;CACrB,eAAe,CAAC,KAAK,GAAG;CACxB,aAAa,CAAC,KAAK,GAAG;CACtB,eAAe,CAAC,KAAK,GAAG;CACxB,gBAAgB,CAAC,KAAK,GAAG;CACzB,cAAc,CAAC,KAAK,GAAG;CACvB,iBAAiB,CAAC,KAAK,GAAG;CAC1B,cAAc,CAAC,KAAK,GAAG;CACvB,eAAe,CAAC,KAAK,GAAG;CACxB;AACD,SAAS,EAAE,GAAG;AACb,QAAO,OAAO,EAAE;;AAEjB,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,SAAS,IAAI;CACZ,IAAI,IAAI,OAAO,WAAW,cAAc,UAAU,KAAK,GAAG,KAAK,KAAK,OAAO,KAAK,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,SAAS,KAAK,KAAK,OAAO,KAAK,IAAI,EAAE,SAAS,EAAE;AACtK,QAAO,EAAE,cAAc,KAAK,EAAE,SAAS,aAAa,MAAM,iBAAiB,KAAK,EAAE,SAAS,UAAU,KAAK,KAAK,OAAO,KAAK,IAAI,EAAE,cAAc,WAAW,KAAK,EAAE,SAAS,UAAU,QAAQ,MAAM,OAAO,UAAU,eAAe,CAAC,CAAC,OAAO;;AAE5O,SAAS,IAAI;CACZ,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,MAAM;EAChC,IAAI,IAAI,IAAI,IAAI;AAChB;AACC,QAAK,EAAE,UAAU,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,GAAG,EAAE;SAC3D,CAAC;AACR,SAAO,IAAI,EAAE,UAAU,EAAE;IACvB,KAAK,GAAG,GAAG,IAAI,MAAM;EACvB,IAAI,KAAK,MAAM;GACd,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,OAAO;AAC7C,UAAO,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI;;AAE7C,SAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG;IAC9B,IAAI,EAAE,kBAAkB,GAAG,EAAE,KAAK,MAAM,QAAQ,EAAE;AACrD,MAAK,IAAI,KAAK,GAAG;EAChB,IAAI,IAAI,EAAE;AACV,IAAE,KAAK,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG;;AAExC,QAAO;;AAER,IAAI,IAAI,GAAG;;;;AChFX,MAAM,oBAAoB;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAM,iCAAiC,IAAI,OAAO,OAAO,kBAAkB,KAAK,IAAI,CAAC,IAAI;;;;AC5BzF,IAAW;CAAY,SAAS,KAAE;AAAC,KAAE,IAAE,SAAO,KAAG,UAAS,IAAE,IAAE,UAAQ,KAAG,WAAU,IAAE,IAAE,aAAW,KAAG,cAAa,IAAE,IAAE,oBAAkB,KAAG,qBAAoB,IAAE,IAAE,qBAAmB,KAAG,sBAAqB,IAAE,IAAE,mBAAiB,KAAG,oBAAmB,IAAE,IAAE,oBAAkB,KAAG;GAAqB,eAAa,aAAW,EAAE,EAAE;AAAC,MAAM,IAAE,MAAI,IAAI,WAAW,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AAAG,SAAgBC,QAAM,KAAE,MAAE,KAAI;AAAC,KAAG,CAACC,IAAE,QAAO,KAAK,YAAUD,QAAME,IAAE,EAAE;CAAC,MAAM,IAAEA,IAAE,SAAO,GAAE,KAAGD,IAAE,YAAY,SAAOA,IAAE,eAAa,IAAE,IAAEA,IAAE,OAAO,OAAO;AAAW,KAAE,KAAGA,IAAE,OAAO,KAAK,KAAK,KAAK,IAAE,MAAM,CAAC;CAAC,MAAM,IAAEA,IAAE,GAAG,IAAE,EAAE;AAAC,MAAI,IAAE,IAAE,GAAGC,KAAE,IAAI,YAAYD,IAAE,OAAO,QAAO,GAAE,EAAE,CAAC,EAAC,CAACA,IAAE,OAAO,CAAC,OAAM,OAAO,uBAAO,IAAI,MAAM,eAAeE,IAAE,GAAGD,IAAE,MAAM,GAAED,IAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,GAAGA,IAAE,GAAG,GAACC,IAAE,YAAY,MAAKD,IAAE,GAAG,GAAC,EAAE,GAAG,EAAC,EAAC,KAAIA,IAAE,GAAG,EAAC,CAAC;CAAC,MAAM,IAAE,EAAE,EAAC,IAAE,EAAE;AAAC,QAAKA,IAAE,IAAI,GAAE;EAAC,MAAMG,MAAEH,IAAE,IAAI,EAACI,MAAEJ,IAAE,IAAI,EAACK,MAAEL,IAAE,IAAI,EAACE,MAAEF,IAAE,IAAI,EAACM,MAAEN,IAAE,IAAI,EAACO,MAAEP,IAAE,IAAI,EAACQ,MAAER,IAAE,IAAI;EAAC,IAAIS;AAAE,MAAE,IAAI,KAAG,MAAE,EAAER,IAAE,MAAM,OAAKK,MAAEH,MAAE,IAAEA,KAAE,OAAKG,MAAEF,MAAE,IAAEA,IAAE,CAAC,GAAE,EAAE,KAAK;GAAC,GAAEK;GAAE,GAAEJ;GAAE,GAAEF;GAAE,GAAEC;GAAE,IAAGG;GAAE,IAAGC;GAAE,GAAEF;GAAE,GAAEJ;GAAE,CAAC;;AAAC,QAAKF,IAAE,IAAI,GAAE;EAAC,MAAMG,MAAEH,IAAE,IAAI,EAACI,MAAEJ,IAAE,IAAI,EAACK,MAAEL,IAAE,KAAK,EAACE,MAAEF,IAAE,KAAK,EAACM,MAAEL,IAAE,MAAME,KAAEC,IAAE,EAACG,MAAED,IAAE,IAAGE,MAAEH,MAAE,IAAE,KAAK,IAAEJ,IAAE,MAAMI,KAAEH,IAAE,EAACQ,MAAEF,MAAEA,IAAE,KAAG;AAAG,IAAE,KAAK;GAAC,GAAEL;GAAE,GAAEC;GAAE,IAAGC;GAAE,IAAGH;GAAE,GAAE,SAAMK,OAAG,QAAMA,MAAE,EAAED,IAAE,GAACA;GAAE,IAAG,SAAMI,OAAG,QAAMA,MAAE,EAAEF,IAAE,GAACA;GAAE,CAAC;;CAAC,SAAS,EAAE,KAAE;AAAC,MAAG;AAAC,WAAO,GAAE,MAAML,IAAE;WAAOA,KAAE;;AAAG,QAAM;EAAC;EAAE;EAAE,CAAC,CAACH,IAAE,GAAG;EAAC,CAAC,CAACA,IAAE,IAAI;EAAC;;AAAC,SAAS,EAAE,KAAE,KAAE;CAAC,MAAMK,MAAEF,IAAE;CAAO,IAAIH,MAAE;AAAE,QAAKA,MAAEK,MAAG;EAAC,MAAMA,MAAEF,IAAE,WAAWH,IAAE;AAAC,MAAE,UAAM,MAAIK,QAAI,IAAEA,QAAI;;;AAAG,SAAS,EAAE,KAAE,KAAE;CAAC,MAAMA,MAAEF,IAAE;CAAO,IAAIH,MAAE;AAAE,QAAKA,MAAEK,KAAG,KAAEL,OAAGG,IAAE,WAAW,MAAI;;AAAC,IAAIH;AAAE,MAAM,UAAM;AAAC,QAAO,MAAE,4lYAA2lY,eAAa,OAAO,SAAO,OAAO,KAAKG,KAAE,SAAS,GAAC,WAAW,KAAK,KAAKA,IAAE,IAAE,QAAGA,IAAE,WAAW,EAAE,EAAE;KAAKA;;AAAG,MAAa,OAAK,YAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,OAAO,EAAC,SAAQA,UAAK;AAAC,OAAEA;GAAI;;;;ACc7ub,SAAS,SAAS,GAAG;AACpB,QAAO,EAAE,MAAM,GAAG,CAAC,QAAQ,GAAG,MAAM;AACnC,OAAK,KAAK,KAAK,IAAI,EAAE,WAAW,EAAE;AAClC,SAAO,IAAI;IACT,EAAE;;AAEN,IAAI,WAAW,MAAM;CACpB;CACA;CACA,iCAAiC,IAAI,KAAK;CAC1C,YAAY,MAAM,SAAS;AAC1B,OAAK,UAAU;AACf,MAAI,QAAQ,YAAa,MAAK,UAAUQ,UAAQ,MAAM,QAAQ,gBAAgB,OAAO,oBAAoB,QAAQ,YAAY;AAC7H,MAAI,KAAK,QAAS,KAAI,QAAQ,mBAAoB,SAAQ,KAAK,EAAE,KAAK,yCAAyC,KAAK,UAAU,CAAC;MAC1H,SAAQ,KAAK,EAAE,KAAK,uCAAuC,KAAK,UAAU,CAAC;AAChF,OAAK,cAAc,KAAK,WAAW;;CAEpC,MAAM,YAAY;AACjB,MAAI,CAAC,KAAK,QAAS;AACnB,MAAI,CAAC,KAAK,QAAQ,sBAAsB,WAAW,KAAK,QAAQ,CAAE,OAAM,SAAS,GAAG,KAAK,SAAS;GACjG,WAAW;GACX,OAAO;GACP,CAAC;AACF,QAAM,SAAS,MAAM,KAAK,SAAS,EAAE,WAAW,MAAM,CAAC;;CAExD,SAAS,IAAI;AACZ,SAAO,GAAG,GAAG,QAAQ,aAAa,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC;;CAE5E,MAAM,kBAAkB,IAAI,QAAM;AACjC,MAAI,CAAC,KAAK,QAAS;AACnB,OAAK,eAAe,IAAI,IAAIC,OAAK;AACjC,QAAM,KAAK,WAAW;;CAEvB,MAAM,SAAS,IAAI,QAAQ;AAC1B,MAAI,CAAC,UAAU,CAAC,KAAK,QAAS;AAC9B,QAAM,KAAK;EACX,MAAM,OAAO,KAAK,SAAS,GAAG;AAC9B,SAAO,MAAM,SAAS,UAAU,KAAK,KAAK,SAAS,KAAK,EAAE,MAAM,GAAG,QAAQ,OAAO,MAAM,CAAC,IAAI,OAAO,QAAQ,QAAQ;;CAErH,MAAM,SAAS,IAAI;AAClB,MAAI,CAAC,KAAK,QAAS,QAAO;AAC1B,QAAM,KAAK;EACX,MAAM,OAAO,KAAK,SAAS,GAAG;EAC9B,MAAMA,SAAO,KAAK,KAAK,SAAS,KAAK;AACrC,MAAI,CAAC,WAAWA,OAAK,CAAE,QAAO;AAC9B,SAAO;GACN,OAAO,MAAM,SAAS,SAASA,QAAM,QAAQ,EAAE,QAAQ,aAAa,GAAG;GACvE,KAAK,KAAK;GACV;;CAEF,MAAM,YAAY;AACjB,MAAI,CAAC,KAAK,QAAS;EACnB,MAAM,OAAO,KAAK,UAAU;GAC3B,uBAAuB,IAAI,MAAM,EAAE,gBAAgB;GACnD,aAAa,OAAO,YAAY,KAAK,eAAe,SAAS,CAAC;GAC9D,EAAE,MAAM,EAAE;AACX,SAAO,SAAS,UAAU,KAAK,KAAK,SAAS,YAAY,EAAE,MAAM,QAAQ;;;AAM3E,MAAM,qBAAqB,IAAI,IAAI;CAClC;CACA;CACA;CACA;CACA,CAAC;AACF,MAAM,aAAa;AACnB,MAAM,gBAAgB;AACtB,MAAM,gBAAgB;CACrB;CACA;CACA;CACA;CACA;AACD,MAAM,eAAe,CAAC,gCAAgC,2BAA2B;AACjF,SAAS,gBAAgB,IAAI;AAC5B,KAAI,GAAG,MAAM,WAAW,EACvB;OAAK,MAAM,KAAK;GACf,GAAG,QAAQ,YAAY,OAAO;GAC9B,GAAG,QAAQ,YAAY,UAAU;GACjC,GAAG,QAAQ,YAAY,UAAU;GACjC,GAAG,QAAQ,YAAY,MAAM;GAC7B,CAAE,KAAI,WAAW,EAAE,CAAE,QAAO;;AAE9B,KAAI,GAAG,MAAM,cAAc,EAC1B;OAAK,MAAM,KAAK;GACf,GAAG,QAAQ,eAAe,UAAU;GACpC,GAAG,QAAQ,eAAe,UAAU;GACpC,GAAG,QAAQ,eAAe,UAAU;GACpC,GAAG,QAAQ,eAAe,MAAM;GAChC,CAAE,KAAI,WAAW,EAAE,CAAE,QAAO;;;AAG/B,eAAe,kBAAkB,IAAI;CACpC,MAAM,YAAY,QAAQ,GAAG;AAC7B,KAAI,mBAAmB,IAAI,UAAU,CAAE,QAAO;AAC9C,KAAI,cAAc,MAAO,QAAO;AAChC,MAAK,GAAG,QAAQ,YAAY,GAAG;AAC/B,MAAK,MAAM,uBAAuBC,UAAQ,GAAG,CAAC,EAAE,SAAS,SAAU,QAAO;AAC1E,KAAI,yCAAyC,KAAK,GAAG,CAAE,QAAO;AAC9D,KAAI;AACH,QAAMC;EACN,MAAM,OAAO,MAAM,SAAS,SAAS,IAAI,OAAO;EAChD,MAAM,OAAO,mBAAmBC,QAAoB,KAAK;AACzD,SAAO,CAAC;SACD;AACP,SAAO;;;AAGT,MAAM,2CAA2C,IAAI,KAAK;AAC1D,eAAe,kBAAkB,IAAI,SAAS,QAAQ,0BAA0B;AAC/E,KAAI,CAAC,MAAM,IAAI,GAAG,CAAE,OAAM,IAAI,IAAI,mBAAmB,IAAI,QAAQ,CAAC;AAClE,QAAO,MAAM,IAAI,GAAG;;AAErB,eAAe,mBAAmB,IAAI,SAAS;AAC9C,KAAI,cAAc,GAAG,CAAE,QAAO;AAC9B,KAAI,GAAG,WAAW,QAAQ,IAAI,oBAAoB,KAAK,GAAG,CAAE,QAAO;AACnE,MAAK,uBAAuB,GAAG;CAC/B,MAAM,oBAAoB,SAAS,qBAAqB,CAAC,iBAAiB;AAC1E,KAAI,wBAAwB,IAAI,mBAAmB,SAAS,OAAO,CAAE,QAAO;AAC5E,KAAI,SAAS,eAAe,SAAS,YAAY,SAAS,GAAG,CAAE,QAAO;AACtE,KAAI,wBAAwB,IAAI,mBAAmB,SAAS,SAAS,CAAE,QAAO;AAC9E,KAAI,SAAS,YAAY,GAAG,SAAS,QAAQ,SAAS,CAAE,QAAO;CAC/D,MAAM,kBAAkB,kBAAkB,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC;AACzE,MAAK,mBAAmB,SAAS,cAAc,gBAAgB,GAAG,IAAI,KAAK;AAC3E,KAAI,wBAAwB,IAAI,mBAAmB,cAAc,CAAE,QAAO;AAC1E,KAAI,wBAAwB,IAAI,mBAAmB,aAAa,CAAE,QAAO;AACzE,KAAI,mBAAmB,MAAM,kBAAkB,GAAG,CAAE,QAAO;AAC3D,QAAO;;AAER,SAAS,wBAAwB,IAAI,mBAAmB,UAAU;AACjE,KAAI,YAAY,KAAM,QAAO;AAC7B,KAAI,aAAa,KAAM,QAAO;AAC9B,MAAK,MAAM,MAAM,SAAU,KAAI,OAAO,OAAO,UAC5C;MAAI,kBAAkB,MAAM,QAAQ,GAAG,SAAS,KAAK,KAAK,GAAG,CAAC,CAAC,CAAE,QAAO;YAC9D,GAAG,KAAK,GAAG,CAAE,QAAO;AAC/B,QAAO;;AAER,SAAS,uBAAuB,QAAM;AACrC,KAAIH,OAAK,MAAM,SAAS,CAAE,QAAO,WAAW,MAAMA,OAAK;UAC9CA,OAAK,MAAM,SAAS,CAAE,QAAO,WAAWA;KAC5C,QAAOA;;AAKb,MAAM,eAAe,YAAY,2BAA2B;AAC5D,IAAI,iBAAiB,MAAM;CAC1B,kBAAkB;EACjB,qBAAqB,IAAI,KAAK;EAC9B,qBAAqB,IAAI,KAAK;EAC9B;CACD,sBAAsB;EACrB,qBAAqB,IAAI,KAAK;EAC9B,qBAAqB,IAAI,KAAK;EAC9B;CACD,YAAY;EACX,qBAAqB,IAAI,KAAK;EAC9B,qBAAqB,IAAI,KAAK;EAC9B;CACD,wCAAwC,IAAI,KAAK;CACjD,cAAc;EACb,qBAAqB,IAAI,KAAK;EAC9B,qBAAqB,IAAI,KAAK;EAC9B;CACD,6BAA6B,IAAI,KAAK;CACtC,mCAAmC,IAAI,KAAK;CAC5C;CACA,YAAY,QAAQ,UAAU,EAAE,EAAE;AACjC,OAAK,SAAS;AACd,OAAK,UAAU;EACf,MAAM,aAAa,OAAO,OAAO;AACjC,UAAQ,SAAS,EAAE;AACnB,UAAQ,KAAK,WAAW,SAAS,OAAO,OAAO,MAAM,QAAQ,KAAK,YAAY,OAAO,OAAO,SAAS;AACrG,MAAI,YACH;OAAI,WAAW,eAAe,KAAM,SAAQ,KAAK,WAAW;YACnD,QAAQ,KAAK,WAAW,MAAM;AACtC,YAAQ,KAAK,WAAW,EAAE;IAC1B,MAAM,SAAS,QAAQ,KAAK;AAC5B,YAAQ,KAAK,OAAO,KAAK,GAAG,QAAQ,WAAW,WAAW,CAAC,QAAQ,QAAQ,CAAC,OAAO,SAAS,IAAI,CAAC,CAAC;;;AAGpG,MAAII,UAAQ,IAAI,qBAAsB,SAAQ,QAAQ,OAAO,OAAO;GACnE,aAAa,CAAC,CAACA,UAAQ,IAAI;GAC3B,oBAAoBA,UAAQ,IAAI,yBAAyB;GACzD,EAAE,QAAQ,SAAS,EAAE,CAAC;AACvB,MAAI,QAAQ,MAAO,MAAK,WAAW,IAAI,SAAS,OAAO,OAAO,MAAM,QAAQ,MAAM;AAClF,MAAI,QAAQ,KAAK,YAAa,SAAQ,KAAK,cAAc,QAAQ,KAAK,YAAY,SAAS,SAAS;AACnG,OAAI,KAAK,WAAW,UAAU,CAAE,QAAO;GACvC,MAAM,aAAaL,UAAQ,KAAK;AAChC,UAAO,CAAC,YAAY,cAAc,WAAW,CAAC,KAAK;IAClD;AACF,UAAQ,KAAK,sBAAsB,EAAE;EACrC,MAAM,2BAA2BK,UAAQ,IAAI,qCAAqCA,UAAQ,IAAI,+CAA+C,MAAM,IAAI;AACvJ,MAAI,wBAAyB,SAAQ,KAAK,kBAAkB,KAAK,GAAG,wBAAwB;AAC5F,UAAQ,KAAK,oBAAoB,QAAQ,KAAK,kBAAkB,KAAK,QAAQ;AAC5E,OAAI,CAAC,IAAI,WAAW,IAAI,CAAE,OAAM,IAAI;AACpC,OAAI,CAAC,IAAI,SAAS,IAAI,CAAE,QAAO;AAC/B,UAAO,UAAU,IAAI;IACpB;AACF,MAAI,CAAC,QAAQ,KAAK,kBAAkB,SAAS,iBAAiB,CAAE,SAAQ,KAAK,kBAAkB,KAAK,iBAAiB;;CAEtH,kBAAkB,IAAI;AACrB,SAAO,kBAAkB,IAAI,KAAK,QAAQ,MAAM,KAAK,iBAAiB;;CAEvE,mBAAmB;EAClB,MAAM,eAAe,CAAC,GAAG,KAAK,UAAU,IAAI,QAAQ,CAAC,CAAC,MAAM;EAC5D,MAAM,eAAe,CAAC,GAAG,KAAK,UAAU,IAAI,QAAQ,CAAC,CAAC,MAAM;AAC5D,SAAO,CAAC,GAAG,cAAc,GAAG,aAAa,CAAC,QAAQ,GAAG,MAAM,IAAI,GAAG,EAAE;;CAErE,MAAM,aAAa,IAAI;AACtB,MAAI,KAAK,sBAAsB,IAAI,GAAG,CAAE,QAAO;AAC/C,MAAI,WAAW,GAAG,EAAE;AACnB,QAAK,sBAAsB,IAAI,GAAG;AAClC,UAAO;;AAER,SAAO,IAAI,SAAS,gBAAc;AACjC,oBAAiB;AAChB,SAAK,aAAa,GAAG,CAAC,WAAW;AAChC,iBAAU,KAAK;MACd;KACD;IACD;;CAEH,MAAM,UAAU,IAAI,UAAU,eAAe;AAC5C,MAAI,YAAY,CAAC,SAAS,WAAW,kBAAkB,KAAK,OAAO,OAAO,KAAK,CAAC,CAAE,YAAWL,UAAQ,KAAK,OAAO,OAAO,MAAM,SAAS;EACvI,MAAM,OAAO,kBAAkB,YAAY,KAAK,iBAAiB,SAAS,IAAI;AAC9E,SAAO,KAAK,OAAO,gBAAgB,UAAU,IAAI,UAAU,EAAE,KAAK,SAAS,OAAO,CAAC;;CAEpF,aAAa,QAAQ;AACpB,WAAS,kBAAkB,OAAO;EAClC,MAAM,cAAc,KAAK,WAAW,IAAI,OAAO,EAAE;AACjD,MAAI,aAAa,IAAK,QAAO,YAAY;AACzC,UAAQ,KAAK,OAAO,YAAY,cAAc,OAAO,EAAE,qBAAqB,OAAO;;CAEpF,WAAW,MAAM;AAChB,SAAO,SAAS,SAAS,SAAS,OAAO,yDAAyD,KAAK,IAAI;;CAE5G,MAAM,YAAY,IAAI,eAAe;EACpC,MAAM,OAAO,iBAAiB,KAAK,iBAAiB,GAAG;AACvD,SAAO,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,MAAM;AAC7C,UAAO,KAAK,QAAQ,cAAc,OAAO;IACxC,GAAG;IACH,KAAK,KAAK;IACV,GAAG;IACH;;CAEH,MAAM,YAAY,IAAI,MAAM;EAC3B,MAAM,WAAW,kBAAkB,GAAG;AACtC,OAAK,WAAW,KAAK;EACrB,MAAM,aAAa,KAAK,gBAAgB;AACxC,MAAI,CAAC,WAAW,IAAI,SAAS,CAAE,YAAW,IAAI,UAAU,KAAK,aAAa,UAAU,KAAK,CAAC,cAAc;AACvG,cAAW,OAAO,SAAS;IAC1B,CAAC;AACH,SAAO,WAAW,IAAI,SAAS;;CAEhC,MAAM,iBAAiB,IAAI,WAAW,IAAI,eAAe;EACxD,MAAM,OAAO,iBAAiB,KAAK,iBAAiB,GAAG;AACvD,OAAK,WAAW,KAAK;EACrB,MAAM,aAAa,KAAK,oBAAoB;AAC5C,MAAI,CAAC,WAAW,IAAI,GAAG,CAAE,YAAW,IAAI,IAAI,KAAK,kBAAkB,IAAI,UAAU,KAAK,CAAC,cAAc;AACpG,cAAW,OAAO,GAAG;IACpB,CAAC;AACH,SAAO,WAAW,IAAI,GAAG;;CAE1B,MAAM,gBAAgB,IAAI,eAAe;AACxC,MAAI,kBAAkB,MAAO,OAAM,IAAI,MAAM,4DAA4D;EACzG,MAAM,eAAe,kBAAkB,GAAG;AAC1C,SAAO,EAAE,OAAO,KAAK,OAAO,YAAY,cAAc,aAAa,EAAE,mBAAmB,MAAM,KAAK,OAAO,iBAAiB,aAAa,GAAG,MAAM;;CAElJ,iBAAiB,IAAI;EACpB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AACnC,MAAI,KAAK,QAAQ,eAAe,KAAK,MAAM,MAAM,aAAa,MAAM,EAAE,CAAC,CAAE,QAAO;AAChF,MAAI,KAAK,QAAQ,eAAe,KAAK,MAAM,MAAM,aAAa,MAAM,EAAE,CAAC,CAAE,QAAO;AAChF,MAAI,aAAa,MAAM,yBAAyB,CAAE,QAAO;AACzD,SAAO;;CAER,iBAAiB,IAAI,MAAM;EAC1B,MAAM,SAAS,KAAK,OAAO,YAAY,cAAc,GAAG,IAAI,KAAK,OAAO,YAAY,cAAc,KAAK;AACvG,MAAI,OAAQ,QAAO;EACnB,MAAM,WAAW,KAAK,OAAO,YAAY,iBAAiB,KAAK;AAC/D,MAAI,CAAC,YAAY,CAAC,SAAS,KAAM,QAAO;EACxC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC;EACxB,IAAI,YAAY;AAChB,OAAK,MAAM,KAAK,UAAU;GACzB,MAAM,YAAY,KAAK,IAAI,EAAE,kBAAkB,EAAE,0BAA0B;AAC3E,OAAI,YAAY,WAAW;AAC1B,gBAAY;AACZ,UAAM;;;AAGR,SAAO;;CAER,MAAM,aAAa,IAAI,eAAe;EACrC,IAAI;EACJ,MAAM,WAAW,KAAK,QAAQ,MAAM;AACpC,MAAI,YAAY,GAAG,SAAS,SAAS,EAAE;AACtC,OAAI,CAAC,GAAG,WAAW,kBAAkB,KAAK,OAAO,OAAO,KAAK,CAAC,CAAE,MAAK,KAAK,KAAK,OAAO,OAAO,MAAM,GAAG;GACtG,MAAM,UAAU,iBAAiB;AAChC,UAAM,IAAI,MAAM,mBAAmB,GAAG,8CAA8C;MAClF,IAAI;AACP,SAAM,KAAK,aAAa,GAAG;AAC3B,gBAAa,QAAQ;;EAEtB,MAAM,EAAE,MAAM,aAAa,WAAW,IAAI,KAAK,OAAO,OAAO,KAAK;EAClE,MAAM,aAAa,KAAK,iBAAiB,IAAI,SAAS;EACtD,MAAM,QAAQ,KAAK,YAAY,eAAe,IAAI,SAAS;EAC3D,MAAM,YAAY,aAAa,KAAK,IAAI,WAAW,kBAAkB,WAAW,0BAA0B,GAAG;AAC7G,MAAI,UAAU,cAAc,KAAK,MAAM,aAAa,WAAY,QAAO,MAAM;EAC7E,MAAMM,SAAO,KAAK,KAAK;EACvB,MAAM,cAAc,MAAM,KAAK,kBAAkB,SAAS;EAC1D,IAAI;AACJ,MAAI,aAAa;AAChB,YAAS,EAAE,aAAa;AACxB,QAAK,UAAU,kBAAkB,IAAI,YAAY;SAC3C;GACN,MAAM,QAAQC,cAAY,KAAK;GAC/B,MAAM,IAAI,MAAM,KAAK,kBAAkB,IAAI,UAAU,cAAc;AACnE,cAAWA,cAAY,KAAK,GAAG;AAC/B,YAAS;IACR,MAAM,GAAG;IACT,KAAK,GAAG;IACR;;EAEF,MAAM,aAAa;GAClB;GACA,WAAWD;GACX;GACA;EACD,MAAM,YAAY,KAAK,UAAU,eAAe,IAAI,SAAS,IAAI,EAAE;AACnE,OAAK,UAAU,eAAe,IAAI,UAAU,CAAC,GAAG,WAAW,YAAY,EAAE,CAAC;AAC1E,OAAK,YAAY,eAAe,IAAI,UAAU,WAAW;AACzD,OAAK,WAAW,IAAI,UAAU,WAAW;AACzC,SAAO;;CAER,MAAM,uBAAuB,UAAU,QAAQ;AAC9C,SAAO,oBAAoB,QAAQ;GAClC,UAAU,KAAK,OAAO,YAAY,cAAc,SAAS,EAAE,QAAQ;GACnE,MAAM,KAAK,OAAO,OAAO;GACzB,oBAAoB,OAAO,QAAQ,MAAM,IAAI,CAAC,GAAG,IAAI;GACrD,CAAC;;CAEH,MAAM,kBAAkB,IAAI,UAAU,eAAe;AACpD,eAAa,GAAG;EAChB,IAAI,SAAS;AACb,MAAI,KAAK,QAAQ,OAAO,oBAAoB;AAC3C,YAAS,MAAM,KAAK,UAAU,SAAS,GAAG,IAAI;AAC9C,OAAI,OAAQ,QAAO;;AAEpB,MAAI,kBAAkB,OAAO;AAC5B,YAAS,MAAM,KAAK,OAAO,iBAAiB,GAAG;AAC/C,OAAI,OAAQ,UAAS,MAAM,KAAK,OAAO,aAAa,OAAO,MAAM,OAAO,KAAK,GAAG;QAC1E,UAAS,MAAM,KAAK,OAAO,iBAAiB,IAAI,EAAE,KAAK,MAAM,CAAC;AACrE,OAAK,KAAK,QAAQ,aAAa,cAAc,YAAY,OAAQ,UAAS,MAAM,KAAK,uBAAuB,UAAU,OAAO;AAC7H,MAAI,KAAK,QAAQ,OAAO,YAAa,OAAM,KAAK,UAAU,SAAS,IAAI,OAAO;AAC9E,SAAO;;;;;;AC3WT,MAAa,MAAM,IAAI,IAAI,GAAG,cAAc,QAAQ,KAAK,CAAC,CAAC,GAAG;AAC9D,MAAa,sBAAsB,IAAI,IAAI,wBAAwB,IAAI;AACvE,MAAa,sBAAsB,IAAI,IAAI,iBAAiB,IAAI;AAIhE,MAAa,cAAc,GAAG,MAAM,IAAI;;AAsBxC,eAAsB,WAAW,EAAE,KAAK,OAAO,UAA6B;;;;;CAK1E,IAAIE;AACJ,KAAI;EACF,IAAIC,SAAqB;GACvB,QAAQ,CAAC,oBAAoB;GAC7B,QAAQ,IAAI,IAAI,aAAa,IAAI;GACjC,SAAS,EAAE;GACX,MAAM;IACJ,OAAO,EAAE,SAAS,MAAM;IACxB,OAAO,EAAE;IACV;GACD,QAAQ;IAAE,QAAQ,EAAE;IAAE,YAAY;IAAO;GAC1C;EACD,IAAIC;AAEJ,MAAI,OAAO,MAAM,WAAW,UAAU;AACpC,OAAI,MAAM,WAAW,IAAI;AACvB,WAAO,MAAM;KAAE,OAAO;KAAU,SAAS;KAAoC,CAAC;AAC9E,YAAQ,KAAK,EAAE;;AAEjB,gBAAa,cAAc,MAAM,OAAO;AACxC,OAAI,CAAC,WACH,QAAO,MAAM;IAAE,OAAO;IAAU,SAAS,oBAAoB,MAAM;IAAU,CAAC;;EAIlF,MAAM,qBAAqB,cAAc,WAAW;AACpD,MAAI,mBACF,KAAI;AAKF,gBAAa,MAAM,aAAa,EAAE,MAAM,eAAe,CAAC;GACxD,MAAM,iBAAiB,IAAI,eAAe,WAAW;GAWrD,MAAM,MAAM,MAVW,IAAI,eAAe;IACxC,MAAM,WAAW,OAAO;IACxB,MAAM,WAAW,OAAO;IACxB,YAAY,GAAG,MAAM;AACnB,YAAO,eAAe,YAAY,GAAG,KAAK;;IAE5C,UAAU,GAAG,MAAM;AACjB,YAAO,eAAe,UAAU,GAAG,KAAK;;IAE3C,CAAC,CAC+B,YAAY,mBAAmB;AAChE,OAAI,CAAC,IAAI,QAEP,OAAM,IAAI,MACR,8BAA8B,mBAAmB,mDAClD;AAEH,YAASC,eAAa,IAAI,SAAS;IAAE;IAAK;IAAQ,CAAC;WAC5C,KAAK;AACZ,UAAO,MAAM;IAAE,OAAO;IAAU,SAAU,IAAc,WAAY;IAAgB,CAAC;;WAE9E,QAAQ,UAAU,QAAQ,QACnC,QAAO,MAAM;GAAE,OAAO;GAAU,SAAS;GAA8D,CAAC;AAI1G,MAAI,WACF,OAAM,YAAY,OAAO;AAG3B,SAAO;GACL;GACA,YAAY;GACb;UACM,KAAK;AACZ,aAAY,IAAc,QAAQ;AAGlC,MAAI,WACF,OAAM,WAAW,OAAO;AAG1B,UAAQ,KAAK,EAAE;;;;AAKnB,eAAsB,WAAW,YAAmB,EAAE,UAA8B;AAClF,KAAI;EACF,MAAM,YAAY,EAAE;AAEpB,MAAI,CAAC,MAAM,QAAQ,WAAW,CAC5B,QAAO,MAAM;GAAE,OAAO;GAAU,SAAS,wCAAwC,OAAO;GAAc,CAAC;AAIzG,MAAI,WAAW,WAAW,KAAK,WAAW,GAAI,SAAS,oBAAoB,MACzE;OAAI,CAAC,GAAG,WAAW,WAAW,GAAI,EAAE;IAClC,MAAM,WAAW,IAAI,IAAI,iBAAiB,IAAI;AAC9C,QAAI,GAAG,WAAW,SAAS,CACzB,YAAW,KAAK;SACX;AACL,YAAO,MAAM;MACX,OAAO;MACP,SAAS,oBAAoB,KAAK,SAAS,IAAI,MAAM,WAAW,GAAI,KAAK,CAAC;MAC3E,CAAC;AACF;;;;AAMN,OAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;GAC1C,MAAM,WAAW,WAAW;AAE5B,OAAI,EAAE,oBAAoB,MAAM;AAC9B,WAAO,MAAM;KAAE,OAAO;KAAU,SAAS,0BAA0B;KAAY,OAAO,cAAc,EAAE;KAAI,CAAC;AAC3G;cACS,SAAS,aAAa,WAAW,SAAS,aAAa,SAChE,KAAI;AAEF,QAAI,SAAS,SAAS,eAAe,SAAS,SAAS,iBAAiB;KACtE,MAAM,CAAC,GAAG,aAAa,WAAW,SAAS,SAAS,MAAM,IAAI;AAC9D,SAAI,gBAAgB,UAAU,CAAC,QAC7B,QAAO,MAAM;MACX,OAAO;MACP,SAAS,iGAAiG,SAAS,KAAK;MACzH,CAAC;KAEJ,MAAM,UAAU,IAAI,QAAQ;MAC1B,QAAQ;MACR,cAAc;MACf,CAAC;AACF,SAAI,QAAQ,IAAI,mBACd,SAAQ,IAAI,iBAAiB,QAAQ,IAAI,mBAAmB;SAE5D,QAAO,KAAK;MAAE,OAAO;MAAU,SAAS;MAA8B,CAAC;KAEzE,MAAMC,QAAM,MAAM,MAAM,kCAAkC,QAAQ,mBAAmB;MACnF,QAAQ;MACR;MACD,CAAC;AACF,SAAIA,MAAI,GACN,WAAU,KAAK;MAAE;MAAU,KAAK,MAAMA,MAAI,MAAM;MAAE,CAAC;KAErD,MAAM,UAAUA,MAAI,WAAW,MAAM,KAAK,UAAU,MAAMA,MAAI,MAAM,EAAE,QAAW,EAAE,GAAG;AACtF,YAAO,MAAM;MACX,OAAO;MACP,SAAS,wBAAwBA,MAAI,SAAS,UAAU,MAAM,YAAY;MAC3E,CAAC;AACF;;IAIF,MAAM,MAAM,MAAM,MAAM,UAAU;KAChC,QAAQ;KACR,SAAS;MAAE,QAAQ;MAAO,cAAc;MAA4C;KACrF,CAAC;AACF,cAAU,KAAK;KAAE;KAAU,KAAK,MAAM,IAAI,MAAM;KAAE,CAAC;YAC5C,KAAK;AACZ,WAAO,MAAM;KAAE,OAAO;KAAU,SAAS,GAAG,SAAS,KAAK,IAAI;KAAO,CAAC;AACtE;;YAGE,GAAG,WAAW,SAAS,CACzB,WAAU,KAAK;IAAE;IAAU,KAAK,GAAG,aAAa,UAAU,OAAO;IAAE,CAAC;QAC/D;AACL,WAAO,MAAM;KACX,OAAO;KACP,SAAS,oBAAoB,KAAK,SAAS,IAAI,MAAM,SAAS,KAAK,CAAC;KACrE,CAAC;AACF;;;AAKN,SAAO;UACA,KAAK;AACZ,aAAY,IAAc,QAAQ;AAClC,UAAQ,KAAK,EAAE;;;;AAKnB,SAAgB,WAAW,SAAiB;AAC1C,SAAQ,MAAM,GAAG,IAAI,MAAM,UAAU,CAAC;;;AAIxC,SAAgB,aAAa,SAAiB,WAAoB;AAChE,SAAQ,IAAI,GAAG,YAAY,IAAI,UAAU,YAAY,IAAI,KAAK,UAAU,KAAK,KAAK;;;AAIpF,SAAgB,cAAc,UAAuC;AAEnE,KAAI,YAAY,GAAG,WAAW,IAAI,IAAI,UAAU,IAAI,CAAC,CACnD,QAAO;AAIT,MAAK,MAAM,OAAO;EAAC;EAAO;EAAO;EAAQ;EAAQ;EAAQ;EAAO,EAAE;EAChE,MAAM,gBAAgB,kBAAkB;AACxC,MAAI,GAAG,WAAW,cAAc,CAC9B,QAAO;;;;AAMb,SAAgB,iBAAiB,UAAkB,EAAE,UAA8B;CACjF,MAAM,aAAa,IAAI,IAAI,UAAU,IAAI;AACzC,KAAI,CAAC,GAAG,WAAW,WAAW,CAC5B,QAAO,MAAM;EAAE,OAAO;EAAU,SAAS,oBAAoB,SAAS;EAAyB,CAAC;UACvF,CAAC,GAAG,SAAS,WAAW,CAAC,QAAQ,CAC1C,QAAO,MAAM;EAAE,OAAO;EAAU,SAAS,wCAAwC,SAAS;EAAI,CAAC;AAEjG,QAAO;;;AAIT,SAAgB,KAAK,OAAe;CAClC,MAAM,OAAO,YAAY,KAAK,GAAG;AACjC,QAAO,GAAG,IAAI,OAAO,MAAM,GAAG,KAAK,MAAM,KAAK,CAAC,MAAM,IAAI,OAAO,KAAM,QAAQ,EAAE,CAAC,GAAG;;;;;;ACzOtF,eAAsB,SAAS,EAAE,QAAQ,YAAY,OAAO,UAAwB;AAClF,KAAI;EACF,MAAM,YAAY,YAAY,KAAK;AACnC,MAAI,CAAC,MAAM,QAAQ,OAAO,QAAQ,IAAI,CAAC,OAAO,QAAQ,OACpD,QAAO,MAAM;GACX,OAAO;GACP,SAAS,mCAAmC,cAAc;GAC3D,CAAC;EAIJ,IAAI,aAAa,MAAM,WAAW,OAAO,QAAQ,EAAE,QAAQ,CAAC;AAC5D,MAAI,CAAC,YAAY;AACf,UAAO,MAAM;IACX,OAAO;IACP,SAAS,iBAAiB,KAAK,SAAS,cAAc,IAAI,EAAE,cAAc,OAAO,OAAO,MAAM,oBAAoB,CAAC;IACpH,CAAC;AACF;;EAEF,IAAI,EAAE,QAAQ,YAAY,MAAM,MAAM,YAAY;GAAE;GAAQ;GAAQ;GAAa,CAAC;EAClF,IAAI,SAAS,MAAM,MAAM,QAAQ;GAAE;GAAS;GAAQ;GAAQ,CAAC;AAC7D,aAAW,QAAQ;GAAE;GAAQ;GAAQ,CAAC;AAGtC,MAAI,MAAM,OAAO;GACf,MAAM,KAAK,IAAI,KAAK,eAAe,SAAS;IAC1C,MAAM;IACN,QAAQ;IACT,CAAC;GAEF,eAAe,QAAQ,EAAE,eAAe,iBAAoE,EAAE,EAAE;AAC9G,QAAI;AACF,SAAI,cACF,QAAO,KAAK;MAAE,OAAO;MAAU,OAAO;MAAS,SAAS;MAAe,CAAC;AAE1E,kBAAa,MAAM,WAAW,OAAO,QAAQ,EAAE,QAAQ,CAAC;AACxD,SAAI,CAAC,WACH,OAAM,IAAI,MACR,iBAAiB,KAAK,SAAS,cAAc,IAAI,EAAE,cAAc,OAAO,OAAO,MAAM,oBAAoB,CAAC,GAC3G;KAEH,MAAM,cAAc,MAAM,MAAM,YAAY;MAAE;MAAQ;MAAQ;MAAa,CAAC;AAC5E,cAAS,YAAY;AACrB,eAAU,YAAY;AACtB,cAAS,MAAM,MAAM,QAAQ;MAAE;MAAS;MAAQ;MAAQ,CAAC;AACzD,SAAI,aACF,QAAO,KAAK;MAAE,OAAO;MAAU,OAAO;MAAS,SAAS;MAAc,CAAC;AAEzE,gBAAW,QAAQ;MAAE;MAAQ;MAAQ,CAAC;aAC/B,KAAK;AACZ,aAAQ,MAAM,GAAG,IAAI,MAAO,IAAc,WAAY,MAAiB,CAAC;;;AAM5E,GADqB,SAAS,MAAM,OAAO,OAAO,KAAK,aAAa,cAAc,SAAS,CAAC,CAAC,CAChF,GAAG,UAAU,OAAO,aAAa;AAC5C,UAAM,QAAQ,EACZ,eAAe,GAAG,GAAG,IAAI,GAAG,uBAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,OAAO,SAAS,CAAC,WAAW,eACtG,CAAC;KACF;AAEF,GADsB,SAAS,MAAM,cAAc,WAAW,CAAE,CAClD,GAAG,UAAU,YAAY;AACrC,UAAM,QAAQ,EACZ,eAAe,GAAG,GAAG,IAAI,GAAG,uBAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,OAAO,6BAA6B,IAC7G,CAAC;KACF;AAGF,SAAM,IAAI,cAAc,GAAG;QAE3B,cACE,GAAG,OAAO,KAAK,OAAO,CAAC,OAAO,QAAQ,OAAO,KAAK,OAAO,CAAC,WAAW,IAAI,MAAM,GAAG,SAClF,UACD;UAEI,KAAK;AACZ,aAAY,IAAc,QAAQ;AAClC,UAAQ,KAAK,EAAE;;;;AAKnB,SAAgB,WAAW,QAA2B,EAAE,QAAQ,UAAkD;AAChH,MAAK,MAAM,EAAE,UAAU,cAAc,OAAO,aAAa;EACvD,MAAM,SAAS,IAAI,IAAI,UAAU,OAAO,OAAO;AAC/C,KAAG,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,EAAE,WAAW,MAAM,CAAC;AACvD,KAAG,cAAc,QAAQ,SAAS;AAClC,SAAO,MAAM;GAAE,OAAO;GAAU,OAAO;GAAY,SAAS,cAAc,cAAc,OAAO;GAAI,CAAC;;;;;;;ACtGxG,eAAsB,SAAS,EAAE,QAAQ,QAAQ,eAA6B;AAC5E,KAAI;EACF,MAAM,YAAY,YAAY,KAAK;EAInC,MAAM,UAAU,MAAM,WAHH,YAAY,MAAM,EAAE,CAAC,SACpC,YAAY,MAAM,EAAE,CAAC,KAAK,cAAc,iBAAiB,WAAW,EAAE,QAAQ,CAAC,CAAC,GAChF,OAAO,QACkC,EAAE,QAAQ,CAAC;AACxD,MAAI,CAAC,SAAS,QAAQ;AACpB,UAAO,MAAM;IAAE,OAAO;IAAU,SAAS;IAA+D,CAAC;AACzG;;AAEF,QAAM,MAAM,SAAS;GAAE;GAAQ,iBAAiB;GAAM;GAAQ;GAAa,CAAC;AAC5E,eAAa,aAAa,UAAU;UAC7B,KAAK;AACZ,aAAY,IAAc,QAAQ;AAClC,UAAQ,KAAK,EAAE;;;;;;;AC1BnB,SAAgB,UAAU;AACxB,SAAQ,IAAI;;;;;;;;;;;;;;EAcZ;;;;;ACJF,MAAM,kBAAkB;CACtB,KAAK;CACL,MAAM;CACN,MAAM;CACN,KAAK;CACN;AAgBD,MAAM,gBAAgB;AACtB,MAAMC,iBAA2F;CAC/F,kBAAkB;EAChB,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,sBAAsB;EAChC;CACD,aAAa;EACX,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,iBAAiB;EAC3B;CACD,aAAa;EACX,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,iBAAiB;EAC3B;CACD,iBAAiB;EACf,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,qBAAqB;EAC/B;CACD,cAAc;EACZ,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,kBAAkB;EAC5B;CACD,oBAAoB;EAClB,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,wBAAwB;EAClC;CACD,OAAO;EACL,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,aAAa;EACvB;CACD,wBAAwB;EACtB,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,4BAA4B;EACtC;CACD,mBAAmB;EACjB,MAAM;EACN,QAAQ;EACR,QAAQ,CAAC,uBAAuB;EACjC;CACF;AAMD,eAAsB,QAAQ,EAAE,UAAuB;AACrD,KAAI;AACF,QAAM,wBAAwB;EAC9B,MAAM,iBAAiB,MAAM,OAAO,EAAE,KAAK,cAAc,IAAI,EAAE,CAAC;EAGhE,MAAM,EAAE,QAAQ,eAAe,MAAM,WAAW;GAAE,KAAK;GAAQ,OAAO,EAAE;GAAE;GAAQ,CAAC;EACnF,MAAM,gBAAgB,aAClB,KAAK,SAAS,cAAc,IAAI,EAAE,cAAc,IAAI,IAAI,WAAW,CAAC,CAAC,GACrE;EAEJ,IAAI,aAAa,OAAO,OAAO;EAC/B,IAAI,cAAc,EAAE,cAAc,GAAG,WAAW,WAAW;AAG3D,MAAI,cAAc,GAAG,WAAW,WAAW,EACzC;OACE,MAAM,QAAQ,EACZ,SAAS,mBAAmB,KAAK,SAAS,cAAc,IAAI,EAAE,cAAc,WAAW,CAAC,CAAC,wCAC1F,CAAC,CAEF,eAAc;QAGhB,cAAa;AAGf,MAAI,aAAa;GACf,MAAM,KAAK,eACR,MAAM,OAAO;IACZ,SAAS;IACT,SAAS,CACP,GAAG,OAAO,QAAQ,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,aAAa;KACjE,OAAO;KACP,OAAO,GAAG,OAAO,GAAG;KACrB,EAAE,EACH;KAAE,OAAO;KAAQ,OAAO;KAAQ,CACjC;IACF,CAAC;AAEJ,OAAI,IAAI;IAEN,MAAM,IAAI,SAAS;AACnB,MAAE,MAAM,cAAc;IACtB,MAAM,cAAc,MAAM,MAAM,IAAI,IAAI,GAAG,OAAO,IAAK,cAAc,CAAC,CAAC,MAAM,QAAQ,IAAI,MAAM,CAAC;AAChG,OAAG,cAAc,YAAY,YAAY;AACzC,MAAE,KAAK,oBAAoB;;;EAK/B,MAAM,kBAAkB,OAAO,QAAQ,KAAK,MAAM,EAAE,KAAK;EACzD,MAAM,kBAAkB,MAAM,YAAY;GACxC,SAAS;GACT,SAAS;IACP;KAAE,OAAO,CAAC,uBAAuB;KAAE,OAAO;KAAO;IACjD;KAAE,OAAO,CAAC,sBAAsB;KAAE,OAAO;KAAW;IACpD;KAAE,OAAO,CAAC,wBAAwB,wBAAwB;KAAE,OAAO;KAAQ;IAC3E;KAAE,OAAO,CAAC,4BAA4B;KAAE,OAAO;KAAY;IAC5D;GACD,UAAU;GACX,CAAC;EACF,MAAM,aAAa,MAAM,QAAQ,gBAAgB,GAC7C,MAAM,KAAK,IAAI,IAAI,gBAAgB,MAAM,CAAC,QAAQ,MAAM,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC,GACvF,EAAE;AACN,MAAI,YAAY,QAAQ;GACtB,MAAM,UAAU,WAAW,KAAK,OAAO;IAAE,WAAW,EAAE,QAAQ,qBAAqB,GAAG;IAAE,SAAS;IAAG,EAAE;GACtG,MAAM,cAAc,GAAG,WAAW,OAAO,GAAG,UAAU,WAAW,QAAQ,UAAU,UAAU;GAE7F,MAAM,IAAI,SAAS;AACnB,KAAE,MAAM,cAAc,cAAc;AAEpC,SAAM,IAAI,SAAS,WAAS,WAAW;IACrC,MAAM,aAAa,KAAK;KAAC;KAAgB,gBAAgB;KAAiB,WAAW,KAAK,IAAI;KAAC,CAAC,KAAK,IAAI,EAAE,EACzG,KACD,CAAC;AACF,eAAW,GAAG,SAAS,OAAO;AAC9B,eAAW,GAAG,QAAQC,UAAQ;KAC9B;AACF,KAAE,QAAQ,kBAAkB;AAC5B,OAAI,YAAY;IACd,MAAM,MAAM,YAAY,GAAG,aAAa,YAAY,OAAO,CAAC;IAC5D,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,KAAK,SAAS,2BAA2B;AAQnF,QAAI,KAAK,KACP,GAAG,QAAQ,KACR,OACE;KACC,MAAM;KACN,QAAQ;MAAE,MAAM;MAAW,OAAO,EAAE;MAAS;KAC7C,YAAY,CAAC;MAAE,MAAM;MAA0B,OAAO;OAAE,MAAM;OAAc,MAAM,EAAE;OAAW;MAAE,CAAC;KAClG,YAAY,EAAE;KACf,EACJ,CACF;AAGD,QAAI,CAAC,WAAW;AACd,YAAO,MAAM;MAAE,OAAO;MAAU,SAAS,gBAAgB,cAAc;MAAiC,CAAC;AACzG;;IAEF,MAAM,YACJ,UAAU,YAAY,SAAS,mBAE3B,UAAU,YAAY,UAAU,KAEhC,UAAU;AAEhB,QAAI,UAAU,SAAS,oBAAoB;AACzC,YAAO,MAAM;MACX,OAAO;MACP,SAAS,oDAAoD,UAAU;MACxE,CAAC;AACF;;IAEF,MAAM,eACJ,UAAU,WAAW,MAClB,aACC,SAAS,SAAS,cAAc,SAAS,IAAI,SAAS,gBAAgB,SAAS,IAAI,SAAS,UAC/F,EACA;IACH,MAAM,aAAa,QAAQ,KACxB,OACE;KACC,MAAM;KACN,QAAQ;MACN,MAAM;MACN,MAAM,EAAE;MACT;KACD,WAAW,EAAE;KACb,UAAU;KACX,EACJ;AACD,QAAI,aACF,cAAa,SAAS,KAAK,GAAG,WAAW;QAEzC,WAAU,WAAW,KAAK;KACxB,MAAM;KACN,KAAK;MAAE,MAAM;MAAc,MAAM;MAAW;KAC5C,OAAO;MAAE,MAAM;MAAmB,UAAU;MAAY;KACxD,MAAM;KACN,UAAU;KACV,QAAQ;KACR,WAAW;KACZ,CAAC;AAIJ,OAAG,cACD,YACA,SAAS,KAAK,EACZ,QAAQ;KACN,QAAQ,EAAE,OAAO,MAAM;KACvB,QAAQ;KACR,YAAY;KACb,EACF,CAAC,CACH;SAGD,IAAG,cACD,qBACA;EACR,QAAQ,KAAK,MAAM,UAAU,EAAE,UAAU,SAAS,EAAE,QAAQ,IAAI,CAAC,KAAK,KAAK,CAAC;;;;;MAKxE,QAAQ,KAAK,MAAM,GAAG,EAAE,UAAU,KAAK,CAAC,KAAK,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BpD;AAEH,KAAE,KAAK,aAAa,cAAc;;AAGpC,QAAM,aAAa;UACZ,KAAK;AACZ,aAAY,IAAc,QAAQ;AAClC,UAAQ,KAAK,EAAE;;;;;;ACzRnB,eAAsB,OAAO,EAAE,QAAQ,UAA2B;;CAEhE,MAAM,CAAC,gBAAgB,OAAO;CAE9B,MAAM,8BAAc,IAAI,KAAK;CAC7B,MAAM,aAAa,MAAM,QAAQ,cAAc,OAAO,KAAK,QAAQ,QAAQ,CAAC,EAAE;EAC5E,eAAe;EACf,WAAW;EACZ,CAAC;AACF,MAAK,MAAM,SAAS,YAAY;AAC9B,MAAI,MAAM,QAAQ,KAAK,MACrB;EAEF,MAAM,eAAe,GAAG,MAAM,WAAW,WAAW,MAAM,IAAI,CAAC,GAAG,MAAM;AACxE,cAAY,IAAI,aAAa,QAAQ,cAAc,OAAO,KAAK,QAAQ,QAAQ,CAAC,CAAC,WAAW,MAAM,IAAI,EAAE,GAAG,CAAC;;CAG9G,MAAM,SAAS,MACb;EACE,MAAM;EACN,uBAAuB;EACvB,MAAM,MAAM,SAAS;GAEnB,MAAM,WADM,IAAI,IAAI,QAAQ,IAAI,CACX;AACrB,OAAI,aAAa,IACf,QAAO,IAAI,SACT,SAAS,MAAM,iBAAiB,cAAc,OAAO,KAAK,QAAQ,mBAAmB,CAAC,CAAC,CAAC,EACxF,EACE,SAAS,EACP,gBAAgB,aACjB,EACF,CACF;AAEH,OAAI,aAAa,eACf;QAAI,QAAQ,WAAW,MACrB,QAAO,IAAI,SAAS,SAAS,MAAM,iBAAiB,aAAyB,CAAC,EAAoB,EAChG,SAAS;KACP,gBAAgB;KAChB,iBAAiB;KAClB,EACF,CAAC;aACO,QAAQ,WAAW,UAAU,QAAQ,MAAM;AACpD,WAAM,QAAQ,KAAK,OAAO,SAAS,MAAM,kBAAkB,aAAyB,CAAC,CAAC;AACtF,YAAO,IAAI,SAAS,KAAK,UAAU,EAAE,SAAS,MAAM,CAAC,EAAE,EACrD,SAAS,EACP,gBAAgB,oBACjB,EACF,CAAC;;;AAIN,OAAI,YAAY,IAAI,SAAS,CAC3B,QAAO,IAAI,SACT,SAAS,MAAM,iBAAiB,cAAc,OAAO,KAAK,QAAQ,QAAQ,WAAW,CAAC,CAAC,CAAC,EACxF,EACE,SAAS,EAAE,gBAAgB,KAAK,QAAQ,SAAS,IAAI,4BAA4B,EAClF,CACF;AAEH,UAAO,IAAI,SAAS,aAAa,EAAE,QAAQ,KAAK,CAAC;;EAEpD,GACA,SAAS;AACR,SAAO,KAAK;GACV,OAAO;GACP,SAAS,+BAA+B,KAAK,YAAY,OAAO,cAAc,KAAK,QAAQ,GAAG,KAAK;GACpG,CAAC;GAEL;;;;AAID,OAAM,IAAI,SAAe,WAAS,WAAW;AAC3C,SAAO,GAAG,SAASC,UAAQ;AAC3B,SAAO,GAAG,SAAS,OAAO;GAC1B;;;;;AC/EJ,SAAS,WAAW,MAAc;AAChC,QAAO,SAAU,QAA0B;AACzC,SAAO,OAAO,KAAK,SAAS,YAAY,OAAO,KAAK,UAAU;;;AAIlE,eAAsB,aAAa,UAAkB,EAAE,QAAQ,UAA4B;AACzF,KAAI;AACF,MAAI,CAAC,UAAU;AACb,UAAO,MAAM;IAAE,OAAO;IAAU,SAAS;IAA+D,CAAC;AACzG;;EAEF,MAAM,YAAY,IAAI,IAAI,UAAU,IAAI;AACxC,MAAI,CAAC,GAAG,WAAW,UAAU,CAC3B,QAAO,MAAM;GACX,OAAO;GACP,SAAS,iBAAiB,KAAK,SAAS,IAAI,MAAM,UAAU,KAAK,CAAC;GACnE,CAAC;EAEJ,MAAM,aAAa,GAAG,aAAa,WAAW,OAAO;EACrD,MAAM,WAAW,MAAM,MAAM,YAAY,EAAE,MAAM,SAAS,CAAC;EAC3D,MAAM,EAAE,WAAW,MAAM,MAAM,CAAC;GAAE,KAAK;GAAY,UAAU;GAAW,CAAC,EAAE;GACzE,QAAQC,eACN,EACE,MAAM,EACJ,OAAO;IACL,oBAAoB;IACpB,wBAAwB;IACxB,uBAAuB;IACvB,yBAAyB;IAC1B,EACF,EACF,EACD,EAAE,KAAK,CACR;GACD;GACD,CAAC;AAEF,WAAS,UAAU,EACjB,MAAM,MAAM,SAAS,UAAU;GAC7B,MAAM,QAAQ,OAAO,SAAS,KAAK,IAAI;AACvC,OAAI,CAAC,SAAS,MAAM,WAAW,KAAK,SAAS,YAAY,KAAK,MAAM,SAAS,SAC3E;GAEF,MAAM,UAAU,KAAK,MAAM,QAAQ,UAAU,WAAW,SAAS,CAAC;AAElE,WAAQ,MAAM,OAAd;IACE,KAAK;AACH,SAAI,KAAK,MAAM,QAAQ,SAAU,MAAM,SAAS,UAAU;AACxD,UAAI,QAAQ,KAAK,MAAM,QAAQ,SAAU,MAAM,MAAM,CACnD;MAEF,MAAM,MAAO,KAAK,MAAM,QAAQ,SAAU,MAA2B;AACrE,WAAK,MAAM,QAAQ,SAAU,QAAQ,MAAM,MACzC,KAAK,UAAU;OACb,GAAG,MAAM;OACT,KAAK,IAAI,WAAW,IAAI,GAAG,IAAI,MAAM,GAAG,EAAE,GAAG;OAC9C,CAAC,CACH,CAAC;MACF,MAAM,cAAc,aAAa,KAAK,OAAO,cAAc;AAC3D,UAAI,aAAa,SAAS,UAAU;OAClC,MAAM,OAAO,aAAa,aAAa,OAAO;AAC9C,WAAI,MAAM,SAAS,SACjB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;QAC5C,MAAM,WAAY,KAAK,QAAQ,GAAI,KAA0B;QAC7D,MAAMC,QAAO,KAAK,QAAQ,GAAI,MAA2B;AACzD,aAAK,QAAQ,GAAI,QAAQ,MAAM,MAC7B,KAAK,UAAU;SACb,GAAG,MAAM,KAAK,UAAW;SACzB,KAAKA,MAAI,WAAW,IAAI,GAAGA,MAAI,MAAM,GAAG,EAAE,GAAG;SAC9C,CAAC,CACH,CAAC;;;;AAKV;IAEF,KAAK;IACL,KAAK;AACH,SAAI,KAAK,MAAM,QAAQ,SAAU,MAAM,SAAS,UAAU;AACxD,UAAI,QAAQ,KAAK,MAAM,QAAQ,SAAU,MAAM,MAAM,CACnD;AAEF,WAAK,MAAM,QAAQ,SAAU,QAAQ,2BAA2B,KAAK,MAAM,QAAQ,SAAU,MAAM;MACnG,MAAM,cAAc,aAAa,KAAK,OAAO,cAAc;AAC3D,UAAI,aAAa,SAAS,UAAU;OAClC,MAAM,OAAO,aAAa,aAAa,OAAO;AAC9C,WAAI,MAAM,SAAS,SACjB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,IACvC,MAAK,QAAQ,GAAI,QAAQ,2BAA2B,KAAK,MAAM,QAAQ,SAAU,MAAM;;;AAK/F;IAEF,KAAK,cAAc;AACjB,SAAI,KAAK,MAAM,QAAQ,UAAU,MAAM,SAAS,SAC9C;AAEF,UAAK,MAAM,QAAQ,SAAS,QAAQ,oBAAoB,KAAK,MAAM,QAAQ,SAAS,MAAM;KAC1F,MAAM,cAAc,aAAa,KAAK,OAAO,cAAc;AAC3D,SAAI,aAAa,SAAS,UAAU;MAClC,MAAM,OAAO,aAAa,aAAa,OAAO;AAC9C,UAAI,MAAM,SAAS,SACjB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,IACvC,MAAK,QAAQ,GAAI,QAAQ,oBAAoB,KAAK,QAAQ,GAAI,MAA0B;;;;KAOrG,CAAC;EAEF,MAAM,YAAY,IAAI,IAAI,QAAQ,IAAI;AACtC,KAAG,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,EAAE,WAAW,MAAM,CAAC;AAC1D,KAAG,cAAc,WAAW,MAAM,MAAM,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC;UAC1D,KAAK;AACZ,aAAY,IAAc,QAAQ;AAClC,UAAQ,KAAK,EAAE;;;AAInB,SAAS,2BAA2B,MAAwB;CAC1D,MAAM,QAAQ,OAAO,WAAW,KAAK,MAAM;AAC3C,KAAI,CAAC,OAAO,SAAS,MAAM,CACzB,QAAO;AAET,CAAC,KAAa,OAAO;AACrB,CAAC,KAAa,UACZ,MAAM,MAAM,KAAK,UAAU;EAAE;EAAO,MAAM,KAAK,MAAM,QAAQ,OAAO,MAAM,EAAE,GAAG;EAAE,CAAC,CAAC,CAAC,KACpF;AACF,QAAQ,KAAa;AACrB,QAAO;;AAGT,SAAS,oBAAoB,MAAwB;CACnD,MAAM,EAAE,YAAY,UAAU,YAAY,eAAe,eAAe,cAAc,KAAK;AAC3F,KAAI,CAAC,WACH,MAAK,QAAQ,KAAM,MAAM,MAAM,iCAA6B,CAAC,KAA0B,QAAQ,GAAI;AAErG,KAAI,CAAC,SACH,MAAK,QAAQ,KAAM,MAAM,MAAM,gDAAwC,CAAC,KAA0B,QAAQ,GAAI;AAEhH,KAAI,CAAC,WACH,MAAK,QAAQ,KAAM,MAAM,MAAM,uBAAqB,CAAC,KAA0B,QAAQ,GAAI;AAE7F,KAAI,CAAC,cACH,MAAK,QAAQ,KAAM,MAAM,MAAM,qDAA6C,CAAC,KAA0B,QAAQ,GAAI;AAErH,KAAI,CAAC,WACH,MAAK,QAAQ,KAAM,MAAM,MAAM,qBAAmB,CAAC,KAA0B,QAAQ,GAAI;AAE3F,QAAO;;;;;ACtKT,SAAgB,aAAa;CAC3B,MAAM,EAAE,uBAAY,KAAK,MAAM,GAAG,aAAa,IAAI,IAAI,mBAAmB,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC;AACpG,SAAQ,IAAIC,UAAQ;;;;;ACUtB,MAAM,UAAU,cAAc,IAAI;AAGlC,SAAgB,aAAa,QAA4B;CACvD,MAAMC,mBAA2B,EAAE,GAAG,QAAQ;AAG9C,KAAI,OAAO,iBAAiB,WAAW,YAAY,MAAM,QAAQ,iBAAiB,OAAO,CACvF,kBAAiB,UACf,MAAM,QAAQ,iBAAiB,OAAO,GAAG,iBAAiB,SAAS,CAAC,iBAAiB,OAAO,EAC5F,KAAK,cAAc;AACnB,MAAI,UAAU,WAAW,IAAI,IAAI,uBAAuB,KAAK,UAAU,CACrE,QAAO;AAET,MAAI;AACF,UAAO,cAAc,QAAQ,QAAQ,UAAU,CAAC;WACzC,KAAK;AACZ,WAAQ,MAAM,IAAI;AAIlB,UAAO;;GAET;AAGJ,QAAOC,eAAiB,kBAAkB,EAAE,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrazzo/cli",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.4",
|
|
4
4
|
"description": "CLI for managing design tokens using the Design Tokens Community Group (DTCG) standard and generating code for any platform via plugins.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"picocolors": "^1.1.1",
|
|
51
51
|
"vite": "^7.2.2",
|
|
52
52
|
"vite-node": "^5.2.0",
|
|
53
|
-
"yaml-to-momoa": "0.0.
|
|
54
|
-
"@terrazzo/
|
|
55
|
-
"@terrazzo/
|
|
56
|
-
"@terrazzo/
|
|
53
|
+
"yaml-to-momoa": "0.0.8",
|
|
54
|
+
"@terrazzo/parser": "^2.0.0-alpha.4",
|
|
55
|
+
"@terrazzo/token-tools": "^2.0.0-alpha.4",
|
|
56
|
+
"@terrazzo/json-schema-tools": "^0.1.0-alpha.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@swc/core": "1.13.19",
|