diff --git a/scripts/engine.browser.mjs b/scripts/engine.browser.mjs index 9f663cf..b293fea 100644 --- a/scripts/engine.browser.mjs +++ b/scripts/engine.browser.mjs @@ -1,5 +1,5 @@ var af=Object.defineProperty;var O=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Di=(e,t)=>{for(var n in t)af(e,n,{get:t[n],enumerable:!0})};function ol(e){let t="";for(let r=0;r{"use strict";lf=new TextDecoder("utf-8"),cf=new TextDecoder("utf-16le"),sl=new TextEncoder,il="0123456789abcdef";N=class e extends Uint8Array{static from(t,n){if(typeof t=="string"){if(n==="hex"){let l=new e(t.length>>1);for(let c=0;ca+l.byteLength,0),s=new e(r),o=0;for(let a of t){if(o+a.byteLength>r){s.set(a.subarray(0,r-o),o);break}s.set(a,o),o+=a.byteLength}return s}subarray(t,n){return super.subarray(t,n)}toString(t,n,r){let s=n!==void 0||r!==void 0?this.subarray(n??0,r??this.length):this;switch((t??"utf8").toLowerCase()){case"utf8":case"utf-8":return lf.decode(s);case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return cf.decode(s);case"latin1":case"binary":case"ascii":return ol(s);case"hex":{let o="";for(let a of s)o+=il[a>>4]+il[a&15];return o}case"base64":return btoa(ol(s));default:throw new TypeError(`Unknown encoding: ${t}`)}}swap16(){if(this.length%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t"/",exit:e=>{throw new Error(`process.exit(${e??0}) is not available in the browser build`)},hrtime:Object.assign(e=>{let t=performance.now(),n=Math.floor(t/1e3),r=Math.floor(t%1e3*1e6);return e?[n-e[0],r-e[1]]:[n,r]},{bigint:()=>BigInt(Math.floor(performance.now()*1e6))}),memoryUsage:()=>({rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}),stdout:{write:e=>(console.log(e.replace(/\n$/,"")),!0),isTTY:!1},stderr:{write:e=>(console.warn(e.replace(/\n$/,"")),!0),isTTY:!1},on:()=>R,emitWarning:e=>console.warn(e)}});var fe,He,pn,Xe=O(()=>{"use strict";E();fe="2.28.3",He=5,pn=14});function al(e,t){let n="",r=0,s=-1,o=0,a=0;for(let l=0;l<=e.length;++l){if(l2){let c=n.lastIndexOf("/");c===-1?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),s=l,o=0;continue}else if(n.length!==0){n="",r=0,s=l,o=0;continue}}t&&(n+=n.length>0?"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(s+1,l):n=e.slice(s+1,l),r=l-s-1;s=l,o=0}else a===46&&o!==-1?++o:o=-1}return n}function es(e){if(e.length===0)return".";let t=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47,r=al(e,!t);return r.length===0&&!t&&(r="."),r.length>0&&n&&(r+="/"),t?"/"+r:r}function ts(e){return e.length>0&&e.charCodeAt(0)===47}function I(...e){if(e.length===0)return".";let t;for(let n of e)n.length>0&&(t=t===void 0?n:t+"/"+n);return t===void 0?".":es(t)}function Ee(...e){let t="",n=!1;for(let s=e.length-1;s>=0&&!n;s--){let o=e[s];o===void 0||o.length===0||(t=t.length===0?o:o+"/"+t,n=o.charCodeAt(0)===47)}n||(t=t.length===0?"/":"/"+t);let r=al(t,!1);return r.length>0?"/"+r:"/"}function df(e,t){if(e===t)return"";let n=Ee(e),r=Ee(t);if(n===r)return"";let s=n.slice(1).split("/").filter(Boolean),o=r.slice(1).split("/").filter(Boolean),a=0;for(;a=1;--s)if(e.charCodeAt(s)===47){if(!r){n=s;break}}else r=!1;return n===-1?t?"/":".":t&&n===1?"//":e.slice(0,n)}function ve(e,t){let n=0,r=-1,s=!0;for(let a=e.length-1;a>=0;--a)if(e.charCodeAt(a)===47){if(!s){n=a+1;break}}else r===-1&&(s=!1,r=a+1);if(r===-1)return"";let o=e.slice(n,r);return t!==void 0&&t!==o&&o.endsWith(t)?o.slice(0,o.length-t.length):o}function ns(e){let t=-1,n=0,r=-1,s=!0,o=0;for(let a=e.length-1;a>=0;--a){let l=e.charCodeAt(a);if(l===47){if(!s){n=a+1;break}continue}r===-1&&(s=!1,r=a+1),l===46?t===-1?t=a:o!==1&&(o=1):t!==-1&&(o=-1)}return t===-1||r===-1||o===0||o===1&&t===r-1&&t===n+1?"":e.slice(t,r)}function uf(e){let t=ts(e)?"/":"",n=ve(e),r=ns(e),s=_e(e);return{root:t,dir:s==="."&&t===""?"":s,base:n,ext:r,name:n.slice(0,n.length-r.length)}}function ff(e){let t=e.dir||e.root||"",n=e.base||(e.name??"")+(e.ext??"");return t?t===e.root?t+n:t+"/"+n:n}function mf(e){return e}var $,xb,ae=O(()=>{"use strict";E();$={sep:"/",delimiter:":",normalize:es,isAbsolute:ts,join:I,resolve:Ee,relative:df,dirname:_e,basename:ve,extname:ns,parse:uf,format:ff,toNamespacedPath:mf},xb={...$,posix:$,win32:$}});function cl(){return++ll}function Ue(e){let t=e.startsWith("/")?e:"/"+e,n=es(t);return n.length>1&&n.endsWith("/")?n.slice(0,-1):n}function At(e,t){let n=new Error(`ENOENT: no such file or directory, ${t} '${e}'`);return n.code="ENOENT",n.errno=-2,n.path=e,n.syscall=t,n}function dl(e,t){let n=new Error(`ENOTDIR: not a directory, ${t} '${e}'`);return n.code="ENOTDIR",n.errno=-20,n.path=e,n.syscall=t,n}function gn(e){let t=Ue(e),n=me.get(t);if(n){if(n.kind!=="dir")throw dl(e,"mkdir");return n}let r={kind:"dir",mtimeMs:0,mode:511,children:new Set};return me.set(t,r),t!==Ht&&gn(_e(t)).children.add(ve(t)),r}function pf(){me.clear(),ll=0,ml=0,me.set(Ht,{kind:"dir",mtimeMs:0,mode:511,children:new Set})}function ul(e){for(let t of e){let n=Ue(t.path);gn(_e(n)).children.add(ve(n)),me.set(n,{kind:"file",size:t.size,mtimeMs:cl(),mode:438,bytes:t.bytes})}}function rs(e,t){let n=Ue(e),r=me.get(n);if(r&&r.kind==="file"){r.bytes=t,r.size=t.byteLength,r.mtimeMs=cl();return}ul([{path:n,size:t.byteLength,bytes:t}])}function gf(e){let t=me.get(Ue(e));return!!t&&t.kind==="file"&&t.bytes!==void 0}function _f(){let e=0;for(let[t,n]of[...me]){if(n.kind!=="file"||n.bytes!==void 0)continue;me.delete(t);let r=me.get(_e(t));r&&r.kind==="dir"&&r.children.delete(ve(t)),e++}return e}function hf(){let e=0;for(let t of me.values())t.kind==="file"&&t.bytes&&(e+=t.bytes.byteLength);return e}function yf(e,t,n){return{name:e,parentPath:t,path:t,isFile:()=>n==="file",isDirectory:()=>n==="dir",isSymbolicLink:ot,isBlockDevice:ot,isCharacterDevice:ot,isFIFO:ot,isSocket:ot}}function bf(e){return{size:e.kind==="file"?e.size:0,mode:e.mode,mtimeMs:e.mtimeMs,mtime:new Date(e.mtimeMs),isFile:()=>e.kind==="file",isDirectory:()=>e.kind==="dir",isSymbolicLink:ot,isBlockDevice:ot,isCharacterDevice:ot,isFIFO:ot,isSocket:ot}}function H(e){return me.has(Ue(e))}function xe(e){let t=me.get(Ue(e));if(!t)throw At(e,"stat");return bf(t)}function _n(e){let t=Ue(e);if(!me.has(t))throw At(e,"realpath");return t}function hn(e,t){let n=Ue(e),r=me.get(n);if(!r)throw At(e,"scandir");if(r.kind!=="dir")throw dl(e,"scandir");let s=[...r.children];return t?.withFileTypes?s.map(o=>{let a=me.get(n===Ht?`/${o}`:`${n}/${o}`);return yf(o,n,a?.kind==="dir"?"dir":"file")}):s}function Q(e,t){let n=me.get(Ue(e));if(!n)throw At(e,"open");if(n.kind!=="file"){let s=new Error("EISDIR: illegal operation on a directory, read");throw s.code="EISDIR",s}if(!n.bytes)throw At(e,"open");let r=N.from(n.bytes);return t?r.toString(typeof t=="string"?t:t.encoding):r}function Me(e,t){let n=typeof t=="string"?new TextEncoder().encode(t):t;rs(e,n)}function ss(e,t){let n=me.get(Ue(e));if(!n)throw At(e,"chmod");n.mode=t}function _t(e,t){gn(e)}function Dn(e){let t=`${e}${ml++}`;return gn(t),t}function Ge(e,t){let n=Ue(e),r=me.get(n);if(!r){if(t?.force)return;throw At(e,"unlink")}if(r.kind==="dir")for(let o of[...r.children])Ge(n===Ht?`/${o}`:`${n}/${o}`,t);me.delete(n);let s=me.get(_e(n));s&&s.kind==="dir"&&s.children.delete(ve(n))}function Ln(e,t){let n=Ue(e),r=me.get(n);if(!r)throw At(e,"rename");let s=Ue(t);if(r.kind==="dir"){gn(s);for(let o of[...r.children])Ln(n===Ht?`/${o}`:`${n}/${o}`,s===Ht?`/${o}`:`${s}/${o}`)}else gn(_e(s)).children.add(ve(s)),me.set(s,r);Ge(n,{force:!0})}function pl(){throw new Error("recursive filesystem watching is unavailable in the browser VFS")}var Ht,me,ll,ot,fl,ml,Se=O(()=>{"use strict";E();ae();Ht="/",me=new Map([[Ht,{kind:"dir",mtimeMs:0,mode:511,children:new Set}]]),ll=0;ot=()=>!1;fl=xe;ml=0});function gl(e,t,n){let r=new Error(`spawnSync ${e} ENOENT`);return r.code="ENOENT",r.errno=-2,r.syscall=`spawnSync ${e}`,r.path=e,{pid:0,output:[],stdout:"",stderr:"",status:null,signal:null,error:r}}function _l(e,t,n){let r=new Map,s={pid:void 0,stdin:null,stdout:null,stderr:null,on(a,l){let c=r.get(a)??[];return c.push(l),r.set(a,c),s},kill:()=>!1},o=new Error(`spawn ${e} ENOENT`);return o.code="ENOENT",o.syscall=`spawn ${e}`,o.path=e,Promise.resolve().then(()=>{for(let a of r.get("error")??[])a(o);for(let a of r.get("close")??[])a(null)}),s}var Li=O(()=>{E()});function pe(e,t,n={}){let r=gl(e,t,{cwd:n.cwd,input:n.input,encoding:"utf8",timeout:n.timeoutMs??12e4,maxBuffer:67108864,env:n.env??R.env}),s=!!r.error&&r.error.code==="ENOENT";return{ok:!r.error&&r.status===0,status:r.status,stdout:r.stdout??"",stderr:r.stderr??(r.error?String(r.error.message):""),missing:s}}function at(e){let t=hl.get(e);if(t!==void 0)return t;let n=pe(R.platform==="win32"?"where":"which",[e]),r=n.ok&&n.stdout.trim().length>0;return hl.set(e,r),r}function ji(e){return e.toLowerCase().replace(/^https?:\/\//,"").replace(/^git@/,"").replace(/\.git$/,"").replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,120)}function wf(e,t){return e.length<=t?e:e.slice(0,t)+` -\u2026 [truncated ${e.length-t} chars]`}function xf(e,t){let n=e.replace(/\s+/g," ").trim();if(n.length<=t)return n;let r=n.slice(0,t).replace(/\s+\S*$/,"");return r||(r=n.slice(0,t)),(r.match(/`/g)?.length??0)%2===1&&(r=r.replace(/`[^`]*$/,"")),r.lastIndexOf("[")>r.lastIndexOf("]")&&(r=r.slice(0,r.lastIndexOf("["))),r.replace(/\s+$/,"")+"\u2026"}function qe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ht(e){return e.normalize("NFKD").replace(/[̀-ͯ]/g,"")}function is(e){let t=new Set,n=[];for(let r of ht(e).split(/[^A-Za-z0-9_]+/)){if(!r)continue;let s=r.toLowerCase();r.length<2||yl.has(s)||t.has(s)||(t.add(s),n.push(r))}return n}function os(e){let t=[];for(let n of ht(e).split(/[^A-Za-z0-9_]+/))n&&(n.length<2||yl.has(n.toLowerCase()))&&t.push(n);return t}function Sf(e){let t=is(e),n=r=>{let s=0;return/\d/.test(r)&&(s+=3),/[A-Z]/.test(r)&&!/^[A-Z0-9]+$/.test(r)&&(s+=2),/_/.test(r)&&(s+=2),r.length>=8?s+=1.5:r.length>=5&&(s+=.5),s};return t.map((r,s)=>({k:r,s:n(r),i:s})).sort((r,s)=>s.s-r.s||r.i-s.i).map(r=>r.k)}function Wi(e,t,n=60){let r=new Map;for(let s of e)s.forEach((o,a)=>{let l=t(o);r.set(l,(r.get(l)??0)+1/(n+a+1))});return r}function yt(e){let t=ht(e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2"),n=[],r=new Set,s=o=>{o.length<2||r.has(o)||(r.add(o),n.push(o))};/\s/.test(e.trim())||s(ht(e).toLowerCase().replace(/[^a-z0-9_]+/g,""));for(let o of t.split(/[^A-Za-z0-9]+/))s(o.toLowerCase());return n}function Ui(e){if(e.length<4)return e;let t=e;return t.endsWith("ies")&&t.length>4?t=t.slice(0,-3)+"y":t.endsWith("sses")?t=t.slice(0,-2):(t.endsWith("ses")&&t.length>4||t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is"))&&(t=t.slice(0,-1)),t.endsWith("ying")&&t.length>5?t=t.slice(0,-4)+"y":t.endsWith("ing")&&t.length>5?t=t.slice(0,-3):t.endsWith("ed")&&t.length>4&&(t=t.slice(0,-2)),t.endsWith("e")&&t.length>3&&(t=t.slice(0,-1)),t}var hl,yl,Ae=O(()=>{"use strict";E();Li();hl=new Map;yl=new Set(["the","a","an","is","are","was","were","be","been","being","do","does","did","how","what","why","when","where","which","who","whom","this","that","these","those","of","in","on","to","for","with","and","or","but","if","then","else","than","as","at","by","from","into","about","it","its","i","you","we","they","he","she","there","here","can","could","should","would","will","shall","may","might","must","have","has","had","not","no","yes","so","such","only","any","some","all","get","set","use","used","using","work","works","working","handle","handled","happen","happens","default","value","values","please","explain","tell","me","my","our"])});function kf(e){let t="";for(let n=0;n{"use strict";E();Ae()});function bl(e,t){return e===jn||t.has(e)||e.startsWith(".codeindex-edit-")}function vf(e,t){let n=t.find(s=>s.name===jn);if(!n)return;let r=I(e,jn);try{if(n.isDirectory())return r;let s=xe(r);if(s.isDirectory())return r;if(!s.isFile()||s.size>Ef)return;let o=Q(r,"utf8");if(!o.startsWith(wl))return;let a=o.slice(wl.length).replace(/\s+$/,"");if(!a)return;let l=Ee(e,a),c=I(l,"commondir");return H(c)?Ee(l,Q(c,"utf8").trim()):l}catch{return}}function Rf(e){if(!e)return"";try{let t=I(e,"info","exclude");return H(t)?q(t):""}catch{return""}}function Pe(e,t={}){let n=t.maxFileBytes??1048576,r=t.maxFiles??1/0,s=t.gitignore!==!1,o=t.ignoreDirs?new Set(t.ignoreDirs):Gt,a=[],l=!1,c=0,d;try{d=_n(e)}catch{return{files:a,capped:l,excluded:c}}let m=p=>p===d||p.startsWith(d+"/"),u=[{dir:e,rel:"",rules:[]}],f=new Set;e:for(;u.length;){let p=u.pop(),g;try{g=_n(p.dir)}catch{continue}if(f.has(g)||(f.add(g),!m(g)))continue;let h;try{h=hn(p.dir,{withFileTypes:!0}).sort((_,k)=>_.namek.name?1:0)}catch{continue}let y=h.some(_=>_.name===jn)?vf(p.dir,h):void 0;if(p.rel&&y){c++;continue}let S=p.rules;if(s&&!p.rel){let _=as(Rf(y),"");_.length&&(S=[...S,..._])}if(s&&h.some(_=>_.name===".gitignore")){let _=as(q(I(p.dir,".gitignore")),p.rel);_.length&&(S=[...S,..._])}for(let _ of h){let k=_.name,b=I(p.dir,k),w=p.rel?`${p.rel}/${k}`:k,v=_.isSymbolicLink();if(k===jn||_.isDirectory()&&bl(k,o))continue;let A;try{A=v?xe(b):fl(b)}catch{continue}if(A.isDirectory()){if(bl(k,o)||v||s&&S.length&&ls(S,w,!0))continue;u.push({dir:b,rel:w,rules:S});continue}if(!A.isFile())continue;if(A.size>n){c++;continue}if(zi.has(k.toLowerCase())){c++;continue}let F=ns(k).toLowerCase();if(Hi.has(F)){c++;continue}if(k.endsWith(".min.js")||k.endsWith(".min.css")){c++;continue}if(s&&S.length&&ls(S,w,!1)){c++;continue}if(v)try{if(!m(_n(b)))continue}catch{continue}if(a.length>=r){l=!0;break e}a.push({rel:w.split("/").join("/"),abs:b,size:A.size,ext:F,mtimeMs:A.mtimeMs})}}return{files:a,capped:l,excluded:c}}function q(e){try{let t=Q(e);if(t.length>=2&&t[0]===255&&t[1]===254)return t.subarray(2,2+(t.length-2&-2)).toString("utf16le");if(t.length>=2&&t[0]===254&&t[1]===255){let r=N.from(t.subarray(2,2+(t.length-2&-2)));return r.swap16(),r.toString("utf16le")}if(t.length>=3&&t[0]===239&&t[1]===187&&t[2]===191)return t.subarray(3).toString("utf8");if(t.includes(0))return"";let n=t.toString("utf8");return n.includes("\uFFFD")?t.toString("latin1"):n}catch{return""}}var Gt,jn,wl,Ef,zi,Hi,Mf,Ne=O(()=>{"use strict";E();Se();ae();Bi();Gt=new Set([".git","node_modules",".pnpm","bower_components","vendor","dist","build","out","target",".next",".nuxt",".svelte-kit",".turbo","coverage","__pycache__",".venv","venv",".tox",".mypy_cache",".pytest_cache",".gradle",".idea",".vscode",".cache","tmp",".ultraindex",".codeindex","Pods","DerivedData",".terraform","elm-stuff",".dart_tool"]),jn=".git";wl="gitdir: ",Ef=4096;zi=new Set(["package-lock.json","npm-shrinkwrap.json","yarn.lock","pnpm-lock.yaml","bun.lockb","composer.lock","cargo.lock","poetry.lock","pipfile.lock","gemfile.lock","go.sum","flake.lock","packages.lock.json","podfile.lock","mix.lock"]),Hi=new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".ico",".icns",".svg",".pdf",".zip",".gz",".tar",".tgz",".bz2",".xz",".7z",".rar",".jar",".war",".class",".so",".dylib",".dll",".exe",".bin",".o",".a",".wasm",".woff",".woff2",".ttf",".otf",".eot",".mp3",".mp4",".mov",".avi",".webm",".wav",".flac",".ogg",".lock",".min.js",".map"]),Mf=2e4});function ds(e){let t=pe("git",["-C",e,"rev-parse","--short","HEAD"]);return t.ok?t.stdout.trim():void 0}function qi(e){return pe("git",["-C",e,"rev-parse","--is-inside-work-tree"]).ok}function Vi(e,t){let n=l=>pe("git",[...lt(e),"rev-parse","--verify","--quiet",`${l}^{commit}`]).ok,r=l=>{let c=pe("git",[...lt(e),"merge-base",l,"HEAD"]);return c.ok?c.stdout.trim():void 0};if(t){if(!n(t))return{error:`base ref "${t}" not found (tried git rev-parse --verify)`};let l=r(t);return l?{ref:t,mergeBase:l}:{error:`no merge-base between "${t}" and HEAD`}}let s=pe("git",[...lt(e),"symbolic-ref","--quiet","refs/remotes/origin/HEAD"]),o=[...s.ok?[s.stdout.trim().replace("refs/remotes/","")]:[],"origin/main","origin/master","main","master"];for(let l of o){if(!n(l))continue;let c=r(l);if(c)return{ref:l,mergeBase:c}}let a=pe("git",[...lt(e),"rev-parse","HEAD"]);return a.ok?{ref:"HEAD",mergeBase:a.stdout.trim(),note:"base: HEAD (no default branch found \u2014 reviewing uncommitted work)"}:{error:"cannot resolve HEAD \u2014 empty repository?"}}function Ji(e,t){let n=[],r=pe("git",[...lt(e),"diff","-z","-M","--name-status",...Gi(t)]);if(r.ok){let a=r.stdout.split("\0"),l=0;for(;l[a.path,a])),o=pe("git",[...lt(e),"diff","-z","-M","--numstat",...Gi(t)]);if(o.ok){let a=o.stdout.split("\0"),l=0;for(;lr.lastIndexOf("]")&&(r=r.slice(0,r.lastIndexOf("["))),r.replace(/\s+$/,"")+"\u2026"}function qe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ht(e){return e.normalize("NFKD").replace(/[̀-ͯ]/g,"")}function is(e){let t=new Set,n=[];for(let r of ht(e).split(/[^A-Za-z0-9_]+/)){if(!r)continue;let s=r.toLowerCase();r.length<2||yl.has(s)||t.has(s)||(t.add(s),n.push(r))}return n}function os(e){let t=[];for(let n of ht(e).split(/[^A-Za-z0-9_]+/))n&&(n.length<2||yl.has(n.toLowerCase()))&&t.push(n);return t}function Sf(e){let t=is(e),n=r=>{let s=0;return/\d/.test(r)&&(s+=3),/[A-Z]/.test(r)&&!/^[A-Z0-9]+$/.test(r)&&(s+=2),/_/.test(r)&&(s+=2),r.length>=8?s+=1.5:r.length>=5&&(s+=.5),s};return t.map((r,s)=>({k:r,s:n(r),i:s})).sort((r,s)=>s.s-r.s||r.i-s.i).map(r=>r.k)}function Wi(e,t,n=60){let r=new Map;for(let s of e)s.forEach((o,a)=>{let l=t(o);r.set(l,(r.get(l)??0)+1/(n+a+1))});return r}function yt(e){let t=ht(e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2"),n=[],r=new Set,s=o=>{o.length<2||r.has(o)||(r.add(o),n.push(o))};/\s/.test(e.trim())||s(ht(e).toLowerCase().replace(/[^a-z0-9_]+/g,""));for(let o of t.split(/[^A-Za-z0-9]+/))s(o.toLowerCase());return n}function Ui(e){if(e.length<4)return e;let t=e;return t.endsWith("ies")&&t.length>4?t=t.slice(0,-3)+"y":t.endsWith("sses")?t=t.slice(0,-2):(t.endsWith("ses")&&t.length>4||t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is"))&&(t=t.slice(0,-1)),t.endsWith("ying")&&t.length>5?t=t.slice(0,-4)+"y":t.endsWith("ing")&&t.length>5?t=t.slice(0,-3):t.endsWith("ed")&&t.length>4&&(t=t.slice(0,-2)),t.endsWith("e")&&t.length>3&&(t=t.slice(0,-1)),t}var hl,yl,Ae=O(()=>{"use strict";E();Li();hl=new Map;yl=new Set(["the","a","an","is","are","was","were","be","been","being","do","does","did","how","what","why","when","where","which","who","whom","this","that","these","those","of","in","on","to","for","with","and","or","but","if","then","else","than","as","at","by","from","into","about","it","its","i","you","we","they","he","she","there","here","can","could","should","would","will","shall","may","might","must","have","has","had","not","no","yes","so","such","only","any","some","all","get","set","use","used","using","work","works","working","handle","handled","happen","happens","default","value","values","please","explain","tell","me","my","our"])});function kf(e){let t="";for(let n=0;n{"use strict";E();Ae()});function bl(e,t){return e===jn||t.has(e)||e.startsWith(".codeindex-edit-")}function vf(e,t){let n=t.find(s=>s.name===jn);if(!n)return;let r=I(e,jn);try{if(n.isDirectory())return r;let s=xe(r);if(s.isDirectory())return r;if(!s.isFile()||s.size>Ef)return;let o=Q(r,"utf8");if(!o.startsWith(wl))return;let a=o.slice(wl.length).replace(/[\r\n]+$/,"");if(!a)return;let l=Ee(e,a),c=I(l,"commondir");return H(c)?Ee(l,Q(c,"utf8").trim()):l}catch{return}}function Rf(e){if(!e)return"";try{let t=I(e,"info","exclude");return H(t)?q(t):""}catch{return""}}function Pe(e,t={}){let n=t.maxFileBytes??1048576,r=t.maxFiles??1/0,s=t.gitignore!==!1,o=t.ignoreDirs?new Set(t.ignoreDirs):Gt,a=[],l=!1,c=0,d;try{d=_n(e)}catch{return{files:a,capped:l,excluded:c}}let m=p=>p===d||p.startsWith(d+"/"),u=[{dir:e,rel:"",rules:[]}],f=new Set;e:for(;u.length;){let p=u.pop(),g;try{g=_n(p.dir)}catch{continue}if(f.has(g)||(f.add(g),!m(g)))continue;let h;try{h=hn(p.dir,{withFileTypes:!0}).sort((_,k)=>_.namek.name?1:0)}catch{continue}let y=h.some(_=>_.name===jn)?vf(p.dir,h):void 0;if(p.rel&&y){c++;continue}let S=p.rules;if(s&&!p.rel){let _=as(Rf(y),"");_.length&&(S=[...S,..._])}if(s&&h.some(_=>_.name===".gitignore")){let _=as(q(I(p.dir,".gitignore")),p.rel);_.length&&(S=[...S,..._])}for(let _ of h){let k=_.name,b=I(p.dir,k),w=p.rel?`${p.rel}/${k}`:k,v=_.isSymbolicLink();if(k===jn||_.isDirectory()&&bl(k,o))continue;let A;try{A=v?xe(b):fl(b)}catch{continue}if(A.isDirectory()){if(bl(k,o)||v||s&&S.length&&ls(S,w,!0))continue;u.push({dir:b,rel:w,rules:S});continue}if(!A.isFile())continue;if(A.size>n){c++;continue}if(zi.has(k.toLowerCase())){c++;continue}let F=ns(k).toLowerCase();if(Hi.has(F)){c++;continue}if(k.endsWith(".min.js")||k.endsWith(".min.css")){c++;continue}if(s&&S.length&&ls(S,w,!1)){c++;continue}if(v)try{if(!m(_n(b)))continue}catch{continue}if(a.length>=r){l=!0;break e}a.push({rel:w.split("/").join("/"),abs:b,size:A.size,ext:F,mtimeMs:A.mtimeMs})}}return{files:a,capped:l,excluded:c}}function q(e){try{let t=Q(e);if(t.length>=2&&t[0]===255&&t[1]===254)return t.subarray(2,2+(t.length-2&-2)).toString("utf16le");if(t.length>=2&&t[0]===254&&t[1]===255){let r=N.from(t.subarray(2,2+(t.length-2&-2)));return r.swap16(),r.toString("utf16le")}if(t.length>=3&&t[0]===239&&t[1]===187&&t[2]===191)return t.subarray(3).toString("utf8");if(t.includes(0))return"";let n=t.toString("utf8");return n.includes("\uFFFD")?t.toString("latin1"):n}catch{return""}}var Gt,jn,wl,Ef,zi,Hi,Mf,Ne=O(()=>{"use strict";E();Se();ae();Bi();Gt=new Set([".git","node_modules",".pnpm","bower_components","vendor","dist","build","out","target",".next",".nuxt",".svelte-kit",".turbo","coverage","__pycache__",".venv","venv",".tox",".mypy_cache",".pytest_cache",".gradle",".idea",".vscode",".cache","tmp",".ultraindex",".codeindex","Pods","DerivedData",".terraform","elm-stuff",".dart_tool"]),jn=".git";wl="gitdir: ",Ef=4096;zi=new Set(["package-lock.json","npm-shrinkwrap.json","yarn.lock","pnpm-lock.yaml","bun.lockb","composer.lock","cargo.lock","poetry.lock","pipfile.lock","gemfile.lock","go.sum","flake.lock","packages.lock.json","podfile.lock","mix.lock"]),Hi=new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".ico",".icns",".svg",".pdf",".zip",".gz",".tar",".tgz",".bz2",".xz",".7z",".rar",".jar",".war",".class",".so",".dylib",".dll",".exe",".bin",".o",".a",".wasm",".woff",".woff2",".ttf",".otf",".eot",".mp3",".mp4",".mov",".avi",".webm",".wav",".flac",".ogg",".lock",".min.js",".map"]),Mf=2e4});function ds(e){let t=pe("git",["-C",e,"rev-parse","--short","HEAD"]);return t.ok?t.stdout.trim():void 0}function qi(e){return pe("git",["-C",e,"rev-parse","--is-inside-work-tree"]).ok}function Vi(e,t){let n=l=>pe("git",[...lt(e),"rev-parse","--verify","--quiet",`${l}^{commit}`]).ok,r=l=>{let c=pe("git",[...lt(e),"merge-base",l,"HEAD"]);return c.ok?c.stdout.trim():void 0};if(t){if(!n(t))return{error:`base ref "${t}" not found (tried git rev-parse --verify)`};let l=r(t);return l?{ref:t,mergeBase:l}:{error:`no merge-base between "${t}" and HEAD`}}let s=pe("git",[...lt(e),"symbolic-ref","--quiet","refs/remotes/origin/HEAD"]),o=[...s.ok?[s.stdout.trim().replace("refs/remotes/","")]:[],"origin/main","origin/master","main","master"];for(let l of o){if(!n(l))continue;let c=r(l);if(c)return{ref:l,mergeBase:c}}let a=pe("git",[...lt(e),"rev-parse","HEAD"]);return a.ok?{ref:"HEAD",mergeBase:a.stdout.trim(),note:"base: HEAD (no default branch found \u2014 reviewing uncommitted work)"}:{error:"cannot resolve HEAD \u2014 empty repository?"}}function Ji(e,t){let n=[],r=pe("git",[...lt(e),"diff","-z","-M","--name-status",...Gi(t)]);if(r.ok){let a=r.stdout.split("\0"),l=0;for(;l[a.path,a])),o=pe("git",[...lt(e),"diff","-z","-M","--numstat",...Gi(t)]);if(o.ok){let a=o.stdout.split("\0"),l=0;for(;ln.length>0):[]}function Ze(e,t={}){let n=new Map,r=t.since?[`${t.since}..HEAD`]:[],s=pe("git",[...lt(e),"log",...r,"--pretty=format:","--name-only","-z"]);if(!s.ok)return{churn:n,ok:!1};for(let o of s.stdout.split("\0")){let a=o.replace(/^\n+/,"").trim();a&&n.set(a,(n.get(a)??0)+1)}return{churn:n,ok:!0}}function Cf(e,t){let n=new Set,r=pe("git",[...lt(e),"diff","-z","--name-only",t,"--"]);if(r.ok)for(let s of r.stdout.split("\0"))s&&n.add(s);for(let s of us(e))n.add(s);return n}var lt,Gi,qt=O(()=>{"use strict";E();Ae();lt=e=>["-C",e,"-c","core.quotePath=false"],Gi=e=>e.staged?["--cached"]:[e.mergeBase]});function Af(e){return typeof e=="string"?new TextEncoder().encode(e):e}function Tf(e,t){if(e.length===1)return e[0];let n=new Uint8Array(t),r=0;for(let s of e)n.set(s,r),r+=s.byteLength;return n}function Sl(e){let t=Math.floor(e.byteLength/536870912|0),n=e.byteLength<<3>>>0,r=Math.ceil((e.byteLength+9)/64),s=new Uint8Array(r*64);s.set(e),s[e.byteLength]=128;let o=new DataView(s.buffer);return o.setUint32(s.byteLength-8,t,!1),o.setUint32(s.byteLength-4,n,!1),o}function Xi(e,t){return(e<>>32-t)>>>0}function ct(e,t){return(e>>>t|e<<32-t)>>>0}function If(e){let t=Sl(e),n=1732584193,r=4023233417,s=2562383102,o=271733878,a=3285377520,l=new Uint32Array(80);for(let m=0;m>>0;h=g,g=p,p=Xi(f,30),f=u,u=k}n=n+u>>>0,r=r+f>>>0,s=s+p>>>0,o=o+g>>>0,a=a+h>>>0}let c=new Uint8Array(20),d=new DataView(c.buffer);return[n,r,s,o,a].forEach((m,u)=>d.setUint32(u*4,m,!1)),c}function Ff(e){let t=Sl(e),n=1779033703,r=3144134277,s=1013904242,o=2773480762,a=1359893119,l=2600822924,c=528734635,d=1541459225,m=new Uint32Array(64);for(let p=0;p>>3,U=ct(F,17)^ct(F,19)^F>>>10;m[v]=m[v-16]+T+m[v-7]+U>>>0}let g=n,h=r,y=s,S=o,_=a,k=l,b=c,w=d;for(let v=0;v<64;v++){let A=ct(_,6)^ct(_,11)^ct(_,25),F=_&k^~_&b,T=w+A+F+Nf[v]+m[v]>>>0,U=ct(g,2)^ct(g,13)^ct(g,22),te=g&h^g&y^h&y,V=U+te>>>0;w=b,b=k,k=_,_=S+T>>>0,S=y,y=h,h=g,g=T+V>>>0}n=n+g>>>0,r=r+h>>>0,s=s+y>>>0,o=o+S>>>0,a=a+_>>>0,l=l+k>>>0,c=c+b>>>0,d=d+w>>>0}let u=new Uint8Array(32),f=new DataView(u.buffer);return[n,r,s,o,a,l,c,d].forEach((p,g)=>f.setUint32(g*4,p,!1)),u}function Of(e){let t="";for(let n of e)t+=xl[n>>4]+xl[n&15];return t}function Pf(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function yn(e){let t=e.toLowerCase().replace("-","");if(t!=="sha1"&&t!=="sha256")throw new Error(`createHash: unsupported algorithm "${e}" in the browser build (sha1, sha256)`);let n=[],r=0,s={update(o){let a=Af(o);return n.push(a),r+=a.byteLength,s},digest(o){let a=r===0?new Uint8Array(0):Tf(n,r),l=t==="sha1"?If(a):Ff(a);return o==="hex"?Of(l):o==="base64"?Pf(l):l}};return s}var Nf,xl,ms=O(()=>{E();Nf=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);xl="0123456789abcdef"});function Ce(e){return yn("sha1").update(e).digest("hex")}function $f(e,t=8){return Ce(e).slice(0,t)}var Tt=O(()=>{"use strict";E();ms()});function re(e,t,n,r){let s=[],o=t.split(/\r?\n/);for(let a=0;a{if(!a){a=[0];for(let y=0;y>>1;a[y]<=p?g=y+1:h=y}return g},c=new Map;for(let p of n)c.has(p.name)||c.set(p.name,p);let d=jf(t),m=/export\s*\{([\s\S]*?)\}\s*(?:from\s*['"]([^'"]+)['"])?\s*;?/g,u;for(;(u=m.exec(d))&&s.length{"use strict";E();Df={".ts":"typescript",".tsx":"typescript",".mts":"typescript",".cts":"typescript",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".py":"python",".pyi":"python",".go":"go",".rb":"ruby",".rake":"ruby",".java":"java",".rs":"rust",".c":"c",".h":"c",".cc":"cpp",".cpp":"cpp",".cxx":"cpp",".hpp":"cpp",".cs":"csharp",".php":"php",".swift":"swift",".kt":"kotlin",".kts":"kotlin",".scala":"scala",".sc":"scala",".clj":"clojure",".ex":"elixir",".exs":"elixir",".erl":"erlang",".hs":"haskell",".dart":"dart",".lua":"lua",".sh":"shell",".bash":"shell",".zsh":"shell",".ksh":"shell",".fish":"shell",".hh":"cpp",".m":"objective-c",".mm":"objective-c",".sql":"sql",".graphql":"graphql",".gql":"graphql",".proto":"protobuf",".md":"markdown",".mdx":"markdown",".rst":"restructuredtext",".txt":"text",".json":"json",".yaml":"yaml",".yml":"yaml",".toml":"toml",".ini":"ini",".html":"html",".css":"css",".scss":"scss",".vue":"vue",".svelte":"svelte",".astro":"astro",".zig":"zig",".hcl":"hcl",".tf":"terraform",".tfvars":"terraform",".sol":"solidity"};Lf=new Set([".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"]);Zi=47,kl=42,El=10,Wf=34,Uf=39,Bf=96,zf=92,ps=400});function Vf(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"")}function Jf(e,t){let n=o=>{if(!(!o||o==="default"))for(let a of t)a.name===o&&(a.exported=!0)},r=(o,a)=>{for(let l of o.split(",")){let c=l.trim().replace(/^type\s+/,"");if(!c)continue;let d=/^([\w$]+)\s+as\s+([\w$]+)$/.exec(c);if(d){d[2]!=="default"&&n(d[1]);continue}if(a){let m=/^([\w$]+)\s*:\s*([\w$]+)$/.exec(c);if(m){n(m[1]),n(m[2]);continue}}n(/^([\w$]+)/.exec(c)?.[1])}},s;for(vl.lastIndex=0;s=vl.exec(e);)s[2]||r(s[1]??"",!1);for(Rl.lastIndex=0;s=Rl.exec(e);)r(s[1]??"",!0);for(Ml.lastIndex=0;s=Ml.exec(e);)n(s[2])}var Hf,Gf,qf,vl,Rl,Ml,Cl,Al=O(()=>{"use strict";E();Re();Hf=[{re:/^\s*export\s+(?:async\s+)?function\s+(?[\w$]+)/,kind:"function",exported:!0},{re:/^\s*export\s+default\s+(?:async\s+)?function\s+(?[\w$]+)/,kind:"function",exported:!0},{re:/^\s*export\s+default\s+(?:abstract\s+)?class\s+(?!extends\b)(?[\w$]+)/,kind:"class",exported:!0},{re:/^\s*(?:async\s+)?function\s+(?[\w$]+)/,kind:"function",exported:!1},{re:/^\s*export\s+(?:abstract\s+)?class\s+(?[\w$]+)/,kind:"class",exported:!0},{re:/^\s*(?:abstract\s+)?class\s+(?[\w$]+)/,kind:"class",exported:!1},{re:/^\s*export\s+interface\s+(?[\w$]+)/,kind:"interface",exported:!0},{re:/^\s*interface\s+(?[\w$]+)/,kind:"interface",exported:!1},{re:/^\s*export\s+type\s+(?[\w$]+)/,kind:"type",exported:!0},{re:/^\s*type\s+(?[\w$]+)\s*[=<]/,kind:"type",exported:!1},{re:/^\s*export\s+enum\s+(?[\w$]+)/,kind:"enum",exported:!0},{re:/^\s*export\s+const\s+enum\s+(?[\w$]+)/,kind:"enum",exported:!0},{re:/^\s*export\s+(?:const|let|var)\s+(?[\w$]+)\s*[:=]/,kind:"const",exported:!0},{re:/^\s*exports\.(?[\w$]+)\s*=/,kind:"const",exported:!0},{re:/^\s*module\.exports\.(?[\w$]+)\s*=/,kind:"const",exported:!0},{re:/^\s*(?:const|let)\s+(?[\w$]+)\s*=\s*(?:async\s*)?\([^)]*\)\s*(?::[^=]+)?=>/,kind:"const",exported:!1},{re:/^(?:const|let|var)\s+(?[\w$]+)\s*[:=]/,kind:"const",exported:!1},{re:/^\s*export\s+default\s+(?[A-Za-z_$][\w$]*)\s*;?\s*$/,kind:"default",exported:!0}],Gf=/^\s*export\s+default\s+(?:async\s+)?(?:function|class)?\s*(?:\(|\{|extends\b)/,qf=/^\s*export\s+default\s+(?:async\s+)?(?:function|class)\s+(?!extends\b)[\w$]+/;vl=/export\s*\{([^}]*)\}\s*(from\b)?/g,Rl=/module\.exports\s*=\s*\{([^}]*)\}/g,Ml=/(^|\n)\s*export\s+default\s+([A-Za-z_$][\w$]*)\s*;?\s*(?=\n|$)/g;Cl={lang:"javascript/typescript",exts:[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],extract(e,t){let n=e.match(/\.(ts|tsx|mts|cts)$/)?"typescript":"javascript",r=re(e,t,n,Hf),s=t.split(/\r?\n/);for(let o=0;o{"use strict";E();Re();_s=e=>!e.startsWith("_")||e.startsWith("__"),Kf=[{re:/^(?:async\s+)?def\s+(?[\w]+)\s*\(/,kind:"function",exported:e=>_s(e.groups.name)},{re:/^\s+(?:async\s+)?def\s+(?[\w]+)\s*\(/,kind:"method",exported:e=>_s(e.groups.name)},{re:/^class\s+(?[\w]+)/,kind:"class",exported:e=>_s(e.groups.name)},{re:/^\s+class\s+(?[\w]+)/,kind:"class",exported:e=>_s(e.groups.name)}],Tl={lang:"python",exts:[".py",".pyi"],extract(e,t){return re(e,t,"python",Kf)}}});var Wn,Xf,Nl,Fl=O(()=>{"use strict";E();Re();Wn=e=>/^[A-Z]/.test(e),Xf=[{re:/^func\s+\([^)]*\)\s+(?[\w]+)\s*\(/,kind:"method",exported:e=>Wn(e.groups.name)},{re:/^func\s+(?[\w]+)\s*\(/,kind:"function",exported:e=>Wn(e.groups.name)},{re:/^type\s+(?[\w]+)\s+struct\b/,kind:"struct",exported:e=>Wn(e.groups.name)},{re:/^type\s+(?[\w]+)\s+interface\b/,kind:"interface",exported:e=>Wn(e.groups.name)},{re:/^type\s+(?[\w]+)\s+/,kind:"type",exported:e=>Wn(e.groups.name)}],Nl={lang:"go",exts:[".go"],extract(e,t){return re(e,t,"go",Xf)}}});var Zf,Ol,Pl=O(()=>{"use strict";E();Re();Zf=[{re:/^\s*def\s+(?:self\.)?(?[\w?!=]+)/,kind:"method",exported:!0},{re:/^\s*class\s+(?[\w:]+)/,kind:"class",exported:!0},{re:/^\s*module\s+(?[\w:]+)/,kind:"module",exported:!0}],Ol={lang:"ruby",exts:[".rb",".rake"],extract(e,t){return re(e,t,"ruby",Zf)}}});var Yf,$l,Dl=O(()=>{"use strict";E();Re();Yf=[{re:/^\s*(?:public|protected|private)?\s*(?:abstract\s+|final\s+)?class\s+(?[\w]+)/,kind:"class",exported:(e,t)=>/\bpublic\b/.test(t)},{re:/^\s*(?:public|protected|private)?\s*interface\s+(?[\w]+)/,kind:"interface",exported:(e,t)=>/\bpublic\b/.test(t)},{re:/^\s*(?:public|protected|private)?\s*enum\s+(?[\w]+)/,kind:"enum",exported:(e,t)=>/\bpublic\b/.test(t)},{re:/^\s*(?:public|protected|private)\s+(?:static\s+|final\s+|abstract\s+|synchronized\s+)*[\w<>\[\],.?\s]+\s+(?[\w]+)\s*\(/,kind:"method",exported:(e,t)=>/\bpublic\b/.test(t)}],$l={lang:"java",exts:[".java"],extract(e,t){return re(e,t,"java",Yf)}}});var Un,Qf,Ll,jl=O(()=>{"use strict";E();Re();Un=(e,t)=>/^\s*pub\b/.test(t),Qf=[{re:/^\s*(?:pub(?:\([^)]*\))?\s+)?(?:async\s+)?(?:unsafe\s+)?fn\s+(?[\w]+)/,kind:"function",exported:Un},{re:/^\s*(?:pub(?:\([^)]*\))?\s+)?struct\s+(?[\w]+)/,kind:"struct",exported:Un},{re:/^\s*(?:pub(?:\([^)]*\))?\s+)?enum\s+(?[\w]+)/,kind:"enum",exported:Un},{re:/^\s*(?:pub(?:\([^)]*\))?\s+)?trait\s+(?[\w]+)/,kind:"trait",exported:Un},{re:/^\s*(?:pub(?:\([^)]*\))?\s+)?type\s+(?[\w]+)/,kind:"type",exported:Un}],Ll={lang:"rust",exts:[".rs"],extract(e,t){return re(e,t,"rust",Qf)}}});var Bn,em,Wl,Ul=O(()=>{"use strict";E();Re();Bn=(e,t)=>/\b(public|internal)\b/.test(t),em=[{re:/^\s*(?:public|internal|protected|private)?\s*(?:static\s+|sealed\s+|abstract\s+|partial\s+)*(?:class|record)\s+(?\w+)/,kind:"class",exported:Bn},{re:/^\s*(?:public|internal|protected|private)?\s*(?:partial\s+)?interface\s+(?\w+)/,kind:"interface",exported:Bn},{re:/^\s*(?:public|internal|protected|private)?\s*(?:readonly\s+)?(?:ref\s+)?struct\s+(?\w+)/,kind:"struct",exported:Bn},{re:/^\s*(?:public|internal|protected|private)?\s*enum\s+(?\w+)/,kind:"enum",exported:Bn},{re:/^\s*(?:public|internal|protected|private)\s+(?:static\s+|virtual\s+|override\s+|async\s+|sealed\s+|abstract\s+|new\s+)*[\w<>\[\],.?]+\s+(?\w+)\s*(?:<[^>]*>)?\s*\(/,kind:"method",exported:Bn}],Wl={lang:"csharp",exts:[".cs"],extract(e,t){return re(e,t,"csharp",em)}}});var tm,Bl,zl=O(()=>{"use strict";E();Re();tm=[{re:/^\s*(?:abstract\s+|final\s+)*class\s+(?\w+)/,kind:"class",exported:!0},{re:/^\s*interface\s+(?\w+)/,kind:"interface",exported:!0},{re:/^\s*trait\s+(?\w+)/,kind:"trait",exported:!0},{re:/^\s*enum\s+(?\w+)/,kind:"enum",exported:!0},{re:/^\s*(?:public\s+|protected\s+|private\s+|static\s+|abstract\s+|final\s+)*function\s+(?\w+)\s*\(/,kind:"function",exported:(e,t)=>!/\b(private|protected)\b/.test(t)}],Bl={lang:"php",exts:[".php"],extract(e,t){return re(e,t,"php",tm)}}});var zn,hs,nm,Hl,Gl=O(()=>{"use strict";E();Re();zn=(e,t)=>!/\b(private|fileprivate)\b/.test(t),hs="(?:public\\s+|open\\s+|internal\\s+|private\\s+|fileprivate\\s+)?(?:final\\s+)?",nm=[{re:new RegExp(`^\\s*${hs}class\\s+(?\\w+)`),kind:"class",exported:zn},{re:new RegExp(`^\\s*${hs}struct\\s+(?\\w+)`),kind:"struct",exported:zn},{re:new RegExp(`^\\s*${hs}enum\\s+(?\\w+)`),kind:"enum",exported:zn},{re:new RegExp(`^\\s*${hs}protocol\\s+(?\\w+)`),kind:"protocol",exported:zn},{re:/^\s*(?:public\s+|open\s+|internal\s+|private\s+|fileprivate\s+)?(?:static\s+|class\s+|final\s+|override\s+|mutating\s+|@\w+\s+)*func\s+(?\w+)/,kind:"function",exported:zn}],Hl={lang:"swift",exts:[".swift"],extract(e,t){return re(e,t,"swift",nm)}}});var ys,rm,ql,Vl=O(()=>{"use strict";E();Re();ys=(e,t)=>!/\b(private|internal)\b/.test(t),rm=[{re:/^\s*(?:public\s+|internal\s+|private\s+|abstract\s+|sealed\s+|open\s+|final\s+|data\s+)*class\s+(?\w+)/,kind:"class",exported:ys},{re:/^\s*(?:public\s+|internal\s+|private\s+|fun\s+)?interface\s+(?\w+)/,kind:"interface",exported:ys},{re:/^\s*(?:public\s+|internal\s+|private\s+|companion\s+)?object\s+(?\w+)/,kind:"object",exported:ys},{re:/^\s*(?:public\s+|internal\s+|private\s+|protected\s+|override\s+|open\s+|abstract\s+|suspend\s+|inline\s+|operator\s+)*fun\s+(?:<[^>]*>\s+)?(?\w+)\s*\(/,kind:"function",exported:ys}],ql={lang:"kotlin",exts:[".kt",".kts"],extract(e,t){return re(e,t,"kotlin",rm)}}});var sm,im,Jl,Kl=O(()=>{"use strict";E();Re();sm="(?!\\s*(?:if|for|while|switch|return|else|do|sizeof|typedef)\\b)",im=[{re:/^\s*(?:class|struct)\s+(?[A-Za-z_]\w+)\s*(?:[:{]|$)/,kind:"class",exported:!0},{re:/^\s*namespace\s+(?[A-Za-z_]\w+)/,kind:"namespace",exported:!0},{re:/^\s*(?:typedef\s+)?(?:struct|enum|union)\s+(?[A-Za-z_]\w+)\s*\{/,kind:"struct",exported:!0},{re:new RegExp(`^${sm}[A-Za-z_][\\w\\s\\*&<>:,]*?\\b(?[A-Za-z_]\\w+)\\s*\\([^;{]*\\)\\s*(?:const)?\\s*\\{?\\s*$`),kind:"function",exported:!0}],Jl={lang:"c/cpp",exts:[".c",".h",".cc",".cpp",".cxx",".hpp",".hh"],extract(e,t){return re(e,t,e.match(/\.(c|h)$/)?"c":"cpp",im)}}});var om,Xl,Zl=O(()=>{"use strict";E();Re();om=[{re:/^\s*local\s+function\s+(?[\w.:]+)\s*\(/,kind:"function",exported:!1},{re:/^\s*function\s+(?[\w.:]+)\s*\(/,kind:"function",exported:!0},{re:/^\s*(?:local\s+)?(?[\w.]+)\s*=\s*function\s*\(/,kind:"function",exported:!0}],Xl={lang:"lua",exts:[".lua"],extract(e,t){return re(e,t,"lua",om)}}});var am,Yl,Ql=O(()=>{"use strict";E();Re();am=[{re:/^\s*function\s+(?[\w:-]+)\s*(?:\(\))?\s*\{?/,kind:"function",exported:!0},{re:/^\s*(?[A-Za-z_][\w:-]*)\s*\(\)\s*\{?/,kind:"function",exported:!0}],Yl={lang:"shell",exts:[".sh",".bash",".zsh",".ksh"],extract(e,t){return re(e,t,"shell",am)}}});var lm,ec,tc=O(()=>{"use strict";E();Re();lm=[{re:/^\s*defmodule\s+(?[\w.]+)/,kind:"module",exported:!0},{re:/^\s*defp\s+(?[\w?!]+)/,kind:"function",exported:!1},{re:/^\s*def\s+(?[\w?!]+)/,kind:"function",exported:!0},{re:/^\s*defmacrop?\s+(?[\w?!]+)/,kind:"macro",exported:!0}],ec={lang:"elixir",exts:[".ex",".exs"],extract(e,t){return re(e,t,"elixir",lm)}}});var cm,nc,rc=O(()=>{"use strict";E();Re();cm=[{re:/^\s*(?:final\s+|sealed\s+|abstract\s+|implicit\s+)*(?:case\s+)?class\s+(?\w+)/,kind:"class",exported:!0},{re:/^\s*(?:sealed\s+)?trait\s+(?\w+)/,kind:"trait",exported:!0},{re:/^\s*(?:case\s+)?object\s+(?\w+)/,kind:"object",exported:!0},{re:/^\s*(?:override\s+|final\s+|private\s+|protected\s+|implicit\s+)*def\s+(?\w+)/,kind:"def",exported:(e,t)=>!/\b(private|protected)\b/.test(t)}],nc={lang:"scala",exts:[".scala",".sc"],extract(e,t){return re(e,t,"scala",cm)}}});var It,dm,sc,ic=O(()=>{"use strict";E();Re();It=e=>!(e.groups?.name??"").startsWith("_"),dm=[{re:/^\s*(?:abstract\s+|base\s+|final\s+|sealed\s+|interface\s+)*class\s+(?\w+)/,kind:"class",exported:It},{re:/^\s*mixin\s+(?\w+)/,kind:"mixin",exported:It},{re:/^\s*extension\s+(?\w+)/,kind:"extension",exported:It},{re:/^\s*enum\s+(?\w+)/,kind:"enum",exported:It},{re:/^\s*typedef\s+(?\w+)/,kind:"type",exported:It},{re:/^\s*(?:@\w+\s+)*(?:static\s+|final\s+|const\s+|external\s+|abstract\s+)*(?:[\w<>,?\[\]. ]+\s+)?(?\w+)\s*\([^)]*\)\s*(?:async\s*\*?\s*)?(?:=>|\{|;)/,kind:"function",exported:It},{re:/^\s*(?:static\s+)?[\w<>,?\[\]. ]+\s+get\s+(?\w+)/,kind:"getter",exported:It},{re:/^\s*(?:static\s+)?set\s+(?\w+)\s*\(/,kind:"setter",exported:It}],sc={lang:"dart",exts:[".dart"],extract(e,t){return re(e,t,"dart",dm)}}});function Qi(e,t,n){let r=Yi.get(t),s;if(!r)s=[];else try{s=r.extract(e,n)}catch{s=[]}let o=new Set(s.map(l=>l.name)),a=gs(e,n,s).filter(l=>!o.has(l.name));return a.length?[...s,...a]:s}function eo(e){return Yi.get(e)?.lang??Vt(e)}var um,Yi,bn=O(()=>{"use strict";E();Re();Al();Il();Fl();Pl();Dl();jl();Ul();zl();Gl();Vl();Kl();Zl();Ql();tc();rc();ic();um=[Cl,Tl,Nl,Ol,$l,Ll,Wl,Bl,Hl,ql,Jl,Xl,Yl,ec,nc,sc],Yi=new Map;for(let e of um)for(let t of e.exts)Yi.set(t,e)});function oc(e,t){let n=e.split("/").pop().toLowerCase();return mm.has(t)||fm.test(n)||pm.test(e)}function hm(e,t){let n=e.split("/").pop().toLowerCase();return gm.has(n)||_m.has(t)}function ac(e){return!ym.has(eo(e))}function Hn(e,t){return ac(t)?"code":oc(e,t)?"doc":hm(e,t)?"config":"other"}var fm,mm,pm,gm,_m,to,ym,bs=O(()=>{"use strict";E();bn();fm=/^(readme|changelog|contributing|history|news|authors|notice|security|code_of_conduct|faq|getting[-_]?started|usage|guide|tutorial)\b/i,mm=new Set([".md",".mdx",".rst",".adoc",".txt"]),pm=/^(docs?|documentation|wiki|guides?|website|site|book)\//i,gm=new Set(["package.json","pnpm-workspace.yaml","tsconfig.json","jsconfig.json","pyproject.toml","setup.py","setup.cfg","requirements.txt","pipfile","go.mod","cargo.toml","gemfile","pom.xml","build.gradle","build.gradle.kts","composer.json","mix.exs","pubspec.yaml","build.sbt","dockerfile","docker-compose.yml","docker-compose.yaml","makefile",".env.example","manifest.json"]),_m=new Set([".json",".yaml",".yml",".toml",".ini",".cfg"]),to=new Set([".md",".mdx"]);ym=new Set(["markdown","restructuredtext","text","json","yaml","toml","ini","other","html","css","scss"])});function bm(e){let t="";for(let n=0;nt.some(r=>r.test(n))}function lc(e){if(!e||e.length===0)return null;let t=bt(e.filter(r=>!r.startsWith("!"))),n=bt(e.filter(r=>r.startsWith("!")).map(r=>r.slice(1)));return r=>(!t||t(r))&&!n?.(r)}var Gn=O(()=>{"use strict";E();Ae()});function M(e,t){return et?1:0}function no(e){return(t,n)=>M(e(t),e(n))}var Y=O(()=>{"use strict";E()});function wm(e){let t=e.split(/\r?\n/),n=[],r=null;for(let s of t){let o=/^\s*(```+|~~~+)/.exec(s);if(r){o&&s.trim().startsWith(r[0][0].repeat(3).slice(0,3))&&(r=null),n.push("");continue}if(o){r=o[1],n.push("");continue}n.push(s)}return n.join(` `)}function xm(e){return!e||e.startsWith("#")||e.startsWith("//")?!0:/^[a-z][a-z0-9+.-]*:/i.test(e)}function cc(e){return e.replace(/!\[[^\]]*\]\([^)]*\)/g,"").replace(/`([^`]*)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/[#>*_~-]+/g," ").replace(/\s+/g," ").trim()}function Sm(e){return/[A-Za-zÀ-ɏ]{3,}/.test(e)}function km(e){return/^(all notable changes to this project|in the interest of fostering|this project adheres to|we as members and leaders|table of contents)\b/i.test(e)}function ro(e){let t=e,n,r=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/.exec(t);if(r){let y=/(^|\n)title:\s*["']?(.+?)["']?\s*(\n|$)/i.exec(r[1]);y&&(n=y[2].trim()),t=t.slice(r[0].length)}let s=wm(t),o=s.split(/\r?\n/),a=[],l=n,c,d=!1;for(let y of o){let S=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(y);if(S){let _=cc(S[2]);a.push(_),!l&&S[1].length===1&&(l=_),!c&&S[1].length>=2&&(d=!0);continue}if(!c&&!d){let _=y.trim();if(_&&!/^([-*+]|\d+\.)\s/.test(_)&&!_.startsWith("|")&&!_.startsWith("<")){let k=cc(_);k.length>=8&&Sm(k)&&!k.endsWith(":")&&!km(k)&&(c=k.slice(0,200))}}}let m=[],u=new Set,f=y=>{let S=y.trim();S=S.replace(/\s+["'(].*$/,"").trim(),S=S.replace(/^<|>$/g,""),!xm(S)&&(u.has(S)||(u.add(S),m.push({kind:"doc-link",spec:S})))},p=/!?\[[^\]]*\]\(([^)]+)\)/g,g;for(;g=p.exec(s);)f(g[1]);let h=/^\s*\[[^\]]+\]:\s+(\S+)/gm;for(;g=h.exec(s);)f(g[1]);return{title:l,summary:c,headings:a,refs:m}}var so=O(()=>{"use strict";E()});function Cm(e){return e.lengthdc?!1:Mm.test(e)}function Am(e){let t=e.trim();return!t||t.length>dc||Rm.has(t)?!1:Number.isFinite(Number(t))}function Tm(e){let t=e,n=/^(?:[rRbBuUfF]{1,2}|@|\$)?(?:#*)?(['"`])/.exec(t);if(n){let r=n[1],s=t.indexOf(r),o=t.lastIndexOf(r);o>s&&(t=t.slice(s+1,o))}return t}var dc,Em,vm,Rm,Mm,Nt,ws=O(()=>{"use strict";E();Y();dc=80,Em=2,vm=256,Rm=new Set(["0","1","-1","2","-2"]),Mm=/[\p{L}\p{N}]/u;Nt=class{seen=new Set;out=[];get full(){return this.out.length>=vm}add(t,n,r){if(this.full||t==="string"&&!Cm(n)||t==="number"&&!Am(n)||t==="regex"&&!n)return;let s=`${t}\0${n}\0${r}`;this.seen.has(s)||(this.seen.add(s),this.out.push({value:n,line:r,kind:t}))}addString(t,n){this.add("string",Tm(t),n)}result(){if(this.out.length)return this.out.sort((t,n)=>M(t.value,n.value)||t.line-n.line||M(t.kind,n.kind))}}});function uc(){return"/home"}function xs(){return typeof navigator<"u"&&navigator?.hardwareConcurrency?navigator.hardwareConcurrency:1}function fc(){return Array.from({length:xs()},()=>({model:"browser",speed:0,times:{user:0,nice:0,sys:0,idle:0,irq:0}}))}var io=O(()=>{E()});function Ss(e){let t=typeof e=="string"?e:e.href;try{return decodeURIComponent(new URL(t).pathname)}catch{return t}}function qn(e){return new URL(`file://${e.startsWith("/")?"":"/"}${e}`)}var ks=O(()=>{E()});var oo={};Di(oo,{createRequire:()=>Nm,default:()=>Fm});var Nm,Fm,ao=O(()=>{E();Nm=()=>{throw new Error("node-only API in the browser build")},Fm={}});function wn(e){if(e!==Ft)throw new Error("Illegal constructor")}function Jn(e){return!!e&&typeof e.row=="number"&&typeof e.column=="number"}function gc(e){x=e}function po(e,t,n,r){let s=n-t,o=e.textCallback(t,r);if(o){for(t+=o.length;t0)t+=a.length,o+=a;else break}t>n&&(o=o.slice(0,s))}return o??""}function mo(e,t,n,r,s){for(let o=0,a=s.length;o>>0,column:x.getValue(e+W,"i32")>>>0}}function hc(e,t){Ve(e,t.startPosition),e+=dt,Ve(e,t.endPosition),e+=dt,x.setValue(e,t.startIndex,"i32"),e+=W,x.setValue(e,t.endIndex,"i32"),e+=W}function Es(e){let t={};return t.startPosition=Jt(e),e+=dt,t.endPosition=Jt(e),e+=dt,t.startIndex=x.getValue(e,"i32")>>>0,e+=W,t.endIndex=x.getValue(e,"i32")>>>0,t}function yc(e,t=L){Ve(t,e.startPosition),t+=dt,Ve(t,e.oldEndPosition),t+=dt,Ve(t,e.newEndPosition),t+=dt,x.setValue(t,e.startIndex,"i32"),t+=W,x.setValue(t,e.oldEndIndex,"i32"),t+=W,x.setValue(t,e.newEndIndex,"i32"),t+=W}function bc(e){let t=x.getValue(e,"i32"),n=x.getValue(e+=W,"i32"),r=x.getValue(e+=W,"i32");return{major_version:t,minor_version:n,patch_version:r}}async function xc(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof R=="object"&&R.versions?.node&&R.type!="renderer";if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await Promise.resolve().then(()=>(ao(),oo));var require=e(import.meta.url)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram="./this.program",quit_=C((e,t)=>{throw t},"quit_"),_scriptName=import.meta.url,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}C(locateFile,"locateFile");var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");_scriptName.startsWith("file:")&&(scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+"/"),readBinary=C(e=>{e=isFileURI(e)?new URL(e):e;var t=fs.readFileSync(e);return t},"readBinary"),readAsync=C(async(e,t=!0)=>{e=isFileURI(e)?new URL(e):e;var n=fs.readFileSync(e,t?void 0:"utf8");return n},"readAsync"),R.argv.length>1&&(thisProgram=R.argv[1].replace(/\\/g,"/")),arguments_=R.argv.slice(2),quit_=C((e,t)=>{throw R.exitCode=e,t},"quit_")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=C(e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)},"readBinary")),readAsync=C(async e=>{if(isFileURI(e))return new Promise((n,r)=>{var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=()=>{if(s.status==200||s.status==0&&s.response){n(s.response);return}r(s.status)},s.onerror=r,s.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)},"readAsync")}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=C(e=>e.startsWith("file://"),"isFileURI"),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,HEAP64,HEAPU64,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),LE_HEAP_UPDATE()}C(updateMemoryViews,"updateMemoryViews");function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var e=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}C(initMemory,"initMemory");var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}C(preRun,"preRun");function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}C(initRuntime,"initRuntime");function preMain(){}C(preMain,"preMain");function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}C(postRun,"postRun");function abort(e){Module.onAbort?.(e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject?.(t),t}C(abort,"abort");var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile("web-tree-sitter.wasm"):new URL("web-tree-sitter.wasm",import.meta.url).href}C(findWasmBinary,"findWasmBinary");function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}C(getBinarySync,"getBinarySync");async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}C(getWasmBinary,"getWasmBinary");async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e),r=await WebAssembly.instantiate(n,t);return r}catch(s){err(`failed to asynchronously prepare wasm: ${s}`),abort(s)}}C(instantiateArrayBuffer,"instantiateArrayBuffer");async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:"same-origin"}),s=await WebAssembly.instantiateStreaming(r,n);return s}catch(o){err(`wasm streaming compile failed: ${o}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(t,n)}C(instantiateAsync,"instantiateAsync");function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}C(getWasmImports,"getWasmImports");async function createWasm(){function e(o,a){wasmExports=o.exports,wasmExports=relocateExports(wasmExports,1024);var l=getDylinkMetadata(a);return l.neededDynlibs&&(dynamicLibraries=l.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}C(e,"receiveInstance");function t(o){return e(o.instance,o.module)}C(t,"receiveInstantiationResult");var n=getWasmImports();if(Module.instantiateWasm)return new Promise((o,a)=>{Module.instantiateWasm(n,(l,c)=>{o(e(l,c))})});wasmBinaryFile??=findWasmBinary();var r=await instantiateAsync(wasmBinary,wasmBinaryFile,n),s=t(r);return s}C(createWasm,"createWasm");class ExitStatus{static{C(this,"ExitStatus")}name="ExitStatus";constructor(t){this.message=`Program terminated with exit(${t})`,this.status=t}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var n=GOT[t];return n||(n=GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(t)||(n.required=!0),n}},LE_ATOMICS_NATIVE_BYTE_ORDER=[],LE_HEAP_LOAD_F32=C(e=>HEAP_DATA_VIEW.getFloat32(e,!0),"LE_HEAP_LOAD_F32"),LE_HEAP_LOAD_F64=C(e=>HEAP_DATA_VIEW.getFloat64(e,!0),"LE_HEAP_LOAD_F64"),LE_HEAP_LOAD_I16=C(e=>HEAP_DATA_VIEW.getInt16(e,!0),"LE_HEAP_LOAD_I16"),LE_HEAP_LOAD_I32=C(e=>HEAP_DATA_VIEW.getInt32(e,!0),"LE_HEAP_LOAD_I32"),LE_HEAP_LOAD_I64=C(e=>HEAP_DATA_VIEW.getBigInt64(e,!0),"LE_HEAP_LOAD_I64"),LE_HEAP_LOAD_U32=C(e=>HEAP_DATA_VIEW.getUint32(e,!0),"LE_HEAP_LOAD_U32"),LE_HEAP_STORE_F32=C((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),"LE_HEAP_STORE_F32"),LE_HEAP_STORE_F64=C((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),"LE_HEAP_STORE_F64"),LE_HEAP_STORE_I16=C((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),"LE_HEAP_STORE_I16"),LE_HEAP_STORE_I32=C((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),"LE_HEAP_STORE_I32"),LE_HEAP_STORE_I64=C((e,t)=>HEAP_DATA_VIEW.setBigInt64(e,t,!0),"LE_HEAP_STORE_I64"),LE_HEAP_STORE_U32=C((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),"LE_HEAP_STORE_U32"),callRuntimeCallbacks=C(e=>{for(;e.length>0;)e.shift()(Module)},"callRuntimeCallbacks"),onPostRuns=[],addOnPostRun=C(e=>onPostRuns.push(e),"addOnPostRun"),onPreRuns=[],addOnPreRun=C(e=>onPreRuns.push(e),"addOnPreRun"),UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,findStringEnd=C((e,t,n,r)=>{var s=t+n;if(r)return s;for(;e[t]&&!(t>=s);)++t;return t},"findStringEnd"),UTF8ArrayToString=C((e,t=0,n,r)=>{var s=findStringEnd(e,t,n,r);if(s-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,s));for(var o="";t>10,56320|d&1023)}}return o},"UTF8ArrayToString"),getDylinkMetadata=C(e=>{var t=0,n=0;function r(){return e[t++]}C(r,"getU8");function s(){for(var V=0,z=1;;){var P=e[t++];if(V+=(P&127)*z,z*=128,!(P&128))break}return V}C(s,"getLEB");function o(){var V=s();return t+=V,UTF8ArrayToString(e,t-V,V)}C(o,"getString");function a(){for(var V=s(),z=[];V--;)z.push(o());return z}C(a,"getStringList");function l(V,z){if(V)throw new Error(z)}if(C(l,"failIf"),e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,"dylink.0");l(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),n=e.length}else{var d=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),m=d[0]==1836278016||d[0]==6386541;l(!m,"need to see wasm magic number"),l(e[8]!==0,"need the dylink section to be first"),t=9;var u=s();n=t+u;var f=o();l(f!=="dylink.0")}for(var p={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},g=1,h=2,y=3,S=4,_=5,k=256,b=3,w=1;t>1)*2);case"i32":return LE_HEAP_LOAD_I32((e>>2)*4);case"i64":return LE_HEAP_LOAD_I64((e>>3)*8);case"float":return LE_HEAP_LOAD_F32((e>>2)*4);case"double":return LE_HEAP_LOAD_F64((e>>3)*8);case"*":return LE_HEAP_LOAD_U32((e>>2)*4);default:abort(`invalid type for getValue: ${t}`)}}C(getValue,"getValue");var newDSO=C((e,t,n)=>{var r={refcount:1/0,name:e,exports:n,global:!0};return LDSO.loadedLibsByName[e]=r,t!=null&&(LDSO.loadedLibsByHandle[t]=r),r},"newDSO"),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=78240,alignMemory=C((e,t)=>Math.ceil(e/t)*t,"alignMemory"),getMemory=C(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,n=t+alignMemory(e,16);return ___heap_base=n,GOT.__heap_base.value=n,t},"getMemory"),isInternalSym=C(e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),"isInternalSym"),uleb128EncodeWithLen=C(e=>{let t=e.length;return[t%128|128,t>>7,...e]},"uleb128EncodeWithLen"),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=C(e=>uleb128EncodeWithLen(Array.from(e,t=>{var n=wasmTypeCodes[t];return n})),"generateTypePack"),convertJsFunctionToWasm=C((e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(t.slice(1)),...generateTypePack(t[0]==="v"?"":t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n),s=new WebAssembly.Instance(r,{e:{f:e}}),o=s.exports.f;return o},"convertJsFunctionToWasm"),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:"anyfunc"}),getWasmTableEntry=C(e=>{var t=wasmTableMirror[e];return t||(wasmTableMirror[e]=t=wasmTable.get(e)),t},"getWasmTableEntry"),updateTableMap=C((e,t)=>{if(functionsInTableMap)for(var n=e;n(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),"getFunctionAddress"),freeTableIndexes=[],getEmptyTableSlot=C(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),"getEmptyTableSlot"),setWasmTableEntry=C((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},"setWasmTableEntry"),addFunction=C((e,t)=>{var n=getFunctionAddress(e);if(n)return n;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(o){if(!(o instanceof TypeError))throw o;var s=convertJsFunctionToWasm(e,t);setWasmTableEntry(r,s)}return functionsInTableMap.set(e,r),r},"addFunction"),updateGOT=C((e,t)=>{for(var n in e)if(!isInternalSym(n)){var r=e[n];GOT[n]||=new WebAssembly.Global({value:"i32",mutable:!0}),(t||GOT[n].value==0)&&(typeof r=="function"?GOT[n].value=addFunction(r):typeof r=="number"?GOT[n].value=r:err(`unhandled export type for '${n}': ${typeof r}`))}},"updateGOT"),relocateExports=C((e,t,n)=>{var r={};for(var s in e){var o=e[s];typeof o=="object"&&(o=o.value),typeof o=="number"&&(o+=t),r[s]=o}return updateGOT(r,n),r},"relocateExports"),isSymbolDefined=C(e=>{var t=wasmImports[e];return!(!t||t.stub)},"isSymbolDefined"),dynCall=C((e,t,n=[],r=!1)=>{var s=getWasmTableEntry(t),o=s(...n);function a(l){return l}return C(a,"convert"),o},"dynCall"),stackSave=C(()=>_emscripten_stack_get_current(),"stackSave"),stackRestore=C(e=>__emscripten_stack_restore(e),"stackRestore"),createInvokeFunction=C(e=>(t,...n)=>{var r=stackSave();try{return dynCall(e,t,n)}catch(s){if(stackRestore(r),s!==s+0)throw s;if(_setThrew(1,0),e[0]=="j")return 0n}},"createInvokeFunction"),resolveGlobalSymbol=C((e,t=!1)=>{var n;return isSymbolDefined(e)?n=wasmImports[e]:e.startsWith("invoke_")&&(n=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:n,name:e}},"resolveGlobalSymbol"),onPostCtors=[],addOnPostCtor=C(e=>onPostCtors.push(e),"addOnPostCtor"),UTF8ToString=C((e,t,n)=>e?UTF8ArrayToString(HEAPU8,e,t,n):"","UTF8ToString"),loadWebAssemblyModule=C((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||(t=moduleExports[e]),t}C(resolveSymbol,"resolveSymbol");var proxyHandler={get(e,t){switch(t){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(t in wasmImports&&!wasmImports[t].stub){var n=wasmImports[t];return n}if(!(t in e)){var r;e[t]=(...s)=>(r||=resolveSymbol(t),r(...s))}return e[t]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(C(addEmAsm,"addEmAsm"),"__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start ${body};`;moduleExports[name]=eval(func)}C(addEmJs,"addEmJs");for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(C(postInstantiation,"postInstantiation"),flags.loadAsync)return(async()=>{var e;return binary instanceof WebAssembly.Module?e=new WebAssembly.Instance(binary,info):{module:binary,instance:e}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,e)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return C(loadModule,"loadModule"),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},"loadWebAssemblyModule"),mergeLibSymbols=C((e,t)=>{for(var[n,r]of Object.entries(e)){let s=C(a=>{isSymbolDefined(a)||(wasmImports[a]=r)},"setImport");s(n);let o="__main_argc_argv";n=="main"&&s(o),n==o&&s("main")}},"mergeLibSymbols"),asyncLoad=C(async e=>{var t=await readAsync(e);return new Uint8Array(t)},"asyncLoad");function loadDynamicLibrary(e,t={global:!0,nodelete:!0},n,r){var s=LDSO.loadedLibsByName[e];if(s)return t.global?s.global||(s.global=!0,mergeLibSymbols(s.exports,e)):n&&Object.assign(n,s.exports),t.nodelete&&s.refcount!==1/0&&(s.refcount=1/0),s.refcount++,r&&(LDSO.loadedLibsByHandle[r]=s),t.loadAsync?Promise.resolve(!0):!0;s=newDSO(e,r,"loading"),s.refcount=t.nodelete?1/0:1,s.global=t.global;function o(){if(r){var c=LE_HEAP_LOAD_U32((r+28>>2)*4),d=LE_HEAP_LOAD_U32((r+32>>2)*4);if(c&&d){var m=HEAP8.slice(c,c+d);return t.loadAsync?Promise.resolve(m):m}}var u=locateFile(e);if(t.loadAsync)return asyncLoad(u);if(!readBinary)throw new Error(`${u}: file not found, and synchronous loading of external files is not available`);return readBinary(u)}C(o,"loadLibData");function a(){return t.loadAsync?o().then(c=>loadWebAssemblyModule(c,t,e,n,r)):loadWebAssemblyModule(o(),t,e,n,r)}C(a,"getExports");function l(c){s.global?mergeLibSymbols(c,e):n&&Object.assign(n,c),s.exports=c}return C(l,"moduleLoaded"),t.loadAsync?a().then(c=>(l(c),!0)):(l(a()),!0)}C(loadDynamicLibrary,"loadDynamicLibrary");var reportUndefinedSymbols=C(()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var n=resolveGlobalSymbol(e,!0).sym;if(!n&&!t.required)continue;if(typeof n=="function")t.value=addFunction(n,n.sig);else if(typeof n=="number")t.value=n;else throw new Error(`bad export type for '${e}': ${typeof n}`)}},"reportUndefinedSymbols"),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=C(e=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}},"removeRunDependency"),addRunDependency=C(e=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},"addRunDependency"),loadDylibs=C(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");for(var e of dynamicLibraries)await loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency("loadDylibs")},"loadDylibs"),noExitRuntime=!0;function setValue(e,t,n="i8"){switch(n.endsWith("*")&&(n="*"),n){case"i1":HEAP8[e]=t;break;case"i8":HEAP8[e]=t;break;case"i16":LE_HEAP_STORE_I16((e>>1)*2,t);break;case"i32":LE_HEAP_STORE_I32((e>>2)*4,t);break;case"i64":LE_HEAP_STORE_I64((e>>3)*8,BigInt(t));break;case"float":LE_HEAP_STORE_F32((e>>2)*4,t);break;case"double":LE_HEAP_STORE_F64((e>>3)*8,t);break;case"*":LE_HEAP_STORE_U32((e>>2)*4,t);break;default:abort(`invalid type for setValue: ${n}`)}}C(setValue,"setValue");var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},78240),___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=C(()=>abort(""),"__abort_js");__abort_js.sig="v";var getHeapMax=C(()=>2147483648,"getHeapMax"),growMemory=C(e=>{var t=wasmMemory.buffer.byteLength,n=(e-t+65535)/65536|0;try{return wasmMemory.grow(n),updateMemoryViews(),1}catch{}},"growMemory"),_emscripten_resize_heap=C(e=>{var t=HEAPU8.length;e>>>=0;var n=getHeapMax();if(e>n)return!1;for(var r=1;r<=4;r*=2){var s=t*(1+.2/r);s=Math.min(s,e+100663296);var o=Math.min(n,alignMemory(Math.max(e,s),65536)),a=growMemory(o);if(a)return!0}return!1},"_emscripten_resize_heap");_emscripten_resize_heap.sig="ip";var _fd_close=C(e=>52,"_fd_close");_fd_close.sig="ii";var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=C(e=>eINT53_MAX?NaN:Number(e),"bigintToI53Checked");function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}C(_fd_seek,"_fd_seek"),_fd_seek.sig="iijip";var printCharBuffers=[null,[],[]],printChar=C((e,t)=>{var n=printCharBuffers[e];t===0||t===10?((e===1?out:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},"printChar"),_fd_write=C((e,t,n,r)=>{for(var s=0,o=0;o>2)*4),l=LE_HEAP_LOAD_U32((t+4>>2)*4);t+=8;for(var c=0;c>2)*4,s),0},"_fd_write");_fd_write.sig="iippp";function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){let n=UTF8ToString(t);Module.currentLogCallback(n,e!==0)}}C(_tree_sitter_log_callback,"_tree_sitter_log_callback");function _tree_sitter_parse_callback(e,t,n,r,s){let a=Module.currentParseCallback(t,{row:n,column:r});typeof a=="string"?(setValue(s,a.length,"i32"),stringToUTF16(a,e,10240)):setValue(s,0,"i32")}C(_tree_sitter_parse_callback,"_tree_sitter_parse_callback");function _tree_sitter_progress_callback(e,t){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:e,hasError:t}):!1}C(_tree_sitter_progress_callback,"_tree_sitter_progress_callback");function _tree_sitter_query_progress_callback(e){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:e}):!1}C(_tree_sitter_query_progress_callback,"_tree_sitter_query_progress_callback");var runtimeKeepaliveCounter=0,keepRuntimeAlive=C(()=>noExitRuntime||runtimeKeepaliveCounter>0,"keepRuntimeAlive"),_proc_exit=C(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},"_proc_exit");_proc_exit.sig="vi";var exitJS=C((e,t)=>{EXITSTATUS=e,_proc_exit(e)},"exitJS"),handleException=C(e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},"handleException"),lengthBytesUTF8=C(e=>{for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t},"lengthBytesUTF8"),stringToUTF8Array=C((e,t,n,r)=>{if(!(r>0))return 0;for(var s=n,o=n+r-1,a=0;a=o)break;t[n++]=l}else if(l<=2047){if(n+1>=o)break;t[n++]=192|l>>6,t[n++]=128|l&63}else if(l<=65535){if(n+2>=o)break;t[n++]=224|l>>12,t[n++]=128|l>>6&63,t[n++]=128|l&63}else{if(n+3>=o)break;t[n++]=240|l>>18,t[n++]=128|l>>12&63,t[n++]=128|l>>6&63,t[n++]=128|l&63,a++}}return t[n]=0,n-s},"stringToUTF8Array"),stringToUTF8=C((e,t,n)=>stringToUTF8Array(e,HEAPU8,t,n),"stringToUTF8"),stackAlloc=C(e=>__emscripten_stack_alloc(e),"stackAlloc"),stringToUTF8OnStack=C(e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},"stringToUTF8OnStack"),AsciiToString=C(e=>{for(var t="";;){var n=HEAPU8[e++];if(!n)return t;t+=String.fromCharCode(n)}},"AsciiToString"),stringToUTF16=C((e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,s=n>1)*2,a),t+=2}return LE_HEAP_STORE_I16((t>>1)*2,0),t-r},"stringToUTF16");LE_ATOMICS_NATIVE_BYTE_ORDER=new Int8Array(new Int16Array([1]).buffer)[0]===1?[(e=>e),(e=>e),void 0,(e=>e)]:[(e=>e),(e=>((e&65280)<<8|(e&255)<<24)>>16),void 0,(e=>e>>24&255|e>>8&65280|(e&65280)<<8|(e&255)<<24)];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(e=>e&65535),HEAPU32.unsigned=(e=>e>>>0)}if(C(LE_HEAP_UPDATE,"LE_HEAP_UPDATE"),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var ASM_CONSTS={},_malloc,_calloc,_realloc,_free,_ts_range_edit,_memcmp,_ts_language_symbol_count,_ts_language_state_count,_ts_language_abi_version,_ts_language_name,_ts_language_field_count,_ts_language_next_state,_ts_language_symbol_name,_ts_language_symbol_for_name,_strncmp,_ts_language_symbol_type,_ts_language_field_name_for_id,_ts_lookahead_iterator_new,_ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset,_ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol,_ts_point_edit,_ts_parser_delete,_ts_parser_reset,_ts_parser_set_language,_ts_parser_set_included_ranges,_ts_query_new,_ts_query_delete,_iswspace,_iswalnum,_ts_query_pattern_count,_ts_query_capture_count,_ts_query_string_count,_ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id,_ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture,_ts_query_disable_pattern,_ts_tree_copy,_ts_tree_delete,_ts_init,_ts_parser_new_wasm,_ts_parser_enable_logger_wasm,_ts_parser_parse_wasm,_ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm,_ts_language_metadata_wasm,_ts_language_supertypes_wasm,_ts_language_subtypes_wasm,_ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm,_ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm,_ts_node_named_child_count_wasm,_ts_node_child_wasm,_ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm,_ts_node_parent_wasm,_ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm,_ts_node_end_point_wasm,_ts_node_start_index_wasm,_ts_node_end_index_wasm,_ts_node_to_string_wasm,_ts_node_children_wasm,_ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm,_ts_node_has_changes_wasm,_ts_node_has_error_wasm,_ts_node_is_error_wasm,_ts_node_is_missing_wasm,_ts_node_is_extra_wasm,_ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm,_ts_query_matches_wasm,_ts_query_captures_wasm,_memset,_memcpy,_memmove,_iswalpha,_iswblank,_iswdigit,_iswlower,_iswupper,_iswxdigit,_memchr,_strlen,_strcmp,_strncat,_strncpy,_towlower,_towupper,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___wasm_apply_data_relocs;function assignWasmExports(e){Module._malloc=_malloc=e.malloc,Module._calloc=_calloc=e.calloc,Module._realloc=_realloc=e.realloc,Module._free=_free=e.free,Module._ts_range_edit=_ts_range_edit=e.ts_range_edit,Module._memcmp=_memcmp=e.memcmp,Module._ts_language_symbol_count=_ts_language_symbol_count=e.ts_language_symbol_count,Module._ts_language_state_count=_ts_language_state_count=e.ts_language_state_count,Module._ts_language_abi_version=_ts_language_abi_version=e.ts_language_abi_version,Module._ts_language_name=_ts_language_name=e.ts_language_name,Module._ts_language_field_count=_ts_language_field_count=e.ts_language_field_count,Module._ts_language_next_state=_ts_language_next_state=e.ts_language_next_state,Module._ts_language_symbol_name=_ts_language_symbol_name=e.ts_language_symbol_name,Module._ts_language_symbol_for_name=_ts_language_symbol_for_name=e.ts_language_symbol_for_name,Module._strncmp=_strncmp=e.strncmp,Module._ts_language_symbol_type=_ts_language_symbol_type=e.ts_language_symbol_type,Module._ts_language_field_name_for_id=_ts_language_field_name_for_id=e.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=_ts_lookahead_iterator_new=e.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=_ts_lookahead_iterator_delete=e.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=_ts_lookahead_iterator_reset_state=e.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=_ts_lookahead_iterator_reset=e.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=_ts_lookahead_iterator_next=e.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=_ts_lookahead_iterator_current_symbol=e.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=_ts_point_edit=e.ts_point_edit,Module._ts_parser_delete=_ts_parser_delete=e.ts_parser_delete,Module._ts_parser_reset=_ts_parser_reset=e.ts_parser_reset,Module._ts_parser_set_language=_ts_parser_set_language=e.ts_parser_set_language,Module._ts_parser_set_included_ranges=_ts_parser_set_included_ranges=e.ts_parser_set_included_ranges,Module._ts_query_new=_ts_query_new=e.ts_query_new,Module._ts_query_delete=_ts_query_delete=e.ts_query_delete,Module._iswspace=_iswspace=e.iswspace,Module._iswalnum=_iswalnum=e.iswalnum,Module._ts_query_pattern_count=_ts_query_pattern_count=e.ts_query_pattern_count,Module._ts_query_capture_count=_ts_query_capture_count=e.ts_query_capture_count,Module._ts_query_string_count=_ts_query_string_count=e.ts_query_string_count,Module._ts_query_capture_name_for_id=_ts_query_capture_name_for_id=e.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=_ts_query_capture_quantifier_for_id=e.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=_ts_query_string_value_for_id=e.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=_ts_query_predicates_for_pattern=e.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=_ts_query_start_byte_for_pattern=e.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=_ts_query_end_byte_for_pattern=e.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=_ts_query_is_pattern_rooted=e.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=_ts_query_is_pattern_non_local=e.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=_ts_query_is_pattern_guaranteed_at_step=e.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=_ts_query_disable_capture=e.ts_query_disable_capture,Module._ts_query_disable_pattern=_ts_query_disable_pattern=e.ts_query_disable_pattern,Module._ts_tree_copy=_ts_tree_copy=e.ts_tree_copy,Module._ts_tree_delete=_ts_tree_delete=e.ts_tree_delete,Module._ts_init=_ts_init=e.ts_init,Module._ts_parser_new_wasm=_ts_parser_new_wasm=e.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=_ts_parser_enable_logger_wasm=e.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=_ts_parser_parse_wasm=e.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=_ts_parser_included_ranges_wasm=e.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=_ts_language_type_is_named_wasm=e.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=_ts_language_type_is_visible_wasm=e.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=_ts_language_metadata_wasm=e.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=_ts_language_supertypes_wasm=e.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=_ts_language_subtypes_wasm=e.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=_ts_tree_root_node_wasm=e.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=_ts_tree_root_node_with_offset_wasm=e.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=_ts_tree_edit_wasm=e.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=_ts_tree_included_ranges_wasm=e.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=_ts_tree_get_changed_ranges_wasm=e.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=_ts_tree_cursor_new_wasm=e.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=_ts_tree_cursor_copy_wasm=e.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=_ts_tree_cursor_delete_wasm=e.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=_ts_tree_cursor_reset_wasm=e.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=_ts_tree_cursor_reset_to_wasm=e.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=_ts_tree_cursor_goto_first_child_wasm=e.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=_ts_tree_cursor_goto_last_child_wasm=e.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=_ts_tree_cursor_goto_first_child_for_index_wasm=e.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=_ts_tree_cursor_goto_first_child_for_position_wasm=e.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=_ts_tree_cursor_goto_next_sibling_wasm=e.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=_ts_tree_cursor_goto_previous_sibling_wasm=e.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=_ts_tree_cursor_goto_descendant_wasm=e.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=_ts_tree_cursor_goto_parent_wasm=e.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=_ts_tree_cursor_current_node_type_id_wasm=e.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=_ts_tree_cursor_current_node_state_id_wasm=e.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=_ts_tree_cursor_current_node_is_named_wasm=e.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=_ts_tree_cursor_current_node_is_missing_wasm=e.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=_ts_tree_cursor_current_node_id_wasm=e.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=_ts_tree_cursor_start_position_wasm=e.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=_ts_tree_cursor_end_position_wasm=e.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=_ts_tree_cursor_start_index_wasm=e.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=_ts_tree_cursor_end_index_wasm=e.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=_ts_tree_cursor_current_field_id_wasm=e.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=_ts_tree_cursor_current_depth_wasm=e.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=_ts_tree_cursor_current_descendant_index_wasm=e.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=_ts_tree_cursor_current_node_wasm=e.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=_ts_node_symbol_wasm=e.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=_ts_node_field_name_for_child_wasm=e.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=_ts_node_field_name_for_named_child_wasm=e.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=_ts_node_children_by_field_id_wasm=e.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=_ts_node_first_child_for_byte_wasm=e.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=_ts_node_first_named_child_for_byte_wasm=e.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=_ts_node_grammar_symbol_wasm=e.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=_ts_node_child_count_wasm=e.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=_ts_node_named_child_count_wasm=e.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=_ts_node_child_wasm=e.ts_node_child_wasm,Module._ts_node_named_child_wasm=_ts_node_named_child_wasm=e.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=_ts_node_child_by_field_id_wasm=e.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=_ts_node_next_sibling_wasm=e.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=_ts_node_prev_sibling_wasm=e.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=_ts_node_next_named_sibling_wasm=e.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=_ts_node_prev_named_sibling_wasm=e.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=_ts_node_descendant_count_wasm=e.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=_ts_node_parent_wasm=e.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=_ts_node_child_with_descendant_wasm=e.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=_ts_node_descendant_for_index_wasm=e.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=_ts_node_named_descendant_for_index_wasm=e.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=_ts_node_descendant_for_position_wasm=e.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=_ts_node_named_descendant_for_position_wasm=e.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=_ts_node_start_point_wasm=e.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=_ts_node_end_point_wasm=e.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=_ts_node_start_index_wasm=e.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=_ts_node_end_index_wasm=e.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=_ts_node_to_string_wasm=e.ts_node_to_string_wasm,Module._ts_node_children_wasm=_ts_node_children_wasm=e.ts_node_children_wasm,Module._ts_node_named_children_wasm=_ts_node_named_children_wasm=e.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=_ts_node_descendants_of_type_wasm=e.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=_ts_node_is_named_wasm=e.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=_ts_node_has_changes_wasm=e.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=_ts_node_has_error_wasm=e.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=_ts_node_is_error_wasm=e.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=_ts_node_is_missing_wasm=e.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=_ts_node_is_extra_wasm=e.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=_ts_node_parse_state_wasm=e.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=_ts_node_next_parse_state_wasm=e.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=_ts_query_matches_wasm=e.ts_query_matches_wasm,Module._ts_query_captures_wasm=_ts_query_captures_wasm=e.ts_query_captures_wasm,Module._memset=_memset=e.memset,Module._memcpy=_memcpy=e.memcpy,Module._memmove=_memmove=e.memmove,Module._iswalpha=_iswalpha=e.iswalpha,Module._iswblank=_iswblank=e.iswblank,Module._iswdigit=_iswdigit=e.iswdigit,Module._iswlower=_iswlower=e.iswlower,Module._iswupper=_iswupper=e.iswupper,Module._iswxdigit=_iswxdigit=e.iswxdigit,Module._memchr=_memchr=e.memchr,Module._strlen=_strlen=e.strlen,Module._strcmp=_strcmp=e.strcmp,Module._strncat=_strncat=e.strncat,Module._strncpy=_strncpy=e.strncpy,Module._towlower=_towlower=e.towlower,Module._towupper=_towupper=e.towupper,_setThrew=e.setThrew,__emscripten_stack_restore=e._emscripten_stack_restore,__emscripten_stack_alloc=e._emscripten_stack_alloc,_emscripten_stack_get_current=e.emscripten_stack_get_current,___wasm_apply_data_relocs=e.__wasm_apply_data_relocs}C(assignWasmExports,"assignWasmExports");var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(e=[]){var t=resolveGlobalSymbol("main").sym;if(t){e.unshift(thisProgram);var n=e.length,r=stackAlloc((n+1)*4),s=r;e.forEach(a=>{LE_HEAP_STORE_U32((s>>2)*4,stringToUTF8OnStack(a)),s+=4}),LE_HEAP_STORE_U32((s>>2)*4,0);try{var o=t(n,r);return exitJS(o,!0),o}catch(a){return handleException(a)}}}C(callMain,"callMain");function run(e=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function t(){if(Module.calledRun=!0,!ABORT){initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.();var n=Module.noInitialRun||!1;n||callMain(e),postRun()}}C(t,"doRun"),Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),t()},1)):t()}C(run,"run");var wasmExports;return wasmExports=await createWasm(),run(),runtimeInitialized?moduleRtn=Module:moduleRtn=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),moduleRtn}async function kc(e){return Sc??=await Wm(e)}function Ec(){return!!Sc}function Rc(e,t,n,r){if(e.length!==3)throw new Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}`);if(!pc(e[1]))throw new Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}"`);let s=n==="eq?"||n==="any-eq?",o=!n.startsWith("any-");if(pc(e[2])){let a=e[1].name,l=e[2].name;r[t].push(c=>{let d=[],m=[];for(let f of c)f.name===a&&d.push(f.node),f.name===l&&m.push(f.node);let u=C((f,p,g)=>g?f.text===p.text:f.text!==p.text,"compare");return o?d.every(f=>m.some(p=>u(f,p,s))):d.some(f=>m.some(p=>u(f,p,s)))})}else{let a=e[1].name,l=e[2].value,c=C(m=>m.text===l,"matches"),d=C(m=>m.text!==l,"doesNotMatch");r[t].push(m=>{let u=[];for(let p of m)p.name===a&&u.push(p.node);let f=s?c:d;return o?u.every(f):u.some(f)})}}function Mc(e,t,n,r){if(e.length!==3)throw new Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}.`);if(e[1].type!=="capture")throw new Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);if(e[2].type!=="string")throw new Error(`Second argument of \`#${n}\` predicate must be a string. Got @${e[2].name}.`);let s=n==="match?"||n==="any-match?",o=!n.startsWith("any-"),a=e[1].name,l=new RegExp(e[2].value);r[t].push(c=>{let d=[];for(let u of c)u.name===a&&d.push(u.node.text);let m=C((u,f)=>f?l.test(u):!l.test(u),"test");return d.length===0?!s:o?d.every(u=>m(u,s)):d.some(u=>m(u,s))})}function Cc(e,t,n,r){if(e.length<2)throw new Error(`Wrong number of arguments to \`#${n}\` predicate. Expected at least 1. Got ${e.length-1}.`);if(e[1].type!=="capture")throw new Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);let s=n==="any-of?",o=e[1].name,a=e.slice(2);if(!a.every(ho))throw new Error(`Arguments to \`#${n}\` predicate must be strings.".`);let l=a.map(c=>c.value);r[t].push(c=>{let d=[];for(let m of c)m.name===o&&d.push(m.node.text);return d.length===0?!s:d.every(m=>l.includes(m))===s})}function Ac(e,t,n,r,s){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(ho))throw new Error(`Arguments to \`#${n}\` predicate must be strings.".`);let o=n==="is?"?r:s;o[t]||(o[t]={}),o[t][e[1].value]=e[2]?.value??null}function Tc(e,t,n){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(ho))throw new Error('Arguments to `#set!` predicate must be strings.".');n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}function Ic(e,t,n,r,s,o,a,l,c,d,m){if(t===Um){let u=r[n];o.push({type:"capture",name:u})}else if(t===Bm)o.push({type:"string",value:s[n]});else if(o.length>0){if(o[0].type!=="string")throw new Error("Predicates must begin with a literal value");let u=o[0].value;switch(u){case"any-not-eq?":case"not-eq?":case"any-eq?":case"eq?":Rc(o,e,u,a);break;case"any-not-match?":case"not-match?":case"any-match?":case"match?":Mc(o,e,u,a);break;case"not-any-of?":case"any-of?":Cc(o,e,u,a);break;case"is?":case"is-not?":Ac(o,e,u,d,m);break;case"set!":Tc(o,e,c);break;default:l[e].push({operator:u,operands:o.slice(1)})}o.length=0}}var Om,C,Rx,mc,W,lo,De,dt,Kn,$e,Ft,x,Pm,$m,Dm,Lm,jm,go,Wm,Sc,L,co,uo,_o,Um,Bm,zm,Mx,pc,ho,Ye,Vn,Nc,yo=O(()=>{E();Om=Object.defineProperty,C=(e,t)=>Om(e,"name",{value:t,configurable:!0}),Rx=class{static{C(this,"Edit")}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:e,oldEndIndex:t,newEndIndex:n,startPosition:r,oldEndPosition:s,newEndPosition:o}){this.startIndex=e>>>0,this.oldEndIndex=t>>>0,this.newEndIndex=n>>>0,this.startPosition=r,this.oldEndPosition=s,this.newEndPosition=o}editPoint(e,t){let n=t,r={...e};if(t>=this.oldEndIndex){n=this.newEndIndex+(t-this.oldEndIndex);let s=e.row;r.row=this.newEndPosition.row+(e.row-this.oldEndPosition.row),r.column=s===this.oldEndPosition.row?this.newEndPosition.column+(e.column-this.oldEndPosition.column):e.column}else t>this.startIndex&&(n=this.newEndIndex,r.row=this.newEndPosition.row,r.column=this.newEndPosition.column);return{point:r,index:n}}editRange(e){let t={startIndex:e.startIndex,startPosition:{...e.startPosition},endIndex:e.endIndex,endPosition:{...e.endPosition}};return e.endIndex>=this.oldEndIndex?e.endIndex!==Number.MAX_SAFE_INTEGER&&(t.endIndex=this.newEndIndex+(e.endIndex-this.oldEndIndex),t.endPosition={row:this.newEndPosition.row+(e.endPosition.row-this.oldEndPosition.row),column:e.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.endPosition.column-this.oldEndPosition.column):e.endPosition.column},t.endIndexthis.startIndex&&(t.endIndex=this.startIndex,t.endPosition={...this.startPosition}),e.startIndex>=this.oldEndIndex?(t.startIndex=this.newEndIndex+(e.startIndex-this.oldEndIndex),t.startPosition={row:this.newEndPosition.row+(e.startPosition.row-this.oldEndPosition.row),column:e.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.startPosition.column-this.oldEndPosition.column):e.startPosition.column},t.startIndexthis.startIndex&&(t.startIndex=this.startIndex,t.startPosition={...this.startPosition}),t}},mc=2,W=4,lo=4*W,De=5*W,dt=2*W,Kn=2*W+2*dt,$e={row:0,column:0},Ft=Symbol("INTERNAL");C(wn,"assertInternal");C(Jn,"isPoint");C(gc,"setModule");Pm=class{static{C(this,"LookaheadIterator")}0=0;language;constructor(e,t,n){wn(e),this[0]=t,this.language=n}get currentTypeId(){return x._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||"ERROR"}delete(){x._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return x._ts_lookahead_iterator_reset(this[0],e[0],t)?(this.language=e,!0):!1}resetState(e){return!!x._ts_lookahead_iterator_reset_state(this[0],e)}[Symbol.iterator](){return{next:C(()=>x._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:""},"next")}}};C(po,"getText");$m=class fo{static{C(this,"Tree")}0=0;textCallback;language;constructor(t,n,r,s){wn(t),this[0]=n,this.language=r,this.textCallback=s}copy(){let t=x._ts_tree_copy(this[0]);return new fo(Ft,t,this.language,this.textCallback)}delete(){x._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return x._ts_tree_root_node_wasm(this[0]),ue(this)}rootNodeWithOffset(t,n){let r=L+De;return x.setValue(r,t,"i32"),Ve(r+W,n),x._ts_tree_root_node_with_offset_wasm(this[0]),ue(this)}edit(t){yc(t),x._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof fo))throw new TypeError("Argument must be a Tree");x._ts_tree_get_changed_ranges_wasm(this[0],t[0]);let n=x.getValue(L,"i32"),r=x.getValue(L+W,"i32"),s=new Array(n);if(n>0){let o=r;for(let a=0;a0){let s=n;for(let o=0;o0){let s=n;for(let o=0;o0){let n=t;for(let r=0;r0){let n=t;for(let r=0;r0){let d=l;for(let m=0;m=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let t,n;this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(t=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){G(this);let e=x._ts_node_to_string_wasm(this.tree[0]),t=x.AsciiToString(e);return x._free(e),t}};C(mo,"unmarshalCaptures");C(G,"marshalNode");C(ue,"unmarshalNode");C(le,"marshalTreeCursor");C(Be,"unmarshalTreeCursor");C(Ve,"marshalPoint");C(Jt,"unmarshalPoint");C(hc,"marshalRange");C(Es,"unmarshalRange");C(yc,"marshalEdit");C(bc,"unmarshalLanguageMetadata");jm=/^tree_sitter_\w+$/,go=class wc{static{C(this,"Language")}0=0;types;fields;constructor(t,n){wn(t),this[0]=n,this.types=new Array(x._ts_language_symbol_count(this[0]));for(let r=0,s=this.types.length;r0){let s=n;for(let o=0;o0){let o=r;for(let a=0;a(ao(),oo))).readFile(t);else{let l=await fetch(t);if(!l.ok){let d=await l.text();throw new Error(`Language.load failed with status ${l.status}. diff --git a/scripts/engine.mjs b/scripts/engine.mjs index 82d446e..647ef32 100755 --- a/scripts/engine.mjs +++ b/scripts/engine.mjs @@ -369,7 +369,7 @@ function gitDirOf(dir, entries) { if (!st.isFile() || st.size > MAX_GITFILE_BYTES) return void 0; const content = readFileSync(path, "utf8"); if (!content.startsWith(GITFILE_PREFIX)) return void 0; - const target = content.slice(GITFILE_PREFIX.length).replace(/\s+$/, ""); + const target = content.slice(GITFILE_PREFIX.length).replace(/[\r\n]+$/, ""); if (!target) return void 0; const gitDir = resolve(dir, target); const common = join(gitDir, "commondir"); diff --git a/src/walk.ts b/src/walk.ts index 4758ae3..77a69eb 100644 --- a/src/walk.ts +++ b/src/walk.ts @@ -76,7 +76,13 @@ function gitDirOf(dir: string, entries: readonly Dirent[]): string | undefined { if (!st.isFile() || st.size > MAX_GITFILE_BYTES) return undefined; const content = readFileSync(path, "utf8"); if (!content.startsWith(GITFILE_PREFIX)) return undefined; // not a gitfile — not a marker - const target = content.slice(GITFILE_PREFIX.length).replace(/\s+$/, ""); + // Only the line ending is stripped, never trailing spaces or tabs: git + // trims exactly `\n` and `\r`, so a git directory whose name ENDS in a + // space is reachable through a gitfile — verified against real git, which + // accepts `gitdir: ` and rejects the same path trimmed. Trimming + // whitespace here silently resolved such a repo to the wrong directory, + // and its `info/exclude` was then never found. + const target = content.slice(GITFILE_PREFIX.length).replace(/[\r\n]+$/, ""); if (!target) return undefined; const gitDir = resolve(dir, target); const common = join(gitDir, "commondir"); diff --git a/tests/walk-nested.test.ts b/tests/walk-nested.test.ts index c437540..9f0e065 100644 --- a/tests/walk-nested.test.ts +++ b/tests/walk-nested.test.ts @@ -198,11 +198,34 @@ describe("only a VALID .git marker is a repository boundary", () => { expect(rels(root)).toEqual(["broken/kept.ts", "top.ts"]); }); - it("does not read a huge file that merely carries the name .git", () => { + // The cap is only observable on a marker that WOULD otherwise parse: a + // garbage file is kept either way, so asserting on one proves nothing about + // reading. An oversized but well-formed gitfile is the case the cap decides. + it("ignores a marker too large to be a gitfile, and keeps its subtree", () => { const root = mkdtempSync(join(tmpdir(), "ci-biggit-")); mkfile(root, "top.ts"); mkfile(root, "sub/kept.ts"); - mkfile(root, `sub/${GIT}`, "x".repeat(200_000)); + mkfile(root, `sub/${GIT}`, "gitdir: /nowhere" + "\n".repeat(5000)); expect(rels(root)).toEqual(["sub/kept.ts", "top.ts"]); + // …while the same body under the cap IS a marker. + const small = mkdtempSync(join(tmpdir(), "ci-smallgit-")); + mkfile(small, "top.ts"); + mkfile(small, "sub/inner.ts"); + mkfile(small, `sub/${GIT}`, "gitdir: /nowhere" + "\n".repeat(100)); + expect(rels(small)).toEqual(["top.ts"]); + }); + + // Git trims exactly `\n`/`\r` from a gitfile's path — never spaces or tabs. + // A git directory whose NAME ends in a space is therefore reachable, and + // trimming whitespace resolved it to a different directory whose + // `info/exclude` was never found. + it("keeps trailing spaces in the gitdir path, as git does", () => { + const store = mkdtempSync(join(tmpdir(), "ci-spacegit-")) + "/store "; + mkfile(store, "info/exclude", "dropped.ts\n"); + const root = mkdtempSync(join(tmpdir(), "ci-spaceroot-")); + mkfile(root, "kept.ts"); + mkfile(root, "dropped.ts"); + writeFileSync(join(root, GIT), `gitdir: ${store}\n`); + expect(rels(root)).toEqual(["kept.ts"]); }); });