Files
moreminimore-new/node_modules/oniguruma-to-es/dist/index.min.js

143 lines
56 KiB
JavaScript

var OnigurumaToEs=(()=>{var Ce=Object.defineProperty;var Pr=Object.getOwnPropertyDescriptor;var Gr=Object.getOwnPropertyNames;var Ur=Object.prototype.hasOwnProperty;var Or=(e,t)=>{for(var r in t)Ce(e,r,{get:t[r],enumerable:!0})},Rr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Gr(t))!Ur.call(e,a)&&a!==r&&Ce(e,a,{get:()=>t[a],enumerable:!(n=Pr(t,a))||n.enumerable});return e};var Dr=e=>Rr(Ce({},"__esModule",{value:!0}),e);var on={};Or(on,{EmulatedRegExp:()=>se,toRegExp:()=>an,toRegExpDetails:()=>Mr});var y=String.fromCodePoint,h=String.raw,$={},ue=globalThis.RegExp;$.flagGroups=(()=>{try{new ue("(?i:)")}catch{return!1}return!0})();$.unicodeSets=(()=>{try{new ue("[[]]","v")}catch{return!1}return!0})();$.bugFlagVLiteralHyphenIsRange=$.unicodeSets?(()=>{try{new ue(h`[\d\-a]`,"v")}catch{return!0}return!1})():!1;$.bugNestedClassIgnoresNegation=$.unicodeSets&&new ue("[[^a]]","v").test("a");function j(e,{enable:t,disable:r}){return{dotAll:!r?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!r?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function G(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}function Y(e,t){return ye[e]>=ye[t]}function De(e,t){if(e==null)throw new Error(t??"Value expected");return e}var ye={ES2025:2025,ES2024:2024,ES2018:2018},Tr={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function ce(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!Tr[e.target])throw new Error(`Unexpected target "${e.target}"`);let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=$.flagGroups?"ES2025":$.unicodeSets?"ES2024":"ES2018"),t}function U(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Te(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}var ee=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),x=String.raw;function M(e,t){if(e==null)throw new Error(t??"Value expected");return e}var je=x`\[\^?`,Xe=`c.? | C(?:-.?)?|${x`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${x`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${x`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${x`o\{[^\}]*\}?`}|${x`\d{1,3}`}`,xe=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,le=new RegExp(x`
\\ (?:
${Xe}
| [gk]<[^>]*>?
| [gk]'[^']*'?
| .
)
| \( (?:
\? (?:
[:=!>({]
| <[=!]
| <[^>]*>
| '[^']*'
| ~\|?
| #(?:[^)\\]|\\.?)*
| [^:)]*[:)]
)?
| \*[^\)]*\)?
)?
| (?:${xe.source})+
| ${je}
| .
`.replace(/\s+/g,""),"gsu"),be=new RegExp(x`
\\ (?:
${Xe}
| .
)
| \[:(?:\^?\p{Alpha}+|\^):\]
| ${je}
| &&
| .
`.replace(/\s+/g,""),"gsu");function Ze(e,t={}){let r={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let n=at(r.flags),a=[n.extended],s={captureGroup:r.rules.captureGroup,getCurrentModX(){return a.at(-1)},numOpenGroups:0,popModX(){a.pop()},pushModX(l){a.push(l)},replaceCurrentModX(l){a[a.length-1]=l},singleline:r.rules.singleline},o=[],i;for(le.lastIndex=0;i=le.exec(e);){let l=Br(s,e,i[0],le.lastIndex);l.tokens?o.push(...l.tokens):l.token&&o.push(l.token),l.lastIndex!==void 0&&(le.lastIndex=l.lastIndex)}let u=[],c=0;o.filter(l=>l.type==="GroupOpen").forEach(l=>{l.kind==="capturing"?l.number=++c:l.raw==="("&&u.push(l)}),c||u.forEach((l,f)=>{l.kind="capturing",l.number=f+1});let p=c||u.length;return{tokens:o.map(l=>l.type==="EscapedNumber"?it(l,p):l).flat(),flags:n}}function Br(e,t,r,n){let[a,s]=r;if(r==="["||r==="[^"){let o=Vr(t,r,n);return{tokens:o.tokens,lastIndex:o.lastIndex}}if(a==="\\"){if("AbBGyYzZ".includes(s))return{token:Be(r,r)};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:Kr(r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:qe(r)}}if(s==="K")return{token:Je("keep",r)};if(s==="N"||s==="R")return{token:T("newline",r,{negate:s==="N"})};if(s==="O")return{token:T("any",r)};if(s==="X")return{token:T("text_segment",r)};let o=Qe(r,{inCharClass:!1});return Array.isArray(o)?{tokens:o}:{token:o}}if(a==="("){if(s==="*")return{token:tt(r)};if(r==="(?{")throw new Error(`Unsupported callout "${r}"`);if(r.startsWith("(?#")){if(t[n]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:n+1}}if(/^\(\?[-imx]+[:)]$/.test(r))return{token:rt(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("&&!e.captureGroup||r==="(?:")return{token:X("group",r)};if(r==="(?>")return{token:X("atomic",r)};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:X(r[2]==="<"?"lookbehind":"lookahead",r,{negate:r.endsWith("!")})};if(r==="("&&e.captureGroup||r.startsWith("(?<")&&r.endsWith(">")||r.startsWith("(?'")&&r.endsWith("'"))return{token:X("capturing",r,{...r!=="("&&{name:r.slice(3,-1)}})};if(r.startsWith("(?~")){if(r==="(?~|")throw new Error(`Unsupported absence function kind "${r}"`);return{token:X("absence_repeater",r)}}throw r==="(?("?new Error(`Unsupported conditional "${r}"`):new Error(`Invalid or unsupported group option "${r}"`)}if(r===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:Qr(r)}}if(e.getCurrentModX()){if(r==="#"){let o=t.indexOf(`
`,n);return{lastIndex:o===-1?t.length:o}}if(/^\s$/.test(r)){let o=/\s+/y;return o.lastIndex=n,{lastIndex:o.exec(t)?o.lastIndex:n}}}if(r===".")return{token:T("dot",r)};if(r==="^"||r==="$"){let o=e.singleline?{"^":x`\A`,$:x`\Z`}[r]:r;return{token:Be(o,r)}}return r==="|"?{token:Wr(r)}:xe.test(r)?{tokens:ut(r)}:{token:N(U(r),r)}}function Vr(e,t,r){let n=[Ve(t[1]==="^",t)],a=1,s;for(be.lastIndex=r;s=be.exec(e);){let o=s[0];if(o[0]==="["&&o[1]!==":")a++,n.push(Ve(o[1]==="^",o));else if(o==="]"){if(n.at(-1).type==="CharacterClassOpen")n.push(N(93,o));else if(a--,n.push(Hr(o)),!a)break}else{let i=zr(o);Array.isArray(i)?n.push(...i):n.push(i)}}return{tokens:n,lastIndex:be.lastIndex||e.length}}function zr(e){if(e[0]==="\\")return Qe(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!ee.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return T("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?jr(e):e==="&&"?Xr(e):N(U(e),e)}function Qe(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return et(e);if("dDhHsSwW".includes(r))return nt(e);if(e.startsWith(x`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return st(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let n=e.split(/\\x/).slice(1).map(o=>parseInt(o,16)),a=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),s=new TextEncoder;return[...a].map(o=>{let i=[...s.encode(o)].map(u=>`\\x${u.toString(16)}`).join("");return N(U(o),i)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(r==="u"||r==="x")return N(ot(e),e);if(ze.has(r))return N(ze.get(r),e);if(/\d/.test(r))return Zr(t,e);if(e==="\\")throw new Error(x`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return N(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function Wr(e){return{type:"Alternator",raw:e}}function Be(e,t){return{type:"Assertion",kind:e,raw:t}}function qe(e){return{type:"Backreference",raw:e}}function N(e,t){return{type:"Character",value:e,raw:t}}function Hr(e){return{type:"CharacterClassClose",raw:e}}function jr(e){return{type:"CharacterClassHyphen",raw:e}}function Xr(e){return{type:"CharacterClassIntersector",raw:e}}function Ve(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function T(e,t,r={}){return{type:"CharacterSet",kind:e,...r,raw:t}}function Je(e,t,r={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:M(r.flags),raw:t}}function Zr(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function Qr(e){return{type:"GroupClose",raw:e}}function X(e,t,r={}){return{type:"GroupOpen",kind:e,...r,raw:t}}function qr(e,t,r,n){return{type:"NamedCallout",kind:e,tag:t,arguments:r,raw:n}}function Jr(e,t,r,n){return{type:"Quantifier",kind:e,min:t,max:r,raw:n}}function Kr(e){return{type:"Subroutine",raw:e}}var Yr=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),ze=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function et(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return N(U(t.toUpperCase())-64,e)}function rt(e,t){let{on:r,off:n}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;n??="";let a=(t.getCurrentModX()||r.includes("x"))&&!n.includes("x"),s=He(r),o=He(n),i={};if(s&&(i.enable=s),o&&(i.disable=o),e.endsWith(")"))return t.replaceCurrentModX(a),Je("flags",e,{flags:i});if(e.endsWith(":"))return t.pushModX(a),t.numOpenGroups++,X("group",e,{...(s||o)&&{flags:i}});throw new Error(`Unexpected flag modifier "${e}"`)}function tt(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);let{name:r,tag:n,args:a}=t.groups;if(!r)throw new Error(`Invalid named callout "${e}"`);if(n==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);let s=a?a.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[o,i,u]=s,c=Yr.has(r)?r.toLowerCase():"custom";switch(c){case"fail":case"mismatch":case"skip":if(s.length>0)throw new Error(`Named callout arguments not allowed "${s}"`);break;case"error":if(s.length>1)throw new Error(`Named callout allows only one argument "${s}"`);if(typeof o=="string")throw new Error(`Named callout argument must be a number "${o}"`);break;case"max":if(!s.length||s.length>2)throw new Error(`Named callout must have one or two arguments "${s}"`);if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error(`Named callout argument one must be a tag or number "${o}"`);if(s.length===2&&(typeof i=="number"||!/^[<>X]$/.test(i)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${i}"`);break;case"count":case"total_count":if(s.length>1)throw new Error(`Named callout allows only one argument "${s}"`);if(s.length===1&&(typeof o=="number"||!/^[<>X]$/.test(o)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case"cmp":if(s.length!==3)throw new Error(`Named callout must have three arguments "${s}"`);if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof i=="number"||!/^(?:[<>!=]=|[<>])$/.test(i))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${i}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument three must be a tag or number "${u}"`);break;case"custom":throw new Error(`Undefined callout name "${r}"`);default:throw new Error(`Unexpected named callout kind "${c}"`)}return qr(c,n??null,a?.split(",")??null,e)}function We(e){let t=null,r,n;if(e[0]==="{"){let{minStr:a,maxStr:s}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+a>o||s&&+s>o)throw new Error("Quantifier value unsupported in Oniguruma");if(r=+a,n=s===void 0?+a:s===""?1/0:+s,r>n&&(t="possessive",[r,n]=[n,r]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else r=e[0]==="+"?1:0,n=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return Jr(t,r,n,e)}function nt(e){let t=e[1].toLowerCase();return T({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function st(e){let{p:t,neg:r,value:n}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return T("property",e,{value:n,negate:t==="P"&&!r||t==="p"&&!!r})}function He(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function at(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let r=0;r<e.length;r++){let n=e[r];if(!"imxDPSWy".includes(n))throw new Error(`Invalid flag "${n}"`);if(n==="y"){if(!/^y{[gw]}/.test(e.slice(r)))throw new Error('Invalid or unspecified flag "y" mode');t.textSegmentMode=e[r+2]==="g"?"grapheme":"word",r+=3;continue}t[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[n]]=!0}return t}function ot(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw new Error(`Incomplete or invalid escape "${e}"`);let t=e[2]==="{"?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function it(e,t){let{raw:r,inCharClass:n}=e,a=r.slice(1);if(!n&&(a!=="0"&&a.length===1||a[0]!=="0"&&+a<=t))return[qe(r)];let s=[],o=a.match(/^[0-7]+|\d/g);for(let i=0;i<o.length;i++){let u=o[i],c;if(i===0&&u!=="8"&&u!=="9"){if(c=parseInt(u,8),c>127)throw new Error(x`Octal encoded byte above 177 unsupported "${r}"`)}else c=U(u);s.push(N(c,(i===0?"\\":"")+u))}return s}function ut(e){let t=[],r=new RegExp(xe,"gy"),n;for(;n=r.exec(e);){let a=n[0];if(a[0]==="{"){let s=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(a);if(s){let{min:o,max:i}=s.groups;if(+o>+i&&a.endsWith("?")){r.lastIndex--,t.push(We(a.slice(0,-1)));continue}}}t.push(We(a))}return t}function pe(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;let r=e.body[0];return!t||Object.keys(t).every(n=>t[n]===r[n])}function Ke(e){return ct.has(e.type)}var ct=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function de(e,t={}){let r={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},n=Ze(e,{flags:r.flags,rules:{captureGroup:r.rules.captureGroup,singleline:r.rules.singleline}}),a=(f,g)=>{let d=n.tokens[s.nextIndex];switch(s.parent=f,s.nextIndex++,d.type){case"Alternator":return L();case"Assertion":return lt(d);case"Backreference":return pt(d,s);case"Character":return Z(d.value,{useLastValid:!!g.isCheckingRangeEnd});case"CharacterClassHyphen":return ft(d,s,g);case"CharacterClassOpen":return dt(d,s,g);case"CharacterSet":return gt(d,s);case"Directive":return bt(d.kind,{flags:d.flags});case"GroupOpen":return ht(d,s,g);case"NamedCallout":return kt(d.kind,d.tag,d.arguments);case"Quantifier":return mt(d,s);case"Subroutine":return wt(d,s);default:throw new Error(`Unexpected token type "${d.type}"`)}},s={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:r.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:r.skipBackrefValidation,skipLookbehindValidation:r.skipLookbehindValidation,skipPropertyNameValidation:r.skipPropertyNameValidation,subroutines:[],tokens:n.tokens,unicodePropertyMap:r.unicodePropertyMap,walk:a},o=At(xt(n.flags)),i=o.body[0];for(;s.nextIndex<n.tokens.length;){let f=a(i,{});f.type==="Alternative"?(o.body.push(f),i=f):i.body.push(f)}let{capturingGroups:u,hasNumberedRef:c,namedGroupsByName:p,subroutines:l}=s;if(c&&p.size&&!r.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(let{ref:f}of l)if(typeof f=="number"){if(f>u.length)throw new Error("Subroutine uses a group number that's not defined");f&&(u[f-1].isSubroutined=!0)}else if(p.has(f)){if(p.get(f).length>1)throw new Error(x`Subroutine uses a duplicate group name "\g<${f}>"`);p.get(f)[0].isSubroutined=!0}else throw new Error(x`Subroutine uses a group name that's not defined "\g<${f}>"`);return o}function lt({kind:e}){return ge(M({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===x`\B`||e===x`\Y`})}function pt({raw:e},t){let r=/^\\k[<']/.test(e),n=r?e.slice(3,-1):e.slice(1),a=(s,o=!1)=>{let i=t.capturingGroups.length,u=!1;if(s>i)if(t.skipBackrefValidation)u=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,fe(o?i+1-s:s,{orphan:u})};if(r){let s=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(n);if(s)return a(+s.groups.num,!!s.groups.sign);if(/[-+]/.test(n))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(n))throw new Error(`Group name not defined to the left "${e}"`);return fe(n)}return a(+n)}function ft(e,t,r){let{tokens:n,walk:a}=t,s=t.parent,o=s.body.at(-1),i=n[t.nextIndex];if(!r.isCheckingRangeEnd&&o&&o.type!=="CharacterClass"&&o.type!=="CharacterClassRange"&&i&&i.type!=="CharacterClassOpen"&&i.type!=="CharacterClassClose"&&i.type!=="CharacterClassIntersector"){let u=a(s,{...r,isCheckingRangeEnd:!0});if(o.type==="Character"&&u.type==="Character")return s.body.pop(),yt(o,u);throw new Error("Invalid character class range")}return Z(U("-"))}function dt({negate:e},t,r){let{tokens:n,walk:a}=t,s=[re()],o=n[t.nextIndex],i=rr(o);for(;i.type!=="CharacterClassClose";){if(i.type==="CharacterClassIntersector")s.push(re()),t.nextIndex++;else{let c=s.at(-1);c.body.push(a(c,r))}i=rr(n[t.nextIndex],o)}let u=re({negate:e});return s.length===1?u.body=s[0].body:(u.kind="intersection",u.body=s.map(c=>c.body.length===1?c.body[0]:c)),t.nextIndex++,u}function gt({kind:e,negate:t,value:r},n){let{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:s,unicodePropertyMap:o}=n;if(e==="property"){let i=Q(r);if(ee.has(i)&&!o?.has(i))e="posix",r=i;else return B(r,{negate:t,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:s,unicodePropertyMap:o})}return e==="posix"?Et(r,{negate:t}):he(e,{negate:t})}function ht(e,t,r){let{tokens:n,capturingGroups:a,namedGroupsByName:s,skipLookbehindValidation:o,walk:i}=t,u=It(e),c=u.type==="AbsenceFunction",p=er(u),l=p&&u.negate;if(u.type==="CapturingGroup"&&(a.push(u),u.name&&Te(s,u.name,[]).push(u)),c&&r.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let f=tr(n[t.nextIndex]);for(;f.type!=="GroupClose";){if(f.type==="Alternator")u.body.push(L()),t.nextIndex++;else{let g=u.body.at(-1),d=i(g,{...r,isInAbsenceFunction:r.isInAbsenceFunction||c,isInLookbehind:r.isInLookbehind||p,isInNegLookbehind:r.isInNegLookbehind||l});if(g.body.push(d),(p||r.isInLookbehind)&&!o){let m="Lookbehind includes a pattern not allowed by Oniguruma";if(l||r.isInNegLookbehind){if(Ye(d)||d.type==="CapturingGroup")throw new Error(m)}else if(Ye(d)||er(d)&&d.negate)throw new Error(m)}}f=tr(n[t.nextIndex])}return t.nextIndex++,u}function mt({kind:e,min:t,max:r},n){let a=n.parent,s=a.body.at(-1);if(!s||!Ke(s))throw new Error("Quantifier requires a repeatable token");let o=Ee(e,t,r,s);return a.body.pop(),o}function wt({raw:e},t){let{capturingGroups:r,subroutines:n}=t,a=e.slice(3,-1),s=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(a);if(s){let i=+s.groups.num,u=r.length;if(t.hasNumberedRef=!0,a={"":i,"+":u+i,"-":u+1-i}[s.groups.sign],a<1)throw new Error("Invalid subroutine number")}else a==="0"&&(a=0);let o=Ae(a);return n.push(o),o}function Ct(e,t){if(e!=="repeater")throw new Error(`Unexpected absence function kind "${e}"`);return{type:"AbsenceFunction",kind:e,body:te(t?.body)}}function L(e){return{type:"Alternative",body:nr(e?.body)}}function ge(e,t){let r={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(r.negate=!!t?.negate),r}function fe(e,t){let r=!!t?.orphan;return{type:"Backreference",ref:e,...r&&{orphan:r}}}function ke(e,t){let r={name:void 0,isSubroutined:!1,...t};if(r.name!==void 0&&!$t(r.name))throw new Error(`Group name "${r.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...r.name&&{name:r.name},...r.isSubroutined&&{isSubroutined:r.isSubroutined},body:te(t?.body)}}function Z(e,t){let r={useLastValid:!1,...t};if(e>1114111){let n=e.toString(16);if(r.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${n}}"`):new Error(`Invalid code point out of range in JS "\\x{${n}}"`)}return{type:"Character",value:e}}function re(e){let t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:nr(e?.body)}}function yt(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:t}}function he(e,t){let r=!!t?.negate,n={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(n.negate=r),(e==="text_segment"||e==="newline"&&!r)&&(n.variableLength=!0),n}function bt(e,t={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:M(t.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function xt(e){return{type:"Flags",...e}}function S(e){let t=e?.atomic,r=e?.flags;if(t&&r)throw new Error("Atomic group cannot have flags");return{type:"Group",...t&&{atomic:t},...r&&{flags:r},body:te(e?.body)}}function O(e){let t={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:t.behind?"lookbehind":"lookahead",negate:t.negate,body:te(e?.body)}}function kt(e,t,r){return{type:"NamedCallout",kind:e,tag:t,arguments:r}}function Et(e,t){let r=!!t?.negate;if(!ee.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:r}}function Ee(e,t,r,n){if(t>r)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:r,body:n}}function At(e,t){return{type:"Regex",body:te(t?.body),flags:e}}function Ae(e){return{type:"Subroutine",ref:e}}function B(e,t){let r={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},n=r.unicodePropertyMap?.get(Q(e));if(!n){if(r.normalizeUnknownPropertyNames)n=St(e);else if(r.unicodePropertyMap&&!r.skipPropertyNameValidation)throw new Error(x`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:n??e,negate:r.negate}}function It({flags:e,kind:t,name:r,negate:n,number:a}){switch(t){case"absence_repeater":return Ct("repeater");case"atomic":return S({atomic:!0});case"capturing":return ke(a,{name:r});case"group":return S({flags:e});case"lookahead":case"lookbehind":return O({behind:t==="lookbehind",negate:n});default:throw new Error(`Unexpected group kind "${t}"`)}}function te(e){if(e===void 0)e=[L()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function nr(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function Ye(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function er(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function $t(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function St(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Q(e){return e.replace(/[- _]+/g,"").toLowerCase()}function rr(e,t){let r=t;return M(e,`Unclosed character class${r?.type==="Character"&&r.value===93&&r.raw==="]"?' (started with "]")':""}`)}function tr(e){return M(e,"Unclosed group")}var sr="[ -\r ]",_t=new Set([y(304),y(305)]),F=h`[\p{L}\p{M}\p{N}\p{Pc}]`;function $e(e){if(_t.has(e))return[e];let t=new Set,r=e.toLowerCase(),n=r.toUpperCase(),a=Mt.get(r),s=vt.get(r),o=Ft.get(r);return[...n].length===1&&t.add(n),o&&t.add(o),a&&t.add(a),t.add(r),s&&t.add(s),[...t]}var ne=new Map(`C Other
Cc Control cntrl
Cf Format
Cn Unassigned
Co Private_Use
Cs Surrogate
L Letter
LC Cased_Letter
Ll Lowercase_Letter
Lm Modifier_Letter
Lo Other_Letter
Lt Titlecase_Letter
Lu Uppercase_Letter
M Mark Combining_Mark
Mc Spacing_Mark
Me Enclosing_Mark
Mn Nonspacing_Mark
N Number
Nd Decimal_Number digit
Nl Letter_Number
No Other_Number
P Punctuation punct
Pc Connector_Punctuation
Pd Dash_Punctuation
Pe Close_Punctuation
Pf Final_Punctuation
Pi Initial_Punctuation
Po Other_Punctuation
Ps Open_Punctuation
S Symbol
Sc Currency_Symbol
Sk Modifier_Symbol
Sm Math_Symbol
So Other_Symbol
Z Separator
Zl Line_Separator
Zp Paragraph_Separator
Zs Space_Separator
ASCII
ASCII_Hex_Digit AHex
Alphabetic Alpha
Any
Assigned
Bidi_Control Bidi_C
Bidi_Mirrored Bidi_M
Case_Ignorable CI
Cased
Changes_When_Casefolded CWCF
Changes_When_Casemapped CWCM
Changes_When_Lowercased CWL
Changes_When_NFKC_Casefolded CWKCF
Changes_When_Titlecased CWT
Changes_When_Uppercased CWU
Dash
Default_Ignorable_Code_Point DI
Deprecated Dep
Diacritic Dia
Emoji
Emoji_Component EComp
Emoji_Modifier EMod
Emoji_Modifier_Base EBase
Emoji_Presentation EPres
Extended_Pictographic ExtPict
Extender Ext
Grapheme_Base Gr_Base
Grapheme_Extend Gr_Ext
Hex_Digit Hex
IDS_Binary_Operator IDSB
IDS_Trinary_Operator IDST
ID_Continue IDC
ID_Start IDS
Ideographic Ideo
Join_Control Join_C
Logical_Order_Exception LOE
Lowercase Lower
Math
Noncharacter_Code_Point NChar
Pattern_Syntax Pat_Syn
Pattern_White_Space Pat_WS
Quotation_Mark QMark
Radical
Regional_Indicator RI
Sentence_Terminal STerm
Soft_Dotted SD
Terminal_Punctuation Term
Unified_Ideograph UIdeo
Uppercase Upper
Variation_Selector VS
White_Space space
XID_Continue XIDC
XID_Start XIDS`.split(/\s/).map(e=>[Q(e),e])),vt=new Map([["s",y(383)],[y(383),"s"]]),Ft=new Map([[y(223),y(7838)],[y(107),y(8490)],[y(229),y(8491)],[y(969),y(8486)]]),Mt=new Map([R(453),R(456),R(459),R(498),...Ie(8072,8079),...Ie(8088,8095),...Ie(8104,8111),R(8124),R(8140),R(8188)]),ar=new Map([["alnum",h`[\p{Alpha}\p{Nd}]`],["alpha",h`\p{Alpha}`],["ascii",h`\p{ASCII}`],["blank",h`[\p{Zs}\t]`],["cntrl",h`\p{Cc}`],["digit",h`\p{Nd}`],["graph",h`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",h`\p{Lower}`],["print",h`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",h`[\p{P}\p{S}]`],["space",h`\p{space}`],["upper",h`\p{Upper}`],["word",h`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",h`\p{AHex}`]]);function Nt(e,t){let r=[];for(let n=e;n<=t;n++)r.push(n);return r}function R(e){let t=y(e);return[t.toLowerCase(),t]}function Ie(e,t){return Nt(e,t).map(r=>R(r))}var Se=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function V(e,t,r=null){function n(s,o){for(let i=0;i<s.length;i++){let u=a(s[i],o,i,s);i=Math.max(-1,i+u)}}function a(s,o=null,i=null,u=null){let c=0,p=!1,l={node:s,parent:o,key:i,container:u,root:e,remove(){me(u).splice(Math.max(0,q(i)+c),1),c--,p=!0},removeAllNextSiblings(){return me(u).splice(q(i)+1)},removeAllPrevSiblings(){let C=q(i)+c;return c-=C,me(u).splice(0,Math.max(0,C))},replaceWith(C,E={}){let I=!!E.traverse;u?u[Math.max(0,q(i)+c)]=C:M(o,"Can't replace root node")[i]=C,I&&a(C,o,i,u),p=!0},replaceWithMultiple(C,E={}){let I=!!E.traverse;if(me(u).splice(Math.max(0,q(i)+c),1,...C),c+=C.length-1,I){let k=0;for(let _=0;_<C.length;_++)k+=a(C[_],o,q(i)+_+k,u)}p=!0},skip(){p=!0}},{type:f}=s,g=t["*"],d=t[f],m=typeof g=="function"?g:g?.enter,w=typeof d=="function"?d:d?.enter;if(m?.(l,r),w?.(l,r),!p)switch(f){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":n(s.body,s);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":a(s.min,s,"min"),a(s.max,s,"max");break;case"Quantifier":a(s.body,s,"body");break;case"Regex":n(s.body,s),a(s.flags,s,"flags");break;default:throw new Error(`Unexpected node type "${f}"`)}return d?.exit?.(l,r),g?.exit?.(l,r),c}return a(e),e}function me(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function q(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}function ir(e,t){let r={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};ur(e);let n={accuracy:r.accuracy,asciiWordBoundaries:r.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Y(r.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};V(e,Lt,n);let a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},s={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};V(e,Pt,s);let o={groupsByName:s.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:s.reffedNodesByReferencer};return V(e,Gt,o),e._originMap=s.groupOriginByCopy,e._strategy=n.strategy,e}var Lt={AbsenceFunction({node:e,parent:t,replaceWith:r}){let{body:n,kind:a}=e;if(a==="repeater"){let s=S();s.body[0].body.push(O({negate:!0,body:n}),B("Any"));let o=S();o.body[0].body.push(Ee("greedy",0,1/0,s)),r(b(o,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:n}){let a=e.body.filter(s=>s.kind==="flags");for(let s=r+1;s<t.body.length;s++){let o=t.body[s];G(n,o,[]).push(...a)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let r=lr(t.get(e));if(r){let n=S({flags:r});n.body[0].body=e.body,e.body=[b(n,e)]}}}},Assertion({node:e,parent:t,key:r,container:n,root:a,remove:s,replaceWith:o},i){let{kind:u,negate:c}=e,{asciiWordBoundaries:p,avoidSubclass:l,supportedGNodes:f,wordIsAscii:g}=i;if(u==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${c?"Y":"y"}"`);if(u==="line_end")o(b(O({body:[L({body:[ge("string_end")]}),L({body:[Z(10)]})]}),t));else if(u==="line_start")o(b(P(h`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(u==="search_start")if(f.has(e))a.flags.sticky=!0,s();else{let d=n[r-1];if(d&&Bt(d))o(b(O({negate:!0}),t));else{if(l)throw new Error(h`Uses "\G" in a way that requires a subclass`);o(D(ge("string_start"),t)),i.strategy="clip_search"}}else if(!(u==="string_end"||u==="string_start"))if(u==="string_end_newline")o(b(P(h`(?=\n?\z)`),t));else if(u==="word_boundary"){if(!g&&!p){let d=`(?:(?<=${F})(?!${F})|(?<!${F})(?=${F}))`,m=`(?:(?<=${F})(?=${F})|(?<!${F})(?!${F}))`;o(b(P(c?m:d),t))}}else throw new Error(`Unexpected assertion kind "${u}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!ve(r)&&(r=_e(r,t),e.ref=r)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:r}){let{name:n}=e;n&&!ve(n)&&(n=_e(n,t),e.name=n),r.set(e.number,e),n&&r.set(n,e)},CharacterClassRange({node:e,parent:t,replaceWith:r}){if(t.kind==="intersection"){let n=re({body:[e]});r(b(n,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:r},{accuracy:n,minTargetEs2024:a,digitIsAscii:s,spaceIsAscii:o,wordIsAscii:i}){let{kind:u,negate:c,value:p}=e;if(s&&(u==="digit"||p==="digit")){r(D(he("digit",{negate:c}),t));return}if(o&&(u==="space"||p==="space")){r(b(Fe(P(sr),c),t));return}if(i&&(u==="word"||p==="word")){r(D(he("word",{negate:c}),t));return}if(u==="any")r(D(B("Any"),t));else if(u==="digit")r(D(B("Nd",{negate:c}),t));else if(u!=="dot")if(u==="text_segment"){if(n==="strict")throw new Error(h`Use of "\X" requires non-strict accuracy`);let l="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=h`\p{RI}{2}|${l}(?:\u200D${l})*`;r(b(P(h`(?>\r\n|${a?h`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(u==="hex")r(D(B("AHex",{negate:c}),t));else if(u==="newline")r(b(P(c?`[^
]`:`(?>\r
?|[
\v\f\x85\u2028\u2029])`),t));else if(u==="posix")if(!a&&(p==="graph"||p==="print")){if(n==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let l={graph:"!-~",print:" -~"}[p];c&&(l=`\0-${y(l.codePointAt(0)-1)}${y(l.codePointAt(2)+1)}-\u{10FFFF}`),r(b(P(`[${l}]`),t))}else r(b(Fe(P(ar.get(p)),c),t));else if(u==="property")ne.has(Q(p))||(e.key="sc");else if(u==="space")r(D(B("space",{negate:c}),t));else if(u==="word")r(b(Fe(P(F),c),t));else throw new Error(`Unexpected character set kind "${u}"`)},Directive({node:e,parent:t,root:r,remove:n,replaceWith:a,removeAllPrevSiblings:s,removeAllNextSiblings:o}){let{kind:i,flags:u}=e;if(i==="flags")if(!u.enable&&!u.disable)n();else{let c=S({flags:u});c.body[0].body=o(),a(b(c,t),{traverse:!0})}else if(i==="keep"){let c=r.body[0],l=r.body.length===1&&pe(c,{type:"Group"})&&c.body[0].body.length===1?c.body[0]:r;if(t.parent!==l||l.body.length>1)throw new Error(h`Uses "\K" in a way that's unsupported`);let f=O({behind:!0});f.body[0].body=s(),a(b(f,t))}else throw new Error(`Unexpected directive kind "${i}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(r=>delete e[r]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:r}=e;r==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:r}){let{kind:n}=e;if(n==="fail")r(b(O({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${n.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=S();t.body[0].body.push(e.body),e.body=b(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let r=[],n=!1,a=!1;for(let s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{let o=fr(s.body);o?(n=!0,Array.isArray(o)?r.push(...o):r.push(o)):a=!0}n&&!a&&r.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:r,strategy:n}){if(t==="strict"&&r&&n)throw new Error(h`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!ve(r)&&(r=_e(r,t),e.ref=r)}},Pt={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){let{orphan:n,ref:a}=e;n||r.set(e,[...t.get(a).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:r,skip:n},{groupOriginByCopy:a,groupsByName:s,multiplexCapturesToLeftByRef:o,openRefs:i,reffedNodesByReferencer:u}){let c=a.get(e);if(c&&i.has(e.number)){let l=D(or(e.number),t);u.set(l,i.get(e.number)),r(l);return}i.set(e.number,e),o.set(e.number,[]),e.name&&G(o,e.name,[]);let p=o.get(e.name??e.number);for(let l=0;l<p.length;l++){let f=p[l];if(c===f.node||c&&c===f.origin||e===f.origin){p.splice(l,1);break}}if(o.get(e.number).push({node:e,origin:c}),e.name&&o.get(e.name).push({node:e,origin:c}),e.name){let l=G(s,e.name,new Map),f=!1;if(c)f=!0;else for(let g of l.values())if(!g.hasDuplicateNameToRemove){f=!0;break}s.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=j(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:r},n){let{isRecursive:a,ref:s}=e;if(a){let p=t;for(;(p=p.parent)&&!(p.type==="CapturingGroup"&&(p.name===s||p.number===s)););n.reffedNodesByReferencer.set(e,p);return}let o=n.subroutineRefMap.get(s),i=s===0,u=i?or(0):cr(o,n.groupOriginByCopy,null),c=u;if(!i){let p=lr(Rt(o,f=>f.type==="Group"&&!!f.flags)),l=p?j(n.globalFlags,p):n.globalFlags;Ut(l,n.currentFlags)||(c=S({flags:Dt(l)}),c.body[0].body.push(u))}r(b(c,t),{traverse:!i})}},Gt={Backreference({node:e,parent:t,replaceWith:r},n){if(e.orphan){n.highestOrphanBackref=Math.max(n.highestOrphanBackref,e.ref);return}let s=n.reffedNodesByReferencer.get(e).filter(o=>Ot(o,e));if(!s.length)r(b(O({negate:!0}),t));else if(s.length>1){let o=S({atomic:!0,body:s.reverse().map(i=>L({body:[fe(i.number)]}))});r(b(o,t))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let n=0;n<r;n++){let a=ke();e.body.at(-1).body.push(a)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function ur(e){V(e,{"*"({node:t,parent:r}){t.parent=r}})}function Ut(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Ot(e,t){let r=t;do{if(r.type==="Regex")return!1;if(r.type==="Alternative")continue;if(r===e)return!1;let n=pr(r.parent);for(let a of n){if(a===r)break;if(a===e||dr(a,e))return!0}}while(r=r.parent);throw new Error("Unexpected path")}function cr(e,t,r,n){let a=Array.isArray(e)?[]:{};for(let[s,o]of Object.entries(e))s==="parent"?a.parent=Array.isArray(r)?n:r:o&&typeof o=="object"?a[s]=cr(o,t,a,r):(s==="type"&&o==="CapturingGroup"&&t.set(a,t.get(e)??e),a[s]=o);return a}function or(e){let t=Ae(e);return t.isRecursive=!0,t}function Rt(e,t){let r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function _e(e,t){if(t.has(e))return t.get(e);let r=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,r),r}function lr(e){let t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:n})=>{t.forEach(a=>{n.enable?.[a]&&(delete r.disable[a],r.enable[a]=!0),n.disable?.[a]&&(r.disable[a]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function Dt({dotAll:e,ignoreCase:t}){let r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function pr(e){if(!e)throw new Error("Node expected");let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function fr(e){let t=e.find(r=>r.kind==="search_start"||Vt(r,{negate:!1})||!Tt(r));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){let r=[];for(let n of t.body){let a=fr(n.body);if(!a)return null;Array.isArray(a)?r.push(...a):r.push(a)}return r}return null}function dr(e,t){let r=pr(e)??[];for(let n of r)if(n===t||dr(n,t))return!0;return!1}function Tt({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function Bt(e){let t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function Vt(e,t){let r={negate:null,...t};return e.type==="LookaroundAssertion"&&(r.negate===null||e.negate===r.negate)&&e.body.length===1&&pe(e.body[0],{type:"Assertion",kind:"search_start"})}function ve(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function P(e,t){let n=de(e,{...t,unicodePropertyMap:ne}).body;return n.length>1||n[0].body.length>1?S({body:n}):n[0].body[0]}function Fe(e,t){return e.negate=t,e}function D(e,t){return e.parent=t,e}function b(e,t){return ur(e),e.parent=t,e}function wr(e,t){let r=ce(t),n=Y(r.target,"ES2024"),a=Y(r.target,"ES2025"),s=r.rules.recursionLimit;if(!Number.isInteger(s)||s<2||s>20)throw new Error("Invalid recursionLimit; use 2-20");let o=null,i=null;if(!a){let g=[e.flags.ignoreCase];V(e,zt,{getCurrentModI:()=>g.at(-1),popModI(){g.pop()},pushModI(d){g.push(d)},setHasCasedChar(){g.at(-1)?o=!0:i=!0}})}let u={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!i)},c=e,p={accuracy:r.accuracy,appliedGlobalFlags:u,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:c,originMap:e._originMap,recursionLimit:s,useAppliedIgnoreCase:!!(!a&&o&&i),useFlagMods:a,useFlagV:n,verbose:r.verbose};function l(g){return p.lastNode=c,c=g,De(Wt[g.type],`Unexpected node type "${g.type}"`)(g,p,l)}let f={pattern:e.body.map(l).join("|"),flags:l(e.flags),options:{...e.options}};return n||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],p.captureMap.forEach((g,d)=>{g.hidden&&f._hiddenCaptures.push(d),g.transferTo&&G(f._captureTransfers,g.transferTo,[]).push(d)}),f}var zt={"*":{enter({node:e},t){if(hr(e)){let r=t.getCurrentModI();t.pushModI(e.flags?j({ignoreCase:r},e.flags).ignoreCase:r)}},exit({node:e},t){hr(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Me(y(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),Cr(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&Se.has(e.value)&&t.setHasCasedChar()}},Wt={Alternative({body:e},t,r){return e.map(r).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?h`\B`:h`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,r){let{body:n,name:a,number:s}=e,o={ignoreCase:t.currentFlags.ignoreCase},i=t.originMap.get(e);return i&&(o.hidden=!0,s>i.number&&(o.transferTo=i.number)),t.captureMap.set(s,o),`(${a?`?<${a}>`:""}${n.map(r).join("|")})`},Character({value:e},t){let r=y(e),n=J(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(n!==r)return n;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Me(r)){let a=$e(r);return t.inCharClass?a.join(""):a.length>1?`[${a.join("")}]`:a[0]}return r},CharacterClass(e,t,r){let{kind:n,negate:a,parent:s}=e,{body:o}=e;if(n==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");$.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(mr)&&(o=[Z(45),...o.filter(c=>!mr(c))]);let i=()=>`[${a?"^":""}${o.map(r).join(n==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||$.bugNestedClassIgnoresNegation)&&!a){let p=o.filter(l=>l.type==="CharacterClass"&&l.kind==="union"&&l.negate);if(p.length){let l=S(),f=l.body[0];return l.parent=s,f.parent=l,o=o.filter(g=>!p.includes(g)),e.body=o,o.length?(e.parent=f,f.body.push(e)):l.body.pop(),p.forEach(g=>{let d=L({body:[g]});g.parent=d,d.parent=l,l.body.push(d)}),r(l)}}t.inCharClass=!0;let c=i();return t.inCharClass=!1,c}let u=o[0];if(n==="union"&&!a&&u&&((!t.useFlagV||!t.verbose)&&s.kind==="union"&&!($.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&s.kind==="intersection"&&o.length===1&&u.type!=="CharacterClassRange"))return o.map(r).join("");if(!t.useFlagV&&s.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return i()},CharacterClassRange(e,t){let r=e.min.value,n=e.max.value,a={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},s=J(r,a),o=J(n,a),i=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let u=Cr(e);Qt(u).forEach(p=>{i.add(Array.isArray(p)?`${J(p[0],a)}-${J(p[1],a)}`:J(p,a))})}return`${s}-${o}${[...i].join("")}`},CharacterSet({kind:e,negate:t,value:r,key:n},a){if(e==="dot")return a.currentFlags.dotAll?a.appliedGlobalFlags.dotAll||a.useFlagMods?".":"[^]":h`[^\n]`;if(e==="digit")return t?h`\D`:h`\d`;if(e==="property"){if(a.useAppliedIgnoreCase&&a.currentFlags.ignoreCase&&Se.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?h`\P`:h`\p`}{${n?`${n}=`:""}${r}}`}if(e==="word")return t?h`\W`:h`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:r,parent:n},a,s){let o=a.currentFlags;r&&(a.currentFlags=j(o,r));let i=t.map(s).join("|"),u=!a.verbose&&t.length===1&&n.type!=="Quantifier"&&!e&&(!a.useFlagMods||!r)?i:`(?${qt(e,r,a.useFlagMods)}${i})`;return a.currentFlags=o,u},LookaroundAssertion({body:e,kind:t,negate:r},n,a){return`(?${`${t==="lookahead"?"":"<"}${r?"!":"="}`}${e.map(a).join("|")})`},Quantifier(e,t,r){return r(e.body)+Jt(e)},Subroutine({isRecursive:e,ref:t},r){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");let n=r.recursionLimit;return t===0?`(?R=${n})`:h`\g<${t}&R=${n}>`}},Ht=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),jt=new Set(["-","\\","]","^","["]),Xt=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),gr=new Map([[9,h`\t`],[10,h`\n`],[11,h`\v`],[12,h`\f`],[13,h`\r`],[8232,h`\u2028`],[8233,h`\u2029`],[65279,h`\uFEFF`]]),Zt=/^\p{Cased}$/u;function Me(e){return Zt.test(e)}function Cr(e,t){let r=!!t?.firstOnly,n=e.min.value,a=e.max.value,s=[];if(n<65&&(a===65535||a>=131071)||n===65536&&a>=131071)return s;for(let o=n;o<=a;o++){let i=y(o);if(!Me(i))continue;let u=$e(i).filter(c=>{let p=c.codePointAt(0);return p<n||p>a});if(u.length&&(s.push(...u),r))break}return s}function J(e,{escDigit:t,inCharClass:r,useFlagV:n}){if(gr.has(e))return gr.get(e);if(e<32||e>126&&e<160||e>262143||t&&Kt(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;let a=r?n?Xt:jt:Ht,s=y(e);return(a.has(s)?"\\":"")+s}function Qt(e){let t=e.map(a=>a.codePointAt(0)).sort((a,s)=>a-s),r=[],n=null;for(let a=0;a<t.length;a++)t[a+1]===t[a]+1?n??=t[a]:n===null?r.push(t[a]):(r.push([n,t[a]]),n=null);return r}function qt(e,t,r){if(e)return">";let n="";if(t&&r){let{enable:a,disable:s}=t;n=(a?.ignoreCase?"i":"")+(a?.dotAll?"s":"")+(s?"-":"")+(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")}return`${n}:`}function Jt({kind:e,max:t,min:r}){let n;return!r&&t===1?n="?":!r&&t===1/0?n="*":r===1&&t===1/0?n="+":r===t?n=`{${r}}`:n=`{${r},${t===1/0?"":t}}`,n+{greedy:"",lazy:"?",possessive:"+"}[e]}function hr({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function Kt(e){return e>47&&e<58}function mr({type:e,value:t}){return e==="Character"&&t===45}var se=class e extends RegExp{#r=new Map;#e=null;#n;#t=null;#s=null;rawOptions={};get source(){return this.#n||"(?:)"}constructor(t,r,n){let a=!!n?.lazyCompile;if(t instanceof RegExp){if(n)throw new Error("Cannot provide options when copying a regexp");let s=t;super(s,r),this.#n=s.source,s instanceof e&&(this.#r=s.#r,this.#t=s.#t,this.#s=s.#s,this.rawOptions=s.rawOptions)}else{let s={hiddenCaptures:[],strategy:null,transfers:[],...n};super(a?"":t,r),this.#n=t,this.#r=en(s.hiddenCaptures,s.transfers),this.#s=s.strategy,this.rawOptions=n??{}}a||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:a,...s}=this.rawOptions;this.#e=new e(this.#n,this.flags,s)}let r=this.global||this.sticky,n=this.lastIndex;if(this.#s==="clip_search"&&r&&n){this.lastIndex=0;let a=this.#a(t.slice(n));return a&&(Yt(a,n,t,this.hasIndices),this.lastIndex+=n),a}return this.#a(t)}#a(t){this.#e.lastIndex=this.lastIndex;let r=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!r||!this.#r.size)return r;let n=[...r];r.length=1;let a;this.hasIndices&&(a=[...r.indices],r.indices.length=1);let s=[0];for(let o=1;o<n.length;o++){let{hidden:i,transferTo:u}=this.#r.get(o)??{};if(i?s.push(null):(s.push(r.length),r.push(n[o]),this.hasIndices&&r.indices.push(a[o])),u&&n[o]!==void 0){let c=s[u];if(!c)throw new Error(`Invalid capture transfer to "${c}"`);if(r[c]=n[o],this.hasIndices&&(r.indices[c]=a[o]),r.groups){this.#t||(this.#t=rn(this.source));let p=this.#t.get(u);p&&(r.groups[p]=n[o],this.hasIndices&&(r.indices.groups[p]=a[o]))}}}return r}};function Yt(e,t,r,n){if(e.index+=t,e.input=r,n){let a=e.indices;for(let o=0;o<a.length;o++){let i=a[o];i&&(a[o]=[i[0]+t,i[1]+t])}let s=a.groups;s&&Object.keys(s).forEach(o=>{let i=s[o];i&&(s[o]=[i[0]+t,i[1]+t])})}}function en(e,t){let r=new Map;for(let n of e)r.set(n,{hidden:!0});for(let[n,a]of t)for(let s of a)G(r,s,{}).transferTo=n;return r}function rn(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,r=new Map,n=0,a=0,s;for(;s=t.exec(e);){let{0:o,groups:{capture:i,name:u}}=s;o==="["?n++:n?o==="]"&&n--:i&&(a++,u&&r.set(a,u))}return r}var yr=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function br(e,t){for(let r=0;r<e.length;r++)e[r]>=t&&e[r]++}function xr(e,t,r,n){return e.slice(0,t)+n+e.slice(t+r.length)}var A=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function ae(e,t,r,n){let a=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),s=[!1],o=0,i="";for(let u of e.matchAll(a)){let{0:c,groups:{$skip:p}}=u;if(!p&&(!n||n===A.DEFAULT==!o)){r instanceof Function?i+=r(u,{context:o?A.CHAR_CLASS:A.DEFAULT,negated:s[s.length-1]}):i+=r;continue}c[0]==="["?(o++,s.push(c[1]==="^")):c==="]"&&o&&(o--,s.pop()),i+=c}return i}function Ne(e,t,r,n){ae(e,t,r,n)}function tn(e,t,r=0,n){if(!new RegExp(t,"su").test(e))return null;let a=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");a.lastIndex=r;let s=0,o;for(;o=a.exec(e);){let{0:i,groups:{$skip:u}}=o;if(!u&&(!n||n===A.DEFAULT==!s))return o;i==="["?s++:i==="]"&&s&&s--,a.lastIndex==o.index&&a.lastIndex++}return null}function oe(e,t,r){return!!tn(e,t,0,r)}function kr(e,t){let r=/\\?./gsu;r.lastIndex=t;let n=e.length,a=0,s=1,o;for(;o=r.exec(e);){let[i]=o;if(i==="[")a++;else if(a)i==="]"&&a--;else if(i==="(")s++;else if(i===")"&&(s--,!s)){n=o.index;break}}return e.slice(t,n)}var Er=new RegExp(String.raw`(?<noncapturingStart>${yr})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function Pe(e,t){let r=t?.hiddenCaptures??[],n=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:n,hiddenCaptures:r};let a="(?>",s="(?:(?=(",o=[0],i=[],u=0,c=0,p=NaN,l;do{l=!1;let f=0,g=0,d=!1,m;for(Er.lastIndex=Number.isNaN(p)?0:p+s.length;m=Er.exec(e);){let{0:w,index:C,groups:{capturingStart:E,noncapturingStart:I}}=m;if(w==="[")f++;else if(f)w==="]"&&f--;else if(w===a&&!d)p=C,d=!0;else if(d&&I)g++;else if(E)d?g++:(u++,o.push(u+c));else if(w===")"&&d){if(!g){c++;let k=u+c;if(e=`${e.slice(0,p)}${s}${e.slice(p+a.length,C)}))<$$${k}>)${e.slice(C+1)}`,l=!0,i.push(k),br(r,k),n.size){let _=new Map;n.forEach((ie,W)=>{_.set(W>=k?W+1:W,ie.map(H=>H>=k?H+1:H))}),n=_}break}g--}}}while(l);return r.push(...i),e=ae(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:f,groups:{backrefNum:g,wrappedBackrefNum:d}})=>{if(g){let m=+g;if(m>o.length-1)throw new Error(`Backref "${f}" greater than number of captures`);return`\\${o[m]}`}return`\\${d}`},A.DEFAULT),{pattern:e,captureTransfers:n,hiddenCaptures:r}}var Ar=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Le=new RegExp(String.raw`
\\(?: \d+
| c[A-Za-z]
| [gk]<[^>]+>
| [pPu]\{[^\}]+\}
| u[A-Fa-f\d]{4}
| x[A-Fa-f\d]{2}
)
| \((?: \? (?: [:=!>]
| <(?:[=!]|[^>]+>)
| [A-Za-z\-]+:
| \(DEFINE\)
))?
| (?<qBase>${Ar})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
| \\?.
`.replace(/\s+/g,""),"gsu");function Ge(e){if(!new RegExp(`${Ar}\\+`).test(e))return{pattern:e};let t=[],r=null,n=null,a="",s=0,o;for(Le.lastIndex=0;o=Le.exec(e);){let{0:i,index:u,groups:{qBase:c,qMod:p,invalidQ:l}}=o;if(i==="[")s||(n=u),s++;else if(i==="]")s?s--:n=null;else if(!s)if(p==="+"&&a&&!a.startsWith("(")){if(l)throw new Error(`Invalid quantifier "${i}"`);let f=-1;if(/^\{\d+\}$/.test(c))e=xr(e,u+c.length,p,"");else{if(a===")"||a==="]"){let g=a===")"?r:n;if(g===null)throw new Error(`Invalid unmatched "${a}"`);e=`${e.slice(0,g)}(?>${e.slice(g,u)}${c})${e.slice(u+i.length)}`}else e=`${e.slice(0,u-a.length)}(?>${a}${c})${e.slice(u+i.length)}`;f+=4}Le.lastIndex+=f}else i[0]==="("?t.push(u):i===")"&&(r=t.length?t.pop():null);a=i}return{pattern:e}}var v=String.raw,nn=v`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Oe=v`\(\?R=(?<rDepth>[^\)]+)\)|${nn}`,we=v`\(\?<(?![=!])(?<captureName>[^>]+)>`,vr=v`${we}|(?<unnamed>\()(?!\?)`,z=new RegExp(v`${we}|${Oe}|\(\?|\\?.`,"gsu"),Ue="Cannot use multiple overlapping recursions";function Fr(e,t){let{hiddenCaptures:r,mode:n}={hiddenCaptures:[],mode:"plugin",...t},a=t?.captureTransfers??new Map;if(!new RegExp(Oe,"su").test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:r};if(n==="plugin"&&oe(e,v`\(\?\(DEFINE\)`,A.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let s=[],o=oe(e,v`\\[1-9]`,A.DEFAULT),i=new Map,u=[],c=!1,p=0,l=0,f;for(z.lastIndex=0;f=z.exec(e);){let{0:g,groups:{captureName:d,rDepth:m,gRNameOrNum:w,gRDepth:C}}=f;if(g==="[")p++;else if(p)g==="]"&&p--;else if(m){if(Ir(m),c)throw new Error(Ue);if(o)throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);let E=e.slice(0,f.index),I=e.slice(z.lastIndex);if(oe(I,Oe,A.DEFAULT))throw new Error(Ue);let k=+m-1;e=$r(E,I,k,!1,r,s,l),a=_r(a,E,k,s.length,0,l);break}else if(w){Ir(C);let E=!1;for(let K of u)if(K.name===w||K.num===+w){if(E=!0,K.hasRecursedWithin)throw new Error(Ue);break}if(!E)throw new Error(v`Recursive \g cannot be used outside the referenced group "${n==="external"?w:v`\g<${w}&R=${C}>`}"`);let I=i.get(w),k=kr(e,I);if(o&&oe(k,v`${we}|\((?!\?)`,A.DEFAULT))throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);let _=e.slice(I,f.index),ie=k.slice(_.length+g.length),W=s.length,H=+C-1,Re=$r(_,ie,H,!0,r,s,l);a=_r(a,_,H,s.length-W,W,l);let Nr=e.slice(0,I),Lr=e.slice(I+k.length);e=`${Nr}${Re}${Lr}`,z.lastIndex+=Re.length-g.length-_.length-ie.length,u.forEach(K=>K.hasRecursedWithin=!0),c=!0}else if(d)l++,i.set(String(l),z.lastIndex),i.set(d,z.lastIndex),u.push({num:l,name:d});else if(g[0]==="("){let E=g==="(";E&&(l++,i.set(String(l),z.lastIndex)),u.push(E?{num:l}:{})}else g===")"&&u.pop()}return r.push(...s),{pattern:e,captureTransfers:a,hiddenCaptures:r}}function Ir(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function $r(e,t,r,n,a,s,o){let i=new Set;n&&Ne(e+t,we,({groups:{captureName:c}})=>{i.add(c)},A.DEFAULT);let u=[r,n?i:null,a,s,o];return`${e}${Sr(`(?:${e}`,"forward",...u)}(?:)${Sr(`${t})`,"backward",...u)}${t}`}function Sr(e,t,r,n,a,s,o){let u=p=>t==="forward"?p+2:r-p+2-1,c="";for(let p=0;p<r;p++){let l=u(p);c+=ae(e,v`${vr}|\\k<(?<backref>[^>]+)>`,({0:f,groups:{captureName:g,unnamed:d,backref:m}})=>{if(m&&n&&!n.has(m))return f;let w=`_$${l}`;if(d||g){let C=o+s.length+1;return s.push(C),sn(a,C),d?f:`(?<${g}${w}>`}return v`\k<${m}${w}>`},A.DEFAULT)}return c}function sn(e,t){for(let r=0;r<e.length;r++)e[r]>=t&&e[r]++}function _r(e,t,r,n,a,s){if(e.size&&n){let o=0;Ne(t,vr,()=>o++,A.DEFAULT);let i=s-o+a,u=new Map;return e.forEach((c,p)=>{let l=(n-o*r)/r,f=o*r,g=p>i+o?p+n:p,d=[];for(let m of c)if(m<=i)d.push(m);else if(m>i+o+l)d.push(m+n);else if(m<=i+o)for(let w=0;w<=r;w++)d.push(m+o*w);else for(let w=0;w<=r;w++)d.push(m+f+l*w);u.set(g,d)}),u}return e}function an(e,t){let r=Mr(e,t);return r.options?new se(r.pattern,r.flags,r.options):new RegExp(r.pattern,r.flags)}function Mr(e,t){let r=ce(t),n=de(e,{flags:r.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:r.rules.captureGroup,singleline:r.rules.singleline},skipBackrefValidation:r.rules.allowOrphanBackrefs,unicodePropertyMap:ne}),a=ir(n,{accuracy:r.accuracy,asciiWordBoundaries:r.rules.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),s=wr(a,r),o=Fr(s.pattern,{captureTransfers:s._captureTransfers,hiddenCaptures:s._hiddenCaptures,mode:"external"}),i=Ge(o.pattern),u=Pe(i.pattern,{captureTransfers:o.captureTransfers,hiddenCaptures:o.hiddenCaptures}),c={pattern:u.pattern,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${s.flags}${s.options.disable.v?"u":"v"}`};if(r.avoidSubclass){if(r.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let p=u.hiddenCaptures.sort((d,m)=>d-m),l=Array.from(u.captureTransfers),f=a._strategy,g=c.pattern.length>=r.lazyCompileLength;(p.length||l.length||f||g)&&(c.options={...p.length&&{hiddenCaptures:p},...l.length&&{transfers:l},...f&&{strategy:f},...g&&{lazyCompile:g}})}return c}return Dr(on);})();
//# sourceMappingURL=index.min.js.map