@lokascript/hyperscript-adapter 6.3.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/hyperscript-i18n-ar.global.js +1 -1
- package/dist/hyperscript-i18n-bn.global.js +1 -1
- package/dist/hyperscript-i18n-de.global.js +1 -1
- package/dist/hyperscript-i18n-east-asian.global.js +1 -1
- package/dist/hyperscript-i18n-en.global.js +1 -1
- package/dist/hyperscript-i18n-es.global.js +1 -1
- package/dist/hyperscript-i18n-fr.global.js +1 -1
- package/dist/hyperscript-i18n-he.global.js +1 -1
- package/dist/hyperscript-i18n-hi.global.js +1 -1
- package/dist/hyperscript-i18n-id.global.js +1 -1
- package/dist/hyperscript-i18n-it.global.js +1 -1
- package/dist/hyperscript-i18n-ja.global.js +1 -1
- package/dist/hyperscript-i18n-ko.global.js +1 -1
- package/dist/hyperscript-i18n-ms.global.js +1 -1
- package/dist/hyperscript-i18n-pl.global.js +1 -1
- package/dist/hyperscript-i18n-pt.global.js +1 -1
- package/dist/hyperscript-i18n-qu.global.js +7 -7
- package/dist/hyperscript-i18n-ru.global.js +1 -1
- package/dist/hyperscript-i18n-slavic.global.js +1 -1
- package/dist/hyperscript-i18n-south-asian.global.js +1 -1
- package/dist/hyperscript-i18n-southeast-asian.global.js +1 -1
- package/dist/hyperscript-i18n-sw.global.js +1 -1
- package/dist/hyperscript-i18n-th.global.js +1 -1
- package/dist/hyperscript-i18n-tl.global.js +1 -1
- package/dist/hyperscript-i18n-tr.global.js +7 -7
- package/dist/hyperscript-i18n-uk.global.js +1 -1
- package/dist/hyperscript-i18n-vi.global.js +1 -1
- package/dist/hyperscript-i18n-western.global.js +1 -1
- package/dist/hyperscript-i18n-zh.global.js +1 -1
- package/dist/hyperscript-i18n.global.js +2 -2
- package/dist/hyperscript-i18n.global.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,7 +4,7 @@ var HyperscriptI18n=(function(exports){'use strict';function Ft(e,t){return t?{t
|
|
|
4
4
|
`))return e;let n=e.tokens,i=null;for(let a=1;a<n.length;a++){let u=n[a];t.slice(n[a-1].position.end,u.position.start).includes(`
|
|
5
5
|
`)&&(i??(i=n.slice()),i[a]={...u,metadata:{...u.metadata,lineStart:true}});}return i?new ie(i,r):e}var Ro=()=>false;function Mc(e){Ro=e;}function $c(e,t){let r=e.tokens,n=[],i=false;for(let a=0;a<r.length;a++){let u=r[a],o=r[a-1],s=a+2;for(;s<r.length&&r[s]?.value!==")"&&r[s-1].position.end===r[s].position.start;)s++;let l=r.slice(a+1,s),c=l.map(y=>y.value).join(""),p=l[0],m=l[l.length-1];if(u.value==="("&&p&&m&&r[s]?.value===")"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(c)&&!(p.kind!=="particle"&&So.has((p.normalized??p.value).toLowerCase()))&&Ro(c,t)&&u.position.end===p.position.start&&m.position.end===r[s].position.start&&!(o&&o.position.end===u.position.start&&/[\p{L}\p{N}_)\]]$/u.test(o.value))){n.push({value:`(${c})`,kind:"identifier",position:{...u.position,end:r[s].position.end}}),a=s,i=true;continue}n.push(u);}return i?new ie(n,t):e}function be(e){let t=Lt.get(e);if(!t&&kt(e)&&(t=Lt.get(gt(e))),t)return t;let r=Jn.get(e);if(!r&&kt(e)&&(r=Jn.get(gt(e))),r)return Lt.set(e,r),r;if(!Xn)throw new Error(`No patterns registered for language '${e}'. Either import the language module or set a pattern generator.`);let n=Fc(e),i=Xn(n);return Lt.set(e,i),i}function jc(e,t){return be(e).filter(r=>r.command===t).sort((r,n)=>n.priority-r.priority)}var Lo=new Map;function en(e,t){for(let[r,n]of t)Lo.set(`${r}:${e}`,n);}function ge(e,t){return Lo.get(`${e}:${t}`)?.(T(t))}function qc(e){return ge("toggle",e)??[]}function Wc(e){return []}var Q=["selector","reference","expression"],wi=["literal","selector","expression","reference","property-path"],Vc=["selector","reference","expression","property-path"],_o=["selector","reference"],No=["literal","selector","reference","expression","property-path"],tn=["literal","selector","reference","expression","property-path"],Io=["selector","reference","expression","property-path"],Ze=["literal","expression"],Hc=["literal","expression"],rn=["literal","expression","reference"],Ci=["literal","expression"],zi=["expression"],Mo=["expression","selector"],bi=["reference","expression"],nn=["selector","reference","expression"],$o=["literal"],jo=["expression","reference","selector"],Ai=["literal","expression","reference","property-path"],qo=["selector","reference","expression"];[...Io];[...tn];var Kc=[{lang:"ar",verb:"\u0636\u0639",verbAlts:["\u0627\u062C\u0639\u0644"],before:"\u0642\u0628\u0644",after:"\u0628\u0639\u062F"},{lang:"de",verb:"setzen",before:"vor",after:"nach"},{lang:"fr",verb:"mettre",before:"avant",after:"apr\xE8s"},{lang:"he",verb:"\u05E9\u05D9\u05DD",patientPrefix:"\u05D0\u05EA",before:"\u05DC\u05E4\u05E0\u05D9",after:"\u05D0\u05D7\u05E8\u05D9"},{lang:"id",verb:"taruh",verbAlts:["letakkan","masukkan","tempatkan"],before:"sebelum",after:"setelah"},{lang:"ms",verb:"letak",before:"sebelum",after:"selepas"},{lang:"pt",verb:"colocar",before:"antes",after:"depois"},{lang:"sw",verb:"weka",before:"kabla",after:"baada"},{lang:"tl",verb:"ilagay",verbAlts:["maglagay"],before:"bago",after:"matapos"},{lang:"zh",verb:"\u653E\u7F6E",verbAlts:["\u653E","\u653E\u5165"],patientPrefix:"\u628A",patientPrefixOptional:true,before:"\u4E4B\u524D",after:"\u4E4B\u540E"}],an=[{lang:"es",verb:"poner",verbAlts:["pon","colocar","put"],at:"en",end:"fin",of:"de"},{lang:"fr",verb:"mettre",at:"\xE0",end:"fin",of:"de"},{lang:"pt",verb:"colocar",at:"em",end:"fim",of:"de"},{lang:"it",verb:"mettere",at:"a",end:"fine",of:"di"},{lang:"de",verb:"setzen",at:"bei",end:"ende",of:"von"},{lang:"sw",verb:"weka",at:"katika",end:"mwisho",of:"ya"},{lang:"id",verb:"taruh",verbAlts:["letakkan","masukkan","tempatkan"],at:"di",end:"akhir",of:"dari"},{lang:"ms",verb:"letak",at:"di",end:"tamat",of:"daripada"},{lang:"vi",verb:"\u0111\u1EB7t",at:"t\u1EA1i",end:"k\u1EBFt th\xFAc",of:"c\u1EE7a",ofMe:"c\u1EE7a t\xF4i"},{lang:"pl",verb:"umie\u015B\u0107",at:"przy",end:"koniec",of:"z",ofAlts:["ze"]},{lang:"ru",verb:"\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C",at:"\u0443",end:"\u043A\u043E\u043D\u0435\u0446",of:"\u0438\u0437"},{lang:"uk",verb:"\u043F\u043E\u043A\u043B\u0430\u0441\u0442\u0438",at:"\u0432",end:"\u043A\u0456\u043D\u0435\u0446\u044C",of:"\u0437"},{lang:"th",verb:"\u0E43\u0E2A\u0E48",at:"\u0E17\u0E35\u0E48",end:"\u0E08\u0E1A",of:"\u0E02\u0E2D\u0E07"},{lang:"tl",verb:"ilagay",at:"sa",end:"wakas",of:"ng"},{lang:"ar",verb:"\u0636\u0639",at:"\u0639\u0646\u062F",end:"\u0627\u0644\u0646\u0647\u0627\u064A\u0629",of:"\u0645\u0646"},{lang:"zh",verb:"\u653E\u7F6E",verbAlts:["\u653E","\u653E\u5165"],patientPrefix:"\u628A",at:"\u5728",end:"\u7ED3\u675F",of:"\u7684"},{lang:"he",verb:"\u05E9\u05D9\u05DD",patientPrefix:"\u05D0\u05EA",at:"\u05D1",end:"\u05E1\u05D5\u05E3",of:"\u05E9\u05DC"},{lang:"tr",verb:"koy",sov:true,objMarker:"i",at:"de",end:"son",of:"nin"},{lang:"ja",verb:"\u7F6E\u304F",sov:true,objMarker:"\u3092",at:"\u3067",end:"\u7D42\u308F\u308A",of:"\u306E"},{lang:"ko",verb:"\uB123\uB2E4",sov:true,objMarker:"\uB97C",at:"\uC5D0",end:"\uB05D",of:"\uC758"},{lang:"hi",verb:"\u0930\u0916\u0947\u0902",verbAlts:["\u0930\u0916","\u0921\u093E\u0932\u0947\u0902","\u0921\u093E\u0932"],sov:true,objMarker:"\u0915\u094B",at:"\u092A\u0930",end:"\u0938\u092E\u093E\u092A\u094D\u0924",of:"\u0915\u093E"},{lang:"bn",verb:"\u09B0\u09BE\u0996\u09C1\u09A8",verbAlts:["\u09B0\u09BE\u0996"],sov:true,objMarker:"\u0995\u09C7",at:"\u098F",end:"\u09B6\u09C7\u09B7",of:"\u09B0"},{lang:"qu",verb:"churay",sov:true,objMarker:"ta",at:"pi",end:"tukuy",of:"pa"}];function xi(e,t,r,n){let i=an.find(a=>a.lang===e);return i?ei(t,i.end)&&ei(r,i.at)&&Vo(i,n):false}function Wo(e,t){let r=(t??"").toLowerCase();return r===e.of.toLowerCase()||(e.ofAlts??[]).some(n=>n.toLowerCase()===r)}function Vo(e,t){return Wo(e,t)||e.ofMe!==void 0&&ei(t,e.ofMe)}var ei=(e,t)=>(e??"").toLowerCase()===t.toLowerCase();function Uc(e,t){let r=an.find(i=>i.lang===e);if(!r)return false;let n=t.toLowerCase();return n===r.at.toLowerCase()||Wo(r,n)||n===r.end.toLowerCase()}function Gc(e,t,r){let n=an.find(i=>i.lang===e);return !n||r===void 0?false:t.toLowerCase()===n.end.toLowerCase()&&Vo(n,r)}function Yc(e){let t=an.find(o=>o.lang===e);if(!t)return [];let r=[],n=t.verbAlts?{type:"literal",value:t.verb,alternatives:t.verbAlts}:{type:"literal",value:t.verb},i=(o,s)=>{r.push(s?{type:"literal",value:o,alternatives:s}:{type:"literal",value:o});};t.sov?(r.push({type:"role",role:"patient"}),i(t.at),i(t.end),i(t.of,t.ofAlts),r.push({type:"role",role:"destination"}),t.objMarker&&r.push({type:"literal",value:t.objMarker}),r.push(n)):(r.push(n),t.patientPrefix&&r.push({type:"literal",value:t.patientPrefix}),r.push({type:"role",role:"patient"}),i(t.at),i(t.end),i(t.of,t.ofAlts),r.push({type:"role",role:"destination"}));let a=[{id:`put-${t.lang}-at-end`,language:t.lang,command:"put",priority:110,template:{format:`put {patient} ${t.at} ${t.end} ${t.of} {destination}`,tokens:r},extraction:{manner:{default:{type:"literal",value:"at end of"}}}}];if(!t.ofMe||t.sov)return a;let u=[...r.slice(0,-2),{type:"literal",value:t.ofMe}];return [...a,{id:`put-${t.lang}-at-end-of-me`,language:t.lang,command:"put",priority:110,parseOnly:true,template:{format:`put {patient} ${t.at} ${t.end} ${t.ofMe}`,tokens:u},extraction:{manner:{default:{type:"literal",value:"at end of"}},destination:{default:{type:"reference",value:"me"}}}}]}function Zc(e){let t=Kc.find(r=>r.lang===e);return t?["before","after"].map(r=>{let n=t[r],i=[t.verbAlts?{type:"literal",value:t.verb,alternatives:t.verbAlts}:{type:"literal",value:t.verb}];return t.patientPrefix&&i.push(t.patientPrefixOptional?{type:"group",optional:true,tokens:[{type:"literal",value:t.patientPrefix}]}:{type:"literal",value:t.patientPrefix}),i.push({type:"role",role:"patient"},{type:"literal",value:n},{type:"role",role:"destination"}),{id:`put-${t.lang}-${r}`,language:t.lang,command:"put",priority:105,template:{format:`${t.verb} {patient} ${n} {destination}`,tokens:i},extraction:{patient:{position:t.patientPrefix&&!t.patientPrefixOptional?2:1},destination:{marker:n},manner:{default:{type:"literal",value:r}}}}}):[]}function Qc(e){let t=Zc(e),r=Yc(e),n=ge("put",e);return e==="en"?n??[]:n?[...n,...e==="id"||e==="zh"?t:[],...r]:[...t,...r]}var De={ko:{\uD074\uB9AD:"click",\uC785\uB825:"input",\uBCC0\uACBD:"change",\uC81C\uCD9C:"submit",\uD0A4\uB2E4\uC6B4:"keydown",\uD0A4\uC5C5:"keyup",\uB9C8\uC6B0\uC2A4\uC624\uBC84:"mouseover",\uB9C8\uC6B0\uC2A4\uC544\uC6C3:"mouseout",\uB9C8\uC6B0\uC2A4\uB2E4\uC6B4:"mousedown",\uB9C8\uC6B0\uC2A4\uC5C5:"mouseup",\uD3EC\uCEE4\uC2A4:"focus",\uBE14\uB7EC:"blur",\uB85C\uB4DC:"load",\uB9AC\uC0AC\uC774\uC988:"resize",\uC2A4\uD06C\uB864:"scroll",\uB9C8\uC6B0\uC2A4\uC5D4\uD130:"mouseenter",\uB9C8\uC6B0\uC2A4\uB9AC\uBE0C:"mouseleave",\uB9C8\uC6B0\uC2A4\uBB34\uBE0C:"mousemove",\uD0A4\uD504\uB808\uC2A4:"keypress",\uD130\uCE58\uC885\uB8CC:"touchend",\uD130\uCE58\uCDE8\uC18C:"touchcancel",\uB354\uBE14\uD074\uB9AD:"dblclick"},ja:{\u30AF\u30EA\u30C3\u30AF:"click",\u5165\u529B:"input",\u5909\u66F4:"change",\u9001\u4FE1:"submit",\u30AD\u30FC\u30C0\u30A6\u30F3:"keydown",\u30AD\u30FC\u30A2\u30C3\u30D7:"keyup",\u30AD\u30FC\u30D7\u30EC\u30B9:"keypress",\u30DE\u30A6\u30B9\u30AA\u30FC\u30D0\u30FC:"mouseover",\u30DE\u30A6\u30B9\u30A2\u30A6\u30C8:"mouseout",\u30DE\u30A6\u30B9\u62BC\u4E0B:"mousedown",\u30DE\u30A6\u30B9\u89E3\u653E:"mouseup",\u30D5\u30A9\u30FC\u30AB\u30B9:"focus",\u30D6\u30E9\u30FC:"blur",\u30ED\u30FC\u30C9:"load",\u8AAD\u307F\u8FBC\u307F:"load",\u30B5\u30A4\u30BA\u5909\u66F4:"resize",\u30B9\u30AF\u30ED\u30FC\u30EB:"scroll",\u307C\u304B\u3057:"blur"},ar:{\u0627\u0644\u0646\u0642\u0631:"click",\u0646\u0642\u0631:"click",\u0627\u0644\u0625\u062F\u062E\u0627\u0644:"input",\u0625\u062F\u062E\u0627\u0644:"input",\u0627\u0644\u062A\u063A\u064A\u064A\u0631:"change",\u062A\u063A\u064A\u064A\u0631:"change",\u0627\u0644\u0625\u0631\u0633\u0627\u0644:"submit",\u0625\u0631\u0633\u0627\u0644:"submit","\u0636\u063A\u0637 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keydown","\u0631\u0641\u0639 \u0627\u0644\u0645\u0641\u062A\u0627\u062D":"keyup","\u062A\u0645\u0631\u064A\u0631 \u0627\u0644\u0645\u0627\u0648\u0633":"mouseover",\u0627\u0644\u062A\u0631\u0643\u064A\u0632:"focus",\u062A\u062D\u0645\u064A\u0644:"load",\u062A\u0645\u0631\u064A\u0631:"scroll",\u062A\u0631\u0643\u064A\u0632:"focus","\u0645\u0641\u062A\u0627\u062D \u0623\u0633\u0641\u0644":"keydown","\u0645\u0641\u062A\u0627\u062D \u0623\u0639\u0644\u0649":"keyup","\u0641\u0623\u0631\u0629 \u0641\u0648\u0642":"mouseover","\u062A\u063A\u064A\u064A\u0631 \u062D\u062C\u0645":"resize",\u0636\u0628\u0627\u0628\u064A\u0629:"blur"},es:{clic:"click",click:"click",entrada:"input",cambio:"change",env\u00EDo:"submit",enviar:"submit","tecla abajo":"keydown","tecla arriba":"keyup","rat\xF3n encima":"mouseover","rat\xF3n fuera":"mouseout",enfoque:"focus",desenfoque:"blur",carga:"load",desplazamiento:"scroll",cambiar:"change",enfocar:"focus",desenfocar:"blur",cargar:"load",desplazar:"scroll",dobleclic:"dblclick",rat\u00F3nentrar:"mouseenter",rat\u00F3nsalir:"mouseleave",rat\u00F3nmover:"mousemove",teclapresar:"keypress",descargar:"unload",toqueempezar:"touchstart",toqueterminar:"touchend",toquemover:"touchmove",toquecancelar:"touchcancel",redimensionar:"resize","rat\xF3n abajo":"mousedown","rat\xF3n arriba":"mouseup"},tr:{t\u0131klama:"click",t\u0131kla:"click",t\u0131k:"click",giri\u015F:"input",girdi:"input",de\u011Fi\u015Fiklik:"change",de\u011Fi\u015Fim:"change",g\u00F6nderme:"submit",g\u00F6nder:"submit",tu\u015Fbasma:"keydown",tu\u015Fb\u0131rakma:"keyup",fare_bas:"mousedown",fare_b\u0131rak:"mouseup",farei\u00E7inde:"mouseover",fared\u0131\u015F\u0131nda:"mouseout",odaklanma:"focus",odak:"focus",bulan\u0131kl\u0131k:"blur",y\u00FCkleme:"load",y\u00FCkle:"load",boyutland\u0131rma:"resize",boyutland\u0131r:"resize",kayd\u0131rma:"scroll",bulan\u0131k:"blur",farebas:"mousedown",fareb\u0131rak:"mouseup",kayd\u0131r:"scroll"},pt:{clique:"click",clicar:"click",click:"click",entrada:"input",inserir:"input",mudan\u00E7a:"change",mudanca:"change",alterar:"change",envio:"submit",enviar:"submit","tecla baixo":"keydown","tecla cima":"keyup","pressionar tecla":"keydown","soltar tecla":"keyup","mouse sobre":"mouseover","mouse fora":"mouseout",foco:"focus",focar:"focus",desfoque:"blur",desfocar:"blur",carregar:"load",carregamento:"load",rolagem:"scroll",rolar:"scroll",duploClique:"dblclick",mouseEntrar:"mouseenter",mouseSair:"mouseleave",mouseMover:"mousemove",teclaPressionar:"keypress",descarregar:"unload",toqueIn\u00EDcio:"touchstart",toqueFim:"touchend",toqueMover:"touchmove",toqueCancelar:"touchcancel",redimensionar:"resize","mouse pressionado":"mousedown","mouse solto":"mouseup"},zh:{\u70B9\u51FB:"click",\u5355\u51FB:"click",\u53CC\u51FB:"dblclick",\u8F93\u5165:"input",\u6539\u53D8:"change",\u53D8\u5316:"change",\u53D8\u66F4:"change",\u63D0\u4EA4:"submit",\u53D1\u9001:"submit",\u6309\u952E:"keydown",\u952E\u5165:"keydown",\u677E\u952E:"keyup",\u9F20\u6807\u8FDB\u5165:"mouseover",\u9F20\u6807\u79FB\u5165:"mouseover",\u9F20\u6807\u79BB\u5F00:"mouseout",\u9F20\u6807\u79FB\u51FA:"mouseout",\u7126\u70B9:"focus",\u805A\u7126:"focus",\u5931\u7126:"blur",\u6A21\u7CCA:"blur",\u52A0\u8F7D:"load",\u8F7D\u5165:"load",\u6EDA\u52A8:"scroll",\u6309\u952E\u6309\u4E0B:"keydown",\u9F20\u6807\u79FB\u52A8:"mousemove",\u5378\u8F7D:"unload",\u8C03\u6574\u5927\u5C0F:"resize",\u89E6\u6478\u5F00\u59CB:"touchstart",\u89E6\u6478\u79FB\u52A8:"touchmove"},fr:{clic:"click",cliquer:"click",click:"click",saisie:"input",entr\u00E9e:"input",changement:"change",changer:"change",soumettre:"submit",soumission:"submit",envoi:"submit","touche bas":"keydown","touche haut":"keyup","souris dessus":"mouseover","souris dehors":"mouseout",focus:"focus",focaliser:"focus",d\u00E9focus:"blur",d\u00E9focaliser:"blur",chargement:"load",charger:"load",d\u00E9filement:"scroll",d\u00E9filer:"scroll",flou:"blur",doubleclic:"dblclick",sourisentrer:"mouseenter",sourissortir:"mouseleave",sourisbouger:"mousemove",touchepress\u00E9e:"keypress",d\u00E9charger:"unload",touchercommencer:"touchstart",toucherfin:"touchend",toucherbouger:"touchmove",toucherannuler:"touchcancel",redimensionner:"resize"},de:{klick:"click",klicken:"click",click:"click",eingabe:"input",eingeben:"input",\u00E4nderung:"change",\u00E4ndern:"change",absenden:"submit",einreichen:"submit","taste runter":"keydown","taste hoch":"keyup","maus \xFCber":"mouseover","maus raus":"mouseout",fokus:"focus",fokussieren:"focus",defokussieren:"blur",unsch\u00E4rfe:"blur",laden:"load",ladung:"load",scrollen:"scroll",bl\u00E4ttern:"scroll","taste unten":"keydown","taste oben":"keyup","maus dr\xFCber":"mouseover","maus weg":"mouseout",doppelklick:"dblclick",mauseintreten:"mouseenter",mausverlassen:"mouseleave",mausbewegen:"mousemove",tastedr\u00FCcken:"keypress",entladen:"unload",ber\u00FChrungstart:"touchstart",ber\u00FChrungend:"touchend",ber\u00FChrungbewegen:"touchmove",ber\u00FChrungabbrechen:"touchcancel",gr\u00F6\u00DFen\u00E4nderung:"resize"},id:{klik:"click",click:"click",masukan:"input",input:"input",ubah:"change",perubahan:"change",kirim:"submit","tekan tombol":"keydown","lepas tombol":"keyup","mouse masuk":"mouseover","mouse keluar":"mouseout",fokus:"focus",blur:"blur",muat:"load",memuat:"load",gulir:"scroll",menggulir:"scroll",tekan_tombol:"keydown",keyup:"keyup",arahkan:"mouseover",tinggalkan:"mouseout",bongkar:"unload"},bn:{\u0995\u09CD\u09B2\u09BF\u0995:"click",\u0987\u09A8\u09AA\u09C1\u099F:"input",\u099C\u09AE\u09BE:"submit",\u09B2\u09CB\u09A1:"load",\u09B8\u09CD\u0995\u09CD\u09B0\u09CB\u09B2:"scroll",\u09B0\u09BF\u09B8\u09BE\u0987\u099C:"resize",\u099D\u09BE\u09AA\u09B8\u09BE:"blur",\u09AB\u09CB\u0995\u09BE\u09B8:"focus",\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8:"change"},qu:{\u00F1itiy:"click",kambiay:"change",qhaway:"focus",apakuy:"load",apaykachay:"submit",click:"click","\xF1it'iy":"click",yaykuchiy:"input",yaykuy:"input",tikray:"change","t'ikray":"change",apachiy:"submit",kachay:"submit","llave uray":"keydown","llave hawa":"keyup","q'away":"focus",paqariy:"blur","mana q'away":"blur",cargay:"load",apamuy:"load",kunray:"scroll",muyuy:"scroll",hatun_kay:"resize",rat\u00F1itiy:"mousedown",rathuqariy:"mouseup"},sw:{bofya:"click",click:"click",kubofya:"click",ingiza:"input",kubadilisha:"change",mabadiliko:"change",tuma:"submit",kutuma:"submit","bonyeza chini":"keydown","bonyeza juu":"keyup","panya juu":"mouseover","panya nje":"mouseout",lenga:"focus",kulenga:"focus",blur:"blur",pakia:"load",kupakia:"load",sogeza:"scroll",kusogeza:"scroll",bonyeza:"click",ingizo:"input",kitufe_shuka:"keydown",kitufe_juu:"keyup",panya_nje:"mouseout",wasilisha:"submit","sogeza juu":"mouseover",shuka:"unload"},he:{\u05DC\u05D7\u05D9\u05E6\u05D4:"click",\u05E9\u05D9\u05E0\u05D5\u05D9:"change",\u05E7\u05DC\u05D8:"input",\u05E9\u05DC\u05D9\u05D7\u05D4:"submit",\u05DE\u05E7\u05D3:"focus",\u05D8\u05E9\u05D8\u05E9:"blur"},hi:{\u0915\u094D\u0932\u093F\u0915:"click",\u092A\u0930\u093F\u0935\u0930\u094D\u0924\u0928:"change",\u0907\u0928\u092A\u0941\u091F:"input",\u091C\u092E\u093E:"submit",\u0932\u094B\u0921:"load",\u092B\u094B\u0915\u0938:"focus",\u0927\u0941\u0902\u0927\u0932\u093E:"blur",\u092E\u093E\u0909\u0938\u0928\u0940\u091A\u0947:"mousedown",\u092E\u093E\u0909\u0938\u090A\u092A\u0930:"mouseup"},it:{clic:"click",cambio:"change",invio:"submit",carica:"load",fuoco:"focus",sfuocare:"blur",scorrimento:"scroll",ridimensiona:"resize"},pl:{klikni\u0119cie:"click",zmiana:"change",wej\u015Bcie:"input",wys\u0142aniu:"submit",rozmycie:"blur",przewi\u0144:"scroll","zmiana rozmiaru":"resize"},ru:{\u043A\u043B\u0438\u043A:"click",\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435:"change",\u0432\u0432\u043E\u0434:"input",\u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0430:"submit",\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430:"load",\u0444\u043E\u043A\u0443\u0441:"focus",\u043C\u044B\u0448\u044C\u0432\u043D\u0438\u0437:"mousedown",\u043C\u044B\u0448\u044C\u0432\u0432\u0435\u0440\u0445:"mouseup",\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u0440\u0430\u0437\u043C\u0435\u0440\u0430:"resize"},th:{\u0E04\u0E25\u0E34\u0E01:"click",\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07:"change",\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15:"input",\u0E2A\u0E48\u0E07:"submit",\u0E42\u0E2B\u0E25\u0E14:"load",\u0E42\u0E1F\u0E01\u0E31\u0E2A:"focus",\u0E40\u0E1A\u0E25\u0E2D:"blur",\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19:"scroll",\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14:"resize"},uk:{\u043A\u043B\u0456\u043A:"click",\u0437\u043C\u0456\u043D\u0430:"change",\u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F:"input",\u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F:"submit",\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F:"load",\u0444\u043E\u043A\u0443\u0441:"focus",\u043C\u0438\u0448\u0430\u0432\u043D\u0438\u0437:"mousedown",\u043C\u0438\u0448\u0430\u0432\u0433\u043E\u0440\u0443:"mouseup",\u0437\u043C\u0456\u043D\u0430\u0440\u043E\u0437\u043C\u0456\u0440\u0443:"resize"},vi:{"\u0111\u1ED5i k\xEDch th\u01B0\u1EDBc":"resize",nh\u1EA5p:"click",nh\u1EADp:"input",cu\u1ED9n:"scroll",n\u1ED9p:"submit"}};function Ho(e,t){let r=De[t];return r&&r[e]?r[e]:e.toLowerCase()}function Xc(e,t){let r=De[t];return r?Object.keys(r).filter(n=>r[n]===e):[]}var Jc=Object.fromEntries(Object.entries(De).map(([e,t])=>{let r={};for(let[n,i]of Object.entries(t))i in r||(r[i]=n);return [e,r]})),ep={ar:new Set(["mouseover"]),bn:new Set(["every","reset","resize"]),de:new Set(["keydown","keyup","load","mouseout","mouseover","reset"]),fr:new Set(["blur","reset"]),id:new Set(["input","keyup","mouseout","mouseover","resize"]),ja:new Set(["keypress","mousedown","mouseup","reset","resize"]),qu:new Set(["reset","resize"]),sw:new Set(["change","click","input","keydown","keyup","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","resize","submit"]),tr:new Set(["keydown","keyup","load","mousedown","mouseout","mouseover","mouseup","reset","resize","scroll"]),zh:new Set(["focus","keyup","mouseout","mouseover","reset"]),hi:new Set(["dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","resize","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),it:new Set(["dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","touchcancel","touchend","touchmove","touchstart","unload"]),pl:new Set(["dblclick","focus","keydown","keypress","keyup","load","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","touchcancel","touchend","touchmove","touchstart","unload"]),ru:new Set(["blur","dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),th:new Set(["every","keydown","keyup","mouseout","mouseover","reset"]),uk:new Set(["blur","dblclick","keydown","keypress","keyup","mouseenter","mouseleave","mousemove","mouseout","mouseover","reset","scroll","touchcancel","touchend","touchmove","touchstart","unload"]),ms:new Set(["every"]),tl:new Set(["every"]),ko:new Set(["reset"]),es:new Set(["reset"]),pt:new Set(["reset"])};function tp(e,t){return ep[t]?.has(e)?e:Jc[t]?.[e]??e}function rp(e){return ge("event-handler",e)??[]}function np(e){return []}function ip(e){return ge("add",e)??[]}function ap(e){return ge("remove",e)??[]}[...Q];function up(e){return ge("show",e)??[]}[...Q];function op(e){return ge("hide",e)??[]}[...wi];function sp(e){return e.map(t=>t.extraction?.scope?t:{...t,template:{...t.template,tokens:[...t.template.tokens,{type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:_o}]}]},extraction:{...t.extraction,scope:{marker:"on"}}})}function lp(e){let t=ge("set",e);return t?sp(t):[]}[...No];function cp(e){return ge("get",e)??[]}function pp(e){return ge("increment",e)??[]}function dp(e){return ge("decrement",e)??[]}function mp(e){if(e==="en")return [];let t=T(e),r=t?.keywords?.wait,n=t?.keywords?.event;if(!t||!r?.primary||!n?.primary)return [];let i=c=>({type:"literal",value:c.primary,...c.alternatives?.length?{alternatives:[...c.alternatives]}:{}}),a={type:"role",role:"event",expectedTypes:Ze},u=t.roleMarkers?.patient,o=u&&u.position!=="after"?[{type:"group",optional:true,tokens:[i(u)]}]:[],s=t.wordOrder==="SOV",l=s?[i(n),a,i(r)]:[i(r),...o,i(n),a];return [{id:`wait-${e}-event-head`,language:e,command:"wait",priority:110,parseOnly:true,template:{format:s?`${n.primary} {event} ${r.primary}`:`${r.primary} ${n.primary} {event}`,tokens:l},extraction:{event:{position:s?1:2+o.length}}}]}function fp(e){return [...ge("wait",e)??[],...mp(e)]}function yp(e){return ge("fetch",e)??[]}var Di={ar:["\u0645\u0631\u0627\u062A","\u0645\u0631\u0629"],bn:["\u09AC\u09BE\u09B0"],de:["mal","Mal"],es:["veces","vez"],fr:["fois"],he:["\u05E4\u05E2\u05DE\u05D9\u05DD","\u05E4\u05E2\u05DD"],hi:["\u092C\u093E\u0930"],id:["kali"],it:["volte","volta"],ja:["\u56DE","\u5EA6"],ko:["\uBC88","\uD68C"],ms:["kali"],pl:["razy","raz"],pt:["vezes","vez"],qu:["kuti"],ru:["\u0440\u0430\u0437","\u0440\u0430\u0437\u0430"],sw:["mara"],th:["\u0E04\u0E23\u0E31\u0E49\u0E07"],tl:["beses"],tr:["kez","kere","defa"],uk:["\u0440\u0430\u0437\u0456\u0432","\u0440\u0430\u0437\u0438","\u0440\u0430\u0437"],vi:["l\u1EA7n"],zh:["\u6B21","\u904D"]};function Ko(e,t){let r=[...Di[e]??[],"times"].filter(n=>n!==t);return {type:"literal",value:t,alternatives:r}}function vp(e,t,r,n){let i=[];return i.push({type:"literal",value:t}),n&&i.push({type:"literal",value:n}),i.push({type:"role",role:"quantity",expectedTypes:Ai}),i.push(Ko(e,r)),{id:`repeat-${e}-times`,language:e,command:"repeat",priority:110,template:{format:`${t}${n?" "+n:""} {quantity} ${r}`,tokens:i},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}var Uo=[["es","repetir","veces"],["de","wiederholen","mal"],["fr","r\xE9p\xE9ter","fois"],["it","ripetere","volte"],["pt","repetir","vezes"],["ru","\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","\u0440\u0430\u0437"],["uk","\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438","\u0440\u0430\u0437\u0456\u0432"],["pl","powt\xF3rz","razy"],["ar","\u0643\u0631\u0631","\u0645\u0631\u0627\u062A"],["he","\u05D7\u05D6\u05D5\u05E8","\u05E4\u05E2\u05DE\u05D9\u05DD","\u05D0\u05EA"],["id","ulangi","kali"],["ms","ulang","kali"],["sw","rudia","mara"],["th","\u0E17\u0E33\u0E0B\u0E49\u0E33","\u0E04\u0E23\u0E31\u0E49\u0E07"],["vi","l\u1EB7p l\u1EA1i","l\u1EA7n"],["tl","ulitin","beses"],["zh","\u91CD\u590D","\u6B21","\u628A"]];function hp(e,t,r,n){return {id:`repeat-${e}-times`,language:e,command:"repeat",priority:110,template:{format:`{quantity} ${t} ${r} ${n}`,tokens:[{type:"role",role:"quantity",expectedTypes:Ai},Ko(e,t),{type:"literal",value:r},{type:"literal",value:n,alternatives:["repeat"]}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}var Go=[["ja","\u56DE","\u3092","\u7E70\u308A\u8FD4\u3057"],["ko","\uBC88","\uB97C","\uBC18\uBCF5"],["tr","kez","i","tekrarla"],["hi","\u092C\u093E\u0930","\u0915\u094B","\u0926\u094B\u0939\u0930\u093E\u090F\u0902"],["bn","\u09AC\u09BE\u09B0","\u0995\u09C7","\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"],["qu","kuti","ta","kutipay"]],Ep=new Map([...Uo.map(([e,t])=>[e,t]),...Go.map(([e,,,t])=>[e,t])]);function Ct(e){let t=Ep.get(e);return t?{type:"literal",value:t,alternatives:["repeat"]}:{type:"literal",value:"repeat"}}function gp(e,t,r){return {id:`repeat-${e}-word-first-times`,language:e,command:"repeat",priority:109,template:{format:`${t} ${r} {quantity}`,tokens:[{type:"literal",value:t},{type:"literal",value:r},{type:"role",role:"quantity",expectedTypes:Ai}]},extraction:{loopType:{default:{type:"literal",value:"times"}}}}}function lu(e,t,r=false){let n=[Ct(e)];if(t.forWords&&t.forWords.length>0)if(t.requireForWords)for(let i of t.forWords)n.push({type:"literal",value:i});else n.push({type:"group",optional:true,tokens:t.forWords.map(i=>({type:"literal",value:i}))});n.push({type:"role",role:"patient",expectedTypes:bi});for(let i of t.inWords)n.push({type:"literal",value:i});return n.push({type:"role",role:"source",expectedTypes:nn}),{id:r?`repeat-${e}-written-for-in`:`repeat-${e}-for-in`,language:e,command:"repeat",priority:r?111:110,template:{format:`repeat [${(t.forWords??[]).join(" ")}] {patient} ${t.inWords.join(" ")} {source}`,tokens:n},extraction:{loopType:{default:{type:"literal",value:"for"}}}}}var kp=[["en",{forWords:["for"],inWords:["in"],requireForWords:true}],["es",{forWords:["para"],inWords:["en"]}],["pt",{forWords:["para"],inWords:["dentro"]}],["fr",{forWords:["pour"],inWords:["en"]}],["it",{forWords:["per"],inWords:["in"]}],["de",{forWords:["f\xFCr"],inWords:["in"]}],["ru",{forWords:["\u0434\u043B\u044F"],inWords:["\u0432"]}],["uk",{forWords:["\u0434\u043B\u044F"],inWords:["\u0443"]}],["pl",{forWords:["dla"],inWords:["w"]}],["ar",{forWords:["\u0644\u0643\u0644"],inWords:["\u0641\u064A"]}],["he",{forWords:["\u05E2\u05D1\u05D5\u05E8","\u05D0\u05EA"],inWords:["\u05D1\u05EA\u05D5\u05DA"]}],["hi",{inWords:["\u092E\u0947\u0902"]}],["bn",{inWords:["\u098F"]}],["ja",{inWords:["\u306E\u4E2D"]}],["ko",{inWords:["\uC548\uC5D0"]}],["zh",{forWords:["\u4E3A","\u628A"],inWords:["\u5728"]}],["tr",{inWords:["i\xE7inde"]}],["id",{forWords:["untuk"],inWords:["dalam"]}],["ms",{forWords:["untuk"],inWords:["dalam"]}],["sw",{forWords:["kwa"],inWords:["ndani"]}],["th",{forWords:["\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A"],inWords:["\u0E43\u0E19"]}],["vi",{forWords:["v\u1EDBi m\u1ED7i"],inWords:["trong"]}],["tl",{forWords:["para_sa"],inWords:["sa_loob"]}],["qu",{inWords:["ukupi"]}]];function wp(e,t){let r=[Ct(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.whileWord}),r.push({type:"role",role:"condition",expectedTypes:["property-path","expression"]}),{id:`repeat-${e}-while-head`,language:e,command:"repeat",priority:110,template:{format:`repeat ${(t.pre??[]).join(" ")} ${t.whileWord} {condition}`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"while"}}}}}function Cp(e,t){return {id:`repeat-${e}-while-head`,language:e,command:"repeat",priority:110,template:{format:`${t.whileWord} {condition} ${t.verb}`,tokens:[{type:"literal",value:t.whileWord},{type:"role",role:"condition",expectedTypes:["property-path","expression"]},{type:"literal",value:t.verb}]},extraction:{loopType:{default:{type:"literal",value:"while"}}}}}var zp=[["ja",{whileWord:"\u306E\u9593",verb:"\u7E70\u308A\u8FD4\u3057"}],["ko",{whileWord:"\uB3D9\uC548",verb:"\uBC18\uBCF5"}],["tr",{whileWord:"s\xFCresince",verb:"tekrarla"}],["hi",{whileWord:"\u091C\u092C \u0924\u0915",verb:"\u0926\u094B\u0939\u0930\u093E\u090F\u0902"}],["bn",{whileWord:"\u09AF\u09A4\u0995\u09CD\u09B7\u09A3",verb:"\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"}],["qu",{whileWord:"kaykamaqa",verb:"kutipay"}]],bp=[["en",{whileWord:"while"}],["es",{whileWord:"mientras"}],["pt",{whileWord:"enquanto"}],["fr",{whileWord:"tantque"}],["it",{whileWord:"mentre"}],["de",{whileWord:"w\xE4hrend"}],["ru",{whileWord:"\u043F\u043E\u043A\u0430"}],["uk",{whileWord:"\u043F\u043E\u043A\u0438"}],["pl",{whileWord:"dop\xF3ki"}],["ar",{whileWord:"\u0628\u064A\u0646\u0645\u0627"}],["he",{pre:["\u05D0\u05EA"],whileWord:"\u05DB\u05DC \u05E2\u05D5\u05D3"}],["zh",{pre:["\u628A"],whileWord:"\u5F53"}],["id",{whileWord:"selama"}],["ms",{whileWord:"selagi"}],["sw",{whileWord:"wakati"}],["th",{whileWord:"\u0E43\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48"}],["vi",{whileWord:"trong khi"}],["tl",{whileWord:"habang"}]];function Yo(e,t){let r=[Ct(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.untilWord}),r.push({type:"role",role:"condition",expectedTypes:["property-path","expression"]}),{id:`repeat-${e}-until-condition-head`,language:e,command:"repeat",priority:105,template:{format:`repeat ${(t.pre??[]).join(" ")} ${t.untilWord} {condition}`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"until"}}}}}function Ap(e,t){return {id:`repeat-${e}-until-condition-head`,language:e,command:"repeat",priority:105,template:{format:`${t.untilWord} {condition} ${t.verb}`,tokens:[{type:"literal",value:t.untilWord},{type:"role",role:"condition",expectedTypes:["property-path","expression"]},{type:"literal",value:t.verb}]},extraction:{loopType:{default:{type:"literal",value:"until"}}}}}function xp(e,t){let r=[Ct(e)];for(let n of t.pre??[])r.push({type:"literal",value:n});return r.push({type:"literal",value:t.untilWord}),t.preEvent&&r.push({type:"literal",value:t.preEvent}),r.push({type:"literal",value:t.eventWord}),r.push({type:"role",role:"event",expectedTypes:Ze}),r.push({type:"group",optional:true,tokens:[{type:"literal",value:t.fromWord},{type:"role",role:"source",expectedTypes:Q}]}),{id:`repeat-${e}-until-head`,language:e,command:"repeat",priority:110,template:{format:`repeat ${t.untilWord} ${t.eventWord} {event} [${t.fromWord} {source}]`,tokens:r},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}var Dp=[["ja",{untilWord:"\u307E\u3067",verb:"\u7E70\u308A\u8FD4\u3057"}],["ko",{untilWord:"\uAE4C\uC9C0",verb:"\uBC18\uBCF5"}],["tr",{untilWord:"kadar",verb:"tekrarla"}],["hi",{untilWord:"\u0924\u0915",verb:"\u0926\u094B\u0939\u0930\u093E\u090F\u0902"}],["bn",{untilWord:"\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",verb:"\u09AA\u09C1\u09A8\u09B0\u09BE\u09AC\u09C3\u09A4\u09CD\u09A4\u09BF"}],["qu",{untilWord:"kama",verb:"kutipay"}]],Bp=[["es",{untilWord:"hasta",eventWord:"evento",fromWord:"de"}],["pt",{untilWord:"at\xE9",eventWord:"evento",fromWord:"de"}],["fr",{untilWord:"jusqu\xE0",eventWord:"\xE9v\xE9nement",fromWord:"de"}],["it",{untilWord:"fino",eventWord:"evento",fromWord:"da"}],["de",{untilWord:"bis",eventWord:"ereignis",fromWord:"von"}],["ru",{untilWord:"\u0434\u043E",eventWord:"\u0441\u043E\u0431\u044B\u0442\u0438\u0435",fromWord:"\u0438\u0437"}],["uk",{untilWord:"\u0434\u043E",eventWord:"\u043F\u043E\u0434\u0456\u044F",fromWord:"\u0437"}],["pl",{untilWord:"a\u017C",eventWord:"zdarzenie",fromWord:"z"}],["ar",{untilWord:"\u062D\u062A\u0649",eventWord:"\u062D\u062F\u062B",fromWord:"\u0645\u0646"}],["he",{untilWord:"\u05E2\u05D3",preEvent:"\u05D0\u05EA",eventWord:"\u05D0\u05D9\u05E8\u05D5\u05E2",fromWord:"\u05DE"}],["id",{untilWord:"sampai",eventWord:"peristiwa",fromWord:"dari"}],["ms",{untilWord:"sehingga",eventWord:"peristiwa",fromWord:"dari"}],["sw",{untilWord:"hadi",eventWord:"tukio",fromWord:"kutoka"}],["th",{untilWord:"\u0E08\u0E19\u0E16\u0E36\u0E07",eventWord:"\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C",fromWord:"\u0E08\u0E32\u0E01"}],["vi",{untilWord:"cho \u0111\u1EBFn khi",eventWord:"s\u1EF1 ki\u1EC7n",fromWord:"t\u1EEB"}],["tl",{untilWord:"hanggang",eventWord:"pangyayari",fromWord:"mula_sa"}],["zh",{pre:["\u628A"],untilWord:"\u76F4\u5230",eventWord:"\u4E8B\u4EF6",fromWord:"\u4ECE"}]];function Sp(e,t){return {id:`repeat-${e}-until-head`,language:e,command:"repeat",priority:110,template:{format:`${t.untilWord} ${t.eventWord} {event} ${t.objMarker} repeat [{source} ${t.fromWord}]`,tokens:[{type:"literal",value:t.untilWord},{type:"literal",value:t.eventWord},{type:"role",role:"event",expectedTypes:Ze},{type:"literal",value:t.objMarker},Ct(e),{type:"group",optional:true,tokens:[{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:t.fromWord}]}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}function Fp(e,t){return {id:`repeat-${e}-until-head-verb-final`,language:e,command:"repeat",priority:111,template:{format:`${t.untilWord} ${t.eventWord} {event} ${t.objMarker} {source} ${t.fromWord} repeat`,tokens:[{type:"literal",value:t.untilWord},{type:"literal",value:t.eventWord},{type:"role",role:"event",expectedTypes:Ze},{type:"literal",value:t.objMarker},{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:t.fromWord},Ct(e)]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}}}var Tp={id:"repeat-qu-midclause-until-head",language:"qu",command:"repeat",priority:109,parseOnly:true,template:{format:"until event {event} ta {source} manta repeat",tokens:[{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:Ze},{type:"literal",value:"ta"},{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:"manta"},{type:"literal",value:"repeat"}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}},Pp=[["hi",{untilWord:"\u0924\u0915",eventWord:"\u0918\u091F\u0928\u093E",objMarker:"\u0915\u094B",fromWord:"\u0938\u0947"}],["bn",{untilWord:"\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",eventWord:"\u0998\u099F\u09A8\u09BE",objMarker:"\u0995\u09C7",fromWord:"\u09A5\u09C7\u0995\u09C7"}],["ja",{untilWord:"\u307E\u3067",eventWord:"\u30A4\u30D9\u30F3\u30C8",objMarker:"\u3092",fromWord:"\u304B\u3089"}],["ko",{untilWord:"\uAE4C\uC9C0",eventWord:"\uC774\uBCA4\uD2B8",objMarker:"\uB97C",fromWord:"\uC5D0\uC11C"}],["tr",{untilWord:"kadar",eventWord:"olay",objMarker:"i",fromWord:"den"}]];function Op(e,t){return {id:`for-${e}-sov-basic`,language:e,command:"for",priority:105,template:{format:`{patient} ${t.inWords.join(" ")} {source} [${t.objMarker}] ${t.forVerb}`,tokens:[{type:"role",role:"patient",expectedTypes:bi},...t.inWords.map(r=>({type:"literal",value:r})),{type:"role",role:"source",expectedTypes:nn},{type:"group",optional:true,tokens:[{type:"literal",value:t.objMarker}]},{type:"literal",value:t.forVerb}]},extraction:{patient:{position:0}}}}var Rp=[["ja",{inWords:["\u306E\u4E2D"],objMarker:"\u3092",forVerb:"\u305F\u3081\u306B"}],["ko",{inWords:["\uC548\uC5D0"],objMarker:"\uB97C",forVerb:"\uAC01\uAC01"}],["tr",{inWords:["i\xE7inde"],objMarker:"i",forVerb:"i\xE7in"}],["qu",{inWords:["ukupi"],objMarker:"ta",forVerb:"sapankaq"}],["bn",{inWords:["\u098F"],objMarker:"\u0995\u09C7",forVerb:"\u099C\u09A8\u09CD\u09AF"}],["hi",{inWords:["\u092E\u0947\u0902"],objMarker:"\u0915\u094B",forVerb:"\u0939\u0947\u0924\u0941"}]],ti=new Map,Ee=(e,t)=>{let r=ti.get(e);r?r.push(t):ti.set(e,[t]);};for(let[e,t,r,n]of Uo)Ee(e,vp(e,t,r,n));for(let[e,t,r,n]of Go)Ee(e,hp(e,t,r,n));Ee("sw",gp("sw","rudia","mara"));var Lp=new Set(["es","pt","fr","it","de","ru","uk","pl","ar","id","ms","sw","th","vi"]);for(let[e,t]of kp)Ee(e,lu(e,t)),Lp.has(e)&&Ee(e,lu(e,{...t,requireForWords:true},true));for(let[e,t]of Rp)Ee(e,Op(e,t));for(let[e,t]of bp)Ee(e,wp(e,t));for(let[e,t]of zp)Ee(e,Cp(e,t));for(let[e,t]of Bp)Ee(e,xp(e,t)),Ee(e,Yo(e,t));Ee("en",Yo("en",{untilWord:"until"}));Ee("en",{id:"repeat-en-in",language:"en",command:"repeat",priority:108,template:{format:"repeat in {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:nn}]},extraction:{loopType:{default:{type:"literal",value:"for"}},patient:{default:{type:"reference",value:"it"}}}});for(let[e,t]of Dp)Ee(e,Ap(e,t));for(let[e,t]of Pp)Ee(e,Sp(e,t)),e==="tr"&&Ee(e,Fp(e,t));var _p={id:"repeat-qu-canonical-until-head",language:"qu",command:"repeat",priority:110,template:{format:"kama ruway {event} ta repeat [{source} manta]",tokens:[{type:"literal",value:"kama"},{type:"literal",value:"ruway"},{type:"role",role:"event",expectedTypes:Ze},{type:"literal",value:"ta"},Ct("qu"),{type:"group",optional:true,tokens:[{type:"role",role:"source",expectedTypes:Q},{type:"literal",value:"manta"}]}]},extraction:{loopType:{default:{type:"literal",value:"until-event"}}}};Ee("qu",_p);Ee("qu",Tp);function Bi(e){return ti.get(e)??[]}function Np(e){return ge("append",e)??[]}function Ip(e){return ge("prepend",e)??[]}function Mp(e){return ge("trigger",e)??[]}function $p(e){return ge("send",e)??[]}var un=new Set(["tell","viewTransition"]);function on(e){return e.kind==="command"&&un.has(e.action)&&Array.isArray(e.body)}function Le(e){let t="complex";return e.startsWith("#")&&!e.includes(" ")?t="id":e.startsWith(".")&&!e.includes(" ")?t="class":e.startsWith("[")&&e.endsWith("]")?t="attribute":/^[a-z][a-z0-9]*$/i.test(e)&&(t="element"),{type:"selector",value:e,selectorKind:t}}function te(e,t){let r={type:"literal",value:e};return t!==void 0?{type:"literal",value:e,dataType:t}:r}function Zo(e){if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");if(e==="null")return {type:"expression",raw:"null"}}function Ke(e){return br(e)}function Te(e){return {type:"reference",value:e}}function Qo(e,t){return t?{...e,position:t}:e}function Ve(e,t,r){return r?{type:"property-path",object:e,property:t,access:r}:{type:"property-path",object:e,property:t}}function ye(e,t,r){let n={kind:"command",action:e,roles:new Map(Object.entries(t))};return r!==void 0?{...n,metadata:r}:n}function lr(e,t,r,n,i,a){let u=new Map;u.set("event",e);let o={kind:"event-handler",action:"on",roles:u,body:t};return r!==void 0&&(o.eventModifiers=r),n!==void 0&&(o.metadata=n),i!==void 0&&i.length>0&&(o.parameterNames=i),o}function jp(e,t,r,n,i){let a={kind:"behavior",action:"behavior",roles:new Map,name:e,parameters:t,eventHandlers:r};return n!==void 0&&n.length>0&&(a.initBlock=n),i!==void 0&&(a.metadata=i),a}function qp(e,t,r,n){let i={kind:"def",action:"def",roles:new Map,name:e,parameters:t,body:r};return n!==void 0&&(i.metadata=n),i}function ri(e,t,r,n,i){let a={kind:"feature",action:e,roles:i??new Map,body:t};return r!==void 0&&(a.name=r),n!==void 0&&(a.metadata=n),a}function Gt(e,t="then",r){let n={kind:"compound",action:"compound",roles:new Map,statements:e,chainType:t};return r!==void 0&&(n.metadata=r),n}function Wp(e,t,r,n){let i=new Map;i.set("condition",e);let a={kind:"conditional",action:"if",roles:i,thenBranch:t};return r!==void 0&&(a.elseBranch=r),n!==void 0&&(a.metadata=n),a}function cu(e,t,r,n,i){let a={kind:"loop",action:e,loopVariant:t,roles:new Map(Object.entries(r)),body:n};return i?.loopVariable&&(a.loopVariable=i.loopVariable),i?.indexVariable&&(a.indexVariable=i.indexVariable),i?.metadata&&(a.metadata=i.metadata),i?.bottomTested&&(a.bottomTested=true),a}function Xo(e){let t=T(e)?.keywords?.pick,r=t?.primary;if(!r||r.toLowerCase()==="pick")return {type:"literal",value:"pick"};let n=[...t?.alternatives??[],"pick"];return {type:"literal",value:r,alternatives:n}}var Vp=new Set(["character","characters","item","items"]),Jo=e=>{if(Vp.has(e))return {type:"expression",raw:e};let t=Number(e);return te(e!==""&&!Number.isNaN(t)?t:e)};function Hp(e,t){let r=[Xo(e)];return t.objectMarkers?.length&&r.push({type:"group",optional:true,tokens:[{type:"literal",value:t.objectMarkers[0],...t.objectMarkers.length>1?{alternatives:t.objectMarkers.slice(1)}:{}}]}),r.push({type:"role",role:"method",expectedTypes:["literal","expression"]},{type:"role",role:"patient",expectedTypes:["literal","expression"]},{type:"literal",value:t.srcMarker,...t.srcAlternatives?.length?{alternatives:t.srcAlternatives}:{}},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}),{id:`pick-${e}-variant`,language:e,command:"pick",priority:110,template:{format:`pick {method} {patient} ${t.srcMarker} {source}`,tokens:r},extraction:{method:{position:1,transform:Jo},patient:{position:2},source:{marker:t.srcMarker,...t.srcAlternatives?.length?{markerAlternatives:t.srcAlternatives}:{}}}}}var Kp={ar:{srcMarker:"\u0645\u0646"},de:{srcMarker:"von",srcAlternatives:["aus"]},es:{srcMarker:"de"},fr:{srcMarker:"de"},he:{srcMarker:"of",srcAlternatives:["\u05E9\u05DC","\u05DE"],objectMarkers:["\u05D0\u05EA"]},id:{srcMarker:"dari"},it:{srcMarker:"di",srcAlternatives:["da"]},ms:{srcMarker:"daripada",srcAlternatives:["dari"]},pl:{srcMarker:"z"},pt:{srcMarker:"de"},ru:{srcMarker:"\u0438\u0437"},sw:{srcMarker:"ya",srcAlternatives:["kutoka"]},th:{srcMarker:"\u0E02\u0E2D\u0E07",srcAlternatives:["\u0E08\u0E32\u0E01"]},tl:{srcMarker:"ng",srcAlternatives:["mula"]},uk:{srcMarker:"\u0437"},vi:{srcMarker:"c\u1EE7a",srcAlternatives:["t\u1EEB"]},zh:{srcMarker:"\u7684",objectMarkers:["\u628A"]}};function Up(e,t){return {id:`pick-${e}-variant-sov`,language:e,command:"pick",priority:110,template:{format:`{source} ${t.genitive} {method} {patient} ${t.patientMarker} pick`,tokens:[{type:"role",role:"source",expectedTypes:["selector","reference","expression"]},{type:"literal",value:t.genitive},{type:"role",role:"method",expectedTypes:["literal","expression"]},{type:"role",role:"patient",expectedTypes:["literal","expression"]},{type:"group",optional:true,tokens:[{type:"literal",value:t.patientMarker}]},Xo(e)]},extraction:{source:{position:0},method:{position:2,transform:Jo},patient:{position:3}}}}var Gp={bn:{genitive:"\u09B0",patientMarker:"\u0995\u09C7"},hi:{genitive:"\u0915\u093E",patientMarker:"\u0915\u094B"},ja:{genitive:"\u306E",patientMarker:"\u3092"},ko:{genitive:"\uC758",patientMarker:"\uB97C"},qu:{genitive:"pa",patientMarker:"ta"},tr:{genitive:"nin",patientMarker:"i"}};function Yp(e){let t=Kp[e];if(t)return [Hp(e,t)];let r=Gp[e];return r?[Up(e,r)]:[]}var pu=[{type:"literal",value:"start"},{type:"group",optional:true,tokens:[{type:"literal",value:"a"}]},{type:"literal",value:"view"},{type:"literal",value:"transition"}];function du(e,t){let r=(u,o,s)=>[{id:`${o}-using`,language:e,command:"viewTransition",priority:s+1,template:{format:"start [a] view transition using {style}",tokens:[...u,{type:"literal",value:"using"},{type:"role",role:"style",expectedTypes:$o}]},extraction:{style:{marker:"using"}}},{id:o,language:e,command:"viewTransition",priority:s,template:{format:"start [a] view transition",tokens:u},extraction:{}}],n=`viewTransition-${e}`;if(!t)return r(pu,n,110);let i=t.words.map(u=>({type:"literal",value:u})),a=[{type:"literal",value:"view"},{type:"literal",value:"transition"}];return [...r(t.verbFinal?[...a,...i]:[...i,...a],n,110),...r(pu,`${n}-en`,108)]}function Zp(e,t){let r={type:"literal",value:t.go,alternatives:[...t.goAlternatives,"go"]};return [((i,a,u)=>({id:i,language:e,command:"go",priority:u,template:{format:t.verbFinal?"back go":"go back",tokens:t.verbFinal?[...a,r]:[r,...a]},extraction:{destination:{value:"back",valueIsExpression:true}}}))(`go-${e}-back`,t.back.map(i=>({type:"literal",value:i})),105)]}function zt(e){let t=e.roles.find(r=>r.role==="destination");return t?{destination:t.default?{fromRole:"destination",default:t.default}:{fromRole:"destination"}}:{}}function bt(e){let t=e.roles.find(r=>r.role==="source");return t?{source:t.default?{fromRole:"source",default:t.default}:{fromRole:"source"}}:{}}function At(e,t){return Fi(e,t,"source")}function Si(e,t){return Fi(e,t,"destination")}function Qp(e,t){return Fi(e,t,"patient")}function Fi(e,t,r){if(!t||!e.roles.some(a=>a.role===r))return [];let n=t.alternatives?{type:"literal",value:t.primary,alternatives:[...t.alternatives]}:{type:"literal",value:t.primary},i={type:"role",role:r,optional:true};return [{type:"group",optional:true,tokens:t.position==="after"?[i,n]:[n,i]}]}var Xp={action:"toggle",description:"Toggle a class or attribute on/off",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{on:"destination",between:"goal",for:"duration"}},argSkipTokens:["on"],widenTypeVariants:[{role:"patient",types:["selector","property-path"],idSuffix:"possessive-patient"}],requiredRoleVariants:[{role:"goal",omit:["patient"],idSuffix:"between-pair"},{role:"goal",widen:{role:"patient",types:["selector","reference","expression"]},idSuffix:"between-values"}],roles:[{role:"patient",description:"The class or attribute to toggle",required:true,expectedTypes:["selector"],selectorKinds:["class","attribute"],svoPosition:1,sovPosition:2,markerOptional:{zh:true}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerVariants:{ko:["\uC5D0\uC11C"]}},{role:"goal",description:"What it toggles between (`between .a and .b`, `between 1, 2 and 3`)",required:false,expectedTypes:["expression","literal","selector"],valueShape:"list",svoPosition:1.5,sovPosition:2.5,markerOverride:{en:"between",ar:"\u0628\u064A\u0646",bn:"\u09AE\u09A7\u09CD\u09AF\u09C7",de:"zwischen",es:"entre",fr:"entre",he:"\u05D1\u05D9\u05DF",hi:"\u0915\u0947 \u092C\u0940\u091A",id:"antara",it:"tra",ja:"\u306E\u9593\u3067",ko:"\uC0AC\uC774",ms:"antara",pl:"mi\u0119dzy",pt:"entre",qu:"chawpipi",ru:"\u043C\u0435\u0436\u0434\u0443",sw:"kati",th:"\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07",tl:"sa_pagitan",tr:"aras\u0131nda",uk:"\u043C\u0456\u0436",vi:"gi\u1EEFa",zh:"\u4E4B\u95F4"},markerPositionOverride:{zh:"after"}},{role:"duration",description:"How long the class stays on before reverting (`toggle .a for 2s`)",required:false,expectedTypes:["literal"],svoPosition:3,sovPosition:3,valueShape:"time",markerOverride:{en:"for",ja:"\u9593",ko:"\uB3D9\uC548"}}],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","INVALID_CSS_PROPERTY"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"toggle command requires an argument"},{condition:"Class names are valid CSS identifiers",errorCode:"NO_VALID_CLASS_NAMES",message:"toggle command: no valid class names found"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to toggle",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",INVALID_CSS_PROPERTY:"Check CSS property name syntax (use kebab-case)"}};function sn(e){return {role:"condition",description:"Which targets it applies to (`when it matches .x`); the rest get the opposite",required:false,expectedTypes:["expression"],valueShape:"clause",svoPosition:e,sovPosition:0,markerOverride:{en:"when",es:"cuando",ja:"\u3068\u304D",ar:"\u0639\u0646\u062F\u0645\u0627",ko:"\uB54C",zh:"\u4F55\u65F6",tr:"iken",pt:"quando",fr:"quand",de:"wenn",id:"ketika",qu:"maykama",sw:"wakati",bn:"\u09AF\u0996\u09A8",hi:"\u091C\u092C",it:"quando",ms:"bila",pl:"kiedy",ru:"\u043A\u043E\u0433\u0434\u0430",th:"\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48",tl:"tuwing",uk:"\u043A\u043E\u043B\u0438",vi:"l\xFAc",he:"\u05DB\u05D0\u05E9\u05E8"},markerVariants:{ja:["\u3068\u304D\u306B"],tr:["durumunda","oldu\u011Funda"],he:["\u05DB\u05E9"]}}}var Jp={action:"add",description:"Add a class or attribute to an element",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination",when:"condition"}},roles:[{role:"patient",description:"The class or attribute to add",required:true,expectedTypes:["selector","literal"],svoPosition:1,sovPosition:2},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",es:"a",ar:"\u0625\u0644\u0649",zh:"\u5230",fr:"\xE0",de:"zu",pt:"a",he:"\u05D0\u05DC",id:"ke",it:"a",sw:"kwa"},markerLegacy:{es:["en","sobre","hacia"],ar:["\u0639\u0644\u0649","\u0641\u064A","\u0628"],zh:["\u5728","\u4E8E"],fr:["sur","dans"],de:["auf","in"],pt:["em","para"],he:["\u05E2\u05DC","\u05D1","\u05DC"],id:["pada","di"],it:["in","su"],sw:["kwenye"]}},sn(3)],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES","PROPERTY_REQUIRES_VALUE"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"add command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to add",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers",PROPERTY_REQUIRES_VALUE:"When adding a property (*prop), provide a value argument"}},ed={action:"remove",description:"Remove a class or attribute from an element",category:"dom-class",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",when:"condition"}},targetRole:"source",argSkipTokens:["from"],roles:[{role:"patient",description:"The class/attribute to remove, or the element to remove",required:true,expectedTypes:[...Q,"literal"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to remove from (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1},sn(3)],errorCodes:["MISSING_ARGUMENT","NO_VALID_CLASS_NAMES"],preconditions:[{condition:"Command has at least one argument",errorCode:"MISSING_ARGUMENT",message:"remove command requires an argument"}],recoveryHints:{MISSING_ARGUMENT:"Add a class selector (.classname) or attribute to remove",NO_VALID_CLASS_NAMES:"Ensure class names start with a dot (.) and are valid CSS identifiers"}},td={action:"put",description:"Put content into a target element or variable",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The content to put",required:true,expectedTypes:tn,svoPosition:1,sovPosition:1},{role:"destination",description:"Where to put the content",required:true,expectedTypes:Io,svoPosition:2,sovPosition:2,markerOverride:{en:"into",ar:"\u0641\u064A",zh:"\u5230",fr:"dans",de:"in",he:"\u05D1",id:"ke",sw:"kwa"},markerVariants:{en:["before","after"]},markerLegacy:{ar:["\u0639\u0644\u0649","\u0625\u0644\u0649","\u0628"],zh:["\u5728","\u4E8E"],fr:["sur","\xE0"],de:["auf","zu"],he:["\u05E2\u05DC","\u05D0\u05DC","\u05DC"],id:["pada","di"],sw:["kwenye"]},methodCarrier:"method"}],errorCodes:["MISSING_ARGUMENTS","MISSING_CONTENT","MISSING_POSITION","INVALID_POSITION","NO_TARGET","NO_ELEMENTS"],preconditions:[{condition:"Command has content and position arguments",errorCode:"MISSING_ARGUMENTS",message:"put requires arguments"},{condition:"Content to put is specified",errorCode:"MISSING_CONTENT",message:"put requires content"},{condition:"Position keyword is specified (into, before, after, etc.)",errorCode:"MISSING_POSITION",message:"put requires position keyword"}],recoveryHints:{MISSING_ARGUMENTS:"Use syntax: put <content> into/before/after <target>",MISSING_CONTENT:"Add content to put (string, element, or expression)",MISSING_POSITION:"Add position keyword: into, before, after, at start of, at end of",INVALID_POSITION:"Valid positions: into, before, after, at start of, at end of",NO_TARGET:'Ensure target element exists or use "me" reference',NO_ELEMENTS:"Check that the selector matches existing elements"}},rd={action:"set",description:"Set a property or variable to a value",category:"variable",primaryRole:"destination",ast:{args:["destination"],modifiers:{to:"patient",on:"scope"}},argSkipTokens:["to"],requiredRoleVariants:[{role:"scope",omit:["patient"],widen:{role:"scope",types:["selector","reference","expression"]},idSuffix:"object-on"}],roles:[{role:"destination",description:"The property or variable to set",required:true,expectedTypes:Vc,svoPosition:1,sovPosition:1,markerOverride:{en:"",es:"",ja:"\u3092",ko:"\uB97C",tr:"i",ar:"",sw:"",tl:"",th:"",bn:"\u0995\u09C7",qu:"ta",hi:"\u0915\u094B",zh:"\u628A"},markerOptional:{zh:true}},{role:"patient",description:"The value to set",required:true,expectedTypes:wi,svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"auf",id:"ke",ja:"\u306B",ko:"\uC5D0",tr:"e",ar:"\u0625\u0644\u0649",sw:"kwenye",tl:"sa",th:"\u0E43\u0E19",bn:"\u09A4\u09C7",qu:"man",hi:"\u092E\u0947\u0902",zh:"\u5230"},markerVariants:{tr:["e","a","ye","ya"],zh:["\u4E3A","\u70BA","\u6210"]}},{role:"scope",description:"The element(s) the attribute/property is set on (defaults to me)",required:false,expectedTypes:_o,svoPosition:3,sovPosition:3,markerOverride:{en:"on",es:"on",pt:"on",fr:"on",de:"on",it:"on",id:"on",ms:"on",sw:"on",tl:"on",zh:"on",vi:"on",ru:"on",uk:"on",pl:"on",th:"on",he:"on",ar:"on",ja:"on",ko:"on",tr:"on",hi:"on",bn:"on",qu:"on"}}],errorCodes:["MISSING_TARGET","INVALID_TARGET","MISSING_VALUE","INVALID_SYNTAX"],preconditions:[{condition:"Command has a target variable or property",errorCode:"MISSING_TARGET",message:"set command requires a target"},{condition:"Target is a valid variable or property reference",errorCode:"INVALID_TARGET",message:"set command target must be a string or object literal"},{condition:'Value is specified with "to" keyword',errorCode:"MISSING_VALUE",message:'set command requires a value (use "to" keyword)'}],recoveryHints:{MISSING_TARGET:"Add a target: set :variable to value OR set element.property to value",INVALID_TARGET:'Use local variable (:name), element property (el.prop), or "the X of Y" syntax',MISSING_VALUE:'Add "to <value>" to specify what to set',INVALID_SYNTAX:"Use syntax: set <target> to <value>"}},nd={action:"bind",description:"Reactively bind a variable to an element or property value",category:"variable",primaryRole:"destination",roles:[{role:"destination",description:"The variable to bind",required:true,expectedTypes:["reference","expression","selector","property-path"],svoPosition:1,sovPosition:1,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",it:"",id:"",ms:"",vi:"",ru:"",uk:"",pl:"",th:"",zh:"",he:"",ar:"",sw:"",tl:"",ja:"\u3092",ko:"\uB97C",tr:"i",bn:"\u0995\u09C7",qu:"ta",hi:"\u0915\u094B"}},{role:"source",description:"The element or property to bind to",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",es:"a",pt:"para",fr:"\xE0",de:"zu",it:"in",id:"ke",ms:"ke",vi:"v\xE0o",ru:"\u0432",uk:"\u0432",pl:"do",ja:"\u306B",ko:"\uC5D0",tr:"e",ar:"\u0625\u0644\u0649",zh:"\u5230",he:"\u05DC",sw:"kwa",th:"\u0E43\u0E19",tl:"sa",bn:"\u09A4\u09C7",qu:"man",hi:"\u092E\u0947\u0902"},markerVariants:{bn:["\u098F"]}}],errorCodes:["MISSING_TARGET","MISSING_VALUE","INVALID_SYNTAX"],recoveryHints:{MISSING_TARGET:"Add a variable to bind: bind $name to #input",MISSING_VALUE:'Add "to <element>" to specify the binding source',INVALID_SYNTAX:"Use syntax: bind <variable> to <element>"}},id={action:"live",description:"Reactive block: re-run the body when its dependencies change",category:"control-flow",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},ad={action:"when",description:"Reactive observer: re-run the body when a watched expression changes",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,structuralOnly:true,roles:[{role:"condition",description:"The watched expression (`or`-separated expressions watch each)",required:true,expectedTypes:["expression","reference","selector"],svoPosition:1}]},ud={action:"eventsource",description:"Open a Server-Sent Events stream and handle its events",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},od={action:"socket",description:"Open a WebSocket and handle its messages",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},sd={action:"worker",description:"Define a Web Worker with inline methods",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},ld={action:"intercept",description:"Service-worker fetch interception / caching strategies",category:"async",primaryRole:"patient",hasBody:true,bareKeyword:true,roles:[]},cd={action:"show",description:"Make an element visible",category:"dom-visibility",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{with:["style","duration"],when:"condition"}},roles:[{role:"patient",description:"The element to show",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"The hide/show strategy (`with opacity`, `with *opacity`)",required:false,expectedTypes:Mo,svoPosition:2,sovPosition:2},sn(3)]},pd={action:"hide",description:"Make an element invisible",category:"dom-visibility",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{with:["style","duration"],when:"condition"}},roles:[{role:"patient",description:"The element to hide",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1},{role:"style",description:"The hide/show strategy (`with opacity`, `with *opacity`)",required:false,expectedTypes:Mo,svoPosition:2,sovPosition:2},sn(3)]},dd={action:"on",description:"Handle an event",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{from:"source"}},hasBody:true,roles:[{role:"event",description:"The event to handle",required:true,expectedTypes:["literal"],svoPosition:1,sovPosition:2,markerOptional:{ja:true,tr:true}},{role:"source",description:"The element to listen on (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}],widenTypeVariants:[{role:"event",types:Ze,idSuffix:"expr-event",excludeLanguages:["ko"]}]},md={action:"trigger",description:"Trigger/dispatch an event",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{on:"destination"}},argSkipTokens:["on"],roles:[{role:"event",description:"The event to trigger (supports namespaced events like draggable:start)",required:true,expectedTypes:Ze,svoPosition:1,sovPosition:2,markerVariants:{hi:["\u0915\u094B"],qu:["ta"],bn:["\u0995\u09C7"]},markerOverride:{bn:"\u0995\u09C7",hi:"\u0915\u094B"}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},fd={action:"wait",description:"Wait for a duration or event",category:"async",primaryRole:"duration",roles:[{role:"duration",description:"Duration or event to wait for",required:true,expectedTypes:Hc,svoPosition:1,sovPosition:1}]},yd={action:"fetch",description:"Fetch data from a URL",category:"async",primaryRole:"source",ast:{args:["source"],modifiers:{with:["style","method"],as:"responseType",body:"patient"},isBlocking:true},roles:[{role:"source",description:"The URL to fetch from",required:true,expectedTypes:rn,svoPosition:1,sovPosition:1,renderOverride:{en:""}},{role:"style",description:"Request options object (method, headers, body, credentials\u2026)",required:false,expectedTypes:zi,valueShape:"object",svoPosition:2,sovPosition:2},{role:"responseType",description:"Response format (json, text, html, blob, etc.)",required:false,expectedTypes:Ci,svoPosition:3,sovPosition:3,markerOverride:{en:"as",ja:"\u3068\u3057\u3066"}},{role:"method",description:"HTTP method (GET, POST, etc.)",required:false,expectedTypes:["literal"],svoPosition:4,sovPosition:4},{role:"destination",description:"Where to store the result",required:false,expectedTypes:["selector","reference"],svoPosition:5,sovPosition:5}]},vd={action:"increment",description:"Increment a numeric value",category:"variable",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{by:"quantity"}},roles:[{role:"patient",description:"The value to increment",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to increment by (defaults to 1)",required:false,expectedTypes:["literal","selector","expression","reference","property-path"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"}}]},hd={action:"decrement",description:"Decrement a numeric value",category:"variable",primaryRole:"patient",ast:{args:[["destination","patient"]],modifiers:{by:"quantity"}},roles:[{role:"patient",description:"The value to decrement",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"quantity",description:"Amount to decrement by (defaults to 1)",required:false,expectedTypes:["literal","selector","expression","reference","property-path"],default:{type:"literal",value:1,dataType:"number"},svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"}}]},Ed={action:"append",description:"Append content to an element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination"}},omitRoleVariants:["destination"],roles:[{role:"patient",description:"The content to append",required:true,expectedTypes:tn,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to append to",required:true,expectedTypes:qo,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},gd={action:"prepend",description:"Prepend content to an element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{to:"destination"}},omitRoleVariants:["destination"],roles:[{role:"patient",description:"The content to prepend",required:true,expectedTypes:tn,svoPosition:1,sovPosition:2},{role:"destination",description:"The element to prepend to",required:true,expectedTypes:qo,svoPosition:2,sovPosition:1,markerOverride:{en:"to"}}]},kd={action:"log",description:"Log a value to the console",category:"variable",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The value to log",required:true,expectedTypes:["literal","selector","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},wd={action:"get",description:"Get a value from a source",category:"variable",primaryRole:"source",ast:{args:[["source","patient"]]},roles:[{role:"source",description:"The source to get from",required:true,expectedTypes:No,svoPosition:1,sovPosition:2,markerOverride:{en:"",es:"",pt:"",fr:"",de:"",ja:"\u3092",zh:"",ko:"\uB97C",ar:"\u0639\u0644\u0649",tr:"i",id:"",he:"\u05D0\u05EA",sw:"",tl:"",bn:"\u0995\u09C7",qu:"ta"}}]},Cd={action:"take",description:"Take content from a source element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",for:"recipient"}},argSkipTokens:["from"],roles:[{role:"patient",description:"The class or element to take",required:true,expectedTypes:["selector"],svoPosition:1,sovPosition:2},{role:"source",description:"The element to take from (defaults to all current holders)",required:false,expectedTypes:Q,svoPosition:2,sovPosition:1},{role:"recipient",description:"The element the class moves ONTO (`take .active from .tab for me`)",required:false,expectedTypes:["reference"],svoPosition:3,sovPosition:3,valueShape:"reference",markerOverride:{en:"for"}}]},zd={action:"make",description:"Create a new element",category:"dom-content",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The element type or selector to create",required:true,expectedTypes:["literal","selector"],svoPosition:1,sovPosition:1}]},bd={action:"halt",description:"Halt/stop execution or event propagation",category:"control-flow",primaryRole:"patient",ast:{args:[],modifiers:{the:"patient"}},argSkipTokens:["the"],roles:[{role:"patient",description:"What to halt (event, default, bubbling, etc.)",required:false,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},Ad={action:"settle",description:"Wait for animations/transitions to settle",category:"async",primaryRole:"patient",ast:{args:[["destination","patient"]],isBlocking:true},roles:[{role:"patient",description:"The element to settle (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},xd={action:"throw",description:"Throw an error",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The error message or object to throw",required:true,expectedTypes:["literal","expression","property-path"],svoPosition:1,sovPosition:1}]},Dd={action:"send",description:"Send an event to an element",category:"event",primaryRole:"event",ast:{args:["event"],modifiers:{to:"destination",detail:"patient"}},roles:[{role:"event",description:"The event to send",required:true,expectedTypes:Ze,svoPosition:1,sovPosition:2,markerOverride:{bn:"\u0995\u09C7"},markerLegacy:{bn:["\u09A4\u09C7"]}},{role:"destination",description:"The target element (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1,markerOverride:{en:"to",ja:"\u306B",ar:"\u0625\u0644\u0649",es:"a",ko:"\uC5D0\uAC8C",zh:"\u5230",tr:"e",pt:"para",fr:"\xE0",de:"an",id:"ke",qu:"man",sw:"kwa"}}]},Bd={action:"if",description:"Conditional execution",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to evaluate",required:true,expectedTypes:jo,svoPosition:1,sovPosition:1}]},Sd={action:"unless",description:"Negated conditional execution (executes when condition is false)",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to evaluate (body executes when false)",required:true,expectedTypes:jo,svoPosition:1,sovPosition:1}]},Fd={action:"else",description:"Else branch of conditional",category:"control-flow",primaryRole:"patient",hasBody:true,roles:[]},Td={action:"repeat",description:"Repeat a block of commands",category:"control-flow",primaryRole:"loopType",ast:{args:[["quantity","patient"]]},hasBody:true,roles:[{role:"loopType",description:"Loop variant: forever, times, for, while, until, until-event",required:true,expectedTypes:["literal"],svoPosition:0,sovPosition:0},{role:"quantity",description:"Number of times to repeat",required:false,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1},{role:"event",description:"Event to wait for (terminates loop)",required:false,expectedTypes:Ze,svoPosition:2,sovPosition:2},{role:"source",description:"Element to listen for event on",required:false,expectedTypes:["selector","reference"],svoPosition:3,sovPosition:3}],notes:'Can also use "repeat forever", "repeat until condition", or "repeat until event X from Y"'},Pd={action:"for",description:"Iterate over a collection",category:"control-flow",primaryRole:"patient",ast:{args:["patient"],modifiers:{in:"source"}},hasBody:true,roles:[{role:"patient",description:"The iteration variable",required:true,expectedTypes:bi,svoPosition:1,sovPosition:2},{role:"source",description:"The collection to iterate over",required:true,expectedTypes:nn,svoPosition:2,sovPosition:1,markerOverride:{en:"in",es:"en",fr:"en",de:"in",it:"in",pt:"dentro",id:"dalam",ms:"dalam",pl:"w",ru:"\u0432",uk:"\u0443",sw:"ndani",th:"\u0E43\u0E19",vi:"trong",ar:"\u0641\u064A",tl:"sa_loob",he:"in",zh:"\u5728"}}]},Od={action:"while",description:"Loop while condition is true",category:"control-flow",primaryRole:"condition",ast:{args:["condition"]},hasBody:true,roles:[{role:"condition",description:"The condition to check",required:true,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Rd={action:"continue",description:"Continue to next loop iteration",category:"control-flow",primaryRole:"patient",ast:{},roles:[],bareKeyword:true},ln={en:"url",es:"url",pt:"url",fr:"url",de:"url",it:"url",ja:"url",ko:"url",zh:"url",ar:"url",he:"url",hi:"url",bn:"url",tr:"url",ru:"url",uk:"url",pl:"url",id:"url",vi:"url",th:"url",ms:"url",tl:"url",sw:"url",qu:"url"},Ld=Object.fromEntries(Object.keys(ln).map(e=>[e,"in new"])),_d={action:"go",description:"Navigate to a URL, or scroll to an element",category:"navigation",primaryRole:"destination",roles:[{role:"destination",description:"The URL to navigate to, or the element to scroll to",required:true,expectedTypes:["literal",...Q],svoPosition:1,sovPosition:1,markerOverride:{en:"to",es:"a",ar:"\u0625\u0644\u0649",fr:"\xE0",de:"zu",pt:"para",he:"\u05D0\u05DC",hi:"\u092A\u0930",id:"ke",it:"a",ru:"\u043D\u0430",sw:"kwa",uk:"\u043D\u0430"},renderOverride:{en:"",zh:"",vi:"",th:""},markerOptional:{en:true,zh:true,vi:true,th:true},markerVariants:{zh:["\u628A"]},markerLegacy:{es:["en","sobre","hacia"],ar:["\u0639\u0644\u0649","\u0641\u064A","\u0628"],fr:["sur","dans"],de:["auf","in"],pt:["em","a"],he:["\u05E2\u05DC","\u05D1","\u05DC","\u05D0\u05EA"],hi:["\u092E\u0947\u0902"],id:["pada","di"],it:["in","su"],ru:["\u0432","\u043A"],sw:["kwenye"],uk:["\u0432","\u0434\u043E"]}},{role:"manner",description:"Open the URL in a new window (`in new window`)",required:false,expectedTypes:["reference","literal","expression"],valueShape:"keyword",svoPosition:2,sovPosition:2,markerOverride:Ld}],rolePrefixLiteralVariants:[{role:"destination",literal:ln,idSuffix:"url",priorityDelta:5,methodCarrier:"method"}]},Nd={action:"transition",description:"Transition an element with animation",category:"dom-visibility",primaryRole:"patient",ast:{args:["patient"],modifiers:{from:"source",to:"goal",over:"duration"}},omitRoleVariants:["goal"],roles:[{role:"patient",description:"The property to transition (opacity, *background-color, etc.)",required:true,expectedTypes:["literal","expression","selector","property-path"],svoPosition:1,sovPosition:2,markerOverride:{en:"",ar:"",tl:"",sw:""}},{role:"source",description:"The value to transition from (`from 0px to 100px`)",required:false,expectedTypes:["literal","expression"],svoPosition:1.5,sovPosition:2.5},{role:"goal",description:"The target value to transition to",required:true,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:3,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwa",bn:"\u09A4\u09C7",qu:"man",es:"a",pt:"para",fr:"\xE0",de:"zu",he:"\u05E2\u05DC",it:"in",ja:"\u306B",ko:"\uC5D0",ms:"ke",pl:"do",ru:"\u0432",th:"\u0E43\u0E19",tr:"e",uk:"\u0432",vi:"v\xE0o",zh:"\u5230",id:"ke"}},{role:"duration",description:"Transition duration (over 500ms, for 2 seconds)",required:false,expectedTypes:["literal"],svoPosition:4,sovPosition:4,markerOverride:{en:"over"}},{role:"style",description:"Easing function (ease-in, linear, etc.)",required:false,expectedTypes:["literal"],svoPosition:5,sovPosition:5,markerOverride:{en:"using"}}]},Id={action:"viewTransition",description:"Run the body inside a view transition",category:"dom-visibility",primaryRole:"style",hasBody:true,structuralOnly:true,roles:[{role:"style",description:'The transition type (`using "slide"`), passed as `types: [type]`',required:false,expectedTypes:$o,svoPosition:1,sovPosition:1,markerOverride:{en:"using"}}]},Md={action:"clone",description:"Clone an element",category:"dom-content",primaryRole:"patient",ast:{args:[["source","patient"]],modifiers:{into:"destination"}},roles:[{role:"patient",description:"The element to clone",required:true,expectedTypes:["selector","reference"],svoPosition:1,sovPosition:2},{role:"destination",description:"Where to put the clone",required:false,expectedTypes:["selector","reference"],svoPosition:2,sovPosition:1,markerOverride:{en:"into"}}]},$d={action:"focus",description:"Focus an element",category:"dom-content",primaryRole:"patient",ast:{args:[["destination","patient"]]},roles:[{role:"patient",description:"The element to focus (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},jd={action:"blur",description:"Remove focus from an element",category:"dom-content",primaryRole:"patient",ast:{args:[["destination","patient"]]},roles:[{role:"patient",description:"The element to blur (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},qd={action:"empty",description:"Remove all children from an element (sets innerHTML to empty)",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to empty (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Wd={action:"open",description:"Open a dialog, details element, or popover",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{as:"style"}},roles:[{role:"patient",description:"The element to open (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:2},{role:"style",description:"Open-mode variant (modal / non-modal) for <dialog>",required:false,expectedTypes:["literal","expression"],svoPosition:2,sovPosition:1,markerOverride:{en:"as",ja:"\u3068\u3057\u3066"}}]},Vd={action:"close",description:"Close a dialog, details element, or popover",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element to close (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Hd={action:"select",description:"Select the contents of a text field or DOM element",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The element whose contents to select (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Kd={action:"clear",description:"Clear a variable, local, or input element",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The variable or element to clear (defaults to me)",required:false,expectedTypes:["selector","reference","expression"],default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Ud={action:"reset",description:"Reset a <form> element to its default values",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The form element to reset (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:1,sovPosition:1}]},Gd={action:"breakpoint",description:"Drop into the debugger",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},Yd={action:"call",description:"Call a function",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The function to call",required:true,expectedTypes:["expression","reference"],markerOptional:{he:true,zh:true},svoPosition:1,sovPosition:1}]},Zd={action:"return",description:"Return a value from a function",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The value to return",required:false,expectedTypes:["literal","expression","reference","property-path"],svoPosition:1,sovPosition:1}]},Qd={action:"js",description:"Execute raw JavaScript code",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},hasBody:true,roles:[{role:"patient",description:"The JavaScript code to execute",required:false,expectedTypes:["expression"],svoPosition:1,sovPosition:1}]},Xd={action:"tell",description:"Execute commands in context of another element",category:"control-flow",primaryRole:"destination",ast:{args:[["destination","patient"]]},hasBody:true,roles:[{role:"destination",description:"The element to tell",required:true,expectedTypes:Q,svoPosition:1,sovPosition:1,markerOverride:{en:"",he:"\u05D0\u05EA",zh:"\u628A"}}]},Jd={action:"default",description:"Set a default value for a variable",category:"variable",primaryRole:"destination",ast:{args:["destination"],modifiers:{to:"patient"}},roles:[{role:"destination",description:"The variable to set default for",required:true,expectedTypes:["selector","reference","expression","property-path"],svoPosition:1,sovPosition:1,markerOverride:{en:"",ar:"",tl:"",sw:"",bn:"\u0995\u09C7",qu:"ta",ja:"\u3092",ko:"\uB97C",tr:"i",hi:"\u0915\u094B",de:"",es:"",fr:"",it:"",pt:"",pl:"",ru:"",uk:"",vi:"",id:"",ms:"",th:"",zh:"\u628A",he:"\u05D0\u05EA"}},{role:"patient",description:"The default value",required:true,expectedTypes:["literal","expression","property-path"],svoPosition:2,sovPosition:2,markerOverride:{en:"to",ar:"\u0625\u0644\u0649",tl:"sa",sw:"kwa",bn:"\u09A4\u09C7",qu:"man",ja:"\u306B",ko:"\uC5D0",tr:"e",hi:"\u092E\u0947\u0902",de:"zu",es:"a",fr:"\xE0",it:"in",pt:"para",pl:"do",ru:"\u0432",uk:"\u0432",vi:"v\xE0o",id:"ke",ms:"ke",th:"\u0E43\u0E19",zh:"\u5230",he:"\u05E2\u05DC"}}]},em={action:"init",description:"Initialization block that runs once",category:"control-flow",primaryRole:"patient",ast:{},hasBody:true,roles:[]},tm={action:"behavior",description:"Define a reusable behavior",category:"control-flow",primaryRole:"patient",ast:{args:["patient"]},hasBody:true,roles:[{role:"patient",description:"The behavior name (PascalCase identifier)",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1}]},rm={action:"install",description:"Install a behavior on an element",category:"control-flow",primaryRole:"patient",ast:{args:["patient"],modifiers:{on:"destination"}},roles:[{role:"patient",description:"The behavior name to install",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:2},{role:"destination",description:"Element to install on (defaults to me)",required:false,expectedTypes:["selector","reference"],default:{type:"reference",value:"me"},svoPosition:2,sovPosition:1}]},nm={action:"measure",description:"Measure element dimensions (x, y, width, height, etc.)",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{of:["destination","source"]}},roles:[{role:"patient",description:"Property to measure (x, y, width, \u2026), or the element itself",required:false,expectedTypes:["literal","expression","selector","reference"],svoPosition:1,sovPosition:1},{role:"source",description:"Element to measure (defaults to me)",required:false,expectedTypes:Q,default:{type:"reference",value:"me"},svoPosition:2,sovPosition:2,markerOverride:{en:"of"}}]},im={en:"using view",es:"using view",pt:"using view",fr:"using view",de:"using view",it:"using view",ja:"using view",ko:"using view",zh:"using view",ar:"using view",he:"using view",hi:"using view",bn:"using view",tr:"using view",ru:"using view",uk:"using view",pl:"using view",id:"using view",vi:"using view",th:"using view",ms:"using view",tl:"using view",sw:"using view",qu:"using view"},Ti={role:"manner",description:"Run the swap inside a `document.startViewTransition()` (`using view transition`)",required:false,expectedTypes:["literal","expression"],valueShape:"keyword",markerOverride:im},am={action:"swap",description:"Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",category:"dom-content",primaryRole:"destination",ast:{args:["method","destination","patient"],modifiers:{viewTransition:"manner"}},roles:[{role:"method",description:"The swap strategy (innerHTML, outerHTML, beforebegin, afterend, delete)",required:false,expectedTypes:["literal"],svoPosition:1,sovPosition:3,markerOverride:{en:""}},{role:"destination",description:"The element to swap content in/for",required:true,expectedTypes:[...Q,"property-path"],svoPosition:2,sovPosition:1,markerOverride:{en:"of",es:"",fr:"",pt:"",it:"",de:"",pl:"",ru:"",uk:"",id:"",ms:"",sw:"",th:"",vi:"",he:"\u05D0\u05EA",zh:"\u628A",tl:""}},{role:"patient",description:"The content to swap in (optional for delete)",required:false,expectedTypes:["literal","expression","selector","reference","property-path"],svoPosition:3,sovPosition:2,markerOverride:{en:"with",es:"con",fr:"avec",pt:"com",it:"con",de:"mit",pl:"z",ru:"\u0441",uk:"\u0437",id:"dengan",ms:"dengan",sw:"na",th:"\u0E14\u0E49\u0E27\u0E22",vi:"v\u1EDBi",he:"\u05E2\u05DD",zh:"\u7528",hi:"\u0938\u0947",bn:"\u09A6\u09BF\u09AF\u09BC\u09C7",tr:"ile",qu:"wan",ar:"\u0628\u0640",tl:"nang"}},{...Ti,svoPosition:4,sovPosition:4}]},um={action:"morph",description:"Morph an element into another using DOM diffing",category:"dom-content",primaryRole:"patient",ast:{args:[["source","destination"]],modifiers:{on:"patient",viewTransition:"manner"}},roles:[{role:"patient",description:"The element to morph",required:true,expectedTypes:Q,svoPosition:1,sovPosition:1,markerOverride:{en:""}},{role:"destination",description:"The target content/element to morph into",required:true,expectedTypes:["literal","expression","selector","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"to"}},{...Ti,svoPosition:3,sovPosition:3}]},om={action:"beep",description:"Debug output for expressions with type information",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The expression(s) to debug",required:false,expectedTypes:["literal","selector","reference","expression"],svoPosition:1,sovPosition:1}]},sm={action:"ask",description:"Prompt the user for a value (the reply is `it`)",category:"variable",primaryRole:"patient",ast:{args:["patient"]},roles:[{role:"patient",description:"The question",required:true,expectedTypes:["literal","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},lm={action:"answer",description:"Show a message, or ask a yes/no question with two choices",category:"variable",primaryRole:"patient",ast:{args:["patient"],modifiers:{with:"style"}},roles:[{role:"patient",description:"The message",required:true,expectedTypes:["literal","reference","expression","property-path"],svoPosition:1,sovPosition:1},{role:"style",description:'The two choices (`with "Yes" or "No"`)',required:false,expectedTypes:["expression","literal"],svoPosition:2,sovPosition:2}]},cm={action:"break",description:"Exit from the current loop",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},pm={action:"copy",description:"Copy text or element content to the clipboard",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The text or element to copy",required:true,expectedTypes:["literal","selector","reference","expression","property-path"],svoPosition:1,sovPosition:1}]},dm={action:"exit",description:"Exit from the current event handler",category:"control-flow",primaryRole:"patient",roles:[],bareKeyword:true},mm={action:"pick",description:"Select item(s), character(s), a range, first/last/random N, or regex matches from a root",category:"variable",primaryRole:"patient",roles:[{role:"patient",description:"The range/count/index/regex argument to pick",required:true,expectedTypes:["literal","expression","reference"],svoPosition:1,sovPosition:1},{role:"source",description:'The root to pick from (with "of"/"from" keyword)',required:false,expectedTypes:["reference","expression"],svoPosition:2,sovPosition:2}]},fm={action:"scroll",description:"Scroll the viewport to a target element, or by an amount",category:"navigation",primaryRole:"destination",requiredRoleVariants:[{role:"quantity",omit:["destination"],idSuffix:"by",priorityDelta:-10}],ast:{args:["destination"]},argSkipTokens:["of","the","top","bottom","middle","center","nearest","left","right","smoothly","instantly"],roles:[{role:"destination",description:"The element to scroll to",required:true,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:{en:"to"}},{role:"patient",description:"The element scrolled by an amount (`scroll #box down by 200px`); the window when absent",required:false,expectedTypes:["selector","reference"],variantOnly:true,svoPosition:.5,sovPosition:.5},{role:"quantity",description:"The amount (`by 200px`)",required:false,expectedTypes:["literal","expression","reference"],svoPosition:2,sovPosition:2,markerOverride:{en:"by",es:"por",pt:"por",fr:"par",de:"um"},variantOnly:true}]},ym={en:"partials in",es:"partials in",pt:"partials in",fr:"partials in",de:"partials in",it:"partials in",ja:"partials in",ko:"partials in",zh:"partials in",ar:"partials in",he:"partials in",hi:"partials in",bn:"partials in",tr:"partials in",ru:"partials in",uk:"partials in",pl:"partials in",id:"partials in",vi:"partials in",th:"partials in",ms:"partials in",tl:"partials in",sw:"partials in",qu:"partials in"},vm={action:"push",description:"Push a URL onto the browser history",category:"navigation",primaryRole:"patient",roles:[{role:"patient",description:"The URL to push (after the `url` keyword)",required:true,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:ln}]},hm={action:"replace",description:"Replace the current browser history entry with a URL",category:"navigation",primaryRole:"patient",roles:[{role:"patient",description:"The URL to replace with (after the `url` keyword)",required:true,expectedTypes:["literal","expression"],svoPosition:1,sovPosition:1,markerOverride:ln}]},Em={action:"process",description:"Process hx-partial markup in HTML content",category:"dom-content",primaryRole:"patient",ast:{args:["patient"],modifiers:{viewTransition:"manner"}},roles:[{role:"patient",description:"The HTML content (string, element, or response) to process",required:true,expectedTypes:["literal","reference","expression"],svoPosition:1,sovPosition:1,markerOverride:ym},{...Ti,svoPosition:2,sovPosition:2}]},gm={action:"render",description:"Render a template with optional variables",category:"dom-content",primaryRole:"patient",roles:[{role:"patient",description:"The template to render",required:true,expectedTypes:["selector","reference","expression"],svoPosition:1,sovPosition:2},{role:"style",description:"Variables to pass to the template (with keyword)",required:false,expectedTypes:["expression"],valueShape:"object",svoPosition:2,sovPosition:1}]},Ce={toggle:Xp,add:Jp,remove:ed,put:td,set:rd,show:cd,hide:pd,on:dd,trigger:md,wait:fd,fetch:yd,increment:vd,decrement:hd,append:Ed,prepend:gd,log:kd,get:wd,take:Cd,make:zd,halt:bd,settle:Ad,throw:xd,send:Dd,if:Bd,unless:Sd,else:Fd,repeat:Td,for:Pd,while:Od,continue:Rd,go:_d,scroll:fm,push:vm,replace:hm,process:Em,transition:Nd,viewTransition:Id,clone:Md,focus:$d,blur:jd,empty:qd,open:Wd,close:Vd,select:Hd,clear:Kd,reset:Ud,breakpoint:Gd,call:Yd,return:Zd,js:Qd,tell:Xd,default:Jd,init:em,behavior:tm,install:rm,measure:nm,swap:am,morph:um,beep:om,ask:sm,answer:lm,break:cm,copy:pm,exit:dm,pick:mm,render:gm,bind:nd,live:id,when:ad,eventsource:ud,socket:od,worker:sd,intercept:ld,compound:{action:"compound",description:"A compound node representing chained statements",primaryRole:"patient",category:"control-flow",hasBody:true,roles:[]}};function J(e){return Ce[e]}function km(){return Object.values(Ce).filter(e=>e.structuralOnly!==true&&(e.roles.length>0||e.bareKeyword===true))}typeof process<"u"&&process.env.LOKASCRIPT_SCHEMA_VALIDATION==="1"&&Promise.resolve().then(()=>(bc(),bo)).then(({validateAllSchemas:e,formatValidationResults:t})=>{let r=e(Ce);r.size>0&&(console.warn("[SCHEMA VALIDATION] Found issues in command schemas:"),console.warn(t(r)),console.warn(`
|
|
6
6
|
These warnings help identify potential schema design issues.`),console.warn("Fix them to improve type inference and avoid runtime bugs."));}).catch(e=>{console.debug("Schema validation skipped:",e);});var yr=new Set(["destination","source","patient","object","event","eventmarker","manner","instrument","style"]);function $t(e,t){let r,n;if(e.markerOverride&&e.markerOverride[t.code]!==void 0)r=e.markerOverride[t.code],n=r?We(e,t.code,r):void 0;else {let i=t.roleMarkers[e.role];if(i){r=i.primary;let a=We(e,t.code,r)??[],u=[...new Set([...i.alternatives??[],...a])].filter(o=>o!==r);n=u.length?u:void 0;}}return {marker:r,alternatives:n}}function vr(e,t,r){r.roles.find(i=>i.role==="scope"&&!i.required)&&(e.push({type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:["selector","reference"]}]}),t.scope={fromRole:"scope"});}function Pi(e,t,r,n){ts(e,t,r,n,"manner",{requireMarker:true});}function es(e,t,r,n){ts(e,t,r,n,"recipient",{requireMarker:false});}function ts(e,t,r,n,i,a){let u=r.roles.find(s=>s.role===i&&!s.required);if(!u)return;let o=u.markerOverride?.[n];a.requireMarker&&!o||(e.push({type:"group",optional:true,tokens:[...(o?o.split(/\s+/):[]).map(s=>({type:"literal",value:s})),{type:"role",role:i,optional:true,expectedTypes:u.expectedTypes,...u.valueShape!==void 0?{valueShape:u.valueShape}:{}}]}),t[i]={fromRole:i});}function rs(e){if(e.roles.some(n=>n.role==="patient"))return "patient";let t=e.roles.filter(n=>n.required),r=t.find(n=>n.role===e.primaryRole)??t[0];return !r||r.role==="event"?"patient":r.role}function ns(e,t,r){let n=e.roles.find(c=>c.role===r);if(!n||r==="patient")return [{type:"role",role:r,optional:false}];let{marker:i,alternatives:a}=$t(n,t),u={type:"role",role:r,optional:false,...n.valueShape!==void 0?{valueShape:n.valueShape}:{}};if(!i)return [u];let o=i.split(/\s+/).filter(Boolean),s={type:"group",optional:true,tokens:o.map(c=>({type:"literal",value:c,...o.length===1&&a?.length?{alternatives:a}:{}}))};return (t.roleMarkers[r]?.position??"before")==="after"?[u,s]:[s,u]}function is(e,t,r,n,i){for(let a of r.roles)a.required||i.has(a.role)||t[a.role]||!(a.markerOverride?.[n.code]??n.roleMarkers[a.role]?.primary)&&a.valueShape===void 0||(e.push({type:"group",optional:true,tokens:os(a,n)}),t[a.role]=a.default?{fromRole:a.role,default:a.default}:{fromRole:a.role});}function wm(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let f=n.primary.split(/\s+/);if(f.length>1)for(let d of f)a.push({type:"literal",value:d});else {let d=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(d);}}let u=rs(e),o=t.roleMarkers.destination,s=e.roles.some(f=>f.role==="destination");o&&s&&u!=="destination"&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"destination",optional:true},o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary}]});let l=t.roleMarkers.source,c=e.roles.some(f=>f.role==="source");l&&c&&u!=="source"&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"source",optional:true},l.alternatives?{type:"literal",value:l.primary,alternatives:l.alternatives}:{type:"literal",value:l.primary}]}),a.push(...ns(e,t,u));let p=t.roleMarkers.patient;if(p&&u==="patient"){let f=p.alternatives?{type:"literal",value:p.primary,alternatives:p.alternatives}:{type:"literal",value:p.primary};a.push(f);}let m=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(m),u!=="source"&&a.push(...At(e,t.roleMarkers.source)),u!=="destination"&&a.push(...Si(e,t.roleMarkers.destination));let y={action:{value:e.action},event:{fromRole:"event"},[u]:{fromRole:u},...u==="destination"?{}:zt(e),...u==="source"?{}:bt(e)};return is(a,y,e,t,new Set(["event",u,"destination","source"])),{id:`${e.action}-event-${t.code}-sov`,language:t.code,command:"on",priority:(i.basePriority??100)+50,template:{format:`{event} ${n.primary} {destination?} {${u}} ${p?.primary||""} ${r.primary}`,tokens:a},extraction:y}}function Cm(e,t,r,n,i){let a=[],u=e.action==="swap",o=u?"destination":"patient";a.push({type:"role",role:o,optional:false});let s=t.roleMarkers.patient;if(s){let m=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(m);}if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let m=n.primary.split(/\s+/);if(m.length>1)for(let y of m)a.push({type:"literal",value:y});else {let y=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(y);}}let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(l),a.push(...At(e,t.roleMarkers.source));let c=t.roleMarkers.destination;if(u&&c){let m=e.roles.find(y=>y.role==="patient")?.markerOverride?.[t.code];if(m&&m!==c.primary){let y=c.alternatives??[];y.includes(m)||(c={...c,alternatives:[...y,m]});}}a.push(...u?Qp(e,c):Si(e,c));let p={action:{value:e.action},event:{fromRole:"event"},[o]:{fromRole:o},...u?{}:zt(e),...bt(e)};return es(a,p,e,t.code),Pi(a,p,e,t.code),{id:`${e.action}-event-${t.code}-sov-patient-first`,language:t.code,command:"on",priority:(i.basePriority??100)+45,template:{format:`{patient} ${s?.primary||""} {event} ${n.primary} ${r.primary}`,tokens:a},extraction:p}}function zm(e,t,r,n,i){let a=e.roles.find(p=>p.role==="source");if(!a)return null;let{marker:u,alternatives:o}=$t(a,t),s=t.roleMarkers.patient;if(!u||u===n.primary||u===s?.primary)return null;let l=[];l.push({type:"role",role:"patient",optional:false}),s&&l.push(s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary}),l.push({type:"role",role:"source",optional:false,...a.expectedTypes?{expectedTypes:a.expectedTypes}:{},...a.valueShape!==void 0?{valueShape:a.valueShape}:{}});for(let p of u.split(/\s+/))l.push(o&&u.split(/\s+/).length===1?{type:"literal",value:p,alternatives:o}:{type:"literal",value:p});if(l.push({type:"role",role:"event",optional:false}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let m of p)l.push({type:"literal",value:m});else l.push(n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary});}l.push(r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary});let c={action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},source:{fromRole:"source"}};return es(l,c,e,t.code),Pi(l,c,e,t.code),{id:`${e.action}-event-${t.code}-sov-source-fronted`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{patient} ${s?.primary||""} {source} ${u} {event} ${n.primary} ${r.primary}`,tokens:l},extraction:c}}function bm(e,t,r,n,i){let a=[];a.push({type:"role",role:"patient",optional:false});let u=t.roleMarkers.patient;if(u){let l=u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary};a.push(l);}let o=t.roleMarkers.destination;if(o&&(a.push({type:"role",role:"destination",optional:false}),a.push(o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary})),a.push({type:"role",role:"event",optional:false}),n.position==="after"){let l=n.primary.split(/\s+/);if(l.length>1)for(let c of l)a.push({type:"literal",value:c});else {let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(c);}}let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(s),{id:`${e.action}-event-${t.code}-sov-patient-first-dest`,language:t.code,command:"on",priority:(i.basePriority??100)+40,template:{format:`{patient} ${u?.primary||""} {destination} ${o?.primary||""} {event} ${n.primary} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},destination:{fromRole:"destination"}}}}function Am(e,t,r,n,i){let a=[];a.push({type:"role",role:"event",optional:false});let u=n.alternatives?.filter(c=>!c.includes(" ")&&c.length>1)||[];u.length>0&&a.push({type:"literal",value:u[0],alternatives:u.slice(1)});let o=t.roleMarkers.destination;o&&a.push({type:"group",optional:true,tokens:[{type:"role",role:"destination",optional:true},o.alternatives?{type:"literal",value:o.primary,alternatives:o.alternatives}:{type:"literal",value:o.primary}]}),a.push({type:"role",role:"patient",optional:false});let s=t.roleMarkers.patient;if(s){let c=s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary};a.push(c);}let l=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(l),a.push(...At(e,t.roleMarkers.source)),a.push(...Si(e,t.roleMarkers.destination)),{id:`${e.action}-event-${t.code}-sov-compact`,language:t.code,command:"on",priority:(i.basePriority??100)+52,template:{format:`{event}${u[0]||""} {patient} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...zt(e),...bt(e)}}}function xm(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let o=n.primary.split(/\s+/);if(o.length>1)for(let s of o)a.push({type:"literal",value:s});else {let s=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(s);}}let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(u),{id:`${e.action}-event-${t.code}-sov-simple`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{event} ${n.primary} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{default:{type:"reference",value:"me"}}}}}function Dm(e,t,r,n){let i=t.eventHandler?.temporalMarkers;if(!i||i.length===0)return null;let a=[];a.push({type:"role",role:"event",optional:false}),t.possessive?.marker&&a.push({type:"group",optional:true,tokens:[{type:"literal",value:t.possessive.marker}]}),a.push({type:"literal",value:i[0],alternatives:i.slice(1)}),a.push({type:"role",role:"patient",optional:false});let u=t.roleMarkers.patient;if(u?.primary){let s=u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary};a.push(s);}let o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};return a.push(o),{id:`${e.action}-event-${t.code}-sov-temporal`,language:t.code,command:"on",priority:(n.basePriority??100)+49,template:{format:`{event} ${i[0]} {patient} ${r.primary}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"}}}}function Bm(e,t,r,n,i){let a=[];if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let p=n.primary.split(/\s+/);if(p.length>1)for(let m of p)a.push({type:"literal",value:m});else {let m=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(m);}}let o=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.sovPosition??999,f=m.sovPosition??999;return y-f});for(let p of o){a.push({type:"role",role:p.role,optional:false});let{marker:m,alternatives:y}=$t(p,t);if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}}let s=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(s);let l=o.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(o.map(p=>[p.role,{fromRole:p.role}]))};return vr(a,c,e),{id:`${e.action}-event-${t.code}-sov-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+55,template:{format:`{event} ${n.primary} ${l} ${r.primary}`,tokens:a},extraction:c}}function Sm(e,t,r,n,i){let a=[],o=[...e.roles.filter(c=>c.required)].sort((c,p)=>{let m=c.sovPosition??999,y=p.sovPosition??999;return m-y});for(let c of o){a.push({type:"role",role:c.role,optional:false});let{marker:p,alternatives:m}=$t(c,t);p&&a.push(m?{type:"literal",value:p,alternatives:m}:{type:"literal",value:p});}if(a.push(r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary}),a.push({type:"role",role:"event",optional:false}),n.position==="after"){let c=n.primary.split(/\s+/);if(c.length>1)for(let p of c)a.push({type:"literal",value:p});else a.push(n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary});}let s=o.map(c=>`{${c.role}}`).join(" "),l={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(o.map(c=>[c.role,{fromRole:c.role}]))};return vr(a,l,e),{id:`${e.action}-event-${t.code}-sov-2role-event-last`,language:t.code,command:"on",priority:(i.basePriority??100)+40,template:{format:`${s} ${r.primary} {event} ${n.primary}`,tokens:a},extraction:l}}function Fm(e,t,r,n,i){let a=[],o=[...e.roles.filter(v=>v.required)].sort((v,g)=>{let k=v.sovPosition??999,E=g.sovPosition??999;return k-E}),s=o[0];a.push({type:"role",role:s.role,optional:false});let{marker:l,alternatives:c}=$t(s,t);if(l){let v=c?{type:"literal",value:l,alternatives:c}:{type:"literal",value:l};a.push(v);}if(a.push({type:"role",role:"event",optional:false}),n.position==="after"){let v=n.primary.split(/\s+/);if(v.length>1)for(let g of v)a.push({type:"literal",value:g});else {let g=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(g);}}let p=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(p);let m=o[1];a.push({type:"role",role:m.role,optional:false});let{marker:y,alternatives:f}=$t(m,t);if(y){let v=f?{type:"literal",value:y,alternatives:f}:{type:"literal",value:y};a.push(v);}let d={action:{value:e.action},event:{fromRole:"event"},[s.role]:{fromRole:s.role},[m.role]:{fromRole:m.role}};return vr(a,d,e),{id:`${e.action}-event-${t.code}-sov-2role-dest-first`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`{${s.role}} {event} ${n.primary} ${r.primary} {${m.role}}`,tokens:a},extraction:d}}function as(e,t,r){let n=We(e,t.code,r.primary)??[],i=[...new Set([...r.alternatives??[],...n])].filter(a=>a!==r.primary);return i.length?i:void 0}function mu(e,t,r,n,i){let a=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(u);let o=rs(e);a.push(...ns(e,t,o));let s=t.roleMarkers.destination,l=e.roles.some(p=>p.role==="destination");s&&l&&o!=="destination"&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),o!=="source"&&a.push(...At(e,t.roleMarkers.source));let c={action:{value:e.action},event:{fromRole:"event"},[o]:{fromRole:o},...o==="destination"?{}:zt(e),...o==="source"?{}:bt(e)};return is(a,c,e,t,new Set(["event",o,"destination","source"])),{id:`${e.action}-event-${t.code}-vso`,language:t.code,command:"on",priority:(i.basePriority??100)+50,template:{format:`${n.primary} {event} ${r.primary} {${o}} ${s?.primary||""} {destination?}`,tokens:a},extraction:c}}function Tm(e,t,r,n,i){let a=[],u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(u);let o=e.action==="swap";a.push({type:"role",role:o?"destination":"patient",optional:false});let s=o?void 0:t.roleMarkers.destination;if(s&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),a.push(...At(e,t.roleMarkers.source)),n.position==="before"){let c=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(c);}if(a.push({type:"role",role:"event",optional:false}),o){let c=e.roles.find(p=>p.role==="patient")?.markerOverride?.[t.code];c&&a.push({type:"group",optional:true,tokens:[{type:"literal",value:c},{type:"role",role:"patient",optional:false}]});}let l={action:{value:e.action},event:{fromRole:"event"},[o?"destination":"patient"]:{fromRole:o?"destination":"patient"},...o?{}:zt(e),...bt(e)};return Pi(a,l,e,t.code),{id:`${e.action}-event-${t.code}-vso-verb-first`,language:t.code,command:"on",priority:(i.basePriority??100)+45,template:{format:`${r.primary} {patient} ${s?.primary||""} {destination?} ${n.primary} {event}`,tokens:a},extraction:l}}function Pm(e,t,r,n,i){let a=[],u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(u);let s=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.svoPosition??999,f=m.svoPosition??999;return y-f});for(let p of s){let m,y;if(p.markerOverride&&p.markerOverride[t.code]!==void 0)m=p.markerOverride[t.code],y=m?We(p,t.code,m):void 0;else {let f=t.roleMarkers[p.role];f&&(m=f.primary,y=as(p,t,f));}if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}a.push({type:"role",role:p.role,optional:false});}if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let l=s.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(s.map(p=>[p.role,{fromRole:p.role}]))};return vr(a,c,e),{id:`${e.action}-event-${t.code}-vso-verb-first-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`${r.primary} ${l} ${n.primary} {event}`,tokens:a},extraction:c}}function fu(e,t,r,n,i){let a=[];if(n.position==="before"){let p=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(p);}a.push({type:"role",role:"event",optional:false});let u=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(u);let s=[...e.roles.filter(p=>p.required)].sort((p,m)=>{let y=p.svoPosition??999,f=m.svoPosition??999;return y-f});for(let p of s){let m,y;if(p.markerOverride&&p.markerOverride[t.code]!==void 0)m=p.markerOverride[t.code],y=m?We(p,t.code,m):void 0;else {let f=t.roleMarkers[p.role];f&&(m=f.primary,y=as(p,t,f));}if(m){let f=y?{type:"literal",value:m,alternatives:y}:{type:"literal",value:m};a.push(f);}a.push({type:"role",role:p.role,optional:false});}let l=s.map(p=>`{${p.role}}`).join(" "),c={action:{value:e.action},event:{fromRole:"event"},...Object.fromEntries(s.map(p=>[p.role,{fromRole:p.role}]))};return vr(a,c,e),{id:`${e.action}-event-${t.code}-vso-2role`,language:t.code,command:"on",priority:(i.basePriority??100)+55,template:{format:`${n.primary} {event} ${r.primary} ${l}`,tokens:a},extraction:c}}function Om(e,t,r,n,i){let a=[],u=t.eventHandler?.negationMarker;if(n.position==="before"){let l=n.alternatives?{type:"literal",value:n.primary,alternatives:n.alternatives}:{type:"literal",value:n.primary};a.push(l);}if(u){let l=u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary};a.push(l);}a.push({type:"role",role:"event",optional:false});let o=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};a.push(o),a.push({type:"role",role:"patient",optional:false});let s=t.roleMarkers.destination;return s&&a.push({type:"group",optional:true,tokens:[s.alternatives?{type:"literal",value:s.primary,alternatives:s.alternatives}:{type:"literal",value:s.primary},{type:"role",role:"destination",optional:true}]}),a.push(...At(e,t.roleMarkers.source)),{id:`${e.action}-event-${t.code}-vso-negated`,language:t.code,command:"on",priority:(i.basePriority??100)+48,template:{format:`${n.primary} ${u?.primary||""} {event} ${r.primary} {patient} ${s?.primary||""} {destination?}`,tokens:a},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...zt(e),...bt(e)}}}function Rm(e,t,r,n){let i=[];i.push({type:"literal",value:"and",alternatives:["then"]}),i.push({type:"role",role:"event",optional:false});let a=r.alternatives?{type:"literal",value:r.primary,alternatives:r.alternatives}:{type:"literal",value:r.primary};i.push(a),i.push({type:"role",role:"patient",optional:false});let u=t.roleMarkers.destination;return u&&i.push({type:"group",optional:true,tokens:[u.alternatives?{type:"literal",value:u.primary,alternatives:u.alternatives}:{type:"literal",value:u.primary},{type:"role",role:"destination",optional:true}]}),i.push(...At(e,t.roleMarkers.source)),{id:`${e.action}-event-${t.code}-vso-proclitic`,language:t.code,command:"on",priority:(n.basePriority??100)+45,template:{format:`[proclitic?] {event} ${r.primary} {patient} ${u?.primary||""} {destination?}`,tokens:i},extraction:{action:{value:e.action},event:{fromRole:"event"},patient:{fromRole:"patient"},...zt(e),...bt(e)}}}var Oi={basePriority:100,generateSimpleVariants:true,generateAlternatives:true},us=za({positionOrder:"ascending"});function Lm(e,t,r=Oi){return us.generatePatternVariants(e,t,r)}function os(e,t){return us.buildRoleToken(e,t)}function Ri(e,t=Oi){let r=[],n=km();for(let i of n){if(!e.keywords[i.action])continue;let a=Lm(i,e,t);if(r.push(...a),e.eventHandler?.eventMarker){let u=_m(Tn(i),e,t);r.push(...u);}}return r}function _m(e,t,r=Oi){if(!t.eventHandler||!t.eventHandler.eventMarker)return [];let n=[],i=t.eventHandler.eventMarker,a=t.keywords[e.action];if(!a)return [];if(e.roles.length===0)return [];if(e.action==="js")return [];let o=e.roles.filter(s=>s.required).length===2;if(t.wordOrder==="SOV")if(o)n.push(Bm(e,t,a,i,r)),n.push(Fm(e,t,a,i,r)),n.push(Sm(e,t,a,i,r));else {n.push(wm(e,t,a,i,r)),n.push(Cm(e,t,a,i,r));let s=zm(e,t,a,i,r);s&&n.push(s);let l=t.roleMarkers.destination;l&&l.primary!==i.primary&&n.push(bm(e,t,a,i,r));let c=i.primary.split(/\s+/),p=i.alternatives?.some(y=>!y.includes(" ")&&y.length>1);c.length>1&&p&&n.push(Am(e,t,a,i,r)),n.push(xm(e,t,a,i,r));let m=Dm(e,t,a,r);m&&n.push(m);}else t.wordOrder==="VSO"?o?(n.push(fu(e,t,a,i,r)),n.push(Pm(e,t,a,i,r))):(n.push(mu(e,t,a,i,r)),n.push(Tm(e,t,a,i,r)),t.eventHandler?.negationMarker&&n.push(Om(e,t,a,i,r)),t.tokenization?.prefixes&&n.push(Rm(e,t,a,r))):o?n.push(fu(e,t,a,i,r)):n.push(mu(e,t,a,i,r));return t.eventHandler.headOutranksFused?n.map(s=>({...s,priority:s.priority-75})):n}function Nm(e,t,r){let n=J(e)?.roles.find(u=>u.role==="condition"),i=T(t);if(!n||!i||i.wordOrder==="SOV")return r;let a={type:"group",optional:true,tokens:os(n,i)};return r.map(u=>({...u,template:{...u.template,tokens:[...u.template.tokens,a]}}))}var hr={ar:{back:"\u062E\u0644\u0641\u0627",elsewhere:"\u0627\u0644\u062E\u0627\u0631\u062C",index:"\u0645\u0624\u0634\u0631",start:"\u0627\u0628\u062F\u0623",catch:"\u0627\u0644\u062A\u0642\u0637",finally:"\u0623\u062E\u064A\u0631\u0627",def:"\u062F\u0627\u0644\u0629",up:"\u0623\u0639\u0644\u0649",down:"\u0623\u0633\u0641\u0644",left:"\u064A\u0633\u0627\u0631",right:"\u064A\u0645\u064A\u0646"},bn:{back:"\u09AA\u09BF\u099B\u09A8\u09C7",elsewhere:"\u09AC\u09BE\u0987\u09B0\u09C7",index:"\u09B8\u09C2\u099A\u0995",start:"\u0986\u09B0\u09AE\u09CD\u09AD",catch:"\u09A7\u09B0\u09C1\u09A8",finally:"\u0985\u09AC\u09B6\u09C7\u09B7\u09C7",def:"\u09AB\u09BE\u0982\u09B6\u09A8",up:"\u0989\u09AA\u09B0\u09C7",down:"\u09A8\u09BF\u099A\u09C7",left:"\u09AC\u09BE\u09AE\u09C7",right:"\u09A1\u09BE\u09A8\u09C7"},de:{back:"zur\xFCck",elsewhere:"au\xDFerhalb",index:"index",start:"starte",catch:"fangen",finally:"schlie\xDFlich",def:"funktion",up:"hoch",down:"runter",left:"links",right:"rechts"},es:{back:"atr\xE1s",elsewhere:"afuera",index:"\xEDndice",start:"comenzar",catch:"atrapar",finally:"finalmente",def:"funci\xF3n",up:"arriba",down:"abajo",left:"izquierda",right:"derecha"},fr:{back:"arri\xE8re",elsewhere:"ailleurs",index:"indice",start:"d\xE9marrer",catch:"attraper",finally:"finalement",def:"fonction",up:"haut",down:"bas",left:"gauche",right:"droite"},he:{back:"\u05D0\u05D7\u05D5\u05E8\u05D4",elsewhere:"\u05D7\u05D5\u05E5",index:"\u05D0\u05D9\u05E0\u05D3\u05E7\u05E1",start:"\u05D9\u05D6\u05D5\u05DD",catch:"\u05EA\u05E4\u05D5\u05E1",finally:"\u05E1\u05D5\u05E4\u05D9\u05EA",def:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",up:"\u05DC\u05DE\u05E2\u05DC\u05D4",down:"\u05DC\u05DE\u05D8\u05D4",left:"\u05E9\u05DE\u05D0\u05DC\u05D4",right:"\u05D9\u05DE\u05D9\u05E0\u05D4"},hi:{back:"\u092A\u0940\u091B\u0947",elsewhere:"\u0905\u0928\u094D\u092F\u0924\u094D\u0930",index:"\u0938\u0942\u091A\u0915\u093E\u0902\u0915",start:"\u0936\u0941\u0930\u0942",catch:"\u092A\u0915\u0921\u093C\u0947\u0902",finally:"\u0905\u0902\u0924\u0924\u0903",def:"\u092B\u093C\u0902\u0915\u094D\u0936\u0928",up:"\u090A\u092A\u0930",down:"\u0928\u0940\u091A\u0947",left:"\u092C\u093E\u090F\u0902",right:"\u0926\u093E\u090F\u0902"},id:{back:"mundur",elsewhere:"luaran",index:"indeks",start:"memulai",catch:"menangkap",finally:"akhirnya",def:"fungsi",up:"atas",down:"bawah",left:"kiri",right:"kanan"},it:{back:"indietro",elsewhere:"altrove",index:"indice",start:"avvia",catch:"catturare",finally:"infine",def:"funzione",up:"sopra",down:"sotto",left:"sinistra",right:"destra"},ja:{back:"\u30D0\u30C3\u30AF",elsewhere:"\u5916\u5074",index:"\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9",start:"\u958B\u59CB",catch:"\u6355\u307E\u3048\u308B",finally:"\u6700\u7D42\u7684\u306B",def:"\u95A2\u6570",up:"\u4E0A",down:"\u4E0B",left:"\u5DE6",right:"\u53F3"},ko:{back:"\uB4A4\uB85C",elsewhere:"\uBC14\uAE65",index:"\uC778\uB371\uC2A4",start:"\uC2DC\uC791",catch:"\uC7A1\uB2E4",finally:"\uACB0\uAD6D",def:"\uD568\uC218",up:"\uC704\uCABD",down:"\uC544\uB798\uCABD",left:"\uC67C\uCABD",right:"\uC624\uB978\uCABD"},ms:{back:"undur",elsewhere:"luar",index:"indeks",start:"memulakan",catch:"tangkap",finally:"akhirnya",def:"fungsi",up:"atas",down:"bawah",left:"kiri",right:"kanan"},pl:{back:"wstecz",elsewhere:"zewn\u0105trz",index:"indeks",start:"rozpocznij",catch:"z\u0142ap",finally:"ostatecznie",def:"funkcja",up:"w g\xF3r\u0119",down:"w d\xF3\u0142",left:"w lewo",right:"w prawo"},pt:{back:"atr\xE1s",elsewhere:"exterior",index:"\xEDndice",start:"come\xE7ar",catch:"capturar",finally:"finalmente",def:"fun\xE7\xE3o",up:"acima",down:"abaixo",left:"esquerda",right:"direita"},qu:{back:"kutiy",elsewhere:"hawa",index:"yupay",start:"qallay",catch:"hapsiy",finally:"qhipamanqa",def:"rurana",up:"hanaq",down:"uray",left:"lluqi",right:"pa\xF1a"},ru:{back:"\u043D\u0430\u0437\u0430\u0434",elsewhere:"\u0441\u043D\u0430\u0440\u0443\u0436\u0438",index:"\u0438\u043D\u0434\u0435\u043A\u0441",start:"\u043D\u0430\u0447\u0430\u0442\u044C",catch:"\u043F\u043E\u0439\u043C\u0430\u0442\u044C",finally:"\u043D\u0430\u043A\u043E\u043D\u0435\u0446",def:"\u0444\u0443\u043D\u043A\u0446\u0438\u044F",up:"\u0432\u0432\u0435\u0440\u0445",down:"\u0432\u043D\u0438\u0437",left:"\u0432\u043B\u0435\u0432\u043E",right:"\u0432\u043F\u0440\u0430\u0432\u043E"},sw:{back:"kurudi",elsewhere:"kwingineko",index:"faharasa",start:"zindua",catch:"shika",finally:"mwishowe",def:"kitendakazi",up:"kupanda",down:"kushuka",left:"kushoto",right:"kulia"},th:{back:"\u0E22\u0E49\u0E2D\u0E19",elsewhere:"\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01",index:"\u0E14\u0E31\u0E0A\u0E19\u0E35",start:"\u0E40\u0E23\u0E34\u0E48\u0E21",catch:"\u0E08\u0E31\u0E1A",finally:"\u0E17\u0E49\u0E32\u0E22\u0E17\u0E35\u0E48\u0E2A\u0E38\u0E14",def:"\u0E1F\u0E31\u0E07\u0E01\u0E4C\u0E0A\u0E31\u0E19",up:"\u0E02\u0E36\u0E49\u0E19",down:"\u0E25\u0E07",left:"\u0E0B\u0E49\u0E32\u0E22",right:"\u0E02\u0E27\u0E32"},tl:{back:"pabalik",elsewhere:"labas",index:"indeks",start:"umpisahan",catch:"saluhin",finally:"panghuli",def:"punsiyon",up:"pataas",down:"pababa",left:"pakaliwa",right:"pakanan"},tr:{back:"geri",elsewhere:"d\u0131\u015Far\u0131",index:"indeks",start:"ba\u015Fla",catch:"yakalarsa",finally:"sonunda",def:"fonksiyon",up:"yukar\u0131",down:"a\u015Fa\u011F\u0131",left:"sola",right:"sa\u011Fa"},uk:{back:"\u043D\u0430\u0437\u0430\u0434",elsewhere:"\u0437\u0437\u043E\u0432\u043D\u0456",index:"\u0456\u043D\u0434\u0435\u043A\u0441",start:"\u043F\u043E\u0447\u0430\u0442\u0438",catch:"\u0437\u043B\u043E\u0432\u0438\u0442\u0438",finally:"\u043D\u0430\u0440\u0435\u0448\u0442\u0456",def:"\u0444\u0443\u043D\u043A\u0446\u0456\u044F",up:"\u0432\u0433\u043E\u0440\u0443",down:"\u0432\u043D\u0438\u0437",left:"\u0432\u043B\u0456\u0432\u043E",right:"\u0432\u043F\u0440\u0430\u0432\u043E"},vi:{back:"l\xF9i",elsewhere:"ngo\xE0i",index:"ch\u1EC9 s\u1ED1",start:"b\u1EAFt \u0111\u1EA7u",catch:"b\u1EAFt",finally:"r\u1ED1t cu\u1ED9c",def:"h\xE0m",up:"l\xEAn",down:"xu\u1ED1ng",left:"tr\xE1i",right:"ph\u1EA3i"},zh:{back:"\u540E\u9000",elsewhere:"\u5916\u90E8",index:"\u7D22\u5F15",start:"\u5F00\u59CB",catch:"\u6355\u83B7",finally:"\u6700\u7EC8",def:"\u51FD\u6570",up:"\u5411\u4E0A",down:"\u5411\u4E0B",left:"\u5411\u5DE6",right:"\u5411\u53F3"}};function Se(e,t){return hr[e]?.[t]??t}function ss(e,t,r){let n=hr[e]?.[t],i=[[t]];return n&&n!==t&&i.push(r(n).map(a=>a.toLowerCase())),i}var Im={ar:"\u0641\u064A",bn:"\u098F",de:"in",es:"en",fr:"en",he:"\u05D1\u05EA\u05D5\u05DA",hi:"\u092E\u0947\u0902",id:"dalam",it:"in",ja:"\u306E\u4E2D",ko:"\uC548\uC5D0",ms:"dalam",pl:"w",pt:"dentro",qu:"ukupi",ru:"\u0432",sw:"ndani",th:"\u0E43\u0E19",tl:"sa_loob",tr:"i\xE7inde",uk:"\u0443",vi:"trong",zh:"\u5728"};function Mm(e){return Im[e]??"in"}var $m={ar:"\u0643\u0640",bn:"\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7",de:"als",es:"como",fr:"comme",he:"\u05DB",hi:"\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902",id:"sebagai",it:"come",ja:"\u3068\u3057\u3066",ko:"\uB85C",ms:"sebagai",pl:"jako",pt:"como",qu:"hina",ru:"\u043A\u0430\u043A",sw:"kuwa",th:"\u0E40\u0E1B\u0E47\u0E19",tl:"bilang",tr:"olarak",uk:"\u044F\u043A",vi:"nh\u01B0",zh:"\u4F5C\u4E3A"};function jm(e){return $m[e]??"as"}var qm={id:"fetch-en-with-response-type",language:"en",command:"fetch",priority:90,template:{format:"fetch {source} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:rn},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},responseType:{marker:"as"}}},Wm={id:"fetch-en-with-options-as",language:"en",command:"fetch",priority:95,template:{format:"fetch {source} with {style} as {responseType}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:rn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:zi},{type:"literal",value:"as"},{type:"role",role:"responseType",expectedTypes:Ci}]},extraction:{source:{position:1},style:{marker:"with"},responseType:{marker:"as"}}},Vm={id:"fetch-en-with-options",language:"en",command:"fetch",priority:93,template:{format:"fetch {source} with {style}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source",expectedTypes:rn},{type:"literal",value:"with",alternatives:["by","using"]},{type:"role",role:"style",expectedTypes:zi}]},extraction:{source:{position:1},style:{marker:"with"}}},Hm={id:"fetch-en-simple",language:"en",command:"fetch",priority:80,template:{format:"fetch {source}",tokens:[{type:"literal",value:"fetch"},{type:"role",role:"source"}]},extraction:{source:{position:1}}},Km=[Wm,Vm,qm,Hm],cn={type:"group",optional:true,tokens:[{type:"literal",value:"using"},{type:"literal",value:"view"},{type:"role",role:"manner",optional:true,expectedTypes:["literal","expression"],valueShape:"keyword"}]},Um={id:"swap-en-handcrafted",language:"en",command:"swap",priority:110,template:{format:"swap {method} {destination} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"},cn]},extraction:{method:{position:1},destination:{position:2}}},Gm={id:"swap-en-element",language:"en",command:"swap",priority:120,template:{format:"swap {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},cn]},extraction:{}},Ym={id:"swap-en-strategy-of",language:"en",command:"swap",priority:140,template:{format:"swap {method} of {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"literal",value:"of"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},cn]},extraction:{}},Zm={id:"swap-en-strategy",language:"en",command:"swap",priority:130,template:{format:"swap {method} {destination} with {patient} [using view {manner}]",tokens:[{type:"literal",value:"swap"},{type:"role",role:"method"},{type:"role",role:"destination"},{type:"literal",value:"with"},{type:"role",role:"patient"},cn]},extraction:{}},Qm=[Ym,Zm,Gm,Um],Xm={id:"repeat-en-until-event-from",language:"en",command:"repeat",priority:120,template:{format:"repeat until event {event} from {source}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]},{type:"literal",value:"from"},{type:"role",role:"source",expectedTypes:["selector","reference","expression"]}]},extraction:{event:{marker:"event"},source:{marker:"from"},loopType:{default:{type:"literal",value:"until-event"}}}},Jm={id:"repeat-en-until-event",language:"en",command:"repeat",priority:110,template:{format:"repeat until event {event}",tokens:[{type:"literal",value:"repeat"},{type:"literal",value:"until"},{type:"literal",value:"event"},{type:"role",role:"event",expectedTypes:["literal","expression"]}]},extraction:{event:{marker:"event"},loopType:{default:{type:"literal",value:"until-event"}}}},e4=[Xm,Jm],t4=[...wi],r4={id:"set-en-possessive",language:"en",command:"set",priority:100,template:{format:"set {destination} to {patient} [on {scope}]",tokens:[{type:"literal",value:"set"},{type:"role",role:"destination",expectedTypes:["property-path","selector","reference","expression"]},{type:"literal",value:"to"},{type:"role",role:"patient",expectedTypes:t4},{type:"group",optional:true,tokens:[{type:"literal",value:"on"},{type:"role",role:"scope",optional:true,expectedTypes:["selector","reference"]}]}]},extraction:{destination:{position:1},patient:{marker:"to"},scope:{marker:"on"}}},n4=[r4],i4={id:"for-en-basic",language:"en",command:"for",priority:100,template:{format:"for {patient} in {source}",tokens:[{type:"literal",value:"for"},{type:"role",role:"patient",expectedTypes:["expression","reference"]},{type:"literal",value:"in"},{type:"role",role:"source",expectedTypes:["selector","expression","reference"]}]},extraction:{patient:{position:1},source:{marker:"in"}}},a4={id:"if-en-basic",language:"en",command:"if",priority:100,template:{format:"if {condition}",tokens:[{type:"literal",value:"if"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},u4={id:"unless-en-basic",language:"en",command:"unless",priority:100,template:{format:"unless {condition}",tokens:[{type:"literal",value:"unless"},{type:"role",role:"condition",expectedTypes:["expression","reference","selector"]}]},extraction:{condition:{position:1}}},o4=[i4,a4,u4],s4={id:"temporal-en-in",language:"en",command:"wait",priority:95,template:{format:"in {duration}",tokens:[{type:"literal",value:"in"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},l4={id:"temporal-en-after",language:"en",command:"wait",priority:95,template:{format:"after {duration}",tokens:[{type:"literal",value:"after"},{type:"role",role:"duration",expectedTypes:["literal","expression"]}]},extraction:{duration:{position:1}}},c4=[s4,l4],p4=[...Km,...Qm,...e4,...n4,...o4,...c4];function d4(){return p4}function m4(e){let t=T(e);return t?e==="en"?du(e):du(e,{words:Se(e,"start").split(" "),verbFinal:t.wordOrder==="SOV"}):[]}function f4(e){let t=T(e),r=t?.keywords?.go,n=Tc(e);return e==="en"||!r||!n?[]:Zp(e,{go:r.primary,goAlternatives:r.alternatives??[],back:n.tokenize(Se(e,"back")).tokens.map(i=>i.value),verbFinal:t.wordOrder==="SOV"})}var Lr=(e,t)=>r=>Nm(e,r,t(r)),y4=[qc,Wc,Qc,rp,Lr("add",ip),Lr("remove",ap),Lr("show",up),Lr("hide",op),lp,cp,pp,dp,fp,yp,Bi,Np,Ip,Mp,$p,Yp,m4,f4,np],yu=new Map;function v4(e){let t=yu.get(e);if(t)return t;let r=T(e);if(!r)return [];let n=Ri(r);return yu.set(e,n),n}function h4(e){let t=y4.flatMap(r=>r(e));return e==="en"&&t.push(...d4()),t.push(...v4(e)),t.map(g4)}var E4=new Set(["on.source"]);function g4(e){let t=J(e.command);if(!t)return e;let r;for(let n of t.roles){if(n.required||!n.default||E4.has(`${e.command}.${n.role}`))continue;let i=e.extraction?.[n.role];i?.default!==void 0||i?.value!==void 0||(r??(r={...e.extraction}),r[n.role]={...i,default:n.default});}return r?{...e,extraction:r}:e}function k4(e){return h4(e.code)}Bc(k4);var Li=["is not really equal to","is really equal to","is greater than or equal to","is less than or equal to","is not equal to","is equal to","is greater than","is less than","is not really","is really","is not equal","is equal","is not in","is in","is not","is","am not in","am in","am","does not match","do not match","does not contain","does not contains","do not contain","does not include","does not precede","does not follow","precedes","follows","really equals","equals","matches","match","contains","contain","includes","include","has","have","in"],_i=["is not empty","is empty","does not exist"],Ni=["is not an","is not a","is an","is a"],w4=new Set(["me","my","myself","you","your","yourself","it","its","result","event","target","body","detail","window","document"]),C4=new Set(["and","or","not","no"]),z4=new Set(["true","false","null","undefined"]),b4=new Set(Li.map(e=>e.slice(e.lastIndexOf(" ")+1))),A4=new Set(["next","previous","closest","first","last"]),x4=new Set(["ms","s","seconds","second","milliseconds","millisecond","minutes","minute","hours","hour"]);function ls(e){let t=[],r=0,n=1,i=1;function a(){if(t.length===0)return true;let f=t[t.length-1];return f.type==="IDENTIFIER"&&b4.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&A4.has(f.value.toLowerCase())||f.type==="IDENTIFIER"&&f.value.toLowerCase()==="of"?true:["OPERATOR","COMPARISON","LOGICAL","LPAREN","LBRACKET","LBRACE","COMMA","COLON"].includes(f.type)}function u(f=0){return e[r+f]??""}function o(){let f=e[r];return r++,f===`
|
|
7
|
-
`?(n++,i=1):i++,f}function s(){for(;r<e.length&&/\s/.test(e[r]);)o();}function l(f){let d="";for(;r<e.length&&f(e[r]);)d+=o();return d}function c(f){let d=f;for(o();r<e.length&&e[r]!==f;)e[r]==="\\"&&r+1<e.length&&(d+=o()),d+=o();return r<e.length&&(d+=o()),d}function p(){let f="`";for(o();r<e.length&&e[r]!=="`";)e[r]==="\\"&&r+1<e.length&&(f+=o()),f+=o();return r<e.length&&(f+=o()),f}function m(){let f="<";for(o();r<e.length&&(f+=o(),!f.endsWith("/>")););return f}function y(f,d,v){return {type:f,value:d,start:v,end:r,line:n,column:i-d.length}}for(;r<e.length&&(s(),!(r>=e.length));){let f=r,d=u();if(d==="'"&&u(1)==="s"&&!/\w/.test(u(2))){o(),o(),t.push(y("POSSESSIVE","'s",f));continue}if(d==='"'||d==="'"){let g=c(d);t.push(y("STRING",g,f));continue}if(d==="`"){let g=p();t.push(y("TEMPLATE_LITERAL",g,f));continue}if(d==="<"&&/[a-zA-Z.#\[]/.test(u(1))){let g=m();t.push(y("QUERY_SELECTOR",g,f));continue}if(d==="#"&&a()){o();let g=l(k=>/[\w-]/.test(k));t.push(y("ID_SELECTOR","#"+g,f));continue}if(d==="."&&/[a-zA-Z_-]/.test(u(1))&&a()){o();let g=l(k=>/[\w-]/.test(k));t.push(y("CLASS_SELECTOR","."+g,f));continue}if(d==="@"&&/[a-zA-Z_]/.test(u(1))){o();let g=l(k=>/[\w-]/.test(k));t.push(y("ATTRIBUTE_REF","@"+g,f));continue}if(d==="["&&a()&&u(1)==="@"){let k="";for(k+=o();r<e.length&&e[r]!=="]";)e[r]==='"'||e[r]==="'"?k+=c(e[r]):k+=o();r<e.length&&(k+=o()),t.push(y("ATTRIBUTE_SELECTOR",k,f));continue}if(d==="["){o(),t.push(y("LBRACKET","[",f));continue}if(d==="]"){o(),t.push(y("RBRACKET","]",f));continue}if(/\d/.test(d)){let g=l(b=>/[\d.]/.test(b)),k=r,E=l(b=>/[a-zA-Z]/.test(b));x4.has(E)?t.push(y("TIME_EXPRESSION",g+E,f)):Xr.has(E)||!E&&e[r]==="%"?(E||o(),t.push(y("STRING",`"${g}${E||"%"}"`,f))):(r=k,t.push(y("NUMBER",g,f)));continue}if(d==="("){o(),t.push(y("LPAREN","(",f));continue}if(d===")"){o(),t.push(y("RPAREN",")",f));continue}if(d==="{"){o(),t.push(y("LBRACE","{",f));continue}if(d==="}"){o(),t.push(y("RBRACE","}",f));continue}if(d===","){o(),t.push(y("COMMA",",",f));continue}let v=t[t.length-1]?.type;if(d===":"&&/[a-zA-Z_]/.test(e[r+1]??"")&&(v===void 0||/\s/.test(e[r-1]??"")||v==="OPERATOR"||v==="COMPARISON"||v==="LPAREN"||v==="LBRACKET"||v==="COMMA")){o();let g=l(k=>/[\w$]/.test(k));t.push(y("IDENTIFIER",`:${g}`,f));continue}if(d===":"){o(),t.push(y("COLON",":",f));continue}if(d==="."){o(),t.push(y("DOT",".",f));continue}if(d==="|"){o(),t.push(y("PIPE","|",f));continue}if(d==="+"||d==="-"||d==="*"||d==="/"||d==="%"){o(),t.push(y("OPERATOR",d,f));continue}if(d==="="||d==="!"||d==="<"||d===">"){let g=o();u()==="="&&(g+=o()),(g==="=="||g==="!=")&&u()==="="&&(g+=o()),t.push(y("COMPARISON",g,f));continue}if(/[a-zA-Z_$]/.test(d)){let g=l(E=>/[\w$]/.test(E)),k=g.toLowerCase();w4.has(k)?t.push(y("CONTEXT_VAR",g,f)):C4.has(k)?t.push(y("LOGICAL",g,f)):z4.has(k)?t.push(y("BOOLEAN",g,f)):t.push(y("IDENTIFIER",g,f));continue}o();}return t.push(y("EOF","",r)),t}var D4=new Set(["my","its","your"]),B4={my:"me",its:"it",your:"you"},S4=new Set(["is","matches","match","contains","in","exists","does"]),F4=new Set(["next","previous","closest","first","last"]),T4=[..._i,...Ni,...Li].map(e=>[e,e.split(" ")]),P4=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=ls(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return {success:false,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}peekAt(e){return this.tokens[this.current+e]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}isAtEndAt(e){return this.peekAt(e).type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),true;return false}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,r=this.parseAnd();e=this.createBinaryExpression(t,e,r);}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,r=this.parseEquality();e=this.createBinaryExpression(t,e,r);}return e}parseEquality(){let e=this.parseComparison();for(;;){if(this.match("COMPARISON")){let r=this.previous().value;e=this.createBinaryExpression(r,e,this.parseComparison());continue}let t=this.matchComparisonPhrase();if(t===void 0)break;if(_i.includes(t))e=this.createPostfixUnary(t,e);else if(Ni.includes(t))e=this.parseTypeCheck(e,t.startsWith("is not"));else {let r=t==="match"?"matches":t;e=this.createBinaryExpression(r,e,this.parseComparison());}}return e}matchComparisonPhrase(){for(let[e,t]of T4)if(t.every((r,n)=>this.peekAt(n).value.toLowerCase()===r)){for(let r=0;r<t.length;r++)this.advance();return e}}parseTypeCheck(e,t){let r=this.advance();if(r.type==="EOF")throw new Error(`Expected a type name after 'is ${t?"not ":""}a'`);let n=true;return this.peek().value==="!"&&(this.advance(),n=false),{type:"typeCheckExpression",value:e,typeName:r.value,nullOk:n,negated:t,start:e.start,end:this.previous().end}}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,r=this.parseAddition();e=this.createBinaryExpression(t,e,r);}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,r=this.parseMultiplication();e=this.createBinaryExpression(t,e,r);}return e}parseMultiplication(){let e=this.parseCollection();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%"||this.checkValue("mod");){let t=this.advance().value.toLowerCase(),r=this.parseCollection();e=this.createBinaryExpression(t,e,r);}return e}parseCollection(){let e=this.parseConversion();if(this.collectionOperand>0)return e;for(let t=this.collectionOperator();t;t=this.collectionOperator()){this.advance(),t==="mapped to"&&this.advance(),this.collectionOperand++;let r;try{r=this.parseExpression();}finally{this.collectionOperand--;}e=this.createBinaryExpression(t,e,r);}return e}collectionOperator(){if(this.checkValue("where"))return "where";if(this.checkValue("mapped")&&this.peekAt(1).value.toLowerCase()==="to")return "mapped to"}parseConversion(){let e=this.parseUnary();for(;this.checkValue("as")&&this.conversionTypeAt(1)!==void 0;)for(this.advance(),e=this.createAsExpression(e,this.parseConversionType());this.check("PIPE")&&this.conversionTypeAt(1)!==void 0;)this.advance(),e=this.createAsExpression(e,this.parseConversionType());return e}conversionTypeAt(e){let t=this.peekAt(e).value.toLowerCase(),r=t==="a"||t==="an"?e+1:e;return this.peekAt(r).type==="IDENTIFIER"?r:void 0}parseConversionType(){let e=this.conversionTypeAt(0)??0;for(let i=0;i<e;i++)this.advance();let t=this.advance(),r=this.peekAt(1).type;if(!this.check("COLON")||r!=="NUMBER"&&r!=="IDENTIFIER")return t;this.advance();let n=this.advance();return {...t,value:`${t.value}:${n.value}`,end:n.end}}parseUnary(){if(this.checkValue("no")){let e=this.advance().value;return this.createUnaryExpression(e,this.parseCollection())}if(this.checkValue("not")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createMemberExpression(e,this.createIdentifier(t.value,t),false);}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createPossessiveExpression(e,this.createIdentifier(t.value,t));}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t);}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createMemberExpression(e,t,true);}else if(e.type==="identifier"&&D4.has(e.name)&&this.check("IDENTIFIER")&&!S4.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:B4[r.name]??r.name};e=this.createMemberExpression(n,this.createIdentifier(t.value,t),false);}else if(this.checkValue("exists")&&this.peekAt(1).type!=="LPAREN")this.advance(),e=this.createPostfixUnary("exists",e);else break;return e}parsePrimary(){this.checkValue("the")&&["closest","next","previous","first","last"].includes(this.peekAt(1).value.toLowerCase())&&this.advance();let e=this.peek();if(this.checkValue("the")&&(this.peekAt(1).type==="IDENTIFIER"||this.peekAt(1).type==="CONTEXT_VAR")&&this.peekAt(2).value.toLowerCase()==="of")return this.advance(),this.parsePropertyOf(this.advance(),e,false);if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?true:e.value==="false"?false:e.value==="null"?null:void 0,r={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(t,r[e.value]??"string",e)}if(this.match("TEMPLATE_LITERAL")){let t=e.value;return {type:"templateLiteral",value:t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t,start:e.start,end:e.end,line:e.line,column:e.column}}if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("ATTRIBUTE_REF")){let t={type:"attributeAccess",attributeName:e.value.slice(1),start:e.start,end:e.end};return this.checkValue("of")?(this.advance(),this.createBinaryExpression("of",t,this.parseConversion())):t}if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createIdentifier(e.value,e);if(this.match("IDENTIFIER")){if(F4.has(e.value.toLowerCase())&&(this.check("CLASS_SELECTOR")||this.check("ID_SELECTOR")||this.check("QUERY_SELECTOR"))){let t=this.advance(),r=t.type==="QUERY_SELECTOR"?t.value.slice(1,-2):t.value,n=t.type==="CLASS_SELECTOR"?"class":t.type==="ID_SELECTOR"?"id":"query";return {type:"callExpression",callee:this.createIdentifier(e.value,e),arguments:[this.createSelector(r,n,t)],start:e.start,end:t.end}}return this.checkValue("of")?this.parsePropertyOf(e,e):this.createIdentifier(e.value,e)}if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parsePropertyOf(e,t,r=true){this.advance(),this.checkValue("the")&&!this.isAtEndAt(1)&&this.advance();let n=r?this.parseConversion():this.parseUnary();return {type:"propertyOfExpression",property:this.createIdentifier(e.value,e),target:n,start:t.start,end:this.previous().end}}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return {type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();e.push({key:r,value:n});}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return {type:"objectLiteral",properties:e.map(r=>({type:"objectProperty",key:{type:"identifier",name:r.key},value:r.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let r=parseFloat(t[1]),n=t[2].toLowerCase();return {type:"timeExpression",value:r,unit:n,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,r){return {type:"literal",value:e,dataType:t,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(e,t,r){return {type:"selector",value:e,selector:e,selectorType:t,start:r.start,end:r.end,line:r.line,column:r.column}}createIdentifier(e,t){return {type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createMemberExpression(e,t,r){return {type:"memberExpression",object:e,property:t,computed:r,start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return {type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,r){return {type:"binaryExpression",operator:e,left:t,right:r,start:t.start,end:r.end}}createAsExpression(e,t){return {type:"asExpression",expression:e,targetType:this.createIdentifier(t.value,t),start:e.start,end:t.end}}createUnaryExpression(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:true,start:this.previous().start,end:t.end}}createPostfixUnary(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:false,start:t.start,end:this.previous().end}}createCallExpression(e,t){return {type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function Ii(e){return new P4().parse(e)}var O4={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var vu=new Map;function R4(e){let t=e.toLowerCase();return vu.get(t)??vu.get(t.split("-")[0])}function _r(e,t){return !t||t.length===0||t.includes(e)||t.includes("expression")?true:e==="property-path"?t.some(r=>["selector","reference","expression"].includes(r)):e==="expression"?t.some(r=>["selector","reference","expression"].includes(r)):false}function He(e,t){let r=e.possessive?.keywords?.[t];if(r)return r;let n=e.possessive?.specialForms;if(n){for(let[i,a]of Object.entries(n))if(a===t)return i}}function qn(e){return O4.possessive?.specialForms?.[e]??`${e}'s`}var pn=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),cs=new Set(["<",">","<=",">=","==","!=","===","!=="]),ut=new Set([...pn,"mod"]),L4=/^[<>=!+\-*/%]+$/,ps={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0627\u0644\u0646\u0647\u0627\u064A\u0629"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])},_4=new Set,hu=new WeakMap;function ds(e){let t=T(e);if(!t)return _4;let r=hu.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),hu.set(t,r);}return r}function Mi(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=ds(t),i=ps[t];return (i?i.has(r):n.has(r))?"curated":e.kind==="keyword"&&(e.normalized??e.value).toLowerCase()==="end"||n.has(r)?"end":null}function Ue(e,t){return Mi(e,t)!==null}function N4(e){return new Set(["end",...ps[e]??[],...ds(e)])}function qe(e,t){return {prev:e[t-1],beforePrev:e[t-2],third:e[t-3],next:e[t+1],afterNext:e[t+2]}}var I4=new Set(["click","dblclick","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","keydown","keyup","keypress","input","change","submit","reset","load","unload","scroll","resize","focus","blur","contextmenu","dragstart","drag","dragend","dragenter","dragleave","dragover","drop","touchstart","touchmove","touchend","touchcancel"]),dn={ar:{\u0642\u064A\u0645\u0629:"value"},bn:{\u0985\u0995\u09CD\u09B7\u09AE:"disabled",\u0986\u0987\u09A1\u09BF:"id","\u099A\u09C7\u0995 \u0995\u09B0\u09BE":"checked",\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF:"length",\u09AE\u09BE\u09A8:"value"},de:{wert:"value"},es:{valor:"value"},fr:{valeur:"value"},hi:{\u0905\u0915\u094D\u0937\u092E:"disabled",\u091A\u0947\u0915:"checked",\u091B\u093F\u092A\u093E:"hidden",\u092E\u093E\u0928:"value"},id:{nilai:"value"},it:{valore:"value"},ja:{\u5024:"value"},ko:{\uAC12:"value"},ms:{dilumpuhkan:"disabled",ditanda:"checked",nilai:"value",panjang:"length"},pl:{warto\u015B\u0107:"value"},pt:{valor:"value"},qu:{chanin:"value"},ru:{\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435:"value",\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E:"disabled",\u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043E:"checked",\u0441\u043A\u0440\u044B\u0442\u043E:"hidden"},sw:{thamani:"value"},th:{\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27:"length",\u0E04\u0E48\u0E32:"value",\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19:"disabled",\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27:"checked",\u0E44\u0E2D\u0E14\u0E35:"id"},tl:{haba:"length",halaga:"value",hindi_pinagana:"disabled",naka_tsek:"checked"},tr:{de\u011Fer:"value"},uk:{\u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E:"disabled",\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F:"value",\u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u043E:"checked",\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E:"hidden"},vi:{\u1EA9n:"hidden","\u0111\u01B0\u1EE3c ch\u1ECDn":"checked","gi\xE1 tr\u1ECB":"value","v\xF4 hi\u1EC7u":"disabled"},zh:{\u503C:"value"}},M4={ar:{\u0623\u0648:"or",\u0643\u0640:"as",\u0644\u064A\u0633:"not",\u0648:"and",\u064A\u062D\u062A\u0648\u064A:"contains",\u064A\u0633\u0627\u0648\u064A:"equals",\u064A\u0634\u0645\u0644:"includes"},bn:{\u0985\u09A5\u09AC\u09BE:"or",\u098F\u09AC\u0982:"and",\u09A8\u09BE:"not",\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7:"as"},de:{als:"as",beinhaltet:"includes",enth\u00E4lt:"contains",gleicht:"equals",nicht:"not",oder:"or",und:"and"},es:{como:"as",contiene:"contains",iguala:"equals",incluye:"includes",no:"not",o:"or",y:"and"},fr:{comme:"as",contient:"contains",\u00E9gale:"equals",et:"and",inclut:"includes",non:"not",ou:"or"},he:{\u05D0\u05D5:"or",\u05D5\u05D2\u05DD:"and",\u05DB:"as",\u05DC\u05D0:"not"},hi:{\u0914\u0930:"and",\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902:"as",\u0928\u0939\u0940\u0902:"not",\u092C\u0930\u093E\u092C\u0930:"equals",\u092E\u0947\u0902_\u0939\u0948:"includes",\u092F\u093E:"or",\u0936\u093E\u092E\u093F\u0932:"contains"},id:{atau:"or",berisi:"contains",bukan:"not",dan:"and",sama:"equals",sebagai:"as",termasuk:"includes"},it:{come:"as",contiene:"contains",e:"and",include:"includes",non:"not",o:"or",uguale:"equals"},ja:{\u305D\u3057\u3066:"and",\u3067\u306F\u306A\u3044:"not",\u3068\u3057\u3066:"as",\u307E\u305F\u306F:"or",\u542B\u3080:"contains",\u542B\u3081\u308B:"includes",\u7B49\u3057\u3044:"equals"},ko:{\uAC19\uB2E4:"equals",\uADF8\uB9AC\uACE0:"and",\uB610\uB294:"or",\uB85C:"as",\uC544\uB2C8:"not",\uD3EC\uD568:"contains",\uD3EC\uD568\uD558\uB2E4:"includes"},ms:{atau:"or",bukan:"not",dan:"and",mengandungi:"contains",sama:"equals",sebagai:"as",termasuk:"includes"},pl:{i:"and",jako:"as",lub:"or",nie:"not",obejmuje:"includes","r\xF3wna si\u0119":"equals",zawiera:"contains"},pt:{como:"as",cont\u00E9m:"contains",e:"and",igual:"equals",inclui:"includes",n\u00E3o:"not",ou:"or"},qu:{churasqa:"includes",hina:"as",hinallataq:"and",kikin:"equals",ukupi_kan:"contains",utaq:"or"},ru:{\u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442:"includes",\u0438:"and",\u0438\u043B\u0438:"or",\u043A\u0430\u043A:"as",\u043D\u0435:"not",\u0440\u0430\u0432\u043D\u043E:"equals",\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442:"contains"},sw:{au:"or",ina:"contains",kuwa:"as",pamoja:"includes",sawa:"equals",si:"not"},th:{\u0E44\u0E21\u0E48:"not",\u0E41\u0E25\u0E30:"and",\u0E2B\u0E23\u0E37\u0E2D:"or"},tl:{at:"and",bilang:"as",hindi:"not",katumbas:"equals",naglalaman:"contains",o:"or"},tr:{de\u011Fil:"not",e\u015Fittir:"equals",i\u00E7erir:"contains",olarak:"as",ve:"and",veya:"or"},uk:{\u0430\u0431\u043E:"or",\u0432\u043A\u043B\u044E\u0447\u0430\u0454:"includes",\u0434\u043E\u0440\u0456\u0432\u043D\u044E\u0454:"equals",\u0456:"and",\u043C\u0456\u0441\u0442\u0438\u0442\u044C:"contains",\u043D\u0435:"not",\u044F\u043A:"as"},vi:{b\u1EB1ng:"equals",ch\u1EE9a:"contains",ho\u1EB7c:"or",kh\u00F4ng:"not",nh\u01B0:"as",v\u00E0:"and"},zh:{\u4F5C\u4E3A:"as",\u5305\u542B:"contains",\u5305\u62EC:"includes",\u548C:"and",\u6216:"or",\u7B49\u4E8E:"equals",\u975E:"not"}},ms={ms:new Set(["daripada"]),sw:new Set(["ya"]),vi:new Set(["c\u1EE7a"]),zh:new Set(["\u7684"]),it:new Set(["di"]),pl:new Set(["z"]),uk:new Set(["\u0437"]),th:new Set(["\u0E02\u0E2D\u0E07"]),ar:new Set(["\u0644\u0640"]),ja:new Set(["\u306E"]),ko:new Set(["\uC758"]),bn:new Set(["\u09B0"]),hi:new Set(["\u0915\u093E"]),qu:new Set(["pa"]),tr:new Set(["nin","n\u0131n","nun","n\xFCn","in","\u0131n","un","\xFCn"])};function Eu(e){if(!e?.code)return;let t=ms[e.code];if(t){let[r]=t;if(r)return r}return e.roleMarkers?.source?.primary}function lt(e,t){let r=t.value.toLowerCase(),n=(t.normalized??"").toLowerCase();if(r==="of"||r==="ng"||n==="of"||n==="source")return true;let i=e?.code?ms[e.code]:void 0;return !!i&&i.has(r)}var $4={destination:"in",source:"from"},j4={ar:new Set(["\u0639\u0646\u062F","\u0641\u064A"]),bn:new Set(["\u098F","\u09A4\u09C7"]),de:new Set(["bei"]),es:new Set(["en"]),fr:new Set(["dans","en","\xE0"]),he:new Set(["\u05D1","\u05D1\u05EA\u05D5\u05DA","\u05DC\u05EA\u05D5\u05DA"]),hi:new Set(["\u092A\u0930","\u092E\u0947\u0902"]),id:new Set(["dalam","di","ke_dalam"]),it:new Set(["a"]),ja:new Set(["\u3067","\u306E\u4E2D","\u3078"]),ko:new Set(["\uC548\uC5D0","\uC5D0","\uC73C\uB85C"]),ms:new Set(["dalam","di","ke_dalam"]),pl:new Set(["do","przy","w"]),pt:new Set(["dentro","em"]),qu:new Set(["pi","ukupi"]),ru:new Set(["\u0432","\u0443"]),sw:new Set(["katika","ndani"]),th:new Set(["\u0E17\u0E35\u0E48","\u0E43\u0E19"]),tl:new Set(["papasok_sa","sa","sa_loob"]),tr:new Set(["de","i\xE7inde","i\xE7ine"]),uk:new Set(["\u0432","\u0443"]),vi:new Set(["trong","t\u1EA1i","v\xE0o"]),zh:new Set(["\u5728","\u8FDB\u5165"])},Wn=new Map;function fs(e){let t=e?.code;if(!t)return;if(Wn.has(t))return Wn.get(t);let r=j4[t],n=r;if(r&&e.obliqueReferences){let i=new Set(r);for(let a of Object.values(e.obliqueReferences))for(let[u,o]of Object.entries(a))if(r.has(u))for(let s of typeof o=="string"?[o]:[o.direction,o.location]){if(!s)continue;let l=s.split(" ");l.length>1&&i.add(l[0].toLowerCase());}n=i;}return Wn.set(t,n),n}var ys=new Set(["in","into","at","within","inside"]);function q4(e,t){let r=t.value.toLowerCase();if(fs(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return ys.has(a)?"in":$4[a]??i}function vs(e,t){return t.value.toLowerCase()==="in"||fs(e)?.has(t.value.toLowerCase())?true:ys.has((t.normalized??t.value).toLowerCase())}var W4=new Set(["me","it","you","body","document","target","result"]);function hs(e,t){let r=e[t];if(!r)return null;if(r.kind==="selector")return /^[*@]/.test(r.value)?null:{kind:"selector",parts:[{text:r.value,token:r}],consumed:1};let n=(r.normalized??r.value).toLowerCase();if(W4.has(n))return {kind:"reference",parts:[{text:n,token:r}],consumed:1};let i=e[t+1];return n==="closest"&&i?.kind==="selector"&&!/^[*@]/.test(i.value)?{kind:"closest",parts:[{text:"closest",token:r},{text:i.value,token:i}],consumed:2}:null}var V4=new Set(["first","last","next","previous","random"]);function H4(e,t,r){let n=hs(e,t),i=r.replace(/\s+/g,"");if(!n||!i)return null;let a=t+n.consumed,u="";for(;u.length<i.length&&e[a]&&i.startsWith(u+e[a].value);)u+=e[a].value,a++;if(u!==i)return null;let o=(e[a]?.normalized??e[a]?.value??"").toLowerCase(),s=V4.has(o)?o:void 0;s&&a++;let l=e[a];return l?.kind!=="selector"||!(l.value.startsWith("<")||l.value.startsWith("."))?null:{scope:n,positional:s,query:l,consumed:a+1-t}}function jr(e,t,r,n){let i=e[t];if(!i||!vs(r,i))return null;let a=hs(e,t+1);if(!a)return null;let u=e[t+1+a.consumed],o=!!u&&pt(r?.code??"en",{tokens:e,i:t+1+a.consumed},void 0).toLowerCase()==="where";return n?.(i)===true&&n(u)!==true&&!o?null:{marker:i,scope:a}}var Vn=new Set(["first","last","next","previous","random","closest"]),K4={bn:{\u09B6\u09C7\u09B7:"last"}},Yt=new Set(Object.keys(Ce).map(e=>e.toLowerCase()));function _t(e,t,r,n){let i=e[t];if(!i)return null;let a=(i.normalized??i.value).toLowerCase(),u=e[t+1],o=r?.code&&u?.kind==="selector"&&u.value.startsWith("<")?K4[r.code]?.[i.value.toLowerCase()]:void 0;if(!Vn.has(a)&&!Vn.has(i.value.toLowerCase())&&o===void 0)return null;let s=[{text:o??i.normalized??i.value,token:i}],l=t+1,c=e[l],p=(o??i.normalized??i.value).toLowerCase()==="closest"&&c?.kind==="identifier"&&/^@[\w-]/.test(c.value);if(!c||c.kind!=="selector"&&!p||cs.has(c.value))return null;s.push({text:c.value,token:c}),l++;let m=0;for(;m++<8;){let d=e[l];if(d&&d.kind==="selector"&&d.value.startsWith("."))s.push({text:d.value,token:d}),l++;else break}let y=e[l],f=e[l+1];if(y&&f&&f.kind==="selector"&&!/^[*@]/.test(f.value)&&(y.kind==="keyword"||y.kind==="particle"||y.kind==="identifier")&&!Vn.has((y.normalized??y.value).toLowerCase())&&!Yt.has((y.normalized??y.value).toLowerCase())&&!(n?.(y)===true&&n(e[l+2])!==true)){let d=y.value.toLowerCase()==="to";s.push({text:d?"to":q4(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=jr(e,l,r,n);d&&d.scope.kind!=="selector"&&(s.push({text:"in",token:d.marker},...d.scope.parts),l+=1+d.scope.consumed);}return {parts:s,consumed:l-t}}function ct(e,t){let r=M4[e];return r?r[t.toLowerCase()]??t:t}function Be(e,t){let r=dn[e];return r?r[t.toLowerCase()]??t:t}function Hn(e,t){return dn[e]?.[t.toLowerCase()]!==void 0}function U4(e,t){let r=[t.value,t.normalized].filter(Boolean);for(let n of r){let i=He(e,n)??He(e,n.toLowerCase());if(i)return i}}function G4(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function Y4(e,t){let r=e?.references;if(!r)return false;let n=Object.values(r).filter(a=>typeof a=="string").map(a=>a.toLowerCase());return [t.value,t.normalized].filter(Boolean).some(a=>n.includes(a.toLowerCase()))}function Nt(e,t){return G4(e)?Be(t,e.value)!==e.value?true:ct(t,e.value)!==e.value?false:e.kind==="identifier":false}var Z4=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function Es(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?X4.test(e.value):e.kind==="keyword"&&Z4.has((e.normalized??e.value).toLowerCase())}function gu(e){return !!e&&(e.value===")"||e.value==="]"||Es(e))}function ni(e){if(!e)return false;if(/^[([-]$/.test(e.value)||Es(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var Q4=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,X4=/^(?:[:$^]?[\p{L}_][\p{L}\p{M}\p{N}_]*|@[\p{L}_][\p{L}\p{M}\p{N}_-]*|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u,Z={beforeClassRef:"has"},J4={ar:{\u0647\u0648:{beforePredicate:"is",afterOperand:"is"},\u0641\u0627\u0631\u063A:{afterCopula:"empty"}},hi:{\u0939\u0948:{beforePredicate:"is",beforeClassRef:"has",afterOperand:"is"},\u0916\u093E\u0932\u0940:{afterCopula:"empty"}},id:{kosong:{afterCopula:"empty"},punya:Z},th:{\u0E40\u0E1B\u0E47\u0E19:{beforeTypeName:"as",beforePredicate:"is",afterOperand:"is"},\u0E27\u0E48\u0E32\u0E07:{afterCopula:"empty"},\u0E21\u0E35:Z},ja:{\u7A7A:{afterCopula:"empty"},\u3042\u308B:Z},he:{\u05D4\u05D5\u05D0:{beforePredicate:"is",afterOperand:"is"},\u05E8\u05D9\u05E7:{afterCopula:"empty"}},sw:{tupu:{afterCopula:"empty",otherwise:"null"},na:{betweenOperands:"and"},ana:Z,nina:Z},zh:{\u6CA1\u6709:{beforeBareIdentifier:"no",beforeSelector:"no"},\u6709:Z},tl:{walang:{beforeBareIdentifier:"no",beforeSelector:"no"},may:{afterSubject:"exists",beforeClassRef:"has"}},bn:{\u0986\u099B\u09C7:{afterSubject:"exists",beforeClassRef:"has"},\u0986\u099B\u09BF:Z},qu:{mana:{beforeOperand:"not",beforeComparison:"not"},maypi:{afterOperand:"where"},chusaq:{afterCopula:"empty"},kachkan:Z,kachkani:Z},tr:{var:{afterSubject:"exists",beforeClassRef:"has"},bo\u015F:{afterCopula:"empty"}},de:{hat:Z,habe:Z},es:{tiene:Z,tengo:Z},fr:{a:Z,ai:Z},it:{ha:Z,ho:Z},ko:{\uC788\uB2E4:Z},ms:{ada:Z},pl:{ma:Z,mam:Z},pt:{tem:Z,tenho:Z},ru:{\u0438\u043C\u0435\u0435\u0442:Z,\u0438\u043C\u0435\u044E:Z},uk:{\u043C\u0430\u0454:Z,\u043C\u0430\u044E:Z},vi:{c\u00F3:Z}},ef=new Set(["text","json","html","response","blob","arraybuffer"]),tf=new Set(["empty","null","undefined","true","false"]),rf=new Set(["Number","Int","Float","String","Boolean","Date","Array","Object","JSON","json","JSONString","FormData","FormEncoded","HTML","Fragment","Values","Values:Form","Values:JSON","Set","Map","Keys","Entries","Reversed","Unique","Flat"]);function cr(e){return gs(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function gs(e){return rf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function ks(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],u=t.tokens[t.i+1],o=ii(e,i);if(!o)return;if(o.beforeTypeName&&u?.kind==="identifier"&&n?.value!=="("&&(gs(u.value)||ef.has(u.value.toLowerCase())))return o.beforeTypeName;if(o.beforePredicate&&u&&(u.kind==="literal"||u.kind==="keyword"&&tf.has((u.normalized??"").toLowerCase())))return o.beforePredicate;if(o.afterCopula&&r!==void 0&&["is","not","does","do"].includes(r.toLowerCase()))return o.afterCopula;if(o.beforeBareIdentifier&&u?.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(u.value))return o.beforeBareIdentifier;let s=!!u&&Ue(u,e)&&Er(qe(t.tokens,t.i+1),e);if(o.beforeOperand&&(ni(u)||s))return o.beforeOperand;if(o.beforeComparison&&u?.kind==="keyword"&&ws.has((u.normalized??"").toLowerCase()))return o.beforeComparison;if(o.beforeSelector&&u?.kind==="selector")return o.beforeSelector;if(o.beforeClassRef&&u&&Q4.test(u.value))return o.beforeClassRef;if(o.afterSubject&&(a?.kind==="selector"||a?.kind==="reference"))return o.afterSubject;let l=!!a&&Ue(a,e)&&r===a.value;return o.betweenOperands&&(gu(a)||l)&&ni(u)?o.betweenOperands:o.afterOperand&&(gu(a)||a?.value==="}")?o.afterOperand:o.otherwise}function ii(e,t){let r=J4[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function nf(e,t){return ks(e,t,void 0,void 0)}function af(e){return L4.test(e)||e==="("||e==="["||e===","}function uf(e){return pn.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var ws=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function Cs(e,t,r,n){let i=t.kind==="keyword"?(t.normalized??"").toLowerCase():ct(e,t.value).toLowerCase();if(i!=="and"&&i!=="or")return false;if(r===void 0||r!==void 0&&af(r.value))return true;if(n===void 0)return false;if(uf(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():ct(e,n.value).toLowerCase();return ws.has(a)}var of=new Set(["include","contain","match","exist"]);function zs(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function bs(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:zs(pt(e,{tokens:t,i:r-1},void 0))}function pt(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],u=t.tokens[t.i+1];if(r?.toLowerCase()==="equal"&&i.value.toLowerCase()==="to"||r?.toLowerCase()==="mapped"&&i.value.toLowerCase()==="to")return "to";if(zs(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&of.has(i.value.toLowerCase()))return i.value.toLowerCase();let o=ks(e,t,r,n);if(o!==void 0)return o;if(Cs(e,i,a,u))return i.value;let s=ct(e,i.value);if(s!==i.value)return s;if(i.kind!=="keyword")return i.value;let l=(i.normalized??i.value).toLowerCase();return l!=="event"&&yr.has(l)||Ue(i,e)&&Er(qe(t.tokens,t.i),e)?i.value:i.normalized??i.value}function As(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!lt(r,a)||!Nt(i,n)&&!sf.test(i.value))return;let u=t+2;for(;e[u]!==void 0&&e[u+1]!==void 0&<(r,e[u+1])&&Nt(e[u],n);)u+=2;return e[u]?.kind==="selector"?u:void 0}var sf=/^[@*][A-Za-z_-][\w-]*$/,lf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function cf(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||Ke(t)?false:lf.has(t)||yr.has(t)}var pf=new Set(["and","or","is","times"]),df=new Set(["if","unless","while","until","is","and","or","in"]),mf=e=>Object.prototype.hasOwnProperty.call(Ce,e);function Kn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return mf(t)?t:void 0}var ku=new WeakMap;function wu(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=ku.get(n);i||(i=new Map,ku.set(n,i));let a=r?`${t} before a role pair`:t,u=i.get(a);if(!u){u=new Set;for(let o of n){if(o.command!==t)continue;let[s,l,c,p]=o.template.tokens;if(!(s?.type!=="literal"||l?.type!=="literal")&&!(r&&(c?.type!=="role"||p?.type!=="role")))for(let m of [l.value,...l.alternatives??[]])u.add(m.toLowerCase());}i.set(a,u);}return u}var Cu=new WeakMap;function ff(e){let t;try{t=be(e);}catch{return new Set}let r=Cu.get(t);if(!r){let n=new Set(Object.values(T(e)?.roleMarkers??{}).flatMap(a=>a?[a.primary,...a.alternatives??[]]:[]).map(a=>a.toLowerCase())),i=new Set;for(let a of t){if(a.command!=="repeat")continue;let u=a.template.tokens;u.forEach((o,s)=>{if(!(o.type!=="literal"||u[s+1]?.type!=="role"))for(let l of [o.value,...o.alternatives??[]])n.has(l.toLowerCase())||i.add(l.toLowerCase());});}r=i,Cu.set(t,r);}return r}function zu(e){return e.kind==="particle"?true:e.kind==="keyword"&&yr.has((e.normalized??"").toLowerCase())}function bu(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():ct(t,e.value).toLowerCase()}function Er(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(ut.has(i.value)||pf.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=ii(t,i)?.betweenOperands;if((f==="and"||f==="or")&&ni(a))return true}let u=T(t),o=!!u&&u.markingStrategy!=="preposition";if(o&&i?.kind==="particle"&&a?.kind!=="particle")return true;if(!r)return false;if(pn.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=bu(r,t);if(s==="not"||s==="no"||ii(t,r)?.beforeOperand==="not")return true;let l=u?.wordOrder!=="SOV",c=e.third?Kn(e.third):void 0;if(c&&n&&wu(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Kn(n):void 0;if(p&&!wu(t,p).has(r.value.toLowerCase())||n&&!o&&zu(n))return false;if(df.has(s))return true;let m=!!n&&bu(n,t)!=="repeat"&&!!Di[t]?.includes(r.value);if(ff(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Kn(r):void 0;return y&&Ce[y].roles.some(f=>f.required)?true:!o&&zu(r)}function Zt(e){if(e.kind!=="keyword")return;if(cf(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Yt.has(t)?"verb":I4.has(t)?"event":void 0}function Ne(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Zt(n)||Ue(n,r)))return n.value;let i="",a,u,o=(s,l)=>{if(u=s,a===void 0){i=s,a=l;return}let p=a.position?.end!==void 0&&l.position?.start!==void 0&&a.position.end===l.position.start&&(s.startsWith(".")||s.startsWith("!")||s.startsWith("[")||s===","||s==="'s");i+=(p?"":" ")+s,a=l;};for(let s=0;s<e.length;s++){let l=e[s],c=t?U4(t,l):void 0,p=e[s+1],m=u?.toLowerCase();if(l.value.toLowerCase()==="the"&&p!==void 0&&(m==="in"&&["closest","next","previous","first","last"].includes(p.value.toLowerCase())||m==="of"&&p.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(p.value)))continue;if(l.value===":"&&a!==void 0&&u!==void 0&&p!==void 0&&a.position?.end===l.position?.start&&l.position?.end===p.position?.start&&cr(`${u}:${p.value}`)){i+=`:${p.value}`,u=`${u}:${p.value}`,a=p,s+=1;continue}if(l.value==="'"&&a!==void 0&&p?.value==="s"&&l.position?.end!==void 0&&p.position?.start===l.position.end){i+="'s",a=p;let E=e[s+2];E&&Be(r,E.value)!==E.value?(o(Be(r,E.value),E),s+=2):s+=1;continue}let y=t?.possessive,f=e[s+2];if(y?.markerPosition==="between"&&y.marker&&l.kind==="selector"&&p?.value===y.marker&&f!==void 0&&Nt(f,r)){o(`${l.value}'s`,l),o(Be(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&Be(r,l.value)!==l.value&&Nt(l,r)){o(Be(r,l.value),l);continue}if(c!==void 0&&p){let E=t?.possessive?.connectors,b=!!E?.length&&E.some(w=>{let x=w.toLowerCase();return x===p.value.toLowerCase()||x===(p.normalized??"").toLowerCase()}),D=b?s+2:s+1,h=e[D],A=b&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Nt(h,r))){o(qn(c),l),o(A?h.value:Be(r,h.value),h),s=D;continue}if(b&&h&&/^\.[a-zA-Z_]\w*$/.test(h.value)&&p.position?.end!==void 0&&h.position?.start!==void 0&&p.position.end===h.position.start){o(qn(c),l),o(Be(r,h.value.slice(1)),h),s=D;continue}if(!b&&/^\.[a-zA-Z_]\w*$/.test(p.value)&&l.position?.end!==void 0&&p.position?.start!==void 0&&l.position.end===p.position.start&&!Y4(t,l)){o(qn(c),l),o(Be(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=As(e,s,t,r);if(v!==void 0){for(let E=s;E<v;E+=2)o(Be(r,e[E].value),e[E]),o("of",e[E+1]);o(e[v].value,e[v]),s=v;continue}if(l.kind==="selector"&&p&&d&<(t,p)&&Nt(d,r)&&Be(r,d.value)!==d.value){o(Be(r,d.value),d),o("of",p),o(l.value,l),s+=2;continue}let g=_t(e,s,t);if(g){for(let E of g.parts)o(E.text,E.token);s+=g.consumed-1;continue}let k=a?.kind==="selector"&&a.value.startsWith("<")?jr(e,s,t):null;if(k){o("in",k.marker);for(let E of k.scope.parts)o(E.text,E.token);s+=k.scope.consumed;continue}o(pt(r,{tokens:e,i:s},u,e[s+2]),l);}return i.trim().replace(/(\S) not matches (?=\S)/g,"$1 does not match ")}function xt(e,t,r){let n=T(e)?.keywords?.[t];return n?n.primary?.toLowerCase()===r?true:!!n.alternatives?.some(i=>i.toLowerCase()===r):false}var yf={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u90A3\u4E48"]),tr:new Set(["ard\u0131ndan","daha sonra","ardindan"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};function Ge(e,t){let r=e.toLowerCase(),n=yf[t];return n?n.has(r):r==="then"||xt(t,"then",r)}function jt(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:xt(t,"else",r)}function xs(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||xt("en","js",t)}function Ds(e,t){let r=T(t)?.roleMarkers?.patient;if(!r?.primary)return false;let n=e.value.toLowerCase();return r.primary.toLowerCase()===n?true:!!r.alternatives?.some(i=>i.toLowerCase()===n)}function Oe(e,t){let r=e.toLowerCase();return r==="if"?true:xt(t,"if",r)}function qt(e,t){let r=e.toLowerCase();return r==="unless"?true:xt(t,"unless",r)}function Wt(e,t){return Mi(e,t)==="curated"}function vf(e,t,r){return Ue(e,r)&&!Bs(e,t,r)}function Bs(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Mi(e,r)==="end"}function gr(e,t,r){return Ge(e.value,r)?!(Wt(e,r)&&Er(t,r)):false}function Mr(e,t){return Ue(e,t)}function Ss(e,t,r){let n=i=>i?.value.toLowerCase();return n(t.next)==="of"&&(n(t.prev)==="at"||n(t.prev)==="the"&&n(t.beforePrev)==="at")||xi(r,e.value,t.prev?.value,t.next?.value)}function hf(e,t,r){let n=e[t];if(!n)return false;let i=qe(e,t);return Bs(n,i.next,r)||Ss(n,i,r)}function ae(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ue(n,r)&&!hf(e,t,r)&&!Er(qe(e,t),r):false}function Ef(e,t,r){return e.metadata?.closesTrackedBlock===true?Ue(e,r):vf(e,t,r)}function Ye(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ge(n.value,r)&&gr(n,qe(e,t),r)?true:ae(e,t,r)}function gf(e,t,r){let n=e[t];if(!n)return true;if(n.kind!=="keyword")return false;let i=(n.normalized??n.value).toLowerCase();return i==="then"||i==="else"||Ue(n,r)}function Fs(e){return !!e&&ut.has(e.value)}var kf=class{constructor(e,t,r,n,i,a){this.patternToken=t,this.afterLiteral=r,this.nextPatternToken=n,this.wouldMatch=i,this.language=a;let u=e.position();this.token=e.tokens[u],this.prev=e.tokens[u-1],this.next=e.tokens[u+1],this.place=qe(e.tokens,u),this.all=e.tokens,this.at=u;}get lastSlot(){return this.nextPatternToken===void 0}get tokenIsMarker(){return this.tokenIsMarkerMemo??(this.tokenIsMarkerMemo=this.wouldMatch(this.nextPatternToken,this.token)),this.tokenIsMarkerMemo}get beforeRole(){return this.nextPatternToken?.type==="role"}get nextIsMarker(){return this.nextIsMarkerMemo??(this.nextIsMarkerMemo=this.next!==void 0&&this.wouldMatch(this.nextPatternToken,this.next)),this.nextIsMarkerMemo}get clauseEndsAfter(){return gf(this.all,this.at+1,this.language)}};function wf(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(pn.has(r.value)||e.nextIsMarker)}function $i(e){return e.kind==="keyword"&&Yt.has((e.normalized??e.value).toLowerCase())}function Cf(e,t){return e.token.kind!=="keyword"?false:Ye(e.all,e.at,t)}function zf(e,t){return Ue(e.token,t)&&Er(e.place,t)}function Ts(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function bf(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:$i(e.token)&&!Ts(e)&&!e.nextIsMarker}function Af(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!$i(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!Ts(e)}function xf(e,t,r,n){let i=e.type==="group"&&e.optional?e.tokens.every(u=>u.type==="role")?e.tokens[0]:void 0:e;if(!i||i.type!=="role"||!i.optional||i.role==="event"||i.role==="action"||i.valueShape==="keyword"||!t||t.kind!=="keyword"||r===void 0)return false;let a=n(r,t);return $i(t)?!a:a}function Df(e){return Yt.has((e.normalized??e.value).toLowerCase())}function Bf(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!Fs(t)}function Sf(e){if(e.token.kind!=="particle")return false;let t=e.next;return t!==void 0&&e.nextIsMarker&&(t.kind==="particle"||e.prev?.kind==="particle")||e.afterLiteral&&e.beforeRole||e.clauseEndsAfter}function Ff(e,t){let r=e.patternToken;if(r.role==="event"||r.role==="action"||r.valueShape==="keyword")return false;let n=r.expectedTypes;if(n?.length&&!n.some(a=>a==="expression"||a==="reference"))return false;let i=Zt(e.token);return i==="structure"?true:i==="event"?!t?.roles.some(a=>a.role==="event")&&t?.action!=="wait"&&r.role!=="condition":i!=="verb"||(e.token.normalized??e.token.value).toLowerCase()==="empty"?false:!t?.hasBody&&!t?.roles.some(a=>a.role==="event")}function Tf(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return Zo("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Pf(e,t,r){return e.kind==="particle"&&(t||Fs(r))}function Ps(e,t){let r=e[t];return r?.kind==="particle"&&e[t-1]?.value.toLowerCase()==="of"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(r.value)}var Au=new Set(["is","am","are","be","was","were","not","no"]),Of=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),Os=new Set(["empty","null","undefined"]);function Rf(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),u=(t.normalized??t.value).toLowerCase();return (Au.has(i)||Au.has(ct(n,a))||Of.has(a)&&Os.has(u))&&!r}var Lf=new Set(["'s","a","am","an","and","as","closest","contain","contains","do","does","empty","equal","equals","exist","exists","false","first","greater","has","have","in","include","includes","is","it","its","last","less","match","matches","me","mod","my","next","no","not","null","of","or","previous","really","some","than","the","true","undefined","where","you","your","result","target","body","detail"]),_f=new Set(["am","and","as","contain","contains","do","does","empty","equal","equals","exist","exists","greater","has","have","in","include","includes","is","less","match","matches","mod","no","not","of","or","really","some","than"]),xu=/\s+as\s+([A-Za-z]\w*)!?\s*$/,Nf=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,If=e=>e.replace(Nf,(t,r)=>r??" style_");function ji(e){let t=e;for(let i=xu.exec(t);i;i=xu.exec(t)){if(!cr(i[1]??""))return false;t=t.slice(0,i.index);}let r=t.replace(/"[^"]*"|'[^']*'/g,"");if(/["']/.test(r.replace(/'s\b/g,""))||/[^\x00-\x7F]/.test(r))return false;t=If(t);let n=Ii(t);return !n.success||n.consumed===void 0||n.consumed!==ls(t).length-1?false:$f(n.node).every(cr)}function Mf(e){let t=[],r=0,n="",i=0;for(let a=0;a<e.length;a++){let u=e[a];n?u===n&&(n=""):u==='"'||u==="'"&&!/\w/.test(e[a-1]??"")?n=u:"([{".includes(u)?r++:")]}".includes(u)?r--:u===","&&r===0&&(t.push(e.slice(i,a)),i=a+1);}return t.push(e.slice(i)),t.every(a=>a.trim()!==""&&ji(a.trim()))}function $f(e){let t=[],r=n=>{if(Array.isArray(n)){n.forEach(r);return}if(!n||typeof n!="object")return;let i=n;i.type==="asExpression"&&t.push(String(i.targetType?.name??"")),Object.values(n).forEach(r);};return r(e),t}function ur(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var jf=new Set(["is","not","really","am","or"]);function Rs(e,t,r){let n=i=>e[i]?pt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&jf.has(n(t-2))}function Ls(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function qf(e){return e.value==="a"}var Wf=new Set(["event","window","document"]);function Vf(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!lt(r,i)?false:Wf.has((n.normalized??n.value).toLowerCase())}function Hf(e,t,r){if(Ye(e,t,r.profile?.code??"en"))return true;let n=e[t];return n.kind==="keyword"&&(n.normalized??n.value).toLowerCase()==="else"?true:r.owes(n)}function Du(e,t,r){let n=r.profile?.code??"en";if(bs(n,e,t)||Ps(e,t)||Rs(e,t,n)||qf(e[t])||Ls(e,t))return false;let i=e[t];return Hf(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function Kf(e,t,r){let n=e[t],i=e[t-1],a=r.profile?.code??"en";if(n.kind==="literal"||n.value==="'"&&e[t+1]?.value==="s"||n.value==="s"&&i?.value==="'")return true;if(n.kind==="selector"){if(!n.value.startsWith(".")||!i||ur(i,n)||ut.has(i.value)||/^[([,]$/.test(i.value)||lt(r.profile,i))return true;let o=pt(a,{tokens:e,i:t-1},void 0).toLowerCase();return _f.has(o)}if(ut.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||lt(r.profile,n)||Cs(a,n,i,e[t+1])||bs(a,e,t)||Ps(e,t)||Vf(e,t,r.profile)||Rs(e,t,a))return true;let u=pt(a,{tokens:e,i:t},void 0).toLowerCase();return u==="as"&&r.hasResponseType?false:Lf.has(u)?true:n.kind==="identifier"&&/^(?::?[\p{L}_$][\p{L}\p{M}\p{N}_$]*(\[[^\]]*\])*('s)?|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u.test(n.value)}function Uf(e,t,r){if(!e[t]||Du(e,t,r))return [];let n=t;for(;n<e.length&&!Du(e,n,r)&&(Kf(e,n,r)||Ls(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function Gf(e,t,r){let n=[],i=t;for(;;){let a=e[i];if(!a)break;if(a.value==="'"&&e[i+1]?.value==="s"&&e[i+2])i+=3;else if(/.'s$/.test(e[i-1]?.value??""))i+=1;else if(lt(r,a)&&e[i+1])i+=2;else if(/^(\.[\p{L}_$][\p{L}\p{N}_$]*|\[.*\])$/u.test(a.value)&&Yf(e,i))i+=1;else break;n.push(i);}return n.reverse()}function Yf(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function Zf(e,t,r,n,i=ji){for(let a of r){let u=Ne(e.slice(t,a),n);if(i(u))return {end:a,raw:u}}}var _s=96,Qf=/^[A-Za-z_][\w-]*$/,Xf=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function Ns(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&Xf.test(r.value)}function Is(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!Qf.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function Bu(e,t=0){return Ns(e,t)||Is(e,t)}function Jf(e){let t=e.peek();if(!t||t.value!=="{"&&t.value!=="(")return null;let r="",n=-1,i=0,a=0;for(;!e.isAtEnd()&&a++<_s;){let u=e.advance();if(!u)break;if(n>=0&&u.position.start>n&&(r+=" ".repeat(u.position.start-n)),r+=u.value,n=u.position.end,u.value==="{"||u.value==="(")i++;else if((u.value==="}"||u.value===")")&&(i--,i===0))return r}return null}function Su(e){let t=e.peek();return t?t.value==="{"||t.value==="("?Jf(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function or(e,t){let r=e.mark(),n=[];if(t!==void 0){let a=e.peek();if(!a||a.value!==":"||!e.peek(1))return null;e.advance();let u=Su(e);if(u===null)return e.reset(r),null;n.push(`${t}:${u}`);}else if(!Bu(e))return null;let i=0;for(;i++<_s;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!Bu(e,1))break;e.advance();continue}if(Ns(e,0)){n.push(e.advance().value);continue}if(!Is(e,0))break;let u=e.advance().value;e.advance();let o=Su(e);if(o===null)return e.reset(r),null;n.push(`${u}:${o}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var ey=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function mn(e){switch(e.kind){case "selector":return Le(e.value);case "literal":return ty(e.value);case "keyword":{let r=Tf(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return Ke(n)?Te(n):Zo(n)??te(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Le(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||ey.test(e.value))return Te(e.value);let t=e.value.toLowerCase();return Ke(t)?Te(t):{type:"expression",raw:e.value};case "url":{let r=te(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function ty(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...te(n,"string"),quoted:true}}if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?te(e,"duration"):te(n,"number")}if(Ac(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?te(e,"string"):te(r,"number")}var Nr=.8,ry=.6,ny=.15,iy=.5,Fu=.15,Tu=.1,Pu=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]),ay={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]},uy=class{calculate(e){return this.calculateWithBreakdown(e).final}calculateWithBreakdown(e){let t=this.scoreRoleCoverage(e),r=this.scoreStemPenalty(e),n=this.scoreLanguageBoost(e),i=this.scoreLanguageAdjustment(e),a=t;return a=Math.max(iy,a+r),a=Math.min(1,a+n),a=Math.max(0,Math.min(1,a+i)),{roleCoverage:t,stemPenalty:r,languageBoost:n,languageAdjustment:i,final:a}}scoreRoleCoverage(e){let{pattern:t,captured:r}=e,n=0,i=0,a=l=>t.extraction?.[l]?.default!==void 0,u=t.command==="on"?t.extraction?.action?.value:void 0,o=Ce[u??t.command]?.roles,s=l=>o?.find(c=>c.role===l)?.valueShape!==void 0;for(let l of t.template.tokens)if(l.type==="role")r.has(l.role)?(i+=1,n+=1):s(l.role)||(i+=1);else if(l.type==="group")for(let c of l.tokens)c.type==="role"&&(r.has(c.role)?(i+=Nr,n+=Nr):s(c.role)||(i+=Nr,a(c.role)&&(n+=Nr*ry)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*ny}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:Pu.has(r.value)||r.alternatives?.some(n=>Pu.has(n))?Fu:0}scoreLanguageAdjustment(e){let{pattern:t,captured:r}=e;if(t.language!=="ar")return 0;let n=0;for(let[i,a]of r.entries()){let u=ay[i];if(!u||u.length===0)continue;let o="metadata"in a?a.metadata:void 0;o&&typeof o.prepositionValue=="string"&&(u.includes(o.prepositionValue)?n+=.1:n-=.1);}return Math.max(-Tu,Math.min(Tu,n))}},oy=new uy,sy=new Set(Object.values(Ce).filter(e=>e.bareKeyword===true).map(e=>e.action));function ly(e){return e.startsWith("*")||e.startsWith("@")}function Ou(e){return e?.type==="role"&&e.role==="event"}var me=class ${constructor(t){this.view=t,this.wouldMatch=(r,n)=>this.patternTokenWouldMatch(r,n);}get patternRest(){return this.view.patternRest()}get slotAfterLiteral(){return this.view.slotAfterLiteral()}patternTokenWouldMatch(t,r){return this.view.wouldMatch(t,r)}beginPattern(t){this.currentProfile=T(t.language),this.currentPatternCommand=t.command,this.currentRoleCommand=t.extraction?.action?.value??t.command,this.eventSource=void 0;}readRole(t,r,n,i){return this.matchRoleToken(t,r,n,i)}maySkipSlot(t,r,n){return xf(t,r,n,this.wouldMatch)}skipLeading(t,r){let n=r[0],i=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;t.peek()?.kind==="conjunction";)t.advance();}beforePatternToken(t,r,n,i){let a=r[n];a?.type==="literal"&&(!Ou(r[n-1])&&!Ou(r[n-2])||this.tryConsumeEventSourceClause(t,i,a));}resultFields(){return this.eventSource?{eventSource:this.eventSource}:{}}tryConsumeEventSourceClause(t,r,n){if(r.has("source")||this.eventSource)return;let i=t.peek(),a=t.peek(1);if(!i||!a||this.patternTokenWouldMatch(n,i))return;let u=this.currentProfile?.roleMarkers?.source,o=l=>{if(l.kind!=="particle"&&l.kind!=="keyword")return false;if((l.normalized??"").toLowerCase()==="source")return true;if(!u)return false;let c=l.value.toLowerCase();return u.primary?.toLowerCase()===c?true:!!u.alternatives?.some(p=>p.toLowerCase()===c)},s=u?.position;if(s!=="after"&&o(i)){let l=this.sourceNounValue(a);if(!l)return;t.advance(),t.advance(),this.eventSource=l;return}if(s==="after"&&o(a)){let l=this.sourceNounValue(i);if(!l)return;t.advance(),t.advance(),this.eventSource=l;}}sourceNounValue(t){if(t.kind==="selector")return this.tokenToSemanticValue(t)??void 0;if(t.kind!=="keyword"&&t.kind!=="identifier")return;let r=(t.normalized??t.value).toLowerCase();if(r!=="me"){if(Ke(r))return {type:"reference",value:r};if(t.kind==="identifier"&&/^[A-Za-z_$][\w$]*$/.test(t.value))return {type:"expression",raw:t.value}}}tryFoldHyphenActionKeyword(t){let r=this.currentProfile;if(!r)return null;let n=t.mark(),i=[];for(;;){let u=t.peek();if(!u||u.kind!=="identifier"&&u.kind!=="keyword")break;i.push(u.value),t.advance();let o=t.peek();if(!o||o.value!=="-")break;t.advance(),i.push("-");}if(i.length<3||i[i.length-1]==="-")return t.reset(n),null;let a=i.join("").toLowerCase();for(let[u,o]of Object.entries(r.keywords))if(o.primary.toLowerCase()===a||o.alternatives?.some(s=>s.toLowerCase()===a))return te(u);return t.reset(n),null}matchRoleToken(t,r,n,i){let a=t.position(),u=t.mark(),o=n.get(r.role);return this.matchRoleTokenCore(t,r,n,i)?this.currentRoleCommand==="swap"&&r.role==="method"&&!r.optional&&n.get(r.role)!==o&&!$.SWAP_STRATEGIES.has(String(n.get(r.role).value??n.get(r.role).raw??"").toLowerCase())||this.currentRoleCommand==="put"&&r.role==="destination"&&n.get(r.role)!==o&&t.position()===a+1&&Gc(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==o&&xi(this.currentProfile?.code??"",t.tokens[t.position()+1]?.value??"",t.tokens[t.position()]?.value,t.tokens[t.position()+2]?.value)?(t.reset(u),o?n.set(r.role,o):n.delete(r.role),false):n.get(r.role)===o?(t.position()>a&&t.reset(u),true):(this.absorbTrailingConversion(t,r,n,i,a),this.absorbTrailingConditionOperand(t,r,n,i,a),this.absorbExpressionTail(t,r,n,i,a),this.stampCaptureSpan(t,r.role,n,a,o),true):false}absorbExpressionTail(t,r,n,i,a){if(r.role==="event"||r.role==="action")return;let u=n.get(r.role),o=u?.type==="selector"&&u.value.startsWith("*");if(this.isClassNameSlot(r)&&!o||!u||t.position()<=a)return;let s=r.expectedTypes;if(!o&&s&&s.length>0&&!s.includes("expression"))return;let l=$.boundedByMarker(i)||r.valueShape==="list"?Uf(t.tokens,t.position(),this.extentContext()):Gf(t.tokens,t.position(),this.currentProfile),c=Zf(t.tokens,o?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?Mf:void 0);if(c){for(;t.position()<c.end;)t.advance();n.set(r.role,{type:"expression",raw:c.raw,value:c.raw});}}extentContext(){let t=this.restLiterals();return {profile:this.currentProfile,owes:r=>t.some(n=>this.patternTokenWouldMatch(n,r)),commandMarkers:this.commandMarkers(),hasResponseType:!!this.currentSchema()?.roles.some(r=>r.role==="responseType")}}isClassNameSlot(t){return t.role==="patient"&&["add","remove","toggle","take"].includes(this.currentRoleCommand??"")}isObjectValueSlot(t){let r=this.currentRoleCommand;return t.role==="source"?r==="get":t.role==="destination"&&r==="set"?true:t.role==="patient"&&(r==="put"||r==="set")}static boundedByMarker(t){return !t||t.type==="literal"?true:t.type==="group"?t.tokens[0]?.type==="literal":false}restLiterals(){let t=[],r=n=>{for(let i of n)i.type==="literal"?t.push(i):i.type==="group"&&r(i.tokens);};return r(this.patternRest),t}currentSchema(){let t=this.currentRoleCommand;if(!(!t||!(t in Ce)))return Ce[t]}commandMarkers(){let t=this.currentSchema(),r=this.currentProfile,n=new Set;if(!t||!r)return n;for(let i of t.roles){let a=i.markerOverride?.[r.code];if(a){n.add(a.toLowerCase());continue}let u=r.roleMarkers[i.role];if(u){n.add(u.primary.toLowerCase());for(let o of u.alternatives??[])n.add(o.toLowerCase());}}return n.delete(""),n}stampCaptureSpan(t,r,n,i,a){let u=n.get(r);if(!u||u===a||u.position||t.position()<=i)return;let o=t.tokens[i],s=t.tokens[t.position()-1];!o||!s||n.set(r,Qo(u,{start:o.position.start,end:s.position.end}));}absorbTrailingConditionOperand(t,r,n,i,a){if(r.role!=="condition"||!n.has("condition")||t.position()<=a)return;let u=this.currentPatternCommand==="repeat";if(!u&&(i!==void 0||this.currentPatternCommand!=="on"))return;let o=$.CONDITION_OPERATOR_WORDS,s=m=>{let y=(m.normalized??"").toLowerCase(),f=m.value.toLowerCase();if(o.has(y)||o.has(f))return true;let d=$.LOOP_CONDITION_OPERATORS;return u&&(d.has(f)||d.has(y))},l=m=>!!m&&(m.kind==="selector"||m.kind==="identifier"||m.kind==="literal")&&!s(m)&&!Yt.has((m.normalized??m.value).toLowerCase())&&!this.patternTokenWouldMatch(i,m),c=false;for(;;){let m=t.peek();if(!m||!s(m)||this.patternTokenWouldMatch(i,m))break;t.advance(),c=true;let y=t.peek();if(l(y)){t.advance();for(let f=t.peek();!(!f||!/^\.[a-zA-Z_]\w*$/.test(f.value)||f.position.start!==y.position.end);f=t.peek())t.advance(),y=f;}if(!u)break}if(!c)return;let p=Ne(t.tokens.slice(a,t.position()),this.currentProfile);n.set("condition",{type:"expression",raw:p,value:p});}conversionRunLength(t){let r=t.peek();if(!r||(r.normalized??r.value).toLowerCase()!=="as"&&r.value.toLowerCase()!=="as"&&!this.isNativeAs(t))return 0;let i=this.conversionTypeLength(t,1);if(i===0)return 0;for(i+=1;;){if(t.peek(i)?.value!=="|")return i;let a=this.conversionTypeLength(t,i+1);if(a===0)return i;i+=1+a;}}isNativeAs(t){let r=this.currentProfile?.code;if(!r||r==="en"||this.currentSchema()?.roles.some(u=>u.role==="responseType"))return false;let n=t.tokens,i=t.position();return pt(r,{tokens:n,i},void 0,n[i+2]).toLowerCase()==="as"}conversionTypeLength(t,r){let n=t.peek(r)?.value.toLowerCase(),i=n==="a"||n==="an"?r+1:r,a=t.peek(i);if(!a)return 0;let u=t.peek(i+1),o=t.peek(i+2);return u?.value===":"&&o&&ur(a,u)&&ur(u,o)&&cr(`${a.value}:${o.value}`)?i-r+3:cr(a.value)?i-r+1:0}absorbTrailingConversion(t,r,n,i,a){if(r.role==="event"||r.role==="action"||!n.has(r.role)||t.position()<=a)return;let u=this.conversionRunLength(t);if(u===0||this.patternTokenWouldMatch(i,t.peek()))return;for(let s=0;s<u;s++)t.advance();let o=Ne(t.tokens.slice(a,t.position()),this.currentProfile);n.set(r.role,{type:"expression",raw:o,value:o});}matchScopeFirst(t,r){let n=this.currentProfile?.queryScopeFirst;if(!n||r.role==="event")return null;let i=H4(t.tokens,t.position(),`${n.marker}${n.participle??""}`);if(!i)return null;let[a,u]=i.scope.parts,o=i.scope.parts.map(l=>l.text).join(" "),s;if(i.positional)s={type:"expression",raw:`${i.positional} ${i.query.value} in ${o}`};else {let l=this.tokenToSemanticValue(i.query),c=i.scope.kind==="reference"?Te(a.text):i.scope.kind==="closest"?{type:"expression",raw:`closest ${u.text}`}:this.tokenToSemanticValue(a.token);s=l?{...l,scope:c}:null;}if(!s)return null;for(let l=0;l<i.consumed;l++)t.advance();return s}matchRoleTokenCore(t,r,n,i){this.skipNoiseWords(t,r,i);let a=t.peek();if(!a||this.isClassNameSlot(r)&&this.commandMarkers().has(a.value.toLowerCase())||this.currentRoleCommand==="set"&&a.value.toLowerCase()==="on"&&this.patternTokenWouldMatch(i,a))return r.optional||false;let u=this.matchScopeFirst(t,r);if(u)return n.set(r.role,u),true;let o=this.slotAt(t,r,i);if(r.role==="style"&&this.currentRoleCommand==="show"){let h=this.tryMatchStrategyArgument(t);if(h)return n.set(r.role,h),true}if(r.role==="action"&&this.currentProfile&&t.peek(1)?.value==="-"){let h=this.tryFoldHyphenActionKeyword(t);if(h)return n.set(r.role,h),true}if(r.role==="event"&&this.currentPatternCommand==="on"){if(!$.tokenLooksLikeEvent(a))return r.optional||false;let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h)||$.VISIBILITY_STRATEGIES.has(h)||this.currentProfile&&(He(this.currentProfile,a.value)??He(this.currentProfile,h))!==void 0||a.value.includes("?."))return r.optional||false}if(r.role==="event"){let h=(a.normalized??a.value).toLowerCase();if($.STRUCTURAL_NEVER_EVENT.has(h))return r.optional||false}if(Cf(o,this.currentProfile?.code??"")||bf(o,this.currentPatternCommand))return r.optional||false;if(r.role==="duration"){let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h))return r.optional||false}if(Af(o))return true;if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchPositionalPossessiveExpression(t,i);if(h)return n.set(r.role,h),true}let s=this.tryMatchPositionalExpression(t,i);if(s)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(s.type,r.expectedTypes)?r.optional||false:(n.set(r.role,s),true);let l=this.tryMatchCaretScopeExpression(t);if(l)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(l.type,r.expectedTypes)?r.optional||false:(n.set(r.role,l),true);let c=this.tryMatchParenReceiverCall(t);if(c)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,c),true);if(r.role!=="event"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchBeepPrefixExpression(t);if(h)return n.set(r.role,h),true;let A=this.tryMatchHyphenatedWord(t);if(A)return n.set(r.role,A),true;let w=this.isWrittenTarget(r)?null:this.tryMatchOperatorRunExpression(t);if(w)return n.set(r.role,w),true}if(this.currentPatternCommand==="pick"&&r.role==="patient"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchPickRangeExpression(t);if(h)return n.set(r.role,h),true}if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchOfPossessiveExpression(t,i);if(h)return n.set(r.role,h),true;let A=this.tryMatchPostNominalPossessiveExpression(t);if(A)return n.set(r.role,A),true}let p=this.tryMatchPossessiveExpression(t);if(p)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(p.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,p),true);let m=this.tryMatchMethodCallExpression(t);if(m)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(m.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,m),true);let f=r.role==="event"&&this.currentPatternCommand==="on"||$.DECLARATION_COMMANDS.has(this.currentPatternCommand??"")||this.isWrittenTarget(r)?null:this.tryMatchBareCallExpression(t);if(f)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(f.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,f),true);let d=this.tryMatchPossessiveSelectorExpression(t);if(d)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(d.type,r.expectedTypes)?r.optional||false:(n.set(r.role,d),true);let v=r.role!=="condition",g=this.tryMatchPropertyAccessExpression(t,v);if(g)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(g.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,g),true);let k=this.tryMatchSelectorPropertyExpression(t);if(k)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(k.type,r.expectedTypes)?r.optional||false:(n.set(r.role,k),true);if(a.value==="("&&r.role!=="event"&&r.role!=="action"&&(!r.expectedTypes?.length||r.expectedTypes.some(h=>h==="expression"||h==="selector"||h==="reference"))){let h=this.tryMatchParenGroupExpression(t);if(h)return n.set(r.role,h),true}if(a.kind==="identifier"&&a.value==="{"){let h=r.expectedTypes,w=h?.length===1&&h[0]==="expression"||this.isObjectValueSlot(r)?this.tryMatchBraceRunExpression(t):!h?.length||h.includes("literal")?this.tryMatchBraceRunLiteral(t):null;if(w)return n.set(r.role,w),true}if(r.role==="style"&&r.expectedTypes?.length===1&&r.expectedTypes[0]==="expression"){let h=or(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(Sf(o)||Ff(o,this.currentSchema())||zf(o,this.currentProfile?.code??""))return n.set(r.role,{type:"expression",raw:a.value}),t.advance(),true;let E=this.tokenToSemanticValue(a);if(!E)return r.optional||false;if(r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(E.type)){let h=E.type==="selector"&&String(E.value).startsWith("@"),A=r.expectedTypes.some(w=>w==="expression"||w==="reference");if(!(h&&A))return r.optional||false}r.valueShape==="keyword"&&E.type==="expression"?n.set(r.role,te(String(E.raw??""))):n.set(r.role,E),t.advance();let b=this.isClassNameSlot(r);if(E.type==="selector"&&(E.value.startsWith("<")||E.value.startsWith(".")&&!b)&&r.role!=="event"){let h=jr(t.tokens,t.position(),this.currentProfile,A=>A===void 0?false:this.patternTokenWouldMatch(i,A));if(h){let[A,w]=h.scope.parts,x=h.scope.kind==="reference"?Te(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${w.text}`}:this.tokenToSemanticValue(A.token);for(let B=0;B<1+h.scope.consumed;B++)t.advance();n.set(r.role,{...E,scope:x});}}if(r.role==="event"){let h=t.peek();h&&h.kind==="selector"&&h.value.startsWith("[")&&h.position.start===a.position.end&&"value"in E&&(n.set(r.role,te(`${String(E.value)}${h.value}`)),t.advance());let A=t.peek();if(A&&(A.kind==="particle"||A.kind==="keyword")&&(A.normalized??"").toLowerCase()==="source"&&!this.patternTokenWouldMatch(i,A)){let w=t.peek(1),x=w?this.sourceNounValue(w):void 0;x&&!this.eventSource&&(t.advance(),t.advance(),this.eventSource=x);}}return true}atClauseEnd(t){return Ye(t.tokens,t.position(),this.currentProfile?.code??"")}tryMatchPositionalExpression(t,r){let n=_t(t.tokens,t.position(),this.currentProfile,i=>i===void 0?false:this.patternTokenWouldMatch(r,i));if(!n)return null;for(let i=0;i<n.consumed;i++)t.advance();return {type:"expression",raw:n.parts.map(i=>i.text).join(" ")}}tryMatchCaretScopeExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!r.value.startsWith("^"))return null;let n=t.peek(1),i=t.peek(2),a=(n?.normalized??"").toLowerCase(),u=!!n&&(n.value.toLowerCase()==="on"||a==="destination"||a==="on");return !n||!i||i.kind!=="selector"||!u?null:(t.advance(),t.advance(),t.advance(),{type:"expression",raw:`${r.value} on ${i.value}`})}isOfPossessiveMarker(t){return lt(this.currentProfile,t)}logicalConnectiveOf(t){let r=t.peek();if(!r)return;let n=this.currentProfile?.code??"en",i=s=>s==="and"||s==="or"||s==="not",a=ct(n,r.value).toLowerCase();if(i(a))return a;if(this.commandMarkers().has(r.value.toLowerCase()))return;let u=t.position(),o=nf(n,{tokens:t.tokens,i:u});return o&&i(o)?o:void 0}tryConsumeRunPhrase(t){let r=this.currentProfile?.code??"en",n=t.tokens,i=t.position(),a=[],u;for(let o=0;o<6&&i+o<n.length;o++){let s=pt(r,{tokens:n,i:i+o},u).toLowerCase();a.push(s),u=s;}for(let[o,s]of $.RUN_PHRASES)if(o.every((l,c)=>a[c]===l)){for(let l=0;l<o.length;l++)t.advance();return s}}slotAt(t,r,n){return new kf(t,r,this.slotAfterLiteral,n,this.wouldMatch,this.currentProfile?.code??"")}static isBareWordToken(t){return !!t&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t.value)}tryMatchBeepPrefixExpression(t){let r=t.peek(),n=t.peek(1);if(!r||!n||n.value!=="!"||(r.normalized??r.value).toLowerCase()!=="beep"||!(r.position?.end!==void 0&&n.position?.start!==void 0&&r.position.end===n.position.start))return null;let a=t.mark(),u=t.position();if(t.advance(),t.advance(),!this.tryConsumeRunOperand(t))return t.reset(a),null;for(;;){let s=t.peek();if(!s||!ut.has(s.value))break;let l=t.mark();if(t.advance(),!this.tryConsumeRunOperand(t,true)){t.reset(l);break}}let o=Ne(t.tokens.slice(u,t.position()),this.currentProfile);return {type:"expression",raw:o,value:o}}tryMatchHyphenatedWord(t){let r=t.peek();if(!$.isBareWordToken(r))return null;let n=1,i=[r.value];for(;;){let a=t.peek(n),u=t.peek(n+1);if(!a||a.value!=="-"||!$.isBareWordToken(u)||!ur(t.peek(n-1),a)||!ur(a,u))break;i.push(u.value),n+=2;}if(i.length<2)return null;for(let a=0;a<n;a++)t.advance();return te(i.join("-"),"string")}tryMatchOperatorRunExpression(t){let r=t.mark(),n=t.position(),i=t.peek(),a=!!i&&(this.logicalConnectiveOf(t)==="not"||i.value==="-");if(!this.tryConsumeRunOperand(t))return t.reset(r),null;let u=1;for(;;){let s=t.peek();if(!s)break;let l=this.logicalConnectiveOf(t),c=(l==="and"||l==="or")&&this.currentRoleCommand!=="wait",p=t.mark();if(c||ut.has(s.value))t.advance();else {let m=this.tryConsumeRunPhrase(t);if(m===void 0)break;if(m==="none"){u++;continue}}if(!this.tryConsumeRunOperand(t,true,c)){t.reset(p);break}u++;}if(u<2&&!a)return t.reset(r),null;let o=Ne(t.tokens.slice(n,t.position()),this.currentProfile);return {type:"expression",raw:o,value:o}}static rangeSeparatorFor(t){let[r]=$.PICK_RANGE_SEPARATORS_BY_LANG[t]??[];return r}isPickRangeSeparator(t){let r=(t.normalized??t.value).toLowerCase();if($.PICK_RANGE_SEPARATORS.has(r))return true;let n=this.currentProfile?.code;return n?$.PICK_RANGE_SEPARATORS_BY_LANG[n]?.has(t.value.toLowerCase())??false:false}tryMatchPickRangeExpression(t){let r=t.mark(),n=t.position();if(!this.tryConsumePickRangeOperand(t))return t.reset(r),null;let i=t.peek();if(!i||!this.isPickRangeSeparator(i)||(t.advance(),!this.tryConsumePickRangeOperand(t)))return t.reset(r),null;let a=t.peek();a&&$.PICK_RANGE_MODES.has((a.normalized??a.value).toLowerCase())&&t.advance();let u=t.tokens.slice(n,t.position()),[o,,s,l]=u,c=m=>m.kind==="keyword"?m.normalized??m.value:m.value,p=`${c(o)} to ${c(s)}`;return l&&(p+=` ${(l.normalized??l.value).toLowerCase()}`),{type:"expression",raw:p,value:p}}tryConsumePickRangeOperand(t){let r=t.peek();if(!r)return false;let n=(r.normalized??r.value).toLowerCase();if(this.isPickRangeSeparator(r))return false;let i=n==="start"||n==="end";return r.kind==="literal"||r.kind==="identifier"||r.kind==="keyword"&&i?(t.advance(),true):false}tryConsumeRunOperand(t,r=false,n=false){let i=t.peek();if(!i)return false;if(this.logicalConnectiveOf(t)==="not"){let u=t.mark();return t.advance(),Bf(t.peek()??void 0,t.peek(1)??void 0)?(t.reset(u),false):this.tryConsumeRunOperand(t,true,n)?true:(t.reset(u),false)}if(i.value==="-"){let u=t.mark();return t.advance(),this.tryConsumeRunOperand(t,true,n)?true:(t.reset(u),false)}if(n&&Df(i))return false;if(Pf(i,r,t.peek(1)??void 0))return t.advance(),true;if(i.value==="("){let u=t.mark(),o=0;for(;!t.isAtEnd();){let s=t.advance();if(s.value==="(")o++;else if(s.value===")"&&(o--,o===0))return true}return t.reset(u),false}if(this.tryMatchPossessiveExpression(t))return true;if(i.value.toLowerCase()==="the"){let u=t.mark();if(t.advance(),this.tryConsumeRunOperand(t,r,n))return true;t.reset(u);}if(this.tryMatchOfPossessiveExpression(t,void 0,true)||this.tryMatchPossessiveSelectorExpression(t)||this.tryMatchPropertyAccessExpression(t,true)||this.tryMatchSelectorPropertyExpression(t))return true;let a=(i.normalized??"").toLowerCase();return (i.kind==="literal"||i.kind==="identifier"||i.kind==="selector"||i.kind==="keyword")&&!ut.has(i.value)&&!["then","else"].includes(a)&&!Ye(t.tokens,t.position(),this.currentProfile?.code??"")&&i.value!==")"?(t.advance(),true):false}isPossessorToken(t){if(!this.currentProfile)return false;for(let r of [t.value,t.normalized].filter(Boolean))if(He(this.currentProfile,r)??He(this.currentProfile,r.toLowerCase()))return true;return false}isBareWordPropertyHead(t){return t.kind==="keyword"?!!this.currentProfile&&Hn(this.currentProfile.code,t.value):t.kind!=="identifier"||/^[$:@#.*]/.test(t.value)||this.isStructuralKeyword(t.value)||t.normalized&&this.isStructuralKeyword(t.normalized)||t.normalized&&this.isRoleMarkerConcept(t.normalized)?false:!this.isPossessorToken(t)}toEnglishProperty(t){return this.currentProfile?Be(this.currentProfile.code,t):t}roleAcceptsPropertyPath(t){if(t.type!=="role")return false;if(t.expectedTypes)return t.expectedTypes.includes("property-path");let r=this.currentRoleCommand;return r?Ce[r]?.roles.find(a=>a.role===t.role)?.expectedTypes?.includes("property-path")??false:false}tryMatchOfPossessiveExpression(t,r,n=false){let i=t.peek();if(!i||!(i.kind==="selector"?/^[*@]/.test(i.value):this.isBareWordPropertyHead(i)))return null;let u=t.position(),o=t.mark();t.advance();let s="";if(i.kind!=="selector")for(let m=t.peek(),y=i;m&&!(m.kind!=="selector"||!/^\.[A-Za-z_]\w*$/.test(m.value)||y.position.end!==m.position.start);m=t.peek())s+=m.value,y=m,t.advance();let l=t.peek();if(!l||!this.isOfPossessiveMarker(l))return t.reset(o),null;if(this.currentRoleCommand==="swap"&&this.patternTokenWouldMatch(r,l)){let m=t.tokens[t.position()+2];if(!m||!this.patternTokenWouldMatch(r,m))return t.reset(o),null}t.advance(),t.peek()?.value.toLowerCase()==="the"&&t.advance();let c=_t(t.tokens,t.position(),this.currentProfile,m=>m===void 0?false:this.patternTokenWouldMatch(r,m));if(c){for(let m=0;m<c.consumed;m++)t.advance();return Ve({type:"expression",raw:c.parts.map(m=>m.text).join(" ")},this.toEnglishProperty(i.value)+s,"possessive")}let p=t.peek();if(!p||p.kind!=="selector"||ly(p.value)){if(t.reset(o),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=As(t.tokens,u,this.currentProfile,m);if(y===void 0)return null;for(;t.position()<=y;)t.advance();let f=Ne(t.tokens.slice(u,y+1),this.currentProfile);return {type:"expression",raw:f,value:f}}if(t.advance(),/^[<.]/.test(p.value)&&!n){let m=t.position()-1,y=jr(t.tokens,t.position(),this.currentProfile,b=>b===void 0?false:this.patternTokenWouldMatch(r,b)),f=b=>b===void 0?false:this.patternTokenWouldMatch(r,b),d=t.peek()??void 0,v=t.tokens[t.position()+1]?.value.toLowerCase()==="the"?1:0,g=!y&&d&&vs(this.currentProfile,d)?_t(t.tokens,t.position()+1+v,this.currentProfile,f):null,k=y?y.scope.consumed:g?v+g.consumed:void 0,E=k!==void 0?t.tokens[t.position()+1+k]:void 0;if(k!==void 0&&(y||!f(d)||f(E))){let b=t.position()+1+k,D=Ne(t.tokens.slice(m,b),this.currentProfile);for(;t.position()<b;)t.advance();return Ve({type:"expression",raw:D},this.toEnglishProperty(i.value)+s,"possessive")}}return Ve(Le(p.value),this.toEnglishProperty(i.value)+s,"possessive")}tryMatchPositionalPossessiveExpression(t,r){let n=this.currentProfile,i=n?.possessive?.marker;if(!n||!i||n.possessive?.markerPosition!=="between"||n.code==="th")return null;let a=_t(t.tokens,t.position(),n,l=>l===void 0?false:this.patternTokenWouldMatch(r,l));if(!a)return null;let u=t.peek(a.consumed),o=t.peek(a.consumed+1);if(!u||u.value!==i)return null;let s=!!o&&(this.isBareWordPropertyHead(o)||o.kind==="selector"&&o.value.startsWith("*")||o.kind==="keyword"&&Hn(n.code,o.value));if(!o||!s)return null;for(let l=0;l<a.consumed+2;l++)t.advance();return Ve({type:"expression",raw:a.parts.map(l=>l.text).join(" ")},this.toEnglishProperty(o.value),"possessive")}tryMatchPossessiveExpression(t){let r=t.peek();if(!r||!this.currentProfile)return null;let n=[r.value,r.normalized].filter(Boolean),i;for(let s of n)if(i=He(this.currentProfile,s)??He(this.currentProfile,s.toLowerCase()),i)break;if(!i)return null;let a=t.mark();t.advance();let u=this.currentProfile.possessive?.connectors;if(u&&u.length>0){let s=t.peek();if(s){let l=s.value.toLowerCase(),c=(s.normalized??"").toLowerCase();u.some(p=>p.toLowerCase()===l||p.toLowerCase()===c)&&t.advance();}}let o=t.peek();if(!o||Uc(this.currentProfile.code,o.value))return t.reset(a),null;if(o.kind==="identifier"||o.kind==="keyword"&&!this.isStructuralKeyword(o.value)&&!(o.normalized&&this.isStructuralKeyword(o.normalized))&&!(o.normalized&&this.isRoleMarkerConcept(o.normalized))&&!(o.normalized&&$.COMMAND_ACTION_KEYWORDS.has(o.normalized.toLowerCase()))&&!(o.normalized&&$.CONDITION_OPERATOR_WORDS.has(o.normalized.toLowerCase()))||o.kind==="selector"&&o.value.startsWith("*")||o.kind==="selector"&&o.value.startsWith("@")||o.kind==="selector"&&o.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(o.value)){t.advance();let s=o.value;o.kind==="selector"&&s.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s)&&(s=s.substring(1)),s=this.toEnglishProperty(s),s===o.value&&o.kind==="keyword"&&o.normalized&&/^[A-Za-z]+$/.test(o.normalized)&&o.normalized.toLowerCase()!==o.value.toLowerCase()&&(s=o.normalized);let l=s;for(;;){let p=t.peek();if(p?.kind==="selector"&&p.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(p.value)){l+=p.value,t.advance();continue}if(p?.value==="?"){let m=t.peek(1);if(m?.kind==="selector"&&m.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(m.value)){l+=`?${m.value}`,t.advance(),t.advance();continue}}break}let c=t.peek();if(c&&c.value.startsWith("(")){let p="",m=0,y=0;for(;!t.isAtEnd()&&y++<$.MAX_METHOD_ARGS+2;){let f=t.peek();if(!f)break;p+=f.value,t.advance();for(let d of f.value)d==="("?m++:d===")"&&m--;if(m<=0)break}l+=p;}return Ve(Te(i),l,"possessive")}return t.reset(a),null}tryMatchPostNominalPossessiveExpression(t){if(!this.currentProfile||this.currentProfile.possessive?.markerPosition!=="after-object")return null;let r=t.peek();if(!r)return null;let n=r.kind==="selector"&&r.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(r.value);if(!(r.kind==="identifier"&&!this.isStructuralKeyword(r.value)&&!(r.normalized&&this.isStructuralKeyword(r.normalized))&&!(r.normalized&&this.isRoleMarkerConcept(r.normalized))||r.kind==="selector"&&(r.value.startsWith("*")||r.value.startsWith("@"))||n)||this.isPossessorToken(r))return null;let a=t.mark(),u=r.value;n&&(u=u.substring(1)),t.advance(),u=this.toEnglishProperty(u);let o=u;for(;t.peek()?.kind==="selector"&&t.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(t.peek().value);)o+=t.peek().value,t.advance();let s=t.peek();if(!s)return t.reset(a),null;let l;for(let p of [s.value,s.normalized].filter(Boolean))if(l=He(this.currentProfile,p)??He(this.currentProfile,p.toLowerCase()),l)break;if(!l)return t.reset(a),null;let c=t.mark();return this.tryMatchPossessiveExpression(t)?(t.reset(a),null):(t.reset(c),t.advance(),Ve(Te(l),o,"possessive"))}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}isRoleMarkerConcept(t){return yr.has(t.toLowerCase())}static tokenLooksLikeEvent(t){if(t.kind==="selector"||t.kind==="url"||t.kind==="literal")return false;let r=t.value;if(/[/#@*]/.test(r)||r.startsWith('"')||r.startsWith("'")||r.startsWith("`"))return false;let n=t.normalized?.toLowerCase();return !(n&&sy.has(n)||n==="me"||n==="it"||n==="you")}tryMatchStrategyArgument(t){let r=t.mark(),n=t.peek();if(!n||!/^\*?[A-Za-z][\w-]*(:[\w-]*)?$/.test(n.value))return null;let i=n.value,a=n;if(t.advance(),i.endsWith(":")||t.peek()?.value===":"){if(!i.endsWith(":")){let o=t.advance();if(!$.abuts(a,o))return t.reset(r),null;i+=":",a=o;}let u=t.peek();u&&u.position.start>a.position.end&&(i+=u.value,a=u,t.advance());}if(!i.includes(":"))return t.reset(r),null;for(let u=t.peek();u&&$.abuts(a,u);u=t.peek())i+=u.value,a=u,t.advance();return i.endsWith(":")?(t.reset(r),null):{type:"expression",raw:i}}tryMatchBraceRunLiteral(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark();t.advance();let i="{",a=r.position.end,u=1,o=0;for(;!t.isAtEnd()&&o++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(s.position.start>a&&(i+=" "),i+=s.value,a=s.position.end,s.value==="{")u++;else if(s.value==="}"&&(u--,u===0))return te(i)}return t.reset(n),null}tryMatchBraceRunExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark(),i="",a=-1,u=0,o=0;for(;!t.isAtEnd()&&o++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(a>=0&&s.position.start>a&&(i+=" ".repeat(s.position.start-a)),i+=s.value,a=s.position.end,s.value==="{")u++;else if(s.value==="}"&&(u--,u===0))return {type:"expression",raw:i}}return t.reset(n),null}tryMatchBareCallExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!/^[A-Za-z_][\w$]*$/.test(r.value))return null;let n=t.peek(1);if(!n||n.value!=="(")return null;let i=t.mark();t.advance();let a=t.advance(),u="",o=a.position?.end,s=false,l=0;for(;!t.isAtEnd()&&l++<$.MAX_METHOD_ARGS+2;){let c=t.peek();if(!c)break;if(c.value===")"){t.advance(),s=true;break}let p=o!==void 0&&c.position?.start===o;u+=(u===""||p?"":" ")+c.value,o=c.position?.end,t.advance();}return s?{type:"expression",raw:`${r.value}(${u})`}:(t.reset(i),null)}tryMatchMethodCallExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="operator"||i.value!==".")return t.reset(n),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(n),null;t.advance();let u=t.peek();if(!u||u.kind!=="punctuation"||u.value!=="(")return t.reset(n),null;t.advance();let o=[];for(;!t.isAtEnd()&&o.length<$.MAX_METHOD_ARGS;){let l=t.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){t.advance();break}if(l.kind==="punctuation"&&l.value===","){t.advance();continue}o.push(l.value),t.advance();}return {type:"expression",raw:`${r.value}.${a.value}(${o.join(", ")})`}}tryMatchParenReceiverCall(t){if(t.peek()?.value!=="(")return null;let r=t.mark(),n=[];t.advance();let i=1;for(;!t.isAtEnd()&&n.length<=$.MAX_METHOD_ARGS*4;){let c=t.peek();if(t.advance(),c.value==="(")i++;else if(c.value===")"&&--i===0)break;n.push(c);}let a=t.tokens[t.position()-1],u=t.peek();if(i!==0||n.length===0||!u||u.kind!=="selector"||!/^\.[A-Za-z_$][\w$]*$/.test(u.value)||!$.abuts(a,u))return t.reset(r),null;t.advance();let o=t.peek();if(o?.value!=="("||!$.abuts(u,o))return t.reset(r),null;let s=this.consumeCallParens(t);return s===null?(t.reset(r),null):{type:"expression",raw:`(${Ne(n,this.currentProfile)})${u.value}${s}`}}tryMatchParenGroupExpression(t){if(t.peek()?.value!=="(")return null;let r=t.mark();t.advance();let n=[],i=1;for(;!t.isAtEnd();){let l=t.peek();if(t.advance(),l.value==="(")i++;else if(l.value===")"&&--i===0)break;n.push(l);}let a=t.tokens[t.position()-1],u=t.peek(),o=!!u&&(u.value==="'"||ut.has(u.value)||$.abuts(a,u)&&(u.value.startsWith(".")||u.value==="("));if(i!==0||n.length===0||o)return t.reset(r),null;let s=`(${Ne(n,this.currentProfile)})`;return {type:"expression",raw:s,value:s}}static abuts(t,r){return !!t&&!!r&&t.position.end===r.position.start}consumeCallParens(t){let r=t.mark(),n="",i,a=0;for(;!t.isAtEnd();){let u=t.peek();if(!u)break;if(n+=(i&&!$.abuts(i,u)?" ":"")+u.value,i=u,t.advance(),u.value==="(")a++;else if(u.value===")"&&--a===0)return n}return t.reset(r),null}tryMatchPropertyAccessExpression(t,r=true){let n=t.peek();if(!n||n.kind!=="identifier"&&n.kind!=="keyword")return null;let i=t.mark();t.advance();let a=n.value.toLowerCase(),u=t.peek();if((n.kind==="identifier"||$.PROPERTY_ACCESS_BASES.has(a))&&u&&u.kind==="selector"&&/^\.[a-zA-Z_]/.test(u.value)&&u.position.start===n.position.end){let y=n.value,f=[],d=0;for(;d<$.MAX_PROPERTY_DEPTH;){let k=t.peek();if(k&&k.kind==="selector"&&/^\.[a-zA-Z_]/.test(k.value))y+=`.${k.value.slice(1)}`,f.push(k.value.slice(1)),t.advance(),d++;else break}let v=t.peek(),g=!!v&&v.value.startsWith("(")&&($.abuts(t.tokens[t.position()-1],v)||this.patternRest[0]?.type!=="role");return r&&!g&&f.length>0&&Ke(a)?Ve(Te(a),f.join("."),"dot"):(g&&(y+=this.consumeCallParens(t)??""),{type:"expression",raw:y})}let o=t.peek();if(!o||o.kind!=="operator"||o.value!==".")return t.reset(i),null;t.advance();let s=t.peek();if(!s||s.kind!=="identifier")return t.reset(i),null;t.advance();let l=`${n.value}.${s.value}`,c=1;for(;!t.isAtEnd()&&c<$.MAX_PROPERTY_DEPTH;){let y=t.peek();if(!y||y.kind!=="operator"||y.value!==".")break;t.advance();let f=t.peek();if(!f||f.kind!=="identifier")break;t.advance(),l+=`.${f.value}`,c++;}let p=t.peek();if(p&&p.kind==="punctuation"&&p.value==="("){t.advance();let y=[],f=0;for(;!t.isAtEnd()&&y.length<$.MAX_METHOD_ARGS;){let v=t.peek();if(!v)break;if(v.kind==="punctuation"&&v.value===")"){if(f===0){t.advance();break}f--;}if(v.kind==="punctuation"&&v.value==="("&&f++,v.kind==="punctuation"&&v.value===","){t.advance();continue}y.push(v.value),t.advance();}return {type:"expression",raw:`${l}(${y.join(", ")})`}}let m=n.value.toLowerCase();if(r&&Ke(m)){let y=l.split(".").slice(1).join(".");return Ve(Te(m),y,"dot")}return {type:"expression",raw:l}}tryMatchPossessiveSelectorExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek(),a=this.currentProfile?.possessive?.marker?.replace(/^-/,""),u=!!i&&i.kind==="punctuation"&&i.value==="'s",o=!!i&&i.value==="'"&&(t.peek(1)?.value??"").toLowerCase()==="s",s=(()=>{if(!this.currentPatternCommand||(i?.normalized??"").toLowerCase()!=="source")return false;let f=Ce[this.currentPatternCommand];return !!f&&f.roles.some(d=>d.role==="source")})(),l=!!i&&!!a&&a!=="'s"&&i.value===a&&(i.kind==="particle"||i.kind==="punctuation"||i.kind==="identifier")&&!s;if(!u&&!l&&!o)return t.reset(n),null;t.advance(),o&&t.advance();let c=t.peek();if(!c)return t.reset(n),null;let p=c.kind==="selector"&&c.value.startsWith("*"),m=c.kind==="keyword"&&!!this.currentProfile&&Hn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(u||o)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),Ve(Le(r.value),this.toEnglishProperty(c.value),"possessive")):(t.reset(n),null)}tryMatchSelectorPropertyExpression(t){let r=t.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("#"))return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="selector"||!i.value.startsWith("."))return t.reset(n),null;t.advance();let a=[i.value.slice(1)],u=i;for(let s=t.peek();s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value)&&a.length<$.MAX_PROPERTY_DEPTH;s=t.peek())a.push(s.value.slice(1)),u=s,t.advance();let o=t.peek();if(o?.value==="("&&$.abuts(u,o)){let s=this.consumeCallParens(t);if(s!==null)return {type:"expression",raw:`${r.value}.${a.join(".")}${s}`}}return Ve(Le(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return mn(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(wf(this.slotAt(t,r,n)))return;let u=t.mark();t.advance();let o=t.peek();if(o&&(o.kind==="selector"||o.kind==="identifier"))return;let s=t.peek(1);if(o&&o.kind==="keyword"&&s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value))return;let l=o?(o.normalized??o.value).toLowerCase():"";if(o&&$.POSITIONAL_OR_SCOPE_KEYWORDS.has(l))return;let c=t.peek(1),p=c?(c.normalized??c.value).toLowerCase():"",m=this.currentProfile?.wordOrder!=="SOV"&&$.COMMAND_ACTION_KEYWORDS.has(p),y=!c||c.kind==="particle"||$.CLAUSE_BOUNDARY_KEYWORDS.has(p)||m;if(o&&o.kind==="keyword"&&this.currentProfile?.code!=="en"&&Ke(l)&&y||o&&o.kind==="keyword"&&this.currentProfile?.code==="en"&&Ke(l))return;t.reset(u);}a==="class"&&t.advance();}};me.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);me.LOOP_CONDITION_OPERATORS=new Set([...cs,"and","or"]);me.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);me.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);me.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);me.COMMAND_ACTION_KEYWORDS=Yt;me.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);me.RUN_PHRASES=[..._i.map(e=>[e.split(" "),"none"]),...Ni.map(e=>[e.split(" "),"type"]),...Li.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];me.PICK_RANGE_SEPARATORS=new Set(["to"]);me.PICK_RANGE_SEPARATORS_BY_LANG={ar:new Set(["\u0625\u0644\u0649"]),bn:new Set(["\u09A5\u09C7\u0995\u09C7"]),de:new Set(["zu","bis"]),es:new Set(["a"]),fr:new Set(["\xE0"]),he:new Set(["\u05E2\u05DC","\u05E2\u05D3"]),hi:new Set(["\u0938\u0947"]),id:new Set(["ke"]),it:new Set(["in","a"]),ja:new Set(["\u304B\u3089"]),ko:new Set(["\uBD80\uD130"]),ms:new Set(["ke"]),pl:new Set(["do"]),pt:new Set(["para","a"]),qu:new Set(["kama"]),ru:new Set(["\u0432","\u0434\u043E"]),sw:new Set(["kwa","hadi"]),th:new Set(["\u0E43\u0E19","\u0E16\u0E36\u0E07"]),tl:new Set(["sa"]),tr:new Set(["ile"]),uk:new Set(["\u0432","\u0434\u043E"]),vi:new Set(["v\xE0o","\u0111\u1EBFn"]),zh:new Set(["\u5230"])};me.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);me.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);me.MAX_BRACE_RUN_TOKENS=64;me.MAX_PROPERTY_DEPTH=10;me.MAX_METHOD_ARGS=20;me.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);me.DECLARATION_COMMANDS=new Set(["behavior","def"]);me.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};me.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Ru=me,Ms=class extends Ca{constructor(e){super(t=>new Ru(t),e??oy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return Ru.rangeSeparatorFor(e)}extractEventModifiers(e){let t={},r=false;for(;!e.isAtEnd();){let n=e.peek();if(!n||n.kind!=="event-modifier")break;let i=n.metadata;if(!i)break;switch(r=true,i.modifierName){case "once":t.once=true;break;case "debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case "throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case "queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance();}return r?t:void 0}},Pe=new Ms,cy={a:"\xE1",e:"\xEA",i:"i"};function py(e,t,r){switch(e){case "infinitive":return /r$/.test(t)?t+r:void 0;case "infinitive-drop-e":return /re$/.test(t)?t.slice(0,-1)+r:void 0;case "hyphen":{if(!/[aei]r$/.test(t))return;if(!r.startsWith("l"))return `${t}-${r}`;let n=t[t.length-2];return `${t.slice(0,-2)}${cy[n]}-${r}`}case "suffix":return t+r;case "before":return /^\p{L}+(?:er|ir|re)$/u.test(t)?/^[aeiouyàâäéèêëîïôöùûüœh]/iu.test(t)?`${r.slice(0,-1)}'${t}`:`${r} ${t}`:void 0}}var dy=/[aeıioöuü]/gu,my=new Set(["a","\u0131","o","u"]),fy=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function yy(e){let t=e.toLowerCase(),r=t.match(dy);return r?(fy.has(t[t.length-1])?"t":"d")+(my.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return Oc(e,t)}function $s(){return Pc()}function vy(e,t){let r=e[t];return r==='"'||r==="`"?true:r!=="'"?false:!(/[\p{L}\p{N}_]/u.test(e[t-1]??"")&&/[\p{L}]/u.test(e[t+1]??""))}function hy(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(vy(e,r)){let a=r+1;for(;a<e.length&&e[a]!==n;)a+=e[a]==="\\"?2:1;t+=e.slice(r,a+1),r=a+1;continue}let i=e[r+2];if((n==="-"||n==="/")&&e[r+1]===n&&(i===void 0||/\s/.test(i)||i===n)){let a=r;for(;a<e.length&&e[a]!==`
|
|
7
|
+
`?(n++,i=1):i++,f}function s(){for(;r<e.length&&/\s/.test(e[r]);)o();}function l(f){let d="";for(;r<e.length&&f(e[r]);)d+=o();return d}function c(f){let d=f;for(o();r<e.length&&e[r]!==f;)e[r]==="\\"&&r+1<e.length&&(d+=o()),d+=o();return r<e.length&&(d+=o()),d}function p(){let f="`";for(o();r<e.length&&e[r]!=="`";)e[r]==="\\"&&r+1<e.length&&(f+=o()),f+=o();return r<e.length&&(f+=o()),f}function m(){let f="<";for(o();r<e.length&&(f+=o(),!f.endsWith("/>")););return f}function y(f,d,v){return {type:f,value:d,start:v,end:r,line:n,column:i-d.length}}for(;r<e.length&&(s(),!(r>=e.length));){let f=r,d=u();if(d==="'"&&u(1)==="s"&&!/\w/.test(u(2))){o(),o(),t.push(y("POSSESSIVE","'s",f));continue}if(d==='"'||d==="'"){let g=c(d);t.push(y("STRING",g,f));continue}if(d==="`"){let g=p();t.push(y("TEMPLATE_LITERAL",g,f));continue}if(d==="<"&&/[a-zA-Z.#\[]/.test(u(1))){let g=m();t.push(y("QUERY_SELECTOR",g,f));continue}if(d==="#"&&a()){o();let g=l(k=>/[\w-]/.test(k));t.push(y("ID_SELECTOR","#"+g,f));continue}if(d==="."&&/[a-zA-Z_-]/.test(u(1))&&a()){o();let g=l(k=>/[\w-]/.test(k));t.push(y("CLASS_SELECTOR","."+g,f));continue}if(d==="@"&&/[a-zA-Z_]/.test(u(1))){o();let g=l(k=>/[\w-]/.test(k));t.push(y("ATTRIBUTE_REF","@"+g,f));continue}if(d==="["&&a()&&u(1)==="@"){let k="";for(k+=o();r<e.length&&e[r]!=="]";)e[r]==='"'||e[r]==="'"?k+=c(e[r]):k+=o();r<e.length&&(k+=o()),t.push(y("ATTRIBUTE_SELECTOR",k,f));continue}if(d==="["){o(),t.push(y("LBRACKET","[",f));continue}if(d==="]"){o(),t.push(y("RBRACKET","]",f));continue}if(/\d/.test(d)){let g=l(b=>/[\d.]/.test(b)),k=r,E=l(b=>/[a-zA-Z]/.test(b));x4.has(E)?t.push(y("TIME_EXPRESSION",g+E,f)):Xr.has(E)||!E&&e[r]==="%"?(E||o(),t.push(y("STRING",`"${g}${E||"%"}"`,f))):(r=k,t.push(y("NUMBER",g,f)));continue}if(d==="("){o(),t.push(y("LPAREN","(",f));continue}if(d===")"){o(),t.push(y("RPAREN",")",f));continue}if(d==="{"){o(),t.push(y("LBRACE","{",f));continue}if(d==="}"){o(),t.push(y("RBRACE","}",f));continue}if(d===","){o(),t.push(y("COMMA",",",f));continue}let v=t[t.length-1]?.type;if(d===":"&&/[a-zA-Z_]/.test(e[r+1]??"")&&(v===void 0||/\s/.test(e[r-1]??"")||v==="OPERATOR"||v==="COMPARISON"||v==="LPAREN"||v==="LBRACKET"||v==="COMMA")){o();let g=l(k=>/[\w$]/.test(k));t.push(y("IDENTIFIER",`:${g}`,f));continue}if(d===":"){o(),t.push(y("COLON",":",f));continue}if(d==="."){o(),t.push(y("DOT",".",f));continue}if(d==="|"){o(),t.push(y("PIPE","|",f));continue}if(d==="+"||d==="-"||d==="*"||d==="/"||d==="%"){o(),t.push(y("OPERATOR",d,f));continue}if(d==="="||d==="!"||d==="<"||d===">"){let g=o();u()==="="&&(g+=o()),(g==="=="||g==="!=")&&u()==="="&&(g+=o()),t.push(y("COMPARISON",g,f));continue}if(/[a-zA-Z_$]/.test(d)){let g=l(E=>/[\w$]/.test(E)),k=g.toLowerCase();w4.has(k)?t.push(y("CONTEXT_VAR",g,f)):C4.has(k)?t.push(y("LOGICAL",g,f)):z4.has(k)?t.push(y("BOOLEAN",g,f)):t.push(y("IDENTIFIER",g,f));continue}o();}return t.push(y("EOF","",r)),t}var D4=new Set(["my","its","your"]),B4={my:"me",its:"it",your:"you"},S4=new Set(["is","matches","match","contains","in","exists","does"]),F4=new Set(["next","previous","closest","first","last"]),T4=[..._i,...Ni,...Li].map(e=>[e,e.split(" ")]),P4=class{constructor(){this.tokens=[],this.current=0,this.collectionOperand=0;}parse(e){try{return this.tokens=ls(e),this.current=0,this.isAtEnd()?{success:!1,error:"Empty expression"}:{success:!0,node:this.parseExpression(),consumed:this.current}}catch(t){return {success:false,error:t instanceof Error?t.message:"Parse error"}}}peek(){return this.tokens[this.current]??{type:"EOF",value:"",start:0,end:0}}peekAt(e){return this.tokens[this.current+e]??{type:"EOF",value:"",start:0,end:0}}previous(){return this.tokens[this.current-1]??{type:"EOF",value:"",start:0,end:0}}isAtEnd(){return this.peek().type==="EOF"}isAtEndAt(e){return this.peekAt(e).type==="EOF"}advance(){return this.isAtEnd()||this.current++,this.previous()}check(e){return this.peek().type===e}checkValue(e){return this.peek().value.toLowerCase()===e.toLowerCase()}match(...e){for(let t of e)if(this.check(t))return this.advance(),true;return false}parseExpression(){return this.parseOr()}parseOr(){let e=this.parseAnd();for(;this.checkValue("or");){let t=this.advance().value,r=this.parseAnd();e=this.createBinaryExpression(t,e,r);}return e}parseAnd(){let e=this.parseEquality();for(;this.checkValue("and");){let t=this.advance().value,r=this.parseEquality();e=this.createBinaryExpression(t,e,r);}return e}parseEquality(){let e=this.parseComparison();for(;;){if(this.match("COMPARISON")){let r=this.previous().value;e=this.createBinaryExpression(r,e,this.parseComparison());continue}let t=this.matchComparisonPhrase();if(t===void 0)break;if(_i.includes(t))e=this.createPostfixUnary(t,e);else if(Ni.includes(t))e=this.parseTypeCheck(e,t.startsWith("is not"));else {let r=t==="match"?"matches":t;e=this.createBinaryExpression(r,e,this.parseComparison());}}return e}matchComparisonPhrase(){for(let[e,t]of T4)if(t.every((r,n)=>this.peekAt(n).value.toLowerCase()===r)){for(let r=0;r<t.length;r++)this.advance();return e}}parseTypeCheck(e,t){let r=this.advance();if(r.type==="EOF")throw new Error(`Expected a type name after 'is ${t?"not ":""}a'`);let n=true;return this.peek().value==="!"&&(this.advance(),n=false),{type:"typeCheckExpression",value:e,typeName:r.value,nullOk:n,negated:t,start:e.start,end:this.previous().end}}parseComparison(){let e=this.parseAddition();for(;this.check("COMPARISON");){let t=this.advance().value,r=this.parseAddition();e=this.createBinaryExpression(t,e,r);}return e}parseAddition(){let e=this.parseMultiplication();for(;this.peek().value==="+"||this.peek().value==="-";){let t=this.advance().value,r=this.parseMultiplication();e=this.createBinaryExpression(t,e,r);}return e}parseMultiplication(){let e=this.parseCollection();for(;this.peek().value==="*"||this.peek().value==="/"||this.peek().value==="%"||this.checkValue("mod");){let t=this.advance().value.toLowerCase(),r=this.parseCollection();e=this.createBinaryExpression(t,e,r);}return e}parseCollection(){let e=this.parseConversion();if(this.collectionOperand>0)return e;for(let t=this.collectionOperator();t;t=this.collectionOperator()){this.advance(),t==="mapped to"&&this.advance(),this.collectionOperand++;let r;try{r=this.parseExpression();}finally{this.collectionOperand--;}e=this.createBinaryExpression(t,e,r);}return e}collectionOperator(){if(this.checkValue("where"))return "where";if(this.checkValue("mapped")&&this.peekAt(1).value.toLowerCase()==="to")return "mapped to"}parseConversion(){let e=this.parseUnary();for(;this.checkValue("as")&&this.conversionTypeAt(1)!==void 0;)for(this.advance(),e=this.createAsExpression(e,this.parseConversionType());this.check("PIPE")&&this.conversionTypeAt(1)!==void 0;)this.advance(),e=this.createAsExpression(e,this.parseConversionType());return e}conversionTypeAt(e){let t=this.peekAt(e).value.toLowerCase(),r=t==="a"||t==="an"?e+1:e;return this.peekAt(r).type==="IDENTIFIER"?r:void 0}parseConversionType(){let e=this.conversionTypeAt(0)??0;for(let i=0;i<e;i++)this.advance();let t=this.advance(),r=this.peekAt(1).type;if(!this.check("COLON")||r!=="NUMBER"&&r!=="IDENTIFIER")return t;this.advance();let n=this.advance();return {...t,value:`${t.value}:${n.value}`,end:n.end}}parseUnary(){if(this.checkValue("no")){let e=this.advance().value;return this.createUnaryExpression(e,this.parseCollection())}if(this.checkValue("not")||this.peek().value==="-"){let e=this.advance().value,t=this.parseUnary();return this.createUnaryExpression(e,t)}return this.parsePostfix()}parsePostfix(){let e=this.parsePrimary();for(;;)if(this.match("DOT"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createMemberExpression(e,this.createIdentifier(t.value,t),false);}else break;else if(this.match("POSSESSIVE"))if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR")){let t=this.advance();e=this.createPossessiveExpression(e,this.createIdentifier(t.value,t));}else break;else if(this.match("LPAREN")){let t=this.parseArguments();e=this.createCallExpression(e,t);}else if(this.match("LBRACKET")){let t=this.parseExpression();if(!this.match("RBRACKET"))throw new Error("Expected ] after index");e=this.createMemberExpression(e,t,true);}else if(e.type==="identifier"&&D4.has(e.name)&&this.check("IDENTIFIER")&&!S4.has(this.peek().value.toLowerCase())){let t=this.advance(),r=e,n={...r,name:B4[r.name]??r.name};e=this.createMemberExpression(n,this.createIdentifier(t.value,t),false);}else if(this.checkValue("exists")&&this.peekAt(1).type!=="LPAREN")this.advance(),e=this.createPostfixUnary("exists",e);else break;return e}parsePrimary(){this.checkValue("the")&&["closest","next","previous","first","last"].includes(this.peekAt(1).value.toLowerCase())&&this.advance();let e=this.peek();if(this.checkValue("the")&&(this.peekAt(1).type==="IDENTIFIER"||this.peekAt(1).type==="CONTEXT_VAR")&&this.peekAt(2).value.toLowerCase()==="of")return this.advance(),this.parsePropertyOf(this.advance(),e,false);if(this.match("NUMBER"))return this.createLiteral(parseFloat(e.value),"number",e);if(this.match("STRING")){let t=e.value.slice(1,-1);return this.createLiteral(t,"string",e)}if(this.match("BOOLEAN")){let t=e.value==="true"?true:e.value==="false"?false:e.value==="null"?null:void 0,r={true:"boolean",false:"boolean",null:"null",undefined:"undefined"};return this.createLiteral(t,r[e.value]??"string",e)}if(this.match("TEMPLATE_LITERAL")){let t=e.value;return {type:"templateLiteral",value:t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t,start:e.start,end:e.end,line:e.line,column:e.column}}if(this.match("TIME_EXPRESSION"))return this.parseTimeExpression(e);if(this.match("ID_SELECTOR"))return this.createSelector(e.value,"id",e);if(this.match("CLASS_SELECTOR"))return this.createSelector(e.value,"class",e);if(this.match("ATTRIBUTE_SELECTOR"))return this.createSelector(e.value,"attribute",e);if(this.match("ATTRIBUTE_REF")){let t={type:"attributeAccess",attributeName:e.value.slice(1),start:e.start,end:e.end};return this.checkValue("of")?(this.advance(),this.createBinaryExpression("of",t,this.parseConversion())):t}if(this.match("QUERY_SELECTOR")){let t=e.value.slice(1,-2);return this.createSelector(t,"query",e)}if(this.match("CONTEXT_VAR"))return this.createIdentifier(e.value,e);if(this.match("IDENTIFIER")){if(F4.has(e.value.toLowerCase())&&(this.check("CLASS_SELECTOR")||this.check("ID_SELECTOR")||this.check("QUERY_SELECTOR"))){let t=this.advance(),r=t.type==="QUERY_SELECTOR"?t.value.slice(1,-2):t.value,n=t.type==="CLASS_SELECTOR"?"class":t.type==="ID_SELECTOR"?"id":"query";return {type:"callExpression",callee:this.createIdentifier(e.value,e),arguments:[this.createSelector(r,n,t)],start:e.start,end:t.end}}return this.checkValue("of")?this.parsePropertyOf(e,e):this.createIdentifier(e.value,e)}if(this.match("LPAREN")){let t=this.parseExpression();if(!this.match("RPAREN"))throw new Error("Expected ) after expression");return t}if(this.match("LBRACKET"))return this.parseArrayLiteral();if(this.match("LBRACE"))return this.parseObjectLiteral();throw new Error(`Unexpected token: ${e.value}`)}parsePropertyOf(e,t,r=true){this.advance(),this.checkValue("the")&&!this.isAtEndAt(1)&&this.advance();let n=r?this.parseConversion():this.parseUnary();return {type:"propertyOfExpression",property:this.createIdentifier(e.value,e),target:n,start:t.start,end:this.previous().end}}parseArguments(){let e=[];if(!this.check("RPAREN"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RPAREN"))throw new Error("Expected ) after arguments");return e}parseArrayLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACKET"))do e.push(this.parseExpression());while(this.match("COMMA"));if(!this.match("RBRACKET"))throw new Error("Expected ] after array elements");return {type:"arrayLiteral",elements:e,start:t,end:this.previous().end}}parseObjectLiteral(){let e=[],t=this.previous().start;if(!this.check("RBRACE"))do{let r;if(this.check("STRING"))r=this.advance().value.slice(1,-1);else if(this.check("IDENTIFIER")||this.check("CONTEXT_VAR"))r=this.advance().value;else throw new Error("Expected property name");if(!this.match("COLON"))throw new Error("Expected : after property name");let n=this.parseExpression();e.push({key:r,value:n});}while(this.match("COMMA"));if(!this.match("RBRACE"))throw new Error("Expected } after object properties");return {type:"objectLiteral",properties:e.map(r=>({type:"objectProperty",key:{type:"identifier",name:r.key},value:r.value})),start:t,end:this.previous().end}}parseTimeExpression(e){let t=e.value.match(/^(\d+(?:\.\d+)?)(ms|s|seconds?|milliseconds?|minutes?|hours?)$/i);if(!t)throw new Error(`Invalid time expression: ${e.value}`);let r=parseFloat(t[1]),n=t[2].toLowerCase();return {type:"timeExpression",value:r,unit:n,raw:e.value,start:e.start,end:e.end,line:e.line,column:e.column}}createLiteral(e,t,r){return {type:"literal",value:e,dataType:t,raw:r.value,start:r.start,end:r.end,line:r.line,column:r.column}}createSelector(e,t,r){return {type:"selector",value:e,selector:e,selectorType:t,start:r.start,end:r.end,line:r.line,column:r.column}}createIdentifier(e,t){return {type:"identifier",name:e,start:t.start,end:t.end,line:t.line,column:t.column}}createMemberExpression(e,t,r){return {type:"memberExpression",object:e,property:t,computed:r,start:e.start,end:this.previous().end}}createPossessiveExpression(e,t){return {type:"possessiveExpression",object:e,property:t,start:e.start,end:this.previous().end}}createBinaryExpression(e,t,r){return {type:"binaryExpression",operator:e,left:t,right:r,start:t.start,end:r.end}}createAsExpression(e,t){return {type:"asExpression",expression:e,targetType:this.createIdentifier(t.value,t),start:e.start,end:t.end}}createUnaryExpression(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:true,start:this.previous().start,end:t.end}}createPostfixUnary(e,t){return {type:"unaryExpression",operator:e,operand:t,prefix:false,start:t.start,end:this.previous().end}}createCallExpression(e,t){return {type:"callExpression",callee:e,arguments:t,start:e.start,end:this.previous().end}}};function Ii(e){return new P4().parse(e)}var O4={possessive:{specialForms:{me:"my",it:"its",you:"your"}}};var vu=new Map;function R4(e){let t=e.toLowerCase();return vu.get(t)??vu.get(t.split("-")[0])}function _r(e,t){return !t||t.length===0||t.includes(e)||t.includes("expression")?true:e==="property-path"?t.some(r=>["selector","reference","expression"].includes(r)):e==="expression"?t.some(r=>["selector","reference","expression"].includes(r)):false}function He(e,t){let r=e.possessive?.keywords?.[t];if(r)return r;let n=e.possessive?.specialForms;if(n){for(let[i,a]of Object.entries(n))if(a===t)return i}}function qn(e){return O4.possessive?.specialForms?.[e]??`${e}'s`}var pn=new Set(["+","-","*","/","%","<",">","<=",">=","==","!=","===","!=="]),cs=new Set(["<",">","<=",">=","==","!=","===","!=="]),ut=new Set([...pn,"mod"]),L4=/^[<>=!+\-*/%]+$/,ps={en:new Set(["end"]),ja:new Set(["\u7D42\u308F\u308A","\u304A\u308F\u308A"]),ar:new Set(["\u0646\u0647\u0627\u064A\u0629","\u0627\u0646\u062A\u0647\u0649","\u0627\u0644\u0646\u0647\u0627\u064A\u0629"]),es:new Set(["fin","final","terminar"]),ko:new Set(["\uB05D","\uB9C8\uCE68"]),zh:new Set(["\u7ED3\u675F","\u7EC8\u6B62","\u5B8C"]),tr:new Set(["son","biti\u015F","bitti"]),pt:new Set(["fim","final","t\xE9rmino"]),fr:new Set(["fin","terminer","finir"]),de:new Set(["ende","fertig"]),id:new Set(["selesai","akhir","tamat"]),tl:new Set(["wakas","tapos"]),bn:new Set(["\u09B8\u09AE\u09BE\u09AA\u09CD\u09A4"]),qu:new Set(["tukukuy","tukuy","puchukay"]),sw:new Set(["mwisho","maliza","tamati"])},_4=new Set,hu=new WeakMap;function ds(e){let t=T(e);if(!t)return _4;let r=hu.get(t);if(!r){let n=t.keywords?.end;r=new Set((n?[n.primary,...n.alternatives??[]]:[]).filter(i=>!!i).map(i=>i.toLowerCase())),hu.set(t,r);}return r}function Mi(e,t){let r=e.value.toLowerCase();if(r==="end")return "curated";let n=ds(t),i=ps[t];return (i?i.has(r):n.has(r))?"curated":e.kind==="keyword"&&(e.normalized??e.value).toLowerCase()==="end"||n.has(r)?"end":null}function Ue(e,t){return Mi(e,t)!==null}function N4(e){return new Set(["end",...ps[e]??[],...ds(e)])}function qe(e,t){return {prev:e[t-1],beforePrev:e[t-2],third:e[t-3],next:e[t+1],afterNext:e[t+2]}}var I4=new Set(["click","dblclick","mousedown","mouseup","mouseover","mouseout","mouseenter","mouseleave","mousemove","keydown","keyup","keypress","input","change","submit","reset","load","unload","scroll","resize","focus","blur","contextmenu","dragstart","drag","dragend","dragenter","dragleave","dragover","drop","touchstart","touchmove","touchend","touchcancel"]),dn={ar:{\u0642\u064A\u0645\u0629:"value"},bn:{\u0985\u0995\u09CD\u09B7\u09AE:"disabled",\u0986\u0987\u09A1\u09BF:"id","\u099A\u09C7\u0995 \u0995\u09B0\u09BE":"checked",\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF:"length",\u09AE\u09BE\u09A8:"value"},de:{wert:"value"},es:{valor:"value"},fr:{valeur:"value"},hi:{\u0905\u0915\u094D\u0937\u092E:"disabled",\u091A\u0947\u0915:"checked",\u091B\u093F\u092A\u093E:"hidden",\u092E\u093E\u0928:"value"},id:{nilai:"value"},it:{valore:"value"},ja:{\u5024:"value"},ko:{\uAC12:"value"},ms:{dilumpuhkan:"disabled",ditanda:"checked",nilai:"value",panjang:"length"},pl:{warto\u015B\u0107:"value"},pt:{valor:"value"},qu:{chanin:"value"},ru:{\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435:"value",\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E:"disabled",\u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043E:"checked",\u0441\u043A\u0440\u044B\u0442\u043E:"hidden"},sw:{thamani:"value"},th:{\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27:"length",\u0E04\u0E48\u0E32:"value",\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19:"disabled",\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E49\u0E27:"checked",\u0E44\u0E2D\u0E14\u0E35:"id"},tl:{haba:"length",halaga:"value",hindi_pinagana:"disabled",naka_tsek:"checked"},tr:{de\u011Fer:"value"},uk:{\u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E:"disabled",\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F:"value",\u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u043E:"checked",\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E:"hidden"},vi:{\u1EA9n:"hidden","\u0111\u01B0\u1EE3c ch\u1ECDn":"checked","gi\xE1 tr\u1ECB":"value","v\xF4 hi\u1EC7u":"disabled"},zh:{\u503C:"value"}},M4={ar:{\u0623\u0648:"or",\u0643\u0640:"as",\u0644\u064A\u0633:"not",\u0648:"and",\u064A\u062D\u062A\u0648\u064A:"contains",\u064A\u0633\u0627\u0648\u064A:"equals",\u064A\u0634\u0645\u0644:"includes"},bn:{\u0985\u09A5\u09AC\u09BE:"or",\u098F\u09AC\u0982:"and",\u09A8\u09BE:"not",\u09B9\u09BF\u09B8\u09BE\u09AC\u09C7:"as"},de:{als:"as",beinhaltet:"includes",enth\u00E4lt:"contains",gleicht:"equals",nicht:"not",oder:"or",und:"and"},es:{como:"as",contiene:"contains",iguala:"equals",incluye:"includes",no:"not",o:"or",y:"and"},fr:{comme:"as",contient:"contains",\u00E9gale:"equals",et:"and",inclut:"includes",non:"not",ou:"or"},he:{\u05D0\u05D5:"or",\u05D5\u05D2\u05DD:"and",\u05DB:"as",\u05DC\u05D0:"not"},hi:{\u0914\u0930:"and",\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902:"as",\u0928\u0939\u0940\u0902:"not",\u092C\u0930\u093E\u092C\u0930:"equals",\u092E\u0947\u0902_\u0939\u0948:"includes",\u092F\u093E:"or",\u0936\u093E\u092E\u093F\u0932:"contains"},id:{atau:"or",berisi:"contains",bukan:"not",dan:"and",sama:"equals",sebagai:"as",termasuk:"includes"},it:{come:"as",contiene:"contains",e:"and",include:"includes",non:"not",o:"or",uguale:"equals"},ja:{\u305D\u3057\u3066:"and",\u3067\u306F\u306A\u3044:"not",\u3068\u3057\u3066:"as",\u307E\u305F\u306F:"or",\u542B\u3080:"contains",\u542B\u3081\u308B:"includes",\u7B49\u3057\u3044:"equals"},ko:{\uAC19\uB2E4:"equals",\uADF8\uB9AC\uACE0:"and",\uB610\uB294:"or",\uB85C:"as",\uC544\uB2C8:"not",\uD3EC\uD568:"contains",\uD3EC\uD568\uD558\uB2E4:"includes"},ms:{atau:"or",bukan:"not",dan:"and",mengandungi:"contains",sama:"equals",sebagai:"as",termasuk:"includes"},pl:{i:"and",jako:"as",lub:"or",nie:"not",obejmuje:"includes","r\xF3wna si\u0119":"equals",zawiera:"contains"},pt:{como:"as",cont\u00E9m:"contains",e:"and",igual:"equals",inclui:"includes",n\u00E3o:"not",ou:"or"},qu:{churasqa:"includes",hina:"as",hinallataq:"and",kikin:"equals",ukupi_kan:"contains",utaq:"or"},ru:{\u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442:"includes",\u0438:"and",\u0438\u043B\u0438:"or",\u043A\u0430\u043A:"as",\u043D\u0435:"not",\u0440\u0430\u0432\u043D\u043E:"equals",\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442:"contains"},sw:{au:"or",ina:"contains",kuwa:"as",pamoja:"includes",sawa:"equals",si:"not"},th:{\u0E44\u0E21\u0E48:"not",\u0E41\u0E25\u0E30:"and",\u0E2B\u0E23\u0E37\u0E2D:"or"},tl:{at:"and",bilang:"as",hindi:"not",katumbas:"equals",naglalaman:"contains",o:"or"},tr:{de\u011Fil:"not",e\u015Fittir:"equals",i\u00E7erir:"contains",olarak:"as",ve:"and",veya:"or"},uk:{\u0430\u0431\u043E:"or",\u0432\u043A\u043B\u044E\u0447\u0430\u0454:"includes",\u0434\u043E\u0440\u0456\u0432\u043D\u044E\u0454:"equals",\u0456:"and",\u043C\u0456\u0441\u0442\u0438\u0442\u044C:"contains",\u043D\u0435:"not",\u044F\u043A:"as"},vi:{b\u1EB1ng:"equals",ch\u1EE9a:"contains",ho\u1EB7c:"or",kh\u00F4ng:"not",nh\u01B0:"as",v\u00E0:"and"},zh:{\u4F5C\u4E3A:"as",\u5305\u542B:"contains",\u5305\u62EC:"includes",\u548C:"and",\u6216:"or",\u7B49\u4E8E:"equals",\u975E:"not"}},ms={ms:new Set(["daripada"]),sw:new Set(["ya"]),vi:new Set(["c\u1EE7a"]),zh:new Set(["\u7684"]),it:new Set(["di"]),pl:new Set(["z"]),uk:new Set(["\u0437"]),th:new Set(["\u0E02\u0E2D\u0E07"]),ar:new Set(["\u0644\u0640"]),ja:new Set(["\u306E"]),ko:new Set(["\uC758"]),bn:new Set(["\u09B0"]),hi:new Set(["\u0915\u093E"]),qu:new Set(["pa"]),tr:new Set(["nin","n\u0131n","nun","n\xFCn","in","\u0131n","un","\xFCn"])};function Eu(e){if(!e?.code)return;let t=ms[e.code];if(t){let[r]=t;if(r)return r}return e.roleMarkers?.source?.primary}function lt(e,t){let r=t.value.toLowerCase(),n=(t.normalized??"").toLowerCase();if(r==="of"||r==="ng"||n==="of"||n==="source")return true;let i=e?.code?ms[e.code]:void 0;return !!i&&i.has(r)}var $4={destination:"in",source:"from"},j4={ar:new Set(["\u0639\u0646\u062F","\u0641\u064A"]),bn:new Set(["\u098F","\u09A4\u09C7"]),de:new Set(["bei"]),es:new Set(["en"]),fr:new Set(["dans","en","\xE0"]),he:new Set(["\u05D1","\u05D1\u05EA\u05D5\u05DA","\u05DC\u05EA\u05D5\u05DA"]),hi:new Set(["\u092A\u0930","\u092E\u0947\u0902"]),id:new Set(["dalam","di","ke_dalam"]),it:new Set(["a"]),ja:new Set(["\u3067","\u306E\u4E2D","\u3078"]),ko:new Set(["\uC548\uC5D0","\uC5D0","\uC73C\uB85C"]),ms:new Set(["dalam","di","ke_dalam"]),pl:new Set(["do","przy","w"]),pt:new Set(["dentro","em"]),qu:new Set(["pi","ukupi"]),ru:new Set(["\u0432","\u0443"]),sw:new Set(["katika","ndani"]),th:new Set(["\u0E17\u0E35\u0E48","\u0E43\u0E19"]),tl:new Set(["papasok_sa","sa","sa_loob"]),tr:new Set(["de","i\xE7inde","i\xE7ine"]),uk:new Set(["\u0432","\u0443"]),vi:new Set(["trong","t\u1EA1i","v\xE0o"]),zh:new Set(["\u5728","\u8FDB\u5165"])},Wn=new Map;function fs(e){let t=e?.code;if(!t)return;if(Wn.has(t))return Wn.get(t);let r=j4[t],n=r;if(r&&e.obliqueReferences){let i=new Set(r);for(let a of Object.values(e.obliqueReferences))for(let[u,o]of Object.entries(a))if(r.has(u))for(let s of typeof o=="string"?[o]:[o.direction,o.location]){if(!s)continue;let l=s.split(" ");l.length>1&&i.add(l[0].toLowerCase());}n=i;}return Wn.set(t,n),n}var ys=new Set(["in","into","at","within","inside"]);function q4(e,t){let r=t.value.toLowerCase();if(fs(e)?.has(r))return "in";let i=t.normalized??t.value,a=i.toLowerCase();return ys.has(a)?"in":$4[a]??i}function vs(e,t){return t.value.toLowerCase()==="in"||fs(e)?.has(t.value.toLowerCase())?true:ys.has((t.normalized??t.value).toLowerCase())}var W4=new Set(["me","it","you","body","document","target","result"]);function hs(e,t){let r=e[t];if(!r)return null;if(r.kind==="selector")return /^[*@]/.test(r.value)?null:{kind:"selector",parts:[{text:r.value,token:r}],consumed:1};let n=(r.normalized??r.value).toLowerCase();if(W4.has(n))return {kind:"reference",parts:[{text:n,token:r}],consumed:1};let i=e[t+1];return n==="closest"&&i?.kind==="selector"&&!/^[*@]/.test(i.value)?{kind:"closest",parts:[{text:"closest",token:r},{text:i.value,token:i}],consumed:2}:null}var V4=new Set(["first","last","next","previous","random"]);function H4(e,t,r){let n=hs(e,t),i=r.replace(/\s+/g,"");if(!n||!i)return null;let a=t+n.consumed,u="";for(;u.length<i.length&&e[a]&&i.startsWith(u+e[a].value);)u+=e[a].value,a++;if(u!==i)return null;let o=(e[a]?.normalized??e[a]?.value??"").toLowerCase(),s=V4.has(o)?o:void 0;s&&a++;let l=e[a];return l?.kind!=="selector"||!(l.value.startsWith("<")||l.value.startsWith("."))?null:{scope:n,positional:s,query:l,consumed:a+1-t}}function jr(e,t,r,n){let i=e[t];if(!i||!vs(r,i))return null;let a=hs(e,t+1);if(!a)return null;let u=e[t+1+a.consumed],o=!!u&&pt(r?.code??"en",{tokens:e,i:t+1+a.consumed},void 0).toLowerCase()==="where";return n?.(i)===true&&n(u)!==true&&!o?null:{marker:i,scope:a}}var Vn=new Set(["first","last","next","previous","random","closest"]),K4={bn:{\u09B6\u09C7\u09B7:"last"}},Yt=new Set(Object.keys(Ce).map(e=>e.toLowerCase()));function _t(e,t,r,n){let i=e[t];if(!i)return null;let a=(i.normalized??i.value).toLowerCase(),u=e[t+1],o=r?.code&&u?.kind==="selector"&&u.value.startsWith("<")?K4[r.code]?.[i.value.toLowerCase()]:void 0;if(!Vn.has(a)&&!Vn.has(i.value.toLowerCase())&&o===void 0)return null;let s=[{text:o??i.normalized??i.value,token:i}],l=t+1,c=e[l],p=(o??i.normalized??i.value).toLowerCase()==="closest"&&c?.kind==="identifier"&&/^@[\w-]/.test(c.value);if(!c||c.kind!=="selector"&&!p||cs.has(c.value))return null;s.push({text:c.value,token:c}),l++;let m=0;for(;m++<8;){let d=e[l];if(d&&d.kind==="selector"&&d.value.startsWith("."))s.push({text:d.value,token:d}),l++;else break}let y=e[l],f=e[l+1];if(y&&f&&f.kind==="selector"&&!/^[*@]/.test(f.value)&&(y.kind==="keyword"||y.kind==="particle"||y.kind==="identifier")&&!Vn.has((y.normalized??y.value).toLowerCase())&&!Yt.has((y.normalized??y.value).toLowerCase())&&!(n?.(y)===true&&n(e[l+2])!==true)){let d=y.value.toLowerCase()==="to";s.push({text:d?"to":q4(r,y),token:y}),s.push({text:f.value,token:f}),l+=2;}else {let d=jr(e,l,r,n);d&&d.scope.kind!=="selector"&&(s.push({text:"in",token:d.marker},...d.scope.parts),l+=1+d.scope.consumed);}return {parts:s,consumed:l-t}}function ct(e,t){let r=M4[e];return r?r[t.toLowerCase()]??t:t}function Be(e,t){let r=dn[e];return r?r[t.toLowerCase()]??t:t}function Hn(e,t){return dn[e]?.[t.toLowerCase()]!==void 0}function U4(e,t){let r=[t.value,t.normalized].filter(Boolean);for(let n of r){let i=He(e,n)??He(e,n.toLowerCase());if(i)return i}}function G4(e){return e.kind==="literal"||e.kind==="operator"||e.kind==="punctuation"?false:!/^[$:@#.*^(){}[\]]/.test(e.value)}function Y4(e,t){let r=e?.references;if(!r)return false;let n=Object.values(r).filter(a=>typeof a=="string").map(a=>a.toLowerCase());return [t.value,t.normalized].filter(Boolean).some(a=>n.includes(a.toLowerCase()))}function Nt(e,t){return G4(e)?Be(t,e.value)!==e.value?true:ct(t,e.value)!==e.value?false:e.kind==="identifier":false}var Z4=new Set(["true","false","null","undefined","me","my","it","its","you","your","result","event","target","body","detail","document","window"]);function Es(e){return e.kind==="literal"||e.kind==="selector"||e.kind==="reference"?true:e.kind==="identifier"?X4.test(e.value):e.kind==="keyword"&&Z4.has((e.normalized??e.value).toLowerCase())}function gu(e){return !!e&&(e.value===")"||e.value==="]"||Es(e))}function ni(e){if(!e)return false;if(/^[([-]$/.test(e.value)||Es(e))return true;let t=(e.normalized??"").toLowerCase();return e.kind==="keyword"&&(t==="not"||t==="no")}var Q4=/^\.[\p{L}_-][\p{L}\p{N}_-]*$/u,X4=/^(?:[:$^]?[\p{L}_][\p{L}\p{M}\p{N}_]*|@[\p{L}_][\p{L}\p{M}\p{N}_-]*|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u,Z={beforeClassRef:"has"},J4={ar:{\u0647\u0648:{beforePredicate:"is",afterOperand:"is"},\u0641\u0627\u0631\u063A:{afterCopula:"empty"}},hi:{\u0939\u0948:{beforePredicate:"is",beforeClassRef:"has",afterOperand:"is"},\u0916\u093E\u0932\u0940:{afterCopula:"empty"}},id:{kosong:{afterCopula:"empty"},punya:Z},th:{\u0E40\u0E1B\u0E47\u0E19:{beforeTypeName:"as",beforePredicate:"is",afterOperand:"is"},\u0E27\u0E48\u0E32\u0E07:{afterCopula:"empty"},\u0E21\u0E35:Z},ja:{\u7A7A:{afterCopula:"empty"},\u3042\u308B:Z},he:{\u05D4\u05D5\u05D0:{beforePredicate:"is",afterOperand:"is"},\u05E8\u05D9\u05E7:{afterCopula:"empty"}},sw:{tupu:{afterCopula:"empty",otherwise:"null"},na:{betweenOperands:"and"},ana:Z,nina:Z},zh:{\u6CA1\u6709:{beforeBareIdentifier:"no",beforeSelector:"no"},\u6709:Z},tl:{walang:{beforeBareIdentifier:"no",beforeSelector:"no"},may:{afterSubject:"exists",beforeClassRef:"has"}},bn:{\u0986\u099B\u09C7:{afterSubject:"exists",beforeClassRef:"has"},\u0986\u099B\u09BF:Z},qu:{mana:{beforeOperand:"not",beforeComparison:"not"},maypi:{afterOperand:"where"},chusaq:{afterCopula:"empty"},kachkan:Z,kachkani:Z},tr:{var:{afterSubject:"exists",beforeClassRef:"has"},bo\u015F:{afterCopula:"empty"}},de:{hat:Z,habe:Z},es:{tiene:Z,tengo:Z},fr:{a:Z,ai:Z},it:{ha:Z,ho:Z},ko:{\uC788\uB2E4:Z},ms:{ada:Z},pl:{ma:Z,mam:Z},pt:{tem:Z,tenho:Z},ru:{\u0438\u043C\u0435\u0435\u0442:Z,\u0438\u043C\u0435\u044E:Z},uk:{\u043C\u0430\u0454:Z,\u043C\u0430\u044E:Z},vi:{c\u00F3:Z}},ef=new Set(["text","json","html","response","blob","arraybuffer"]),tf=new Set(["empty","null","undefined","true","false"]),rf=new Set(["Number","Int","Float","String","Boolean","Date","Array","Object","JSON","json","JSONString","FormData","FormEncoded","HTML","Fragment","Values","Values:Form","Values:JSON","Set","Map","Keys","Entries","Reversed","Unique","Flat"]);function cr(e){return gs(e)||/^[A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?$/.test(e)}function gs(e){return rf.has(e)||/^Fixed(?::\d+)?$/.test(e)}function ks(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],u=t.tokens[t.i+1],o=ii(e,i);if(!o)return;if(o.beforeTypeName&&u?.kind==="identifier"&&n?.value!=="("&&(gs(u.value)||ef.has(u.value.toLowerCase())))return o.beforeTypeName;if(o.beforePredicate&&u&&(u.kind==="literal"||u.kind==="keyword"&&tf.has((u.normalized??"").toLowerCase())))return o.beforePredicate;if(o.afterCopula&&r!==void 0&&["is","not","does","do"].includes(r.toLowerCase()))return o.afterCopula;if(o.beforeBareIdentifier&&u?.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(u.value))return o.beforeBareIdentifier;let s=!!u&&Ue(u,e)&&Er(qe(t.tokens,t.i+1),e);if(o.beforeOperand&&(ni(u)||s))return o.beforeOperand;if(o.beforeComparison&&u?.kind==="keyword"&&ws.has((u.normalized??"").toLowerCase()))return o.beforeComparison;if(o.beforeSelector&&u?.kind==="selector")return o.beforeSelector;if(o.beforeClassRef&&u&&Q4.test(u.value))return o.beforeClassRef;if(o.afterSubject&&(a?.kind==="selector"||a?.kind==="reference"))return o.afterSubject;let l=!!a&&Ue(a,e)&&r===a.value;return o.betweenOperands&&(gu(a)||l)&&ni(u)?o.betweenOperands:o.afterOperand&&(gu(a)||a?.value==="}")?o.afterOperand:o.otherwise}function ii(e,t){let r=J4[e];return r?.[t.value]??r?.[t.value.toLowerCase()]}function nf(e,t){return ks(e,t,void 0,void 0)}function af(e){return L4.test(e)||e==="("||e==="["||e===","}function uf(e){return pn.has(e)&&e!=="-"||e===")"||e==="]"||e===","}var ws=new Set(["is","am","contains","contain","matches","match","has","have","includes","include","exists","exist","mod"]);function Cs(e,t,r,n){let i=t.kind==="keyword"?(t.normalized??"").toLowerCase():ct(e,t.value).toLowerCase();if(i!=="and"&&i!=="or")return false;if(r===void 0||r!==void 0&&af(r.value))return true;if(n===void 0)return false;if(uf(n.value))return true;let a=n.kind==="keyword"?(n.normalized??n.value).toLowerCase():ct(e,n.value).toLowerCase();return ws.has(a)}var of=new Set(["include","contain","match","exist"]);function zs(e){let t=e?.toLowerCase();return t==="is"||t==="not"}function bs(e,t,r){let n=t[r],i=t[r-1];return !n||!i||n.value.toLowerCase()!=="in"?false:zs(pt(e,{tokens:t,i:r-1},void 0))}function pt(e,t,r,n){let i=t.tokens[t.i],a=t.tokens[t.i-1],u=t.tokens[t.i+1];if(r?.toLowerCase()==="equal"&&i.value.toLowerCase()==="to"||r?.toLowerCase()==="mapped"&&i.value.toLowerCase()==="to")return "to";if(zs(r)&&i.value.toLowerCase()==="in")return "in";if(r?.toLowerCase()==="not"&&of.has(i.value.toLowerCase()))return i.value.toLowerCase();let o=ks(e,t,r,n);if(o!==void 0)return o;if(Cs(e,i,a,u))return i.value;let s=ct(e,i.value);if(s!==i.value)return s;if(i.kind!=="keyword")return i.value;let l=(i.normalized??i.value).toLowerCase();return l!=="event"&&yr.has(l)||Ue(i,e)&&Er(qe(t.tokens,t.i),e)?i.value:i.normalized??i.value}function As(e,t,r,n){let i=e[t],a=e[t+1];if(!i||!a||!lt(r,a)||!Nt(i,n)&&!sf.test(i.value))return;let u=t+2;for(;e[u]!==void 0&&e[u+1]!==void 0&<(r,e[u+1])&&Nt(e[u],n);)u+=2;return e[u]?.kind==="selector"?u:void 0}var sf=/^[@*][A-Za-z_-][\w-]*$/,lf=new Set(["if","unless","while","until","for","when","where","is","not","no","and","or","as"]);function cf(e){let t=(e.normalized??e.value).toLowerCase();return t==="event"||Ke(t)?false:lf.has(t)||yr.has(t)}var pf=new Set(["and","or","is","times"]),df=new Set(["if","unless","while","until","is","and","or","in"]),mf=e=>Object.prototype.hasOwnProperty.call(Ce,e);function Kn(e){if(e.kind!=="keyword"&&!(e.normalized&&e.normalized!==e.value))return;let t=(e.normalized??e.value).toLowerCase();return mf(t)?t:void 0}var ku=new WeakMap;function wu(e,t,r=false){let n;try{n=be(e);}catch{return new Set}let i=ku.get(n);i||(i=new Map,ku.set(n,i));let a=r?`${t} before a role pair`:t,u=i.get(a);if(!u){u=new Set;for(let o of n){if(o.command!==t)continue;let[s,l,c,p]=o.template.tokens;if(!(s?.type!=="literal"||l?.type!=="literal")&&!(r&&(c?.type!=="role"||p?.type!=="role")))for(let m of [l.value,...l.alternatives??[]])u.add(m.toLowerCase());}i.set(a,u);}return u}var Cu=new WeakMap;function ff(e){let t;try{t=be(e);}catch{return new Set}let r=Cu.get(t);if(!r){let n=new Set(Object.values(T(e)?.roleMarkers??{}).flatMap(a=>a?[a.primary,...a.alternatives??[]]:[]).map(a=>a.toLowerCase())),i=new Set;for(let a of t){if(a.command!=="repeat")continue;let u=a.template.tokens;u.forEach((o,s)=>{if(!(o.type!=="literal"||u[s+1]?.type!=="role"))for(let l of [o.value,...o.alternatives??[]])n.has(l.toLowerCase())||i.add(l.toLowerCase());});}r=i,Cu.set(t,r);}return r}function zu(e){return e.kind==="particle"?true:e.kind==="keyword"&&yr.has((e.normalized??"").toLowerCase())}function bu(e,t){return e.kind==="keyword"&&e.normalized?e.normalized.toLowerCase():ct(t,e.value).toLowerCase()}function Er(e,t){let{prev:r,beforePrev:n,next:i,afterNext:a}=e;if(i){if(ut.has(i.value)||pf.has((i.normalized??i.value).toLowerCase())||i.value==="'"&&a?.value.toLowerCase()==="s")return true;let f=ii(t,i)?.betweenOperands;if((f==="and"||f==="or")&&ni(a))return true}let u=T(t),o=!!u&&u.markingStrategy!=="preposition";if(o&&i?.kind==="particle"&&a?.kind!=="particle")return true;if(!r)return false;if(pn.has(r.value))return true;if(r.value.toLowerCase()==="transition"&&n?.value.toLowerCase()==="view")return false;let s=bu(r,t);if(s==="not"||s==="no"||ii(t,r)?.beforeOperand==="not")return true;let l=u?.wordOrder!=="SOV",c=e.third?Kn(e.third):void 0;if(c&&n&&wu(t,c,true).has(n.value.toLowerCase()))return true;let p=n&&l?Kn(n):void 0;if(p&&!wu(t,p).has(r.value.toLowerCase())||n&&!o&&zu(n))return false;if(df.has(s))return true;let m=!!n&&bu(n,t)!=="repeat"&&!!Di[t]?.includes(r.value);if(ff(t).has(r.value.toLowerCase())&&(l||s!=="repeat")&&!m)return true;let y=l?Kn(r):void 0;return y&&Ce[y].roles.some(f=>f.required)?true:!o&&zu(r)}function Zt(e){if(e.kind!=="keyword")return;if(cf(e))return "structure";let t=(e.normalized??e.value).toLowerCase();return Yt.has(t)?"verb":I4.has(t)?"event":void 0}function Ne(e,t){let r=t?.code??"en",[n]=e;if(e.length===1&&n&&(Zt(n)||Ue(n,r)))return n.value;let i="",a,u,o=(s,l)=>{if(u=s,a===void 0){i=s,a=l;return}let p=a.position?.end!==void 0&&l.position?.start!==void 0&&a.position.end===l.position.start&&(s.startsWith(".")||s.startsWith("!")||s.startsWith("[")||s===","||s==="'s");i+=(p?"":" ")+s,a=l;};for(let s=0;s<e.length;s++){let l=e[s],c=t?U4(t,l):void 0,p=e[s+1],m=u?.toLowerCase();if(l.value.toLowerCase()==="the"&&p!==void 0&&(m==="in"&&["closest","next","previous","first","last"].includes(p.value.toLowerCase())||m==="of"&&p.kind==="identifier"&&/^[:$]?[A-Za-z_]\w*$/.test(p.value)))continue;if(l.value===":"&&a!==void 0&&u!==void 0&&p!==void 0&&a.position?.end===l.position?.start&&l.position?.end===p.position?.start&&cr(`${u}:${p.value}`)){i+=`:${p.value}`,u=`${u}:${p.value}`,a=p,s+=1;continue}if(l.value==="'"&&a!==void 0&&p?.value==="s"&&l.position?.end!==void 0&&p.position?.start===l.position.end){i+="'s",a=p;let E=e[s+2];E&&Be(r,E.value)!==E.value?(o(Be(r,E.value),E),s+=2):s+=1;continue}let y=t?.possessive,f=e[s+2];if(y?.markerPosition==="between"&&y.marker&&l.kind==="selector"&&p?.value===y.marker&&f!==void 0&&Nt(f,r)){o(`${l.value}'s`,l),o(Be(r,f.value),f),s+=2;continue}if(p?.value.toLowerCase()==="of"&&Be(r,l.value)!==l.value&&Nt(l,r)){o(Be(r,l.value),l);continue}if(c!==void 0&&p){let E=t?.possessive?.connectors,b=!!E?.length&&E.some(w=>{let x=w.toLowerCase();return x===p.value.toLowerCase()||x===(p.normalized??"").toLowerCase()}),D=b?s+2:s+1,h=e[D],A=b&&h!==void 0&&/^[@*][\w-]/.test(h.value);if(h&&(A||Nt(h,r))){o(qn(c),l),o(A?h.value:Be(r,h.value),h),s=D;continue}if(b&&h&&/^\.[a-zA-Z_]\w*$/.test(h.value)&&p.position?.end!==void 0&&h.position?.start!==void 0&&p.position.end===h.position.start){o(qn(c),l),o(Be(r,h.value.slice(1)),h),s=D;continue}if(!b&&/^\.[a-zA-Z_]\w*$/.test(p.value)&&l.position?.end!==void 0&&p.position?.start!==void 0&&l.position.end===p.position.start&&!Y4(t,l)){o(qn(c),l),o(Be(r,p.value.slice(1)),p),s+=1;continue}}let d=e[s+2],v=As(e,s,t,r);if(v!==void 0){for(let E=s;E<v;E+=2)o(Be(r,e[E].value),e[E]),o("of",e[E+1]);o(e[v].value,e[v]),s=v;continue}if(l.kind==="selector"&&p&&d&<(t,p)&&Nt(d,r)&&Be(r,d.value)!==d.value){o(Be(r,d.value),d),o("of",p),o(l.value,l),s+=2;continue}let g=_t(e,s,t);if(g){for(let E of g.parts)o(E.text,E.token);s+=g.consumed-1;continue}let k=a?.kind==="selector"&&a.value.startsWith("<")?jr(e,s,t):null;if(k){o("in",k.marker);for(let E of k.scope.parts)o(E.text,E.token);s+=k.scope.consumed;continue}o(pt(r,{tokens:e,i:s},u,e[s+2]),l);}return i.trim().replace(/(\S) not matches (?=\S)/g,"$1 does not match ")}function xt(e,t,r){let n=T(e)?.keywords?.[t];return n?n.primary?.toLowerCase()===r?true:!!n.alternatives?.some(i=>i.toLowerCase()===r):false}var yf={en:new Set(["then"]),ja:new Set(["\u305D\u308C\u304B\u3089","\u6B21\u306B"]),ar:new Set(["\u062B\u0645","\u0628\u0639\u062F\u0647\u0627","\u062B\u0645\u0651"]),es:new Set(["entonces","luego","despu\xE9s"]),ko:new Set(["\uADF8\uB2E4\uC74C","\uADF8\uB7F0\uD6C4","\uADF8\uB7EC\uBA74"]),zh:new Set(["\u7136\u540E","\u63A5\u7740","\u90A3\u4E48"]),tr:new Set(["ard\u0131ndan","daha sonra","ardindan"]),pt:new Set(["ent\xE3o","depois","logo"]),fr:new Set(["puis","ensuite","alors"]),de:new Set(["dann","danach","anschlie\xDFend"]),id:new Set(["lalu","kemudian","setelah itu"]),tl:new Set(["pagkatapos","tapos"]),bn:new Set(["\u09A4\u09BE\u09B0\u09AA\u09B0"]),qu:new Set(["chaymantataq","hinaspa","chaymanta","chayqa"]),sw:new Set(["kisha","halafu","baadaye"])};function Ge(e,t){let r=e.toLowerCase(),n=yf[t];return n?n.has(r):r==="then"||xt(t,"then",r)}function jt(e,t){let r=e.toLowerCase();return r==="else"||r==="otherwise"?true:xt(t,"else",r)}function xs(e){let t=(e.normalized??e.value).toLowerCase();return t==="js"||xt("en","js",t)}function Ds(e,t){let r=T(t)?.roleMarkers?.patient;if(!r?.primary)return false;let n=e.value.toLowerCase();return r.primary.toLowerCase()===n?true:!!r.alternatives?.some(i=>i.toLowerCase()===n)}function Oe(e,t){let r=e.toLowerCase();return r==="if"?true:xt(t,"if",r)}function qt(e,t){let r=e.toLowerCase();return r==="unless"?true:xt(t,"unless",r)}function Wt(e,t){return Mi(e,t)==="curated"}function vf(e,t,r){return Ue(e,r)&&!Bs(e,t,r)}function Bs(e,t,r){return t?.kind==="selector"&&!t.metadata?.lineStart&&Mi(e,r)==="end"}function gr(e,t,r){return Ge(e.value,r)?!(Wt(e,r)&&Er(t,r)):false}function Mr(e,t){return Ue(e,t)}function Ss(e,t,r){let n=i=>i?.value.toLowerCase();return n(t.next)==="of"&&(n(t.prev)==="at"||n(t.prev)==="the"&&n(t.beforePrev)==="at")||xi(r,e.value,t.prev?.value,t.next?.value)}function hf(e,t,r){let n=e[t];if(!n)return false;let i=qe(e,t);return Bs(n,i.next,r)||Ss(n,i,r)}function ae(e,t,r){let n=e[t];return n?n.metadata?.closesTrackedBlock===true?true:Ue(n,r)&&!hf(e,t,r)&&!Er(qe(e,t),r):false}function Ef(e,t,r){return e.metadata?.closesTrackedBlock===true?Ue(e,r):vf(e,t,r)}function Ye(e,t,r){let n=e[t];return !n||n.kind==="conjunction"||n.kind==="keyword"&&Ge(n.value,r)&&gr(n,qe(e,t),r)?true:ae(e,t,r)}function gf(e,t,r){let n=e[t];if(!n)return true;if(n.kind!=="keyword")return false;let i=(n.normalized??n.value).toLowerCase();return i==="then"||i==="else"||Ue(n,r)}function Fs(e){return !!e&&ut.has(e.value)}var kf=class{constructor(e,t,r,n,i,a){this.patternToken=t,this.afterLiteral=r,this.nextPatternToken=n,this.wouldMatch=i,this.language=a;let u=e.position();this.token=e.tokens[u],this.prev=e.tokens[u-1],this.next=e.tokens[u+1],this.place=qe(e.tokens,u),this.all=e.tokens,this.at=u;}get lastSlot(){return this.nextPatternToken===void 0}get tokenIsMarker(){return this.tokenIsMarkerMemo??(this.tokenIsMarkerMemo=this.wouldMatch(this.nextPatternToken,this.token)),this.tokenIsMarkerMemo}get beforeRole(){return this.nextPatternToken?.type==="role"}get nextIsMarker(){return this.nextIsMarkerMemo??(this.nextIsMarkerMemo=this.next!==void 0&&this.wouldMatch(this.nextPatternToken,this.next)),this.nextIsMarkerMemo}get clauseEndsAfter(){return gf(this.all,this.at+1,this.language)}};function wf(e){let t=e.token.value.toLowerCase();if(t!=="a"&&t!=="an")return false;let r=e.next;return r!==void 0&&(pn.has(r.value)||e.nextIsMarker)}function $i(e){return e.kind==="keyword"&&Yt.has((e.normalized??e.value).toLowerCase())}function Cf(e,t){return e.token.kind!=="keyword"?false:Ye(e.all,e.at,t)}function zf(e,t){return Ue(e.token,t)&&Er(e.place,t)}function Ts(e){return e.afterLiteral&&(e.clauseEndsAfter||e.nextIsMarker)}function bf(e,t){let r=e.patternToken.role;return r!=="quantity"&&!(r==="event"&&t==="repeat")?false:$i(e.token)&&!Ts(e)&&!e.nextIsMarker}function Af(e){let t=e.patternToken;return !t.optional||t.role==="event"||t.role==="action"||t.valueShape==="keyword"||!$i(e.token)?false:(e.lastSlot||e.tokenIsMarker)&&!Ts(e)}function xf(e,t,r,n){let i=e.type==="group"&&e.optional?e.tokens.every(u=>u.type==="role")?e.tokens[0]:void 0:e;if(!i||i.type!=="role"||!i.optional||i.role==="event"||i.role==="action"||i.valueShape==="keyword"||!t||t.kind!=="keyword"||r===void 0)return false;let a=n(r,t);return $i(t)?!a:a}function Df(e){return Yt.has((e.normalized??e.value).toLowerCase())}function Bf(e,t){return e?.kind==="particle"&&!!t&&["selector","literal","identifier"].includes(t.kind)&&!Fs(t)}function Sf(e){if(e.token.kind!=="particle")return false;let t=e.next;return t!==void 0&&e.nextIsMarker&&(t.kind==="particle"||e.prev?.kind==="particle")||e.afterLiteral&&e.beforeRole||e.clauseEndsAfter}function Ff(e,t){let r=e.patternToken;if(r.role==="event"||r.role==="action"||r.valueShape==="keyword")return false;let n=r.expectedTypes;if(n?.length&&!n.some(a=>a==="expression"||a==="reference"))return false;let i=Zt(e.token);return i==="structure"?true:i==="event"?!t?.roles.some(a=>a.role==="event")&&t?.action!=="wait"&&r.role!=="condition":i!=="verb"||(e.token.normalized??e.token.value).toLowerCase()==="empty"?false:!t?.hasBody&&!t?.roles.some(a=>a.role==="event")}function Tf(e){let t=(e.normalized||e.value).toLowerCase();if(t==="empty")return Zo("null");if(t==="a"||t==="an")return {type:"expression",raw:e.value}}function Pf(e,t,r){return e.kind==="particle"&&(t||Fs(r))}function Ps(e,t){let r=e[t];return r?.kind==="particle"&&e[t-1]?.value.toLowerCase()==="of"&&/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u.test(r.value)}var Au=new Set(["is","am","are","be","was","were","not","no"]),Of=new Set(["\u0647\u0648","\u0E40\u0E1B\u0E47\u0E19","\u0939\u0948","\u0928\u0939\u0940\u0902","mana"]),Os=new Set(["empty","null","undefined"]);function Rf(e,t,r,n){let i=(e.normalized??e.value).toLowerCase(),a=e.value.toLowerCase(),u=(t.normalized??t.value).toLowerCase();return (Au.has(i)||Au.has(ct(n,a))||Of.has(a)&&Os.has(u))&&!r}var Lf=new Set(["'s","a","am","an","and","as","closest","contain","contains","do","does","empty","equal","equals","exist","exists","false","first","greater","has","have","in","include","includes","is","it","its","last","less","match","matches","me","mod","my","next","no","not","null","of","or","previous","really","some","than","the","true","undefined","where","you","your","result","target","body","detail"]),_f=new Set(["am","and","as","contain","contains","do","does","empty","equal","equals","exist","exists","greater","has","have","in","include","includes","is","less","match","matches","mod","no","not","of","or","really","some","than"]),xu=/\s+as\s+([A-Za-z]\w*)!?\s*$/,Nf=/("[^"]*"|'[^']*')|\*(?=[A-Za-z_-])/g,If=e=>e.replace(Nf,(t,r)=>r??" style_");function ji(e){let t=e;for(let i=xu.exec(t);i;i=xu.exec(t)){if(!cr(i[1]??""))return false;t=t.slice(0,i.index);}let r=t.replace(/"[^"]*"|'[^']*'/g,"");if(/["']/.test(r.replace(/'s\b/g,""))||/[^\x00-\x7F]/.test(r))return false;t=If(t);let n=Ii(t);return !n.success||n.consumed===void 0||n.consumed!==ls(t).length-1?false:$f(n.node).every(cr)}function Mf(e){let t=[],r=0,n="",i=0;for(let a=0;a<e.length;a++){let u=e[a];n?u===n&&(n=""):u==='"'||u==="'"&&!/\w/.test(e[a-1]??"")?n=u:"([{".includes(u)?r++:")]}".includes(u)?r--:u===","&&r===0&&(t.push(e.slice(i,a)),i=a+1);}return t.push(e.slice(i)),t.every(a=>a.trim()!==""&&ji(a.trim()))}function $f(e){let t=[],r=n=>{if(Array.isArray(n)){n.forEach(r);return}if(!n||typeof n!="object")return;let i=n;i.type==="asExpression"&&t.push(String(i.targetType?.name??"")),Object.values(n).forEach(r);};return r(e),t}function ur(e,t){return e?.position?.end!==void 0&&t?.position?.start!==void 0&&e.position.end===t.position.start}var jf=new Set(["is","not","really","am","or"]);function Rs(e,t,r){let n=i=>e[i]?pt(r,{tokens:e,i},void 0).toLowerCase():"";return n(t)==="to"&&n(t-1)==="equal"&&jf.has(n(t-2))}function Ls(e,t){return e[t]?.value.toLowerCase()==="to"&&e[t-1]?.value.toLowerCase()==="mapped"}function qf(e){return e.value==="a"}var Wf=new Set(["event","window","document"]);function Vf(e,t,r){let n=e[t],i=e[t-1];return !n||!i||!lt(r,i)?false:Wf.has((n.normalized??n.value).toLowerCase())}function Hf(e,t,r){if(Ye(e,t,r.profile?.code??"en"))return true;let n=e[t];return n.kind==="keyword"&&(n.normalized??n.value).toLowerCase()==="else"?true:r.owes(n)}function Du(e,t,r){let n=r.profile?.code??"en";if(bs(n,e,t)||Ps(e,t)||Rs(e,t,n)||qf(e[t])||Ls(e,t))return false;let i=e[t];return Hf(e,t,r)||r.commandMarkers.has(i.value.toLowerCase())}function Kf(e,t,r){let n=e[t],i=e[t-1],a=r.profile?.code??"en";if(n.kind==="literal"||n.value==="'"&&e[t+1]?.value==="s"||n.value==="s"&&i?.value==="'")return true;if(n.kind==="selector"){if(!n.value.startsWith(".")||!i||ur(i,n)||ut.has(i.value)||/^[([,]$/.test(i.value)||lt(r.profile,i))return true;let o=pt(a,{tokens:e,i:t-1},void 0).toLowerCase();return _f.has(o)}if(ut.has(n.value)||/^[()[\],.!<>=+\-*/%]+$/.test(n.value)||lt(r.profile,n)||Cs(a,n,i,e[t+1])||bs(a,e,t)||Ps(e,t)||Vf(e,t,r.profile)||Rs(e,t,a))return true;let u=pt(a,{tokens:e,i:t},void 0).toLowerCase();return u==="as"&&r.hasResponseType?false:Lf.has(u)?true:n.kind==="identifier"&&/^(?::?[\p{L}_$][\p{L}\p{M}\p{N}_$]*(\[[^\]]*\])*('s)?|\([\p{L}_$][\p{L}\p{M}\p{N}_$]*\))$/u.test(n.value)}function Uf(e,t,r){if(!e[t]||Du(e,t,r))return [];let n=t;for(;n<e.length&&!Du(e,n,r)&&(Kf(e,n,r)||Ls(e,n));)n++;let i=[];for(let a=n;a>t;a--)i.push(a);return i}function Gf(e,t,r){let n=[],i=t;for(;;){let a=e[i];if(!a)break;if(a.value==="'"&&e[i+1]?.value==="s"&&e[i+2])i+=3;else if(/.'s$/.test(e[i-1]?.value??""))i+=1;else if(lt(r,a)&&e[i+1])i+=2;else if(/^(\.[\p{L}_$][\p{L}\p{N}_$]*|\[.*\])$/u.test(a.value)&&Yf(e,i))i+=1;else break;n.push(i);}return n.reverse()}function Yf(e,t){let r=e[t-1],n=e[t];return !!r&&!!n&&r.position.end===n.position.start}function Zf(e,t,r,n,i=ji){for(let a of r){let u=Ne(e.slice(t,a),n);if(i(u))return {end:a,raw:u}}}var _s=96,Qf=/^[A-Za-z_][\w-]*$/,Xf=/^[A-Za-z_][\w-]*:[^\s'"`/:][^\s]*$/;function Ns(e,t){let r=e.peek(t);return !!r&&r.kind==="identifier"&&Xf.test(r.value)}function Is(e,t){let r=e.peek(t);if(!r||r.kind!=="identifier"&&r.kind!=="keyword"||!Qf.test(r.value))return false;let n=e.peek(t+1),i=e.peek(t+2);return !!n&&n.value===":"&&!!i}function Bu(e,t=0){return Ns(e,t)||Is(e,t)}function Jf(e){let t=e.peek();if(!t||t.value!=="{"&&t.value!=="(")return null;let r="",n=-1,i=0,a=0;for(;!e.isAtEnd()&&a++<_s;){let u=e.advance();if(!u)break;if(n>=0&&u.position.start>n&&(r+=" ".repeat(u.position.start-n)),r+=u.value,n=u.position.end,u.value==="{"||u.value==="(")i++;else if((u.value==="}"||u.value===")")&&(i--,i===0))return r}return null}function Su(e){let t=e.peek();return t?t.value==="{"||t.value==="("?Jf(e):t.value===","||t.value===":"?null:(e.advance(),t.value):null}function or(e,t){let r=e.mark(),n=[];if(t!==void 0){let a=e.peek();if(!a||a.value!==":"||!e.peek(1))return null;e.advance();let u=Su(e);if(u===null)return e.reset(r),null;n.push(`${t}:${u}`);}else if(!Bu(e))return null;let i=0;for(;i++<_s;){let a=e.peek();if(!a)break;if(a.value===","){if(n.length===0||!Bu(e,1))break;e.advance();continue}if(Ns(e,0)){n.push(e.advance().value);continue}if(!Is(e,0))break;let u=e.advance().value;e.advance();let o=Su(e);if(o===null)return e.reset(r),null;n.push(`${u}:${o}`);}return n.length===0?(e.reset(r),null):`{${n.join(", ")}}`}var ey=/^(?:the )?(?:global|element|local|dom)(?:'s)? [A-Za-z_]\w*$/i;function mn(e){switch(e.kind){case "selector":return Le(e.value);case "literal":return ty(e.value);case "keyword":{let r=Tf(e);if(r)return r;let n=(e.normalized||e.value).toLowerCase();return Ke(n)?Te(n):Zo(n)??te(e.normalized||e.value)}case "identifier":if(e.value.startsWith("@"))return Le(e.value);if(e.value.startsWith(":")||e.value.startsWith("$")||ey.test(e.value))return Te(e.value);let t=e.value.toLowerCase();return Ke(t)?Te(t):{type:"expression",raw:e.value};case "url":{let r=te(e.value,"string");return e.value.includes("${")?{...r,interpolates:true}:r}default:return null}}function ty(e){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")||e.startsWith("\u300C")){let n=e.slice(1,-1);return {...te(n,"string"),quoted:true}}if(e==="true")return te(true,"boolean");if(e==="false")return te(false,"boolean");let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(t){let n=parseFloat(t[1]);return t[2]?te(e,"duration"):te(n,"number")}if(Ac(e))return {type:"expression",raw:e};let r=parseFloat(e);return isNaN(r)?te(e,"string"):te(r,"number")}var Nr=.8,ry=.6,ny=.15,iy=.5,Fu=.15,Tu=.1,Pu=new Set(["\u0628\u062F\u0644","\u063A\u064A\u0631","\u0623\u0636\u0641","\u0623\u0632\u0644","\u0636\u0639","\u0627\u062C\u0639\u0644","\u0639\u064A\u0646","\u0632\u062F","\u0627\u0646\u0642\u0635","\u0633\u062C\u0644","\u0623\u0638\u0647\u0631","\u0623\u062E\u0641","\u0634\u063A\u0644","\u0623\u0631\u0633\u0644","\u0631\u0643\u0632","\u0634\u0648\u0634","\u062A\u0648\u0642\u0641","\u0627\u0646\u0633\u062E","\u0627\u062D\u0630\u0641","\u0627\u0635\u0646\u0639","\u0627\u0646\u062A\u0638\u0631","\u0627\u0646\u062A\u0642\u0627\u0644","\u0623\u0648"]),ay={patient:["\u0639\u0644\u0649"],destination:["\u0625\u0644\u0649","\u0627\u0644\u0649"],source:["\u0645\u0646"],agent:["\u0645\u0646"],manner:["\u0628"],style:["\u0628"],goal:["\u0625\u0644\u0649","\u0627\u0644\u0649"],method:["\u0628"]},uy=class{calculate(e){return this.calculateWithBreakdown(e).final}calculateWithBreakdown(e){let t=this.scoreRoleCoverage(e),r=this.scoreStemPenalty(e),n=this.scoreLanguageBoost(e),i=this.scoreLanguageAdjustment(e),a=t;return a=Math.max(iy,a+r),a=Math.min(1,a+n),a=Math.max(0,Math.min(1,a+i)),{roleCoverage:t,stemPenalty:r,languageBoost:n,languageAdjustment:i,final:a}}scoreRoleCoverage(e){let{pattern:t,captured:r}=e,n=0,i=0,a=l=>t.extraction?.[l]?.default!==void 0,u=t.command==="on"?t.extraction?.action?.value:void 0,o=Ce[u??t.command]?.roles,s=l=>o?.find(c=>c.role===l)?.valueShape!==void 0;for(let l of t.template.tokens)if(l.type==="role")r.has(l.role)?(i+=1,n+=1):s(l.role)||(i+=1);else if(l.type==="group")for(let c of l.tokens)c.type==="role"&&(r.has(c.role)?(i+=Nr,n+=Nr):s(c.role)||(i+=Nr,a(c.role)&&(n+=Nr*ry)));return i>0?n/i:1}scoreStemPenalty(e){let{stemMatchCount:t,totalKeywordMatches:r}=e;return t<=0||r<=0?0:-(t/r)*ny}scoreLanguageBoost(e){let{pattern:t}=e;if(t.language!=="ar")return 0;let r=t.template.tokens[0];return !r||r.type!=="literal"?0:Pu.has(r.value)||r.alternatives?.some(n=>Pu.has(n))?Fu:0}scoreLanguageAdjustment(e){let{pattern:t,captured:r}=e;if(t.language!=="ar")return 0;let n=0;for(let[i,a]of r.entries()){let u=ay[i];if(!u||u.length===0)continue;let o="metadata"in a?a.metadata:void 0;o&&typeof o.prepositionValue=="string"&&(u.includes(o.prepositionValue)?n+=.1:n-=.1);}return Math.max(-Tu,Math.min(Tu,n))}},oy=new uy,sy=new Set(Object.values(Ce).filter(e=>e.bareKeyword===true).map(e=>e.action));function ly(e){return e.startsWith("*")||e.startsWith("@")}function Ou(e){return e?.type==="role"&&e.role==="event"}var me=class ${constructor(t){this.view=t,this.wouldMatch=(r,n)=>this.patternTokenWouldMatch(r,n);}get patternRest(){return this.view.patternRest()}get slotAfterLiteral(){return this.view.slotAfterLiteral()}patternTokenWouldMatch(t,r){return this.view.wouldMatch(t,r)}beginPattern(t){this.currentProfile=T(t.language),this.currentPatternCommand=t.command,this.currentRoleCommand=t.extraction?.action?.value??t.command,this.eventSource=void 0;}readRole(t,r,n,i){return this.matchRoleToken(t,r,n,i)}maySkipSlot(t,r,n){return xf(t,r,n,this.wouldMatch)}skipLeading(t,r){let n=r[0],i=n?.type==="literal"&&(n.value==="and"||n.value==="then"||n.alternatives?.includes("and")||n.alternatives?.includes("then"));if(this.currentProfile?.code==="ar"&&!i)for(;t.peek()?.kind==="conjunction";)t.advance();}beforePatternToken(t,r,n,i){let a=r[n];a?.type==="literal"&&(!Ou(r[n-1])&&!Ou(r[n-2])||this.tryConsumeEventSourceClause(t,i,a));}resultFields(){return this.eventSource?{eventSource:this.eventSource}:{}}tryConsumeEventSourceClause(t,r,n){if(r.has("source")||this.eventSource)return;let i=t.peek(),a=t.peek(1);if(!i||!a||this.patternTokenWouldMatch(n,i))return;let u=this.currentProfile?.roleMarkers?.source,o=l=>{if(l.kind!=="particle"&&l.kind!=="keyword")return false;if((l.normalized??"").toLowerCase()==="source")return true;if(!u)return false;let c=l.value.toLowerCase();return u.primary?.toLowerCase()===c?true:!!u.alternatives?.some(p=>p.toLowerCase()===c)},s=u?.position;if(s!=="after"&&o(i)){let l=this.sourceNounValue(a);if(!l)return;t.advance(),t.advance(),this.eventSource=l;return}if(s==="after"&&o(a)){let l=this.sourceNounValue(i);if(!l)return;t.advance(),t.advance(),this.eventSource=l;}}sourceNounValue(t){if(t.kind==="selector")return this.tokenToSemanticValue(t)??void 0;if(t.kind!=="keyword"&&t.kind!=="identifier")return;let r=(t.normalized??t.value).toLowerCase();if(r!=="me"){if(Ke(r))return {type:"reference",value:r};if(t.kind==="identifier"&&/^[A-Za-z_$][\w$]*$/.test(t.value))return {type:"expression",raw:t.value}}}tryFoldHyphenActionKeyword(t){let r=this.currentProfile;if(!r)return null;let n=t.mark(),i=[];for(;;){let u=t.peek();if(!u||u.kind!=="identifier"&&u.kind!=="keyword")break;i.push(u.value),t.advance();let o=t.peek();if(!o||o.value!=="-")break;t.advance(),i.push("-");}if(i.length<3||i[i.length-1]==="-")return t.reset(n),null;let a=i.join("").toLowerCase();for(let[u,o]of Object.entries(r.keywords))if(o.primary.toLowerCase()===a||o.alternatives?.some(s=>s.toLowerCase()===a))return te(u);return t.reset(n),null}matchRoleToken(t,r,n,i){let a=t.position(),u=t.mark(),o=n.get(r.role);return this.matchRoleTokenCore(t,r,n,i)?this.currentRoleCommand==="swap"&&r.role==="method"&&!r.optional&&n.get(r.role)!==o&&!$.SWAP_STRATEGIES.has(String(n.get(r.role).value??n.get(r.role).raw??"").toLowerCase())||this.currentRoleCommand==="put"&&r.role==="destination"&&n.get(r.role)!==o&&t.position()===a+1&&Gc(this.currentProfile?.code??"",t.tokens[a]?.value??"",t.tokens[a+1]?.value)||r.role==="event"&&n.get(r.role)!==o&&xi(this.currentProfile?.code??"",t.tokens[t.position()+1]?.value??"",t.tokens[t.position()]?.value,t.tokens[t.position()+2]?.value)?(t.reset(u),o?n.set(r.role,o):n.delete(r.role),false):n.get(r.role)===o?(t.position()>a&&t.reset(u),true):(this.absorbTrailingConversion(t,r,n,i,a),this.absorbTrailingConditionOperand(t,r,n,i,a),this.absorbExpressionTail(t,r,n,i,a),this.stampCaptureSpan(t,r.role,n,a,o),true):false}absorbExpressionTail(t,r,n,i,a){if(r.role==="event"||r.role==="action")return;let u=n.get(r.role),o=u?.type==="selector"&&u.value.startsWith("*");if(this.isClassNameSlot(r)&&!o||!u||t.position()<=a)return;let s=r.expectedTypes;if(!o&&s&&s.length>0&&!s.includes("expression"))return;let l=$.boundedByMarker(i)||r.valueShape==="list"?Uf(t.tokens,t.position(),this.extentContext()):Gf(t.tokens,t.position(),this.currentProfile),c=Zf(t.tokens,o?t.position()-1:a,l,this.currentProfile,r.valueShape==="list"?Mf:void 0);if(c){for(;t.position()<c.end;)t.advance();n.set(r.role,{type:"expression",raw:c.raw,value:c.raw});}}extentContext(){let t=this.restLiterals();return {profile:this.currentProfile,owes:r=>t.some(n=>this.patternTokenWouldMatch(n,r)),commandMarkers:this.commandMarkers(),hasResponseType:!!this.currentSchema()?.roles.some(r=>r.role==="responseType")}}isClassNameSlot(t){return t.role==="patient"&&["add","remove","toggle","take"].includes(this.currentRoleCommand??"")}isObjectValueSlot(t){let r=this.currentRoleCommand;return t.role==="source"?r==="get":t.role==="destination"&&r==="set"?true:t.role==="patient"&&(r==="put"||r==="set")}static boundedByMarker(t){return !t||t.type==="literal"?true:t.type==="group"?t.tokens[0]?.type==="literal":false}restLiterals(){let t=[],r=n=>{for(let i of n)i.type==="literal"?t.push(i):i.type==="group"&&r(i.tokens);};return r(this.patternRest),t}currentSchema(){let t=this.currentRoleCommand;if(!(!t||!(t in Ce)))return Ce[t]}commandMarkers(){let t=this.currentSchema(),r=this.currentProfile,n=new Set;if(!t||!r)return n;for(let i of t.roles){let a=i.markerOverride?.[r.code];if(a){n.add(a.toLowerCase());continue}let u=r.roleMarkers[i.role];if(u){n.add(u.primary.toLowerCase());for(let o of u.alternatives??[])n.add(o.toLowerCase());}}return n.delete(""),n}stampCaptureSpan(t,r,n,i,a){let u=n.get(r);if(!u||u===a||u.position||t.position()<=i)return;let o=t.tokens[i],s=t.tokens[t.position()-1];!o||!s||n.set(r,Qo(u,{start:o.position.start,end:s.position.end}));}absorbTrailingConditionOperand(t,r,n,i,a){if(r.role!=="condition"||!n.has("condition")||t.position()<=a)return;let u=this.currentPatternCommand==="repeat";if(!u&&(i!==void 0||this.currentPatternCommand!=="on"))return;let o=$.CONDITION_OPERATOR_WORDS,s=m=>{let y=(m.normalized??"").toLowerCase(),f=m.value.toLowerCase();if(o.has(y)||o.has(f))return true;let d=$.LOOP_CONDITION_OPERATORS;return u&&(d.has(f)||d.has(y))},l=m=>!!m&&(m.kind==="selector"||m.kind==="identifier"||m.kind==="literal")&&!s(m)&&!Yt.has((m.normalized??m.value).toLowerCase())&&!this.patternTokenWouldMatch(i,m),c=false;for(;;){let m=t.peek();if(!m||!s(m)||this.patternTokenWouldMatch(i,m))break;t.advance(),c=true;let y=t.peek();if(l(y)){t.advance();for(let f=t.peek();!(!f||!/^\.[a-zA-Z_]\w*$/.test(f.value)||f.position.start!==y.position.end);f=t.peek())t.advance(),y=f;}if(!u)break}if(!c)return;let p=Ne(t.tokens.slice(a,t.position()),this.currentProfile);n.set("condition",{type:"expression",raw:p,value:p});}conversionRunLength(t){let r=t.peek();if(!r||(r.normalized??r.value).toLowerCase()!=="as"&&r.value.toLowerCase()!=="as"&&!this.isNativeAs(t))return 0;let i=this.conversionTypeLength(t,1);if(i===0)return 0;for(i+=1;;){if(t.peek(i)?.value!=="|")return i;let a=this.conversionTypeLength(t,i+1);if(a===0)return i;i+=1+a;}}isNativeAs(t){let r=this.currentProfile?.code;if(!r||r==="en"||this.currentSchema()?.roles.some(u=>u.role==="responseType"))return false;let n=t.tokens,i=t.position();return pt(r,{tokens:n,i},void 0,n[i+2]).toLowerCase()==="as"}conversionTypeLength(t,r){let n=t.peek(r)?.value.toLowerCase(),i=n==="a"||n==="an"?r+1:r,a=t.peek(i);if(!a)return 0;let u=t.peek(i+1),o=t.peek(i+2);return u?.value===":"&&o&&ur(a,u)&&ur(u,o)&&cr(`${a.value}:${o.value}`)?i-r+3:cr(a.value)?i-r+1:0}absorbTrailingConversion(t,r,n,i,a){if(r.role==="event"||r.role==="action"||!n.has(r.role)||t.position()<=a)return;let u=this.conversionRunLength(t);if(u===0||this.patternTokenWouldMatch(i,t.peek()))return;for(let s=0;s<u;s++)t.advance();let o=Ne(t.tokens.slice(a,t.position()),this.currentProfile);n.set(r.role,{type:"expression",raw:o,value:o});}matchScopeFirst(t,r){let n=this.currentProfile?.queryScopeFirst;if(!n||r.role==="event")return null;let i=H4(t.tokens,t.position(),`${n.marker}${n.participle??""}`);if(!i)return null;let[a,u]=i.scope.parts,o=i.scope.parts.map(l=>l.text).join(" "),s;if(i.positional)s={type:"expression",raw:`${i.positional} ${i.query.value} in ${o}`};else {let l=this.tokenToSemanticValue(i.query),c=i.scope.kind==="reference"?Te(a.text):i.scope.kind==="closest"?{type:"expression",raw:`closest ${u.text}`}:this.tokenToSemanticValue(a.token);s=l?{...l,scope:c}:null;}if(!s)return null;for(let l=0;l<i.consumed;l++)t.advance();return s}matchRoleTokenCore(t,r,n,i){this.skipNoiseWords(t,r,i);let a=t.peek();if(!a||this.isClassNameSlot(r)&&this.commandMarkers().has(a.value.toLowerCase())||this.currentRoleCommand==="set"&&a.value.toLowerCase()==="on"&&this.patternTokenWouldMatch(i,a))return r.optional||false;let u=this.matchScopeFirst(t,r);if(u)return n.set(r.role,u),true;let o=this.slotAt(t,r,i);if(r.role==="style"&&this.currentRoleCommand==="show"){let h=this.tryMatchStrategyArgument(t);if(h)return n.set(r.role,h),true}if(r.role==="action"&&this.currentProfile&&t.peek(1)?.value==="-"){let h=this.tryFoldHyphenActionKeyword(t);if(h)return n.set(r.role,h),true}if(r.role==="event"&&this.currentPatternCommand==="on"){if(!$.tokenLooksLikeEvent(a))return r.optional||false;let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h)||$.VISIBILITY_STRATEGIES.has(h)||this.currentProfile&&(He(this.currentProfile,a.value)??He(this.currentProfile,h))!==void 0||a.value.includes("?."))return r.optional||false}if(r.role==="event"){let h=(a.normalized??a.value).toLowerCase();if($.STRUCTURAL_NEVER_EVENT.has(h))return r.optional||false}if(Cf(o,this.currentProfile?.code??"")||bf(o,this.currentPatternCommand))return r.optional||false;if(r.role==="duration"){let h=(a.normalized??a.value).toLowerCase();if($.POSITIONAL_OR_SCOPE_KEYWORDS.has(h))return r.optional||false}if(Af(o))return true;if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchPositionalPossessiveExpression(t,i);if(h)return n.set(r.role,h),true}let s=this.tryMatchPositionalExpression(t,i);if(s)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(s.type,r.expectedTypes)?r.optional||false:(n.set(r.role,s),true);let l=this.tryMatchCaretScopeExpression(t);if(l)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(l.type,r.expectedTypes)?r.optional||false:(n.set(r.role,l),true);let c=this.tryMatchParenReceiverCall(t);if(c)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,c),true);if(r.role!=="event"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchBeepPrefixExpression(t);if(h)return n.set(r.role,h),true;let A=this.tryMatchHyphenatedWord(t);if(A)return n.set(r.role,A),true;let w=this.isWrittenTarget(r)?null:this.tryMatchOperatorRunExpression(t);if(w)return n.set(r.role,w),true}if(this.currentPatternCommand==="pick"&&r.role==="patient"&&(!r.expectedTypes||r.expectedTypes.includes("expression"))){let h=this.tryMatchPickRangeExpression(t);if(h)return n.set(r.role,h),true}if(this.roleAcceptsPropertyPath(r)){let h=this.tryMatchOfPossessiveExpression(t,i);if(h)return n.set(r.role,h),true;let A=this.tryMatchPostNominalPossessiveExpression(t);if(A)return n.set(r.role,A),true}let p=this.tryMatchPossessiveExpression(t);if(p)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(p.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,p),true);let m=this.tryMatchMethodCallExpression(t);if(m)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(m.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,m),true);let f=r.role==="event"&&this.currentPatternCommand==="on"||$.DECLARATION_COMMANDS.has(this.currentPatternCommand??"")||this.isWrittenTarget(r)?null:this.tryMatchBareCallExpression(t);if(f)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(f.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,f),true);let d=this.tryMatchPossessiveSelectorExpression(t);if(d)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(d.type,r.expectedTypes)?r.optional||false:(n.set(r.role,d),true);let v=r.role!=="condition",g=this.tryMatchPropertyAccessExpression(t,v);if(g)return r.expectedTypes&&r.expectedTypes.length>0&&!r.expectedTypes.includes(g.type)&&!r.expectedTypes.includes("expression")?r.optional||false:(n.set(r.role,g),true);let k=this.tryMatchSelectorPropertyExpression(t);if(k)return r.expectedTypes&&r.expectedTypes.length>0&&!_r(k.type,r.expectedTypes)?r.optional||false:(n.set(r.role,k),true);if(a.value==="("&&r.role!=="event"&&r.role!=="action"&&(!r.expectedTypes?.length||r.expectedTypes.some(h=>h==="expression"||h==="selector"||h==="reference"))){let h=this.tryMatchParenGroupExpression(t);if(h)return n.set(r.role,h),true}if(a.kind==="identifier"&&a.value==="{"){let h=r.expectedTypes,w=h?.length===1&&h[0]==="expression"||this.isObjectValueSlot(r)?this.tryMatchBraceRunExpression(t):!h?.length||h.includes("literal")?this.tryMatchBraceRunLiteral(t):null;if(w)return n.set(r.role,w),true}if(r.role==="style"&&r.expectedTypes?.length===1&&r.expectedTypes[0]==="expression"){let h=or(t);if(h)return n.set(r.role,{type:"expression",raw:h}),true}if(Sf(o)||Ff(o,this.currentSchema())||zf(o,this.currentProfile?.code??""))return n.set(r.role,{type:"expression",raw:a.value}),t.advance(),true;let E=this.tokenToSemanticValue(a);if(!E)return r.optional||false;if(r.expectedTypes&&r.expectedTypes.length>0){if(!r.expectedTypes.includes(E.type)){let h=E.type==="selector"&&String(E.value).startsWith("@"),A=r.expectedTypes.some(w=>w==="expression"||w==="reference");if(!(h&&A))return r.optional||false}if(r.role==="duration"&&E.type==="literal"&&E.quoted===true&&r.expectedTypes.every(h=>h==="literal"))return r.optional||false}r.valueShape==="keyword"&&E.type==="expression"?n.set(r.role,te(String(E.raw??""))):n.set(r.role,E),t.advance();let b=this.isClassNameSlot(r);if(E.type==="selector"&&(E.value.startsWith("<")||E.value.startsWith(".")&&!b)&&r.role!=="event"){let h=jr(t.tokens,t.position(),this.currentProfile,A=>A===void 0?false:this.patternTokenWouldMatch(i,A));if(h){let[A,w]=h.scope.parts,x=h.scope.kind==="reference"?Te(A.text):h.scope.kind==="closest"?{type:"expression",raw:`closest ${w.text}`}:this.tokenToSemanticValue(A.token);for(let B=0;B<1+h.scope.consumed;B++)t.advance();n.set(r.role,{...E,scope:x});}}if(r.role==="event"){let h=t.peek();h&&h.kind==="selector"&&h.value.startsWith("[")&&h.position.start===a.position.end&&"value"in E&&(n.set(r.role,te(`${String(E.value)}${h.value}`)),t.advance());let A=t.peek();if(A&&(A.kind==="particle"||A.kind==="keyword")&&(A.normalized??"").toLowerCase()==="source"&&!this.patternTokenWouldMatch(i,A)){let w=t.peek(1),x=w?this.sourceNounValue(w):void 0;x&&!this.eventSource&&(t.advance(),t.advance(),this.eventSource=x);}}return true}atClauseEnd(t){return Ye(t.tokens,t.position(),this.currentProfile?.code??"")}tryMatchPositionalExpression(t,r){let n=_t(t.tokens,t.position(),this.currentProfile,i=>i===void 0?false:this.patternTokenWouldMatch(r,i));if(!n)return null;for(let i=0;i<n.consumed;i++)t.advance();return {type:"expression",raw:n.parts.map(i=>i.text).join(" ")}}tryMatchCaretScopeExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!r.value.startsWith("^"))return null;let n=t.peek(1),i=t.peek(2),a=(n?.normalized??"").toLowerCase(),u=!!n&&(n.value.toLowerCase()==="on"||a==="destination"||a==="on");return !n||!i||i.kind!=="selector"||!u?null:(t.advance(),t.advance(),t.advance(),{type:"expression",raw:`${r.value} on ${i.value}`})}isOfPossessiveMarker(t){return lt(this.currentProfile,t)}logicalConnectiveOf(t){let r=t.peek();if(!r)return;let n=this.currentProfile?.code??"en",i=s=>s==="and"||s==="or"||s==="not",a=ct(n,r.value).toLowerCase();if(i(a))return a;if(this.commandMarkers().has(r.value.toLowerCase()))return;let u=t.position(),o=nf(n,{tokens:t.tokens,i:u});return o&&i(o)?o:void 0}tryConsumeRunPhrase(t){let r=this.currentProfile?.code??"en",n=t.tokens,i=t.position(),a=[],u;for(let o=0;o<6&&i+o<n.length;o++){let s=pt(r,{tokens:n,i:i+o},u).toLowerCase();a.push(s),u=s;}for(let[o,s]of $.RUN_PHRASES)if(o.every((l,c)=>a[c]===l)){for(let l=0;l<o.length;l++)t.advance();return s}}slotAt(t,r,n){return new kf(t,r,this.slotAfterLiteral,n,this.wouldMatch,this.currentProfile?.code??"")}static isBareWordToken(t){return !!t&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t.value)}tryMatchBeepPrefixExpression(t){let r=t.peek(),n=t.peek(1);if(!r||!n||n.value!=="!"||(r.normalized??r.value).toLowerCase()!=="beep"||!(r.position?.end!==void 0&&n.position?.start!==void 0&&r.position.end===n.position.start))return null;let a=t.mark(),u=t.position();if(t.advance(),t.advance(),!this.tryConsumeRunOperand(t))return t.reset(a),null;for(;;){let s=t.peek();if(!s||!ut.has(s.value))break;let l=t.mark();if(t.advance(),!this.tryConsumeRunOperand(t,true)){t.reset(l);break}}let o=Ne(t.tokens.slice(u,t.position()),this.currentProfile);return {type:"expression",raw:o,value:o}}tryMatchHyphenatedWord(t){let r=t.peek();if(!$.isBareWordToken(r))return null;let n=1,i=[r.value];for(;;){let a=t.peek(n),u=t.peek(n+1);if(!a||a.value!=="-"||!$.isBareWordToken(u)||!ur(t.peek(n-1),a)||!ur(a,u))break;i.push(u.value),n+=2;}if(i.length<2)return null;for(let a=0;a<n;a++)t.advance();return te(i.join("-"),"string")}tryMatchOperatorRunExpression(t){let r=t.mark(),n=t.position(),i=t.peek(),a=!!i&&(this.logicalConnectiveOf(t)==="not"||i.value==="-");if(!this.tryConsumeRunOperand(t))return t.reset(r),null;let u=1;for(;;){let s=t.peek();if(!s)break;let l=this.logicalConnectiveOf(t),c=(l==="and"||l==="or")&&this.currentRoleCommand!=="wait",p=t.mark();if(c||ut.has(s.value))t.advance();else {let m=this.tryConsumeRunPhrase(t);if(m===void 0)break;if(m==="none"){u++;continue}}if(!this.tryConsumeRunOperand(t,true,c)){t.reset(p);break}u++;}if(u<2&&!a)return t.reset(r),null;let o=Ne(t.tokens.slice(n,t.position()),this.currentProfile);return {type:"expression",raw:o,value:o}}static rangeSeparatorFor(t){let[r]=$.PICK_RANGE_SEPARATORS_BY_LANG[t]??[];return r}isPickRangeSeparator(t){let r=(t.normalized??t.value).toLowerCase();if($.PICK_RANGE_SEPARATORS.has(r))return true;let n=this.currentProfile?.code;return n?$.PICK_RANGE_SEPARATORS_BY_LANG[n]?.has(t.value.toLowerCase())??false:false}tryMatchPickRangeExpression(t){let r=t.mark(),n=t.position();if(!this.tryConsumePickRangeOperand(t))return t.reset(r),null;let i=t.peek();if(!i||!this.isPickRangeSeparator(i)||(t.advance(),!this.tryConsumePickRangeOperand(t)))return t.reset(r),null;let a=t.peek();a&&$.PICK_RANGE_MODES.has((a.normalized??a.value).toLowerCase())&&t.advance();let u=t.tokens.slice(n,t.position()),[o,,s,l]=u,c=m=>m.kind==="keyword"?m.normalized??m.value:m.value,p=`${c(o)} to ${c(s)}`;return l&&(p+=` ${(l.normalized??l.value).toLowerCase()}`),{type:"expression",raw:p,value:p}}tryConsumePickRangeOperand(t){let r=t.peek();if(!r)return false;let n=(r.normalized??r.value).toLowerCase();if(this.isPickRangeSeparator(r))return false;let i=n==="start"||n==="end";return r.kind==="literal"||r.kind==="identifier"||r.kind==="keyword"&&i?(t.advance(),true):false}tryConsumeRunOperand(t,r=false,n=false){let i=t.peek();if(!i)return false;if(this.logicalConnectiveOf(t)==="not"){let u=t.mark();return t.advance(),Bf(t.peek()??void 0,t.peek(1)??void 0)?(t.reset(u),false):this.tryConsumeRunOperand(t,true,n)?true:(t.reset(u),false)}if(i.value==="-"){let u=t.mark();return t.advance(),this.tryConsumeRunOperand(t,true,n)?true:(t.reset(u),false)}if(n&&Df(i))return false;if(Pf(i,r,t.peek(1)??void 0))return t.advance(),true;if(i.value==="("){let u=t.mark(),o=0;for(;!t.isAtEnd();){let s=t.advance();if(s.value==="(")o++;else if(s.value===")"&&(o--,o===0))return true}return t.reset(u),false}if(this.tryMatchPossessiveExpression(t))return true;if(i.value.toLowerCase()==="the"){let u=t.mark();if(t.advance(),this.tryConsumeRunOperand(t,r,n))return true;t.reset(u);}if(this.tryMatchOfPossessiveExpression(t,void 0,true)||this.tryMatchPossessiveSelectorExpression(t)||this.tryMatchPropertyAccessExpression(t,true)||this.tryMatchSelectorPropertyExpression(t))return true;let a=(i.normalized??"").toLowerCase();return (i.kind==="literal"||i.kind==="identifier"||i.kind==="selector"||i.kind==="keyword")&&!ut.has(i.value)&&!["then","else"].includes(a)&&!Ye(t.tokens,t.position(),this.currentProfile?.code??"")&&i.value!==")"?(t.advance(),true):false}isPossessorToken(t){if(!this.currentProfile)return false;for(let r of [t.value,t.normalized].filter(Boolean))if(He(this.currentProfile,r)??He(this.currentProfile,r.toLowerCase()))return true;return false}isBareWordPropertyHead(t){return t.kind==="keyword"?!!this.currentProfile&&Hn(this.currentProfile.code,t.value):t.kind!=="identifier"||/^[$:@#.*]/.test(t.value)||this.isStructuralKeyword(t.value)||t.normalized&&this.isStructuralKeyword(t.normalized)||t.normalized&&this.isRoleMarkerConcept(t.normalized)?false:!this.isPossessorToken(t)}toEnglishProperty(t){return this.currentProfile?Be(this.currentProfile.code,t):t}roleAcceptsPropertyPath(t){if(t.type!=="role")return false;if(t.expectedTypes)return t.expectedTypes.includes("property-path");let r=this.currentRoleCommand;return r?Ce[r]?.roles.find(a=>a.role===t.role)?.expectedTypes?.includes("property-path")??false:false}tryMatchOfPossessiveExpression(t,r,n=false){let i=t.peek();if(!i||!(i.kind==="selector"?/^[*@]/.test(i.value):this.isBareWordPropertyHead(i)))return null;let u=t.position(),o=t.mark();t.advance();let s="";if(i.kind!=="selector")for(let m=t.peek(),y=i;m&&!(m.kind!=="selector"||!/^\.[A-Za-z_]\w*$/.test(m.value)||y.position.end!==m.position.start);m=t.peek())s+=m.value,y=m,t.advance();let l=t.peek();if(!l||!this.isOfPossessiveMarker(l))return t.reset(o),null;if(this.currentRoleCommand==="swap"&&this.patternTokenWouldMatch(r,l)){let m=t.tokens[t.position()+2];if(!m||!this.patternTokenWouldMatch(r,m))return t.reset(o),null}t.advance(),t.peek()?.value.toLowerCase()==="the"&&t.advance();let c=_t(t.tokens,t.position(),this.currentProfile,m=>m===void 0?false:this.patternTokenWouldMatch(r,m));if(c){for(let m=0;m<c.consumed;m++)t.advance();return Ve({type:"expression",raw:c.parts.map(m=>m.text).join(" ")},this.toEnglishProperty(i.value)+s,"possessive")}let p=t.peek();if(!p||p.kind!=="selector"||ly(p.value)){if(t.reset(o),this.patternTokenWouldMatch(r,l))return null;let m=this.currentProfile?.code??"en",y=As(t.tokens,u,this.currentProfile,m);if(y===void 0)return null;for(;t.position()<=y;)t.advance();let f=Ne(t.tokens.slice(u,y+1),this.currentProfile);return {type:"expression",raw:f,value:f}}if(t.advance(),/^[<.]/.test(p.value)&&!n){let m=t.position()-1,y=jr(t.tokens,t.position(),this.currentProfile,b=>b===void 0?false:this.patternTokenWouldMatch(r,b)),f=b=>b===void 0?false:this.patternTokenWouldMatch(r,b),d=t.peek()??void 0,v=t.tokens[t.position()+1]?.value.toLowerCase()==="the"?1:0,g=!y&&d&&vs(this.currentProfile,d)?_t(t.tokens,t.position()+1+v,this.currentProfile,f):null,k=y?y.scope.consumed:g?v+g.consumed:void 0,E=k!==void 0?t.tokens[t.position()+1+k]:void 0;if(k!==void 0&&(y||!f(d)||f(E))){let b=t.position()+1+k,D=Ne(t.tokens.slice(m,b),this.currentProfile);for(;t.position()<b;)t.advance();return Ve({type:"expression",raw:D},this.toEnglishProperty(i.value)+s,"possessive")}}return Ve(Le(p.value),this.toEnglishProperty(i.value)+s,"possessive")}tryMatchPositionalPossessiveExpression(t,r){let n=this.currentProfile,i=n?.possessive?.marker;if(!n||!i||n.possessive?.markerPosition!=="between"||n.code==="th")return null;let a=_t(t.tokens,t.position(),n,l=>l===void 0?false:this.patternTokenWouldMatch(r,l));if(!a)return null;let u=t.peek(a.consumed),o=t.peek(a.consumed+1);if(!u||u.value!==i)return null;let s=!!o&&(this.isBareWordPropertyHead(o)||o.kind==="selector"&&o.value.startsWith("*")||o.kind==="keyword"&&Hn(n.code,o.value));if(!o||!s)return null;for(let l=0;l<a.consumed+2;l++)t.advance();return Ve({type:"expression",raw:a.parts.map(l=>l.text).join(" ")},this.toEnglishProperty(o.value),"possessive")}tryMatchPossessiveExpression(t){let r=t.peek();if(!r||!this.currentProfile)return null;let n=[r.value,r.normalized].filter(Boolean),i;for(let s of n)if(i=He(this.currentProfile,s)??He(this.currentProfile,s.toLowerCase()),i)break;if(!i)return null;let a=t.mark();t.advance();let u=this.currentProfile.possessive?.connectors;if(u&&u.length>0){let s=t.peek();if(s){let l=s.value.toLowerCase(),c=(s.normalized??"").toLowerCase();u.some(p=>p.toLowerCase()===l||p.toLowerCase()===c)&&t.advance();}}let o=t.peek();if(!o||Uc(this.currentProfile.code,o.value))return t.reset(a),null;if(o.kind==="identifier"||o.kind==="keyword"&&!this.isStructuralKeyword(o.value)&&!(o.normalized&&this.isStructuralKeyword(o.normalized))&&!(o.normalized&&this.isRoleMarkerConcept(o.normalized))&&!(o.normalized&&$.COMMAND_ACTION_KEYWORDS.has(o.normalized.toLowerCase()))&&!(o.normalized&&$.CONDITION_OPERATOR_WORDS.has(o.normalized.toLowerCase()))||o.kind==="selector"&&o.value.startsWith("*")||o.kind==="selector"&&o.value.startsWith("@")||o.kind==="selector"&&o.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(o.value)){t.advance();let s=o.value;o.kind==="selector"&&s.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(s)&&(s=s.substring(1)),s=this.toEnglishProperty(s),s===o.value&&o.kind==="keyword"&&o.normalized&&/^[A-Za-z]+$/.test(o.normalized)&&o.normalized.toLowerCase()!==o.value.toLowerCase()&&(s=o.normalized);let l=s;for(;;){let p=t.peek();if(p?.kind==="selector"&&p.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(p.value)){l+=p.value,t.advance();continue}if(p?.value==="?"){let m=t.peek(1);if(m?.kind==="selector"&&m.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(m.value)){l+=`?${m.value}`,t.advance(),t.advance();continue}}break}let c=t.peek();if(c&&c.value.startsWith("(")){let p="",m=0,y=0;for(;!t.isAtEnd()&&y++<$.MAX_METHOD_ARGS+2;){let f=t.peek();if(!f)break;p+=f.value,t.advance();for(let d of f.value)d==="("?m++:d===")"&&m--;if(m<=0)break}l+=p;}return Ve(Te(i),l,"possessive")}return t.reset(a),null}tryMatchPostNominalPossessiveExpression(t){if(!this.currentProfile||this.currentProfile.possessive?.markerPosition!=="after-object")return null;let r=t.peek();if(!r)return null;let n=r.kind==="selector"&&r.value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(r.value);if(!(r.kind==="identifier"&&!this.isStructuralKeyword(r.value)&&!(r.normalized&&this.isStructuralKeyword(r.normalized))&&!(r.normalized&&this.isRoleMarkerConcept(r.normalized))||r.kind==="selector"&&(r.value.startsWith("*")||r.value.startsWith("@"))||n)||this.isPossessorToken(r))return null;let a=t.mark(),u=r.value;n&&(u=u.substring(1)),t.advance(),u=this.toEnglishProperty(u);let o=u;for(;t.peek()?.kind==="selector"&&t.peek().value.startsWith(".")&&/^\.[a-zA-Z_]\w*/.test(t.peek().value);)o+=t.peek().value,t.advance();let s=t.peek();if(!s)return t.reset(a),null;let l;for(let p of [s.value,s.normalized].filter(Boolean))if(l=He(this.currentProfile,p)??He(this.currentProfile,p.toLowerCase()),l)break;if(!l)return t.reset(a),null;let c=t.mark();return this.tryMatchPossessiveExpression(t)?(t.reset(a),null):(t.reset(c),t.advance(),Ve(Te(l),o,"possessive"))}isStructuralKeyword(t){return new Set(["into","in","to","from","at","by","with","without","before","after","of","as","on","then","end","else","if","repeat","while","for","toggle","add","remove","put","set","show","hide","increment","decrement","send","trigger","call"]).has(t.toLowerCase())}isRoleMarkerConcept(t){return yr.has(t.toLowerCase())}static tokenLooksLikeEvent(t){if(t.kind==="selector"||t.kind==="url"||t.kind==="literal")return false;let r=t.value;if(/[/#@*]/.test(r)||r.startsWith('"')||r.startsWith("'")||r.startsWith("`"))return false;let n=t.normalized?.toLowerCase();return !(n&&sy.has(n)||n==="me"||n==="it"||n==="you")}tryMatchStrategyArgument(t){let r=t.mark(),n=t.peek();if(!n||!/^\*?[A-Za-z][\w-]*(:[\w-]*)?$/.test(n.value))return null;let i=n.value,a=n;if(t.advance(),i.endsWith(":")||t.peek()?.value===":"){if(!i.endsWith(":")){let o=t.advance();if(!$.abuts(a,o))return t.reset(r),null;i+=":",a=o;}let u=t.peek();u&&u.position.start>a.position.end&&(i+=u.value,a=u,t.advance());}if(!i.includes(":"))return t.reset(r),null;for(let u=t.peek();u&&$.abuts(a,u);u=t.peek())i+=u.value,a=u,t.advance();return i.endsWith(":")?(t.reset(r),null):{type:"expression",raw:i}}tryMatchBraceRunLiteral(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark();t.advance();let i="{",a=r.position.end,u=1,o=0;for(;!t.isAtEnd()&&o++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(s.position.start>a&&(i+=" "),i+=s.value,a=s.position.end,s.value==="{")u++;else if(s.value==="}"&&(u--,u===0))return te(i)}return t.reset(n),null}tryMatchBraceRunExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||r.value!=="{")return null;let n=t.mark(),i="",a=-1,u=0,o=0;for(;!t.isAtEnd()&&o++<$.MAX_BRACE_RUN_TOKENS;){let s=t.advance();if(!s)break;if(a>=0&&s.position.start>a&&(i+=" ".repeat(s.position.start-a)),i+=s.value,a=s.position.end,s.value==="{")u++;else if(s.value==="}"&&(u--,u===0))return {type:"expression",raw:i}}return t.reset(n),null}tryMatchBareCallExpression(t){let r=t.peek();if(!r||r.kind!=="identifier"||!/^[A-Za-z_][\w$]*$/.test(r.value))return null;let n=t.peek(1);if(!n||n.value!=="(")return null;let i=t.mark();t.advance();let a=t.advance(),u="",o=a.position?.end,s=false,l=0;for(;!t.isAtEnd()&&l++<$.MAX_METHOD_ARGS+2;){let c=t.peek();if(!c)break;if(c.value===")"){t.advance(),s=true;break}let p=o!==void 0&&c.position?.start===o;u+=(u===""||p?"":" ")+c.value,o=c.position?.end,t.advance();}return s?{type:"expression",raw:`${r.value}(${u})`}:(t.reset(i),null)}tryMatchMethodCallExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="operator"||i.value!==".")return t.reset(n),null;t.advance();let a=t.peek();if(!a||a.kind!=="identifier")return t.reset(n),null;t.advance();let u=t.peek();if(!u||u.kind!=="punctuation"||u.value!=="(")return t.reset(n),null;t.advance();let o=[];for(;!t.isAtEnd()&&o.length<$.MAX_METHOD_ARGS;){let l=t.peek();if(!l)break;if(l.kind==="punctuation"&&l.value===")"){t.advance();break}if(l.kind==="punctuation"&&l.value===","){t.advance();continue}o.push(l.value),t.advance();}return {type:"expression",raw:`${r.value}.${a.value}(${o.join(", ")})`}}tryMatchParenReceiverCall(t){if(t.peek()?.value!=="(")return null;let r=t.mark(),n=[];t.advance();let i=1;for(;!t.isAtEnd()&&n.length<=$.MAX_METHOD_ARGS*4;){let c=t.peek();if(t.advance(),c.value==="(")i++;else if(c.value===")"&&--i===0)break;n.push(c);}let a=t.tokens[t.position()-1],u=t.peek();if(i!==0||n.length===0||!u||u.kind!=="selector"||!/^\.[A-Za-z_$][\w$]*$/.test(u.value)||!$.abuts(a,u))return t.reset(r),null;t.advance();let o=t.peek();if(o?.value!=="("||!$.abuts(u,o))return t.reset(r),null;let s=this.consumeCallParens(t);return s===null?(t.reset(r),null):{type:"expression",raw:`(${Ne(n,this.currentProfile)})${u.value}${s}`}}tryMatchParenGroupExpression(t){if(t.peek()?.value!=="(")return null;let r=t.mark();t.advance();let n=[],i=1;for(;!t.isAtEnd();){let l=t.peek();if(t.advance(),l.value==="(")i++;else if(l.value===")"&&--i===0)break;n.push(l);}let a=t.tokens[t.position()-1],u=t.peek(),o=!!u&&(u.value==="'"||ut.has(u.value)||$.abuts(a,u)&&(u.value.startsWith(".")||u.value==="("));if(i!==0||n.length===0||o)return t.reset(r),null;let s=`(${Ne(n,this.currentProfile)})`;return {type:"expression",raw:s,value:s}}static abuts(t,r){return !!t&&!!r&&t.position.end===r.position.start}consumeCallParens(t){let r=t.mark(),n="",i,a=0;for(;!t.isAtEnd();){let u=t.peek();if(!u)break;if(n+=(i&&!$.abuts(i,u)?" ":"")+u.value,i=u,t.advance(),u.value==="(")a++;else if(u.value===")"&&--a===0)return n}return t.reset(r),null}tryMatchPropertyAccessExpression(t,r=true){let n=t.peek();if(!n||n.kind!=="identifier"&&n.kind!=="keyword")return null;let i=t.mark();t.advance();let a=n.value.toLowerCase(),u=t.peek();if((n.kind==="identifier"||$.PROPERTY_ACCESS_BASES.has(a))&&u&&u.kind==="selector"&&/^\.[a-zA-Z_]/.test(u.value)&&u.position.start===n.position.end){let y=n.value,f=[],d=0;for(;d<$.MAX_PROPERTY_DEPTH;){let k=t.peek();if(k&&k.kind==="selector"&&/^\.[a-zA-Z_]/.test(k.value))y+=`.${k.value.slice(1)}`,f.push(k.value.slice(1)),t.advance(),d++;else break}let v=t.peek(),g=!!v&&v.value.startsWith("(")&&($.abuts(t.tokens[t.position()-1],v)||this.patternRest[0]?.type!=="role");return r&&!g&&f.length>0&&Ke(a)?Ve(Te(a),f.join("."),"dot"):(g&&(y+=this.consumeCallParens(t)??""),{type:"expression",raw:y})}let o=t.peek();if(!o||o.kind!=="operator"||o.value!==".")return t.reset(i),null;t.advance();let s=t.peek();if(!s||s.kind!=="identifier")return t.reset(i),null;t.advance();let l=`${n.value}.${s.value}`,c=1;for(;!t.isAtEnd()&&c<$.MAX_PROPERTY_DEPTH;){let y=t.peek();if(!y||y.kind!=="operator"||y.value!==".")break;t.advance();let f=t.peek();if(!f||f.kind!=="identifier")break;t.advance(),l+=`.${f.value}`,c++;}let p=t.peek();if(p&&p.kind==="punctuation"&&p.value==="("){t.advance();let y=[],f=0;for(;!t.isAtEnd()&&y.length<$.MAX_METHOD_ARGS;){let v=t.peek();if(!v)break;if(v.kind==="punctuation"&&v.value===")"){if(f===0){t.advance();break}f--;}if(v.kind==="punctuation"&&v.value==="("&&f++,v.kind==="punctuation"&&v.value===","){t.advance();continue}y.push(v.value),t.advance();}return {type:"expression",raw:`${l}(${y.join(", ")})`}}let m=n.value.toLowerCase();if(r&&Ke(m)){let y=l.split(".").slice(1).join(".");return Ve(Te(m),y,"dot")}return {type:"expression",raw:l}}tryMatchPossessiveSelectorExpression(t){let r=t.peek();if(!r||r.kind!=="selector")return null;let n=t.mark();t.advance();let i=t.peek(),a=this.currentProfile?.possessive?.marker?.replace(/^-/,""),u=!!i&&i.kind==="punctuation"&&i.value==="'s",o=!!i&&i.value==="'"&&(t.peek(1)?.value??"").toLowerCase()==="s",s=(()=>{if(!this.currentPatternCommand||(i?.normalized??"").toLowerCase()!=="source")return false;let f=Ce[this.currentPatternCommand];return !!f&&f.roles.some(d=>d.role==="source")})(),l=!!i&&!!a&&a!=="'s"&&i.value===a&&(i.kind==="particle"||i.kind==="punctuation"||i.kind==="identifier")&&!s;if(!u&&!l&&!o)return t.reset(n),null;t.advance(),o&&t.advance();let c=t.peek();if(!c)return t.reset(n),null;let p=c.kind==="selector"&&c.value.startsWith("*"),m=c.kind==="keyword"&&!!this.currentProfile&&Hn(this.currentProfile.code,c.value);return c.kind==="identifier"||p||m||(u||o)&&(c.kind==="selector"||c.kind==="keyword")?(t.advance(),Ve(Le(r.value),this.toEnglishProperty(c.value),"possessive")):(t.reset(n),null)}tryMatchSelectorPropertyExpression(t){let r=t.peek();if(!r||r.kind!=="selector"||!r.value.startsWith("#"))return null;let n=t.mark();t.advance();let i=t.peek();if(!i||i.kind!=="selector"||!i.value.startsWith("."))return t.reset(n),null;t.advance();let a=[i.value.slice(1)],u=i;for(let s=t.peek();s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value)&&a.length<$.MAX_PROPERTY_DEPTH;s=t.peek())a.push(s.value.slice(1)),u=s,t.advance();let o=t.peek();if(o?.value==="("&&$.abuts(u,o)){let s=this.consumeCallParens(t);if(s!==null)return {type:"expression",raw:`${r.value}.${a.join(".")}${s}`}}return Ve(Le(r.value),a.join("."),"dot")}isWrittenTarget(t){return $.WRITTEN_ROLE[this.currentRoleCommand??""]===t.role}tokenToSemanticValue(t){return mn(t)}skipNoiseWords(t,r,n){let i=t.peek();if(!i)return;let a=i.value.toLowerCase();if($.ENGLISH_NOISE_WORDS.has(a)){if(wf(this.slotAt(t,r,n)))return;let u=t.mark();t.advance();let o=t.peek();if(o&&(o.kind==="selector"||o.kind==="identifier"))return;let s=t.peek(1);if(o&&o.kind==="keyword"&&s&&s.kind==="selector"&&/^\.[a-zA-Z_]/.test(s.value))return;let l=o?(o.normalized??o.value).toLowerCase():"";if(o&&$.POSITIONAL_OR_SCOPE_KEYWORDS.has(l))return;let c=t.peek(1),p=c?(c.normalized??c.value).toLowerCase():"",m=this.currentProfile?.wordOrder!=="SOV"&&$.COMMAND_ACTION_KEYWORDS.has(p),y=!c||c.kind==="particle"||$.CLAUSE_BOUNDARY_KEYWORDS.has(p)||m;if(o&&o.kind==="keyword"&&this.currentProfile?.code!=="en"&&Ke(l)&&y||o&&o.kind==="keyword"&&this.currentProfile?.code==="en"&&Ke(l))return;t.reset(u);}a==="class"&&t.advance();}};me.CONDITION_OPERATOR_WORDS=new Set(["matches","match","contains","exists","has","have","equals","includes"]);me.LOOP_CONDITION_OPERATORS=new Set([...cs,"and","or"]);me.POSITIONAL_OR_SCOPE_KEYWORDS=new Set(["first","last","next","previous","random","closest","parent"]);me.STRUCTURAL_NEVER_EVENT=new Set(["if","unless","else","end","then","while","repeat"]);me.PROPERTY_ACCESS_BASES=new Set(["it","me","you","my","its","your","event","result","target","detail","body","window","document","self","this"]);me.COMMAND_ACTION_KEYWORDS=Yt;me.CLAUSE_BOUNDARY_KEYWORDS=new Set(["then","and","or","end","else"]);me.RUN_PHRASES=[..._i.map(e=>[e.split(" "),"none"]),...Ni.map(e=>[e.split(" "),"type"]),...Li.filter(e=>!/^(in|am|has|have)$|^am /.test(e)).map(e=>[e.split(" "),"operand"]),[["exists"],"none"]];me.PICK_RANGE_SEPARATORS=new Set(["to"]);me.PICK_RANGE_SEPARATORS_BY_LANG={ar:new Set(["\u0625\u0644\u0649"]),bn:new Set(["\u09A5\u09C7\u0995\u09C7"]),de:new Set(["zu","bis"]),es:new Set(["a"]),fr:new Set(["\xE0"]),he:new Set(["\u05E2\u05DC","\u05E2\u05D3"]),hi:new Set(["\u0938\u0947"]),id:new Set(["ke"]),it:new Set(["in","a"]),ja:new Set(["\u304B\u3089"]),ko:new Set(["\uBD80\uD130"]),ms:new Set(["ke"]),pl:new Set(["do"]),pt:new Set(["para","a"]),qu:new Set(["kama"]),ru:new Set(["\u0432","\u0434\u043E"]),sw:new Set(["kwa","hadi"]),th:new Set(["\u0E43\u0E19","\u0E16\u0E36\u0E07"]),tl:new Set(["sa"]),tr:new Set(["ile"]),uk:new Set(["\u0432","\u0434\u043E"]),vi:new Set(["v\xE0o","\u0111\u1EBFn"]),zh:new Set(["\u5230"])};me.PICK_RANGE_MODES=new Set(["inclusive","exclusive"]);me.VISIBILITY_STRATEGIES=new Set(["display","visibility","opacity","twdisplay","twvisibility","twopacity"]);me.MAX_BRACE_RUN_TOKENS=64;me.MAX_PROPERTY_DEPTH=10;me.MAX_METHOD_ARGS=20;me.SWAP_STRATEGIES=new Set(["into","over","innerhtml","outerhtml","beforebegin","afterbegin","beforeend","afterend","delete","none","morph","innermorph","outermorph"]);me.DECLARATION_COMMANDS=new Set(["behavior","def"]);me.WRITTEN_ROLE={increment:"patient",decrement:"patient",set:"destination",bind:"destination"};me.ENGLISH_NOISE_WORDS=new Set(["the","a","an"]);var Ru=me,Ms=class extends Ca{constructor(e){super(t=>new Ru(t),e??oy);}matchPattern(e,t){return super.matchPattern(e,t)}matchBest(e,t){return super.matchBest(e,t)}static rangeSeparatorFor(e){return Ru.rangeSeparatorFor(e)}extractEventModifiers(e){let t={},r=false;for(;!e.isAtEnd();){let n=e.peek();if(!n||n.kind!=="event-modifier")break;let i=n.metadata;if(!i)break;switch(r=true,i.modifierName){case "once":t.once=true;break;case "debounce":typeof i.value=="number"&&(t.debounce=i.value);break;case "throttle":typeof i.value=="number"&&(t.throttle=i.value);break;case "queue":(i.value==="first"||i.value==="last"||i.value==="all"||i.value==="none")&&(t.queue=i.value);break}e.advance();}return r?t:void 0}},Pe=new Ms,cy={a:"\xE1",e:"\xEA",i:"i"};function py(e,t,r){switch(e){case "infinitive":return /r$/.test(t)?t+r:void 0;case "infinitive-drop-e":return /re$/.test(t)?t.slice(0,-1)+r:void 0;case "hyphen":{if(!/[aei]r$/.test(t))return;if(!r.startsWith("l"))return `${t}-${r}`;let n=t[t.length-2];return `${t.slice(0,-2)}${cy[n]}-${r}`}case "suffix":return t+r;case "before":return /^\p{L}+(?:er|ir|re)$/u.test(t)?/^[aeiouyàâäéèêëîïôöùûüœh]/iu.test(t)?`${r.slice(0,-1)}'${t}`:`${r} ${t}`:void 0}}var dy=/[aeıioöuü]/gu,my=new Set(["a","\u0131","o","u"]),fy=new Set(["\xE7","f","h","k","p","s","\u015F","t"]);function yy(e){let t=e.toLowerCase(),r=t.match(dy);return r?(fy.has(t[t.length-1])?"t":"d")+(my.has(r[r.length-1])?"a":"e"):void 0}function V(e,t){return Oc(e,t)}function $s(){return Pc()}function vy(e,t){let r=e[t];return r==='"'||r==="`"?true:r!=="'"?false:!(/[\p{L}\p{N}_]/u.test(e[t-1]??"")&&/[\p{L}]/u.test(e[t+1]??""))}function hy(e){if(!e.includes("--")&&!e.includes("//"))return e;let t="",r=0;for(;r<e.length;){let n=e[r];if(vy(e,r)){let a=r+1;for(;a<e.length&&e[a]!==n;)a+=e[a]==="\\"?2:1;t+=e.slice(r,a+1),r=a+1;continue}let i=e[r+2];if((n==="-"||n==="/")&&e[r+1]===n&&(i===void 0||/\s/.test(i)||i===n)){let a=r;for(;a<e.length&&e[a]!==`
|
|
8
8
|
`&&e[a]!=="\r";)a++;t+=" ".repeat(a-r),r=a;continue}t+=n,r++;}return t}function Ey(e){return {positionSource:void 0,parseDepth:0,coverageFrames:[],boundIdentifiers:new Set,bottomTestTokens:new WeakMap,parse:e}}var Lu=class extends Error{constructor(e,t,r,n){super(e),this.name="SemanticParseError",this.language=t,this.input=r,this.diagnostics=n;}};function X(e,t,r){return {message:e,severity:t,source:"semantic-parser",...r&&{code:r}}}function G(e,t){return t.length===0?e:{...e,diagnostics:t}}var qr=120;function gy(e,t,r){let n=t.tokens.length;if(e.consumedTokens>=n)return null;let i=t.tokens[e.consumedTokens],a=t.tokens[n-1];if(!i||!a)return null;let u=r.slice(i.position.start,a.position.end);if(!u.trim())return null;let o=u.length>qr?`${u.slice(0,qr)}\u2026`:u,s=n-e.consumedTokens;return `pattern ${e.pattern.id} left ${s} token(s) unconsumed: "${o}"`}var dt=["body","statements","thenBranch","elseBranch","eventHandlers","initBlock","catchBody","finallyBody"];function fn(e){let t=[],r=new Set((e.diagnostics??[]).map(i=>`${i.code}|${i.message}`)),n=i=>{if(!i||typeof i!="object")return;if(i!==e)for(let u of i.diagnostics??[]){if(u.code!=="unconsumed-input"&&u.code!=="verbatim-clause")continue;let o=`${u.code}|${u.message}`;r.has(o)||(r.add(o),t.push(u));}let a=i;for(let u of dt){let o=a[u];if(Array.isArray(o))for(let s of o)n(s);}};return n(e),t.length===0?e:G(e,[...e.diagnostics??[],...t])}var yn=new Set(["json","text","html","xml","blob","arraybuffer","formdata","response","object","string","number","int","float","fragment"]),js={en:["as"],es:["como"],fr:["comme"],pt:["como"],it:["come"],de:["als"],id:["sebagai"],ms:["sebagai","sbg"],sw:["kuwa","kama"],th:["\u0E40\u0E1B\u0E47\u0E19"],vi:["nh\u01B0"],tl:["bilang"],he:["\u05DB"],ar:["\u0643\u0640"],pl:["jako"],ru:["\u043A\u0430\u043A"],uk:["\u044F\u043A"],zh:["\u7684","\u4F5C\u4E3A","\u5F53\u4F5C"]},ky={ko:[["\uB85C"],["\uC73C\uB85C"]],qu:[["hina"]],tr:[["olarak"]],hi:[["\u0915\u0947","\u0930\u0942\u092A","\u092E\u0947\u0902"]]};function Wr(e){return (e.diagnostics??[]).filter(t=>t.code==="unconsumed-input").reduce((t,r)=>t+(parseInt(/left (\d+) token/.exec(r.message)?.[1]??"0",10)||0),0)}function vn(e){return (e.diagnostics??[]).filter(t=>t.code==="unconsumed-input").map(t=>/unconsumed: "(.*)"$/.exec(t.message)?.[1]).filter(t=>!!t).map(t=>t.replace(/\s+/g," ").trim())}function qs(e,t){return {...e,diagnostics:(e.diagnostics??[]).filter(r=>{if(r.code!=="unconsumed-input")return true;let n=/unconsumed: "(.*)"$/.exec(r.message)?.[1];return !n||n.replace(/\s+/g," ").trim()!==t})}}function wy(e){if(e.kind==="selector")return Le(e.value);let t=(e.normalized??e.value).toLowerCase();return Ke(t)?{type:"reference",value:t}:{type:"literal",value:e.value,dataType:"string"}}function Cy(e,t,r,n){let i=vn(e);if(i.length===0)return null;let a=Wr(e),u=T(r)?.roleMarkers?.source,o=new Set;u?.primary&&o.add(u.primary),u?.alternatives?.forEach(l=>o.add(l));let s=V(t,r).tokens;for(let l=0;l<s.length;l++){let c=s[l];if(c.normalized!=="source"&&!o.has(c.value))continue;let p=u?.position==="after"?l-1:l+1,m=s[p];if(!m||m.kind!=="identifier"&&m.kind!=="keyword")continue;let y=Math.min(c.position.start,m.position.start),f=Math.max(c.position.end,m.position.end),d=t.slice(y,f).replace(/\s+/g," ").trim();if(!i.some(g=>g===d||g.includes(d)))continue;let v=(t.slice(0,y).trimEnd()+" "+t.slice(f).trimStart()).trim();if(!(!v||v===t))try{let g=n(v,r);if(!g||g.kind!=="event-handler")continue;let k=fn(g);if(Wr(k)<a)return {node:{...k,eventModifiers:{...k.eventModifiers,from:wy(m)}},input:v}}catch{}}return null}function ai(e,t,r){let n=vn(e);if(n.length===0)return null;let i=De[r];if(!i)return null;let a=e.roles,u=a.get("event"),o=u?.type==="literal"&&typeof u.value=="string"?u.value:null;if(!o)return null;let s=c=>c.replace(/\s+/g," ").trim(),l=V(t,r).tokens;for(let c of n)for(let p=1;p<l.length;p++)for(let m=p;m<l.length;m++){let y=s(t.slice(l[p].position.start,l[m].position.end));if(y.length>c.length)break;if(y!==c)continue;let f=l[p-1];if((i[f.value]??f.normalized)!==o)break;let v=s(t.slice(f.position.start,l[m].position.end)),g=i[v];if(!g)break;return a.set("event",{type:"literal",value:g,dataType:"string"}),{node:qs(e,c),input:t}}return null}function zy(e,t,r,n){let i=vn(e);if(i.length===0)return null;let a=js[r];if(!a)return null;let u=l=>l.replace(/\s+/g," ").trim(),o=Wr(e),s=V(t,r).tokens;for(let l=0;l+1<s.length;l++){let c=s[l],p=s[l+1];if(!a.some(f=>c.value.toLowerCase()===f)||!yn.has(p.value.toLowerCase()))continue;let m=u(t.slice(c.position.start,p.position.end));if(!i.includes(m))continue;let y=(t.slice(0,c.position.start).trimEnd()+" "+t.slice(p.position.end).trimStart()).trim();if(!(!y||y===t))try{let f=n(y,r);if(!f||f.kind!=="event-handler")continue;let d=fn(f);if(Wr(d)>=o)continue;let v=by(d);if(!v)continue;return v.roles.set("responseType",{type:"expression",raw:p.value}),{node:d,input:y}}catch{}}return null}function by(e){let t=null,r=n=>{if(!n||typeof n!="object"||t)return;if(n.kind==="command"){let a=n;if(J(a.action)?.roles.some(o=>o.role==="responseType"&&!o.required)&&!a.roles.has("responseType")){t=a;return}}let i=n;for(let a of ["body","statements","thenBranch","elseBranch","commands"]){let u=i[a];Array.isArray(u)&&u.forEach(o=>r(o));}};return r(e),t}function Ay(e,t,r){let n=vn(e);if(n.length===0)return null;let i=T(r)?.roleMarkers?.destination,a=new Set;if(i?.primary&&a.add(i.primary),i?.alternatives?.forEach(s=>a.add(s)),a.size===0)return null;let u=s=>s.replace(/\s+/g," ").trim(),o=V(t,r).tokens;for(let s=0;s+1<o.length;s++){let l=o[s],c=o[s+1],p=a.has(l.value)&&c.normalized==="me",m=l.normalized==="me"&&a.has(c.value);if(!p&&!m)continue;let y=u(t.slice(l.position.start,c.position.end));if(!n.includes(y))continue;let f=false,d=v=>{if(!v||typeof v!="object"||f)return;if(v.kind==="command"){let k=v.roles.get("destination");if(k?.type==="reference"&&k.value==="me"){f=true;return}}let g=v;for(let k of ["body","statements","thenBranch","elseBranch","commands"]){let E=g[k];Array.isArray(E)&&E.forEach(b=>d(b));}};if(d(e),!!f)return {node:qs(e,y),input:t}}return null}function xy(e,t){try{let r=V(e,t),n=be(t);if(n.length===0)return {confidence:0,parseSuccess:!1,error:`No patterns available for language: ${t}`};let i=[...n].sort((l,c)=>c.priority-l.priority),a=i.filter(l=>l.command==="on"),u=Pe.matchBest(r,a);if(u)return {confidence:u.confidence,parseSuccess:!0,patternId:u.pattern.id,action:u.pattern.command,tokensConsumed:u.consumedTokens};r.reset(r.mark());let o=i.filter(l=>l.command!=="on"),s=Pe.matchBest(r,o);return s?{confidence:s.confidence,parseSuccess:!0,patternId:s.pattern.id,action:s.pattern.command,tokensConsumed:s.consumedTokens}:{confidence:0,parseSuccess:!1,error:`Could not match any patterns for: ${e}`}}catch(r){return {confidence:0,parseSuccess:false,error:r instanceof Error?r.message:String(r)}}}function pr(e,t){try{let n=Ji(e,t);if(n)return {node:n,confidence:n.metadata?.confidence??.8,error:void 0,tokensConsumed:V(e,t).tokens.length}}catch{}let r=xy(e,t);return r.parseSuccess?{node:null,confidence:r.confidence,error:void 0,tokensConsumed:r.tokensConsumed}:{node:null,confidence:0,error:r.error}}var Vr={ar:new Set(["\u0623\u0648"]),bn:new Set(["\u0985\u09A5\u09AC\u09BE"]),de:new Set(["oder"]),en:new Set(["or"]),es:new Set(["o"]),fr:new Set(["ou"]),he:new Set(["\u05D0\u05D5"]),hi:new Set(["\u092F\u093E"]),id:new Set(["atau"]),it:new Set(["o"]),ja:new Set(["\u307E\u305F\u306F"]),ko:new Set(["\uB610\uB294"]),ms:new Set(["atau"]),pl:new Set(["lub"]),pt:new Set(["ou"]),qu:new Set(["utaq"]),ru:new Set(["\u0438\u043B\u0438"]),sw:new Set(["au"]),th:new Set(["\u0E2B\u0E23\u0E37\u0E2D"]),tl:new Set(["o"]),tr:new Set(["veya"]),uk:new Set(["\u0430\u0431\u043E"]),vi:new Set(["ho\u1EB7c"]),zh:new Set(["\u6216"])},Dy=new Set(Object.values(Vr).flatMap(e=>[...e]));function dr(e,t){let r=(e.normalized??e.value).toLowerCase();if(r==="or")return true;let n=t===void 0?Dy:Vr[t];return n?n.has(e.value)||n.has(r):false}var ui={ar:["\u0644\u064A\u0633","\u0627\u0631\u0645"],bn:["\u09A8\u09BF\u0995\u09CD\u09B7\u09C7\u09AA","\u09A8\u09BE"],de:["nicht","werfen"],en:["do","not","throw"],es:["no","lanzar"],fr:["non","lancer"],he:["\u05DC\u05D0","\u05D6\u05E8\u05D5\u05E7"],hi:["\u0928\u0939\u0940\u0902","\u092B\u0947\u0902\u0915\u0947\u0902"],id:["bukan","lempar"],it:["non","lanciare"],ja:["\u6295\u3052\u308B","\u3067\u306F\u306A\u3044"],ko:["\uC544\uB2C8","\uB358\uC9C0\uB2E4"],ms:["bukan","lempar"],pl:["nie","rzu\u0107"],pt:["n\xE3o","lan\xE7ar"],qu:["mana","chanqay"],ru:["\u043D\u0435","\u0431\u0440\u043E\u0441\u0438\u0442\u044C"],sw:["si","tupa"],th:["\u0E44\u0E21\u0E48","\u0E42\u0E22\u0E19"],tl:["hindi","ihagis"],tr:["f\u0131rlat","de\u011Fil"],uk:["\u043D\u0435","\u043A\u0438\u043D\u0443\u0442\u0438"],vi:["kh\xF4ng","n\xE9m"],zh:["\u975E","\u629B\u51FA"]};function By(e){return ui[e]??ui.en}var Sy=/[ক-হড়-য়ৎ]$/u,Fy=/[া-ৌঅ-ঔ]$/u;function Ty(e){if(Sy.test(e))return `${e}\u09C7`;if(Fy.test(e))return `${e}\u09A4\u09C7`}var _u=e=>/[^\p{Script=Latin}\P{L}]\p{M}*$/u.test(e),Py=new Set(["\u09A4\u09C7","\u098F"]);function Oy(e,t){return e?.code==="bn"&&t==="\u09C7"?"\u09A4\u09C7":t}var Ry=[["\uC744","\uB97C"],["\uC774","\uAC00"],["\uC740","\uB294"],["\uACFC","\uC640"],["\uC73C\uB85C","\uB85C"]];function Ly(e,t){let r=Ry.find(a=>a.includes(t)),n=e.codePointAt(e.length-1)??0;if(!r||n<44032||n>55203)return t;let i=(n-44032)%28;return i===0||i===8&&r[0]==="\uC73C\uB85C"?r[1]:r[0]}function _y(e,t,r,n){let i=e.roleMarkers[r];if(i&&(i.primary===n||i.alternatives?.includes(n)))return true;let a=J(t)?.roles.find(u=>u.role===r);return a?.markerOverride?.[e.code]===n||!!a?.markerVariants?.[e.code]?.includes(n)}function Nu(e,t,r,n){let i=e?.attachedMarkers;if(!(!i||!t||/\s$/.test(t)||!i.markers.includes(r))){if(e.code==="bn"&&_u(t)&&Py.has(r))return Ty(t);if(e.code==="tr"){let a=t.slice(t.lastIndexOf(" ")+1);if(!n?.(a))return;let u=yy(a);return u===void 0?void 0:t+u}if(!(_u(t)&&i.afterWords!=="all"&&!i.afterWords?.includes(r)))return t+(e.code==="ko"?Ly(t,r):r)}}var Ny=["values","expressions","logical","temporal","attributes"],Iy=/"[^"]*"|'[^']*'|`[^`]*`/g,et="\uE010",ot="\uE011",My=/\uE010(\d+)\uE011/g,$y=/(^|[^\w$.#@*:-])([A-Za-z][A-Za-z-]+)(?![\w$.:-])/g,jy=/(\bas\s+|\b(?:is|am)\s+(?:not\s+)?an?\s+)([A-Z][A-Za-z0-9_]*(?::[A-Za-z0-9_]+)?)\b/g,Iu=new WeakMap;function qy(e,t){let r=Iu.get(e);if(r)return r;let n=new Map,i=(u,o)=>{if(!o)return;let s=u.toLowerCase();!n.has(s)&&o!==u&&n.set(s,o);};for(let u of Ny){let o=e[u];if(o)for(let[s,l]of Object.entries(o))i(s,l.primary);}for(let[u,o]of Object.entries(t?.references??{}))i(u,o);let a={words:n};return Iu.set(e,a),a}function Wy(e,t){let r=oi(e,t,"{","}");return Ws(oi(r,t,"[","]"),t)}function Ws(e,t){return oi(e,t,"(",")",r=>/[\w$]/.test(e[r-1]??""))}function Vy(e,t){if(!e.includes("("))return t(e);let r=[];return Vs(t(Ws(e,r)),r)}function oi(e,t,r,n,i=()=>true){let a="",u=0;for(;u<e.length;){let o=e.indexOf(r,u);for(;o!==-1&&!i(o);)o=e.indexOf(r,o+1);if(o===-1){a+=e.slice(u);break}let s=0,l=-1;for(let c=o;c<e.length;c++)if(e[c]===r)s++;else if(e[c]===n&&--s===0){l=c;break}if(l===-1){a+=e.slice(u);break}t.push(e.slice(o,l+1)),a+=e.slice(u,o)+`${et}${t.length-1}${ot}`,u=l+1;}return a}function Vs(e,t){let r=e;for(let n=0;n<8&&r.includes(et);n++)r=r.replace(My,(i,a)=>t[Number(a)]??"");return r}var Hy=/(^|[^\w$.#@*:-])I\s+(match|am)\b/g,Ky=/(^|[^\w$.#@*:-])(?:I\s+do|does)\s+not\s+match\b/g;function Uy(e){return e.replace(Ky,(t,r)=>/\bI\s+do/.test(t)?`${r}me not matches`:`${r}not matches`).replace(Hy,(t,r,n)=>`${r}me ${n==="match"?"matches":"is"}`)}var Gy=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in(?=\s+(?:(?:closest\s+)?[#.<]|(?:me|it|you|body|document|target|result)\b))/g,Yy=/(<[^<>]*\/>|(?:^|[^\w$.#@*:-])(?:first|last|next|previous|random|closest)\s+[.#][\w-]+)((?:\.[\w-]+)*\s+)in\s+(me|it|you)\b(?![\w$.'-])/g,Zy=/(^|[^\w$.#@*:-])((?:(?:first|last|next|previous|random)\s+)?(?:<[^<>]*\/>|(?<=(?:first|last|next|previous|random)\s+)\.[\w-]+)(?:\.[\w-]+)*)\s+in\s+((?:closest\s+)?(?:<[^<>]*\/>|[#.][\w-]+)|me|it|you|body|document|target|result)(?![\w$.'-])/g;function Qy(e,t,r){let n=t.scopeFirst?e.replace(Zy,(a,u,o,s)=>{let l=/^(?:me|it|you)$/.test(s)?s:void 0,c=t.scopeFirst("\0",l),p=c.indexOf("\0");r.push(p<0?c:c.slice(p+1).trim());let m=`${et}${r.length-1}${ot}`;return p<0?`${u}${m} ${o}`:`${u}${c.slice(0,p)}${s} ${m} ${o}`}):e,i=t.scopeIn?n.replace(Yy,(a,u,o,s)=>{let l=t.scopeIn(s);return l===void 0?a:(t.queryIn!=="in"&&t.wrote?.(),r.push(l),`${u}${o}${et}${r.length-1}${ot}`)}):e;return t.queryIn==="in"?i:i.replace(Gy,(a,u,o)=>(t.wrote?.(),r.push(t.queryIn),`${u}${o}${et}${r.length-1}${ot}`))}function Xy(e,t,r){return t.conversionAs==="as"||!/^as\s/.test(e)?e:(t.wrote?.(),r.push(t.conversionAs),`${et}${r.length-1}${ot}${e.slice(2)}`)}var Jy=/(^|[^\w$.#@*:'-])(?:the\s+)?element(?:'s)?\s+([A-Za-z_]\w*)\b(?!\s*(?:\[|\uE010))/g,ev=new Set(["is","am","and","or","not","no","matches","contains","includes","in","as","of","to","then","else","end","from","into","with","at","by","does","do","exists"]);function tv(e,t,r){let n=gi(t);return n==="element"?e:e.replace(Jy,(i,a,u)=>ev.has(u.toLowerCase())?i:(r.push(`${n} ${u}`),`${a}${et}${r.length-1}${ot}`))}function Hs(e){return {queryIn:Mm(e),conversionAs:jm(e)}}function rv(e,t,r,n,i=Hs(t)){if(!e)return e;let a=R4(t);if(!a)return e;let{words:u}=qy(a,r);if(u.size===0)return e;let o=[],s=e.replace(Iy,m=>(o.push(m),`${et}${o.length-1}${ot}`)),l=Wy(s,o).replace(jy,(m,y,f)=>{o.push(f);let d=`${et}${o.length-1}${ot}`;return `${Xy(y,i,o)}${d}`}),c=tv(l,t,o),p=Uy(Qy(c,i,o)).replace($y,(m,y,f)=>{if(n?.has(f))return m;let d=u.get(f.toLowerCase());return d?`${y}${d}`:m});return Vs(p,o)}var Mu=new Map;function Ks(e){let t=Mu.get(e);if(t===void 0){let r=V(e,"en").tokens,n=r.length===1?r[0]:void 0;t=!!n&&(n.kind==="identifier"||!!Zt(n)),Mu.set(e,t);}return t}function nv(e){let t=new Set,r=new Set,n=Ii(e);if(!n.success||!n.node)return {variables:t,properties:r};let i=(a,u)=>{if(Array.isArray(a)){for(let s of a)i(s,u);return}if(!a||typeof a!="object")return;let o=a;o.type==="identifier"&&typeof o.name=="string"&&(u==="property"?r.add(o.name):u!=="targetType"&&Ks(o.name)&&t.add(o.name));for(let[s,l]of Object.entries(a))l&&typeof l=="object"&&i(l,s);};return i(n.node,void 0),{variables:t,properties:r}}var Us=/(^|[^\w$.#@*:'-])(?:the\s+)?((?:[@*]?[A-Za-z][\w-]*\s+of\s+(?:the\s+)?)+)([#.][A-Za-z_-][\w-]*)(?![\w-]|[.[(][\w$])/g,iv=new Set(["first","last","random"]);function Gs(e){let t=e.split(/\s+of\s+(?:the\s+)?/).filter(Boolean);return t.some(r=>iv.has(r.toLowerCase()))?void 0:t}function $r(e,t){return /^\s+as\b/.test(e.slice(t))}var uv=new Set(["repeat","for","while","tell","viewTransition"]),ov=new Set(["toggle","trigger"]),sv=new Set(["bind","set","install","js"]);function lv(e){if(e.statements.length<2)return false;let t=r=>["event-handler","def","behavior","feature"].includes(r.kind)||r.kind==="command"&&sv.has(r.action);return e.statements.every(t)&&e.statements.some(r=>r.kind!=="command")}function Un(e){return e.kind==="command"&&uv.has(e.action)&&!on(e)}var cv=new Set(["js"]);function Ys(e,t){return e.type==="role"?e.role===t:e.type==="group"?e.tokens.some(r=>Ys(r,t)):false}function ir(e){return e?.type==="reference"?e.value:void 0}function $u(e,t){for(let[r,n]of e.roles)if(r!==t&&!n.implicit)return true;return false}var pv=new Set(Object.values(dn).flatMap(e=>Object.values(e)));function dv(e,t){if(!/["'`]/.test(e))return t(e);let r=[],n=e.replace(/"[^"]*"|`[^`]*`|'(?!s\b)[^']*'/g,i=>(r.push(i),`\uE012${r.length-1}\uE013`));return t(n).replace(/(\d+)/g,(i,a)=>r[Number(a)])}function mv(e){return /(?<!\\)"/.test(e)?/(?<!\\)'/.test(e)?`"${e.replace(/(?<!\\)"/g,'\\"')}"`:`'${e}'`:`"${e}"`}var fv=class{constructor(){this.spellVariables=false,this.localizedVariable=false,this.plainWords=new Set,this.nativeWritten=new Set,this.patternHooks={candidates:(e,t)=>{if(e.kind!=="event-handler")return t;let r=t.filter(n=>!/-event-/i.test(n.id));return r.length>0?r:t},hasRealRole:(e,t)=>{let r=e.roles.get(t);return r!==void 0&&!(r.implicit===true&&(r.type==="reference"||t==="quantity"))},adjustScore:e=>{let t=0;return e.language==="en"&&((e.id.includes("standard")||e.id.includes("en-source"))&&(t+=20),(e.id.includes("-when")||e.id.includes("-upon"))&&(t-=15)),t},span:(e,t,r,n,i)=>this.obliqueAt(e,t,r,n,i),writeRole:(e,t,r)=>this.renderRoleToken(e,t,r),writeGroup:(e,t)=>this.writesGroup(e,t),pushPart:(e,t,r,n,i,a)=>this.pushPart(e,t,r,n,i,a)};}valueWords(e){let t=this.plainWords.has("value")?{queryIn:"in",conversionAs:"as"}:Hs(e),r=a=>this.obliquePhrase(e,t.queryIn,a,"location"),n=this.plainWords.has("value")?void 0:this.scopeFirst(e);return {...t,wrote:()=>this.nativeWritten.add("value"),scopeIn:r,scopeFirst:n?(a,u)=>{this.nativeWritten.add("scope");let o=u!==void 0&&this.obliquePhrase(e,n.marker,u,"location")||`${a} ${n.marker}`;return n.participle?`${o} ${n.participle}`:o}:void 0}}takeNativeWords(){let e=this.nativeWritten;return this.nativeWritten=new Set,e}renderPlainWords(e,t=["value","case","attach"]){let r=this.plainWords;this.plainWords=new Set([...r,...t]);try{return e()}finally{this.plainWords=r;}}renderNoting(e,t,r){return this.localizedVariable=false,{text:r?this.renderWith(e,t,r):this.render(e,t),localizedVariable:this.localizedVariable}}renderSpellingVariables(e,t,r){this.spellVariables=true;try{return r?this.renderWith(e,t,r):this.render(e,t)}finally{this.spellVariables=false;}}renderWith(e,t,r){let n=this.valueGuard;this.valueGuard=r;try{return this.render(e,t)}finally{this.valueGuard=n;}}render(e,t){let r=e.verbatimClause;if(r){let{verbatimClause:o,...s}=e,l=r.startsWith(",")?"":" ";return `${this.render(s,t)}${l}${r}`}let n=e.postfixUnless;if(n){let{postfixUnless:o,...s}=e,l=this.valueToNaturalString(n,t);return `${this.render(s,t)} ${this.keyword(t,"unless")} ${l}`}if(e.kind==="event-handler"){let{catchName:o,catchBody:s,finallyBody:l,...c}=e;if(s||l)return this.render(c,t)+this.renderErrorClauses(e,t)}if(e.kind==="compound")return this.renderCompound(e,t);if(e.kind==="behavior")return this.renderBehavior(e,t);if(e.kind==="def")return this.renderDef(e,t);if(e.kind==="feature")return this.renderFeature(e,t);if(e.kind==="conditional")return this.renderConditional(e,t);if(e.kind==="loop")return this.renderLoop(e,t);if(on(e))return this.renderBlockCommand(e,t);if(e.action==="js"&&T(t)?.wordOrder==="SOV"){let o=e.roles.get("patient"),s=o&&o.type==="expression"?o.raw:"",l=this.keyword(t,"js"),c=this.keyword(t,"end");return s?`${l} ${s} ${c}`:`${l} ${c}`}let i=jc(t,e.action);if(i.length===0)return this.renderExplicit(e);let a=this.findBestPattern(e,i);if(!a)return this.renderExplicit(e);let u=this.renderWithPattern(e,a);return cv.has(e.action)?`${u} ${this.keyword(t,"end")}`:u}renderCompound(e,t){if(e.statements.length>1&&e.statements.every(a=>a.kind==="event-handler")){let a=this.keyword(t,"end"),u=[];for(let o of e.statements)u.push(this.render(o,t),a);return u.join(`
|
|
9
9
|
`)}if(lv(e)){let a=this.keyword(t,"end"),u=[];return e.statements.forEach((o,s)=>{u.push(this.render(o,t)),o.kind==="event-handler"&&u.push(a);let l=e.statements[s+1];o.kind==="command"&&l&&l.kind!=="event-handler"&&u.push(a);}),u.join(`
|
|
10
10
|
`)}let r=e.statements.map(a=>this.render(a,t)),n=this.getChainWord(e.chainType,t),i=r[0]??"";for(let a=1;a<r.length;a++){let u=e.statements[a-1],o=e.statements[a],s=Un(u),l=m=>m.kind==="command"&&(m.action==="bind"||m.action==="install"),c=l(u)&&l(o),p=s||c?" ":` ${n} `;i+=p+r[a];}return this.closeBlockHeaders(i,e.statements,t)}renderConditional(e,t){let r=e.roles.get("condition"),n=r?this.valueToNaturalString(r,t):"",i=[`${this.keyword(t,"if")} ${n}`.trim()],a=this.joinStatements(e.thenBranch,t);a?i.push(a):e.elseBranch?.length||i.push(this.keyword(t,"then"));let u=e.elseBranch?.length===1&&e.elseBranch[0].kind==="conditional";if(e.elseBranch&&e.elseBranch.length>0){let o=!u&&e.elseBranch[0]?.kind==="conditional",s=this.joinStatements(e.elseBranch,t),l=this.keyword(t,"else");o?i.push(`${l}
|