PageSourceSearch

https://jsoncrack.com/_next/static/chunks/369.510952bf99808088.js

js jsoncrack.com collected 2026-10-02 15:18:34 UTC 75,793 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[369],{90369:(t,e,i)=>{let r;i.d(e,{XMLBuilder:()=>tJ,XMLParser:()=>tD});let n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s=RegExp("^"+("["+n+"]["+n)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),a=function(t){return null!=s.exec(t)},o=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],l=["__proto__","constructor","prototype"],p={allowBooleanAttributes:!1,unpairedTags:[]};function h(t){return" "===t||"	"===t||"\n"===t||"\r"===t}function d(t,e){let i=e;for(;e<t.length;e++)if("?"==t[e]||" "==t[e]){let r=t.substr(i,e-i);if(e>5&&"xml"===r)return f("InvalidXml","XML declaration allowed only at the start of the document.",g(t,e));if("?"!=t[e]||">"!=t[e+1])continue;e++;break}return e}function u(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e<t.length;e++)if("-"===t[e]&&"-"===t[e+1]&&">"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if("<"===t[e])i++;else if(">"===t[e]&&0==--i)break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7]){for(e+=8;e<t.length;e++)if("]"===t[e]&&"]"===t[e+1]&&">"===t[e+2]){e+=2;break}}return e}function c(t,e){let i=function(t){let e=[],i=t.length,r=0;for(;r<i;){let n,s,a,o=r;for(;r<i&&h(t[r]);)r++;if(r>=i)break;if("="===t[r]){r=o+1;continue}let l=t.slice(o,r),p=r;for(;r<i&&!h(t[r])&&"="!==t[r];)r++;let d=t.slice(p,r),u=r;for(;u<i&&h(t[u]);)u++;u<i&&"="===t[u]&&(n=t.slice(r,u+1),r=u+1);let c=r;for(;c<i&&h(t[c]);)c++;if(c<i&&('"'===t[c]||"'"===t[c])){let e=c+1,i=t.indexOf(t[c],e);-1!==i&&(s=t[c],a=t.slice(e,i),r=i+1)}let f={startIndex:o};f[1]=l,f[2]=d,f[3]=n,f[4]=void 0!==s||void 0,f[5]=s,f[6]=a,e.push(f)}return e}(t),r={};for(let t=0;t<i.length;t++){if(0===i[t][1].length)return f("InvalidAttr","Attribute '"+i[t][2]+"' has no space in starting.",m(i[t]));if(void 0!==i[t][3]&&void 0===i[t][4])return f("InvalidAttr","Attribute '"+i[t][2]+"' is without value.",m(i[t]));if(void 0===i[t][3]&&!e.allowBooleanAttributes)return f("InvalidAttr","boolean attribute '"+i[t][2]+"' is not allowed.",m(i[t]));let n=i[t][2];if(!a(n))return f("InvalidAttr","Attribute '"+n+"' is an invalid name.",m(i[t]));if(Object.prototype.hasOwnProperty.call(r,n))return f("InvalidAttr","Attribute '"+n+"' is repeated.",m(i[t]));r[n]=1}return!0}function f(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function g(t,e){let i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function m(t){return t.startIndex+t[1].length}let x=t=>o.includes(t)?"__"+t:t,b={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0,unicode:!1},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:x},y=function(t){let e=Object.assign({},b,t);for(let{value:t,name:i}of[{value:e.attributeNamePrefix,name:"attributeNamePrefix"},{value:e.attributesGroupName,name:"attributesGroupName"},{value:e.textNodeName,name:"textNodeName"},{value:e.cdataPropName,name:"cdataPropName"},{value:e.commentPropName,name:"commentPropName"}])t&&function(t,e){if("string"!=typeof t)return;let i=t.toLowerCase();if(o.some(t=>i===t.toLowerCase())||l.some(t=>i===t.toLowerCase()))throw Error(`[SECURITY] Invalid ${e}: "${t}" is a reserved JavaScript keyword that could cause prototype pollution`)}(t,i);return null===e.onDangerousProperty&&(e.onDangerousProperty=x),e.processEntities=function t(e,i){return"boolean"==typeof e?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:"object"==typeof e&&null!==e?{enabled:!1!==e.enabled,maxEntitySize:Math.max(1,e.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,e.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,e.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,e.maxExpandedLength??1e5),maxEntityCount:Math.max(1,e.maxEntityCount??1e3),allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null,appliesTo:e.appliesTo??"all"}:t(!0)}(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(t=>"string"==typeof t&&t.startsWith("*.")?".."+t.substring(2):t)),e};r="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class N{constructor(t){this.tagname=t,this.child=[],this[":@"]=Object.create(null)}add(t,e){"__proto__"===t&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t,e){"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),this.addStartIndex(e)}addStartIndex(t){void 0!==t&&(this.child[this.child.length-1][r]={startIndex:t})}addEndIndex(t){let e=this.child[this.child.length-1];void 0!==e&&void 0!==e[r]&&void 0===e[r].endIndex&&(e[r].endIndex=t)}static getMetaDataSymbol(){return r}}let E=":A-Za-z_\xc0-\xd6\xd8-\xf6\xf8-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",v=":A-Za-z_\xc0-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�\uD800\uDC00-\uDB7F\uDFFF",A=(t,e,i="")=>{let r=t.replace(":",""),n=e.replace(":",""),s=`[${r}][${n}]*`;return{name:RegExp(`^[${t}][${e}]*$`,i),ncName:RegExp(`^${s}$`,i),qName:RegExp(`^${s}(?::${s})?$`,i),nmToken:RegExp(`^[${e}
1]+$`,i),nmTokens:RegExp(`^[${e}]+(?:\\s+[${e}]+)*$`,i)}},S=A(E,E+"\\-\\.\\d\xb7̀-ͯ‿-⁀"),T=A(v,v+"\\-\\.\\d\xb7̀-ͯ҇‿-⁀","u"),w=":A-Za-z_",_=A(w,w+"\\-\\.\\d"),C=(t="1.0",e=!1)=>e?_:"1.1"===t?T:S,$=(t,{xmlVersion:e="1.0",asciiOnly:i=!1}={})=>C(e,i).qName.test(t),P=["name","ncName","qName","nmToken","nmTokens"],O=(t,{xmlVersion:e="1.0",asciiOnly:i=!1,maxCacheSize:r=2048}={})=>{if(!P.includes(t))throw TypeError(`Unknown production "${t}". Must be one of: ${P.join(", ")}`);let n=C(e,i)[t],s=new Map,a=t=>{let e=s.get(t);if(void 0!==e)return e;let i=n.test(t);return s.size<r&&s.set(t,i),i};return a.reset=()=>{s=new Map},a};class j{constructor(t,e){this.suppressValidationErr=!t,this.options=t,this.xmlVersion=e||1}setXmlVersion(t=1){this.xmlVersion=t}readDocType(t,e){let i=Object.create(null),r=0;if("O"===t[e+3]&&"C"===t[e+4]&&"T"===t[e+5]&&"Y"===t[e+6]&&"P"===t[e+7]&&"E"===t[e+8]){e+=9;let n=1,s=!1,a=!1,o=null,l="";for(;e<t.length;e++){if(null!==o){t[e]===o&&(o=null),l+=t[e];continue}if(!s&&!a&&('"'===t[e]||"'"===t[e])){o=t[e],l+=t[e];continue}if("<"!==t[e]||a)if(">"===t[e]){if(a?"-"===t[e-1]&&"-"===t[e-2]&&(a=!1,n--):n--,0===n)break}else"["===t[e]?s=!0:l+=t[e];else{if(s&&k(t,"!ENTITY",e)){let n,s;if(e+=7,[n,s,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),-1===s.indexOf("&")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&r>=this.options.maxEntityCount)throw Error(`Entity count (${r+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);i[n]=s,r++}}else if(s&&k(t,"!ELEMENT",e)){e+=8;let{index:i}=this.readElementExp(t,e+1);e=i}else if(s&&k(t,"!ATTLIST",e))e+=8;else if(s&&k(t,"!NOTATION",e)){e+=9;let{index:i}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=i}else if(k(t,"!--",e))a=!0;else throw Error("Invalid DOCTYPE");n++,l=""}}if(null!==o||0!==n)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:e}}readEntityExp(t,e){let i=e=I(t,e);for(;e<t.length&&!/\s/.test(t[e])&&'"'!==t[e]&&"'"!==t[e];)e++;let r=t.substring(i,e);if(L(r,{xmlVersion:this.xmlVersion}),e=I(t,e),!this.suppressValidationErr){if("SYSTEM"===t.substring(e,e+6).toUpperCase())throw Error("External entities are not supported");else if("%"===t[e])throw Error("Parameter entities are not supported")}let n="";if([e,n]=this.readIdentifierVal(t,e,"entity"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&n.length>this.options.maxEntitySize)throw Error(`Entity "${r}" size (${n.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[r,n,--e]}readNotationExp(t,e){let i=e=I(t,e);for(;e<t.length&&!/\s/.test(t[e]);)e++;let r=t.substring(i,e);this.suppressValidationErr||L(r,{xmlVersion:this.xmlVersion}),e=I(t,e);let n=t.substring(e,e+6).toUpperCase();if(!this.suppressValidationErr&&"SYSTEM"!==n&&"PUBLIC"!==n)throw Error(`Expected SYSTEM or PUBLIC, found "${n}"`);e+=n.length,e=I(t,e);let s=null,a=null;if("PUBLIC"===n)[e,s]=this.readIdentifierVal(t,e,"publicIdentifier"),e=I(t,e),('"'===t[e]||"'"===t[e])&&([e,a]=this.readIdentifierVal(t,e,"systemIdentifier"));else if("SYSTEM"===n&&([e,a]=this.readIdentifierVal(t,e,"systemIdentifier"),!this.suppressValidationErr&&!a))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:r,publicIdentifier:s,systemIdentifier:a,index:--e}}readIdentifierVal(t,e,i){let r="",n=t[e];if('"'!==n&&"'"!==n)throw Error(`Expected quoted string, found "${n}"`);let s=++e;for(;e<t.length&&t[e]!==n;)e++;if(r=t.substring(s,e),t[e]!==n)throw Error(`Unterminated ${i} value`);return[++e,r]}readElementExp(t,e){let i=e=I(t,e);for(;e<t.length&&!/\s/.test(t[e]);)e++;let r=t.substring(i,e);if(!this.suppressValidationErr&&!$(r,{xmlVersion:this.xmlVersion}))throw Error(`Invalid element name: "${r}"`);e=I(t,e);let n="";if("E"===t[e]&&k(t,"MPTY",e))e+=4;else if("A"===t[e]&&k(t,"NY",e))e+=2;else if("("===t[e]){let i=++e;for(;e<t.length&&")"!==t[e];)e++;if(n=t.substring(i,e),")"!==t[e])throw Error("Unterminated content model")}else if(!this.suppressValidationErr)throw Error(`Invalid Element Expression, found "${t[e]}"`);return{elementName:r,contentModel:n.trim(),index:e}}readAttlistExp(t,e){let i=e=I(t,e);for(;e<t.length&&!/\s/.test(t[e]);)e++;let r=t.substring(i,e);for(L(r,{xmlVersion:this.xmlVersion}),i=e=I(t,e);e<t.length&&!/\s/.test(t[e]);)e++;let n=t.substring(i,e);if(!L(n,{xmlVersion:this.xmlVersion}))throw Error(`Invalid attribute name: "${n}"`);e=I(t,e);let s="";if("NOTATION"===t.substring(e,e+8).toUpperCase()){if(s="NOTATION",e+=8,e=I(t,e),"("!==t[e])throw Error(`Expected '(', found "${t[e]}"`);e++;let i=[];for(;e<t.length&&")"!==t[e];){let r=e;for(;e<t.length&&"|"!==t[e]&&")"!==t[e];)e++;let n=t.substring(r,e);if(!L(n=n.trim(),{xmlVersion:this.xmlVersion}))throw Error(`Invalid notation name: "${n}"`);i.push(n),"|"===t[e]&&(e=I(t,++e))}if(")"!==t[e])throw Error("Unterminated list of notations");e++,s+=" ("+i.join("|")+")"}else{let i=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;if(s+=t.substring(i,e),!this.suppressValidationErr&&!["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"].includes(s.toUpperCase()))throw Error(`Invalid attribute type: "${s}"`)}e=I(t,e);let a="";return"#REQUIRED"===t.substring(e,e+8).toUpperCase()?(a="#REQUIRED",e+=8):"#IMPLIED"===t.substring(e,e+7).toUpperCase()?(a="#IMPLIED",e+=7):[e,a]=this.readIdentifierVal(t,e,"ATTLIST"),{elementName:r,attributeName:n,attributeType:s,defaultValue:a,index:e}}}let I=(t,e)=>{for(;e<t.length&&/\s/.test(t[e]);)e++;return e};function k(t,e,i){for(let r=0;r<e.length;r++)if(e[r]!==t[i+r+1])return!1;return!0}function L(t,e){if($(t,{xmlVersion:e}))return t;throw Error(`Invalid entity name ${t}`)}let D=new Map,M=new Uint8Array(63904).fill(255);for(let t of[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,65296,120782,120792,120802,120812,120822,66720,68912,69734,69872,69942,70096,70384,70736,70864,71248,71360,71472,71904,72016,72688,72784,73040,73120,73552,92768,92864,93008,123200,123632,124144,125264,130032])for(let e=0;e<10;e++){let i=t+e;i<=65535?M[i-1632]=e:D.set(i,e)}let R=new Set([8722,65293,65123]),V=function(t){if("string"!=typeof t)return t;let e=t.length;if(0===e)return t;let i=-1;for(let r=0;r<e;r++){let n=t.charCodeAt(r);if((!(n>=48)||!(n<=57))&&45!==n){if(n<1632){if(R.has(n)){i=r;break}continue}if(n>=55296&&n<=56319){if(r+1<e){let e=t.charCodeAt(r+1);if(e>=56320&&e<=57343){let t=65536+(n-55296<<10)+(e-56320);if(D.has(t)){i=r;break}}}continue}if(255!==M[n-1632]||R.has(n)){i=r;break}}}if(-1===i)return t;let r=[];i>0&&r.push(t.slice(0,i));for(let n=i;n<e;n++){let i=t.charCodeAt(n);if(i>=48&&i<=57||45===i){r.push(t[n]);continue}if(i<1632){r.push(R.has(i)?"-":t[n]);continue}if(i>=55296&&i<=56319){if(n+1<e){let e=t.charCodeAt(n+1);if(e>=56320&&e<=57343){let t=65536+(i-55296<<10)+(e-56320),s=D.get(t);if(void 0!==s){r.push(String.fromCharCode(s+48)),n++;continue}}}r.push(t[n]);continue}if(R.has(i)){r.push("-");continue}let s=M[i-1632];r.push(255!==s?String.fromCharCode(s+48):t[n])}return r.join("")},q=/^[-+]?0x[a-fA-F0-9]+$/,F=/^0b[01]+$/,U=/^0o[0-7]+$/,B=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,G={hex:!0,binary:!1,octal:!1,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original",unicode:!1},W=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function X(t,e){let i=t.trim();if((2===e||8===e)&&(t=i.substring(2)),parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}class z{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){let t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){let t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){let e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){let e=this._matcher.path;if(0===e.length)return!1;let i=e[e.length-1];return void 0!==i.values&&t in i.values}getAnyParentAttr(t){return this._matcher.getAnyParentAttr(t)}hasAnyParentAttr(t){return this._matcher.hasAnyParentAttr(t)}getPosition(){let t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){let t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map(t=>t.tag)}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class Y{constructor(t={}){this.separator=t.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new z(this),this._keptAttrs=[]}push(t,e=null,i=null,r=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);let n=this.path.length,s=this.siblingStacks[n];s||(s={counts:new Map,total:0},this.siblingStacks[n]=s);let a=i?`${i}:${t}`:t,o=s.counts.get(a)||0,l=s.total;s.counts.set(a,o+1),s.total++;let p={tag:t,position:l,counter:o};null!=i&&(p.namespace=i),null!=e&&(p.values=e),this.path.push(p);let h=this.path.length,d=null!==r?r.keep:null;if(null!=d&&d.length>0&&e)for(let t=0;t<d.length;t++){let i=d[t];void 0!==e[i]&&this._keptAttrs.push({depth:h,name:i,value:e[i]})}}pop(){if(0===this.path.length)return;this._pathStringCache=null;let t=this.path.pop();this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1);let e=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=e;)this._keptAttrs.pop();return t}updateCurrent(t){if(this.path.length>0){let e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;let e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getAnyParentAttr(t){let e=this._keptAttrs;for(let i=e.length-1;i>=0;i--)if(e[i].name===t)return e[i].value}hasAnyParentAttr(t){let e=this._keptAttrs;for(let i=e.length-1;i>=0;i--)if(e[i].name===t)return!0;return!1}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){let i=t||this.separator;if(i===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;let t=this.path.map(t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(i)}toArray(){return this.path.map(t=>t.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(t){let e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,i=t.length-1;for(;i>=0&&e>=0;){let r=t[i];if("deep-wildcard"===r.type){if(--i<0)return!0;let r=t[i],n=!1;for(let t=e;t>=0;t--)if(this._matchSegment(r,this.path[t],t===this.path.length-1)){e=t-1,i--,n=!0;break}if(!n)return!1}else{if(!this._matchSegment(r,this.path[e],e===this.path.length-1))return!1;e--,i--}}return i<0}_matchSegment(t,e,i){if("*"!==t.tag&&t.tag!==e.tag||void 0!==t.namespace&&"*"!==t.namespace&&t.namespace!==e.namespace||void 0!==t.attrName&&(!i||!e.values||!(t.attrName in e.values)||void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue)))return!1;if(void 0!==t.position){if(!i)return!1;let r=e.counter??0;if("first"===t.position&&0!==r)return!1;if("odd"===t.position&&r%2!=1)return!1;if("even"===t.position&&r%2!=0)return!1;else if("nth"===t.position&&r!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}
1snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),keptAttrs:this._keptAttrs.map(t=>({...t}))}}restore(t){this._pathStringCache=null,this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>t?{counts:new Map(t.counts),total:t.total}:t),this._keptAttrs=(t.keptAttrs||[]).map(t=>({...t}))}readOnly(){return this._view}}class H{constructor(t,e={},i){this.pattern=t,this.separator=e.separator||".",this.segments=this._parse(t),this.data=i,this._hasDeepWildcard=this.segments.some(t=>"deep-wildcard"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){let e=[],i=0,r="";for(;i<t.length;)t[i]===this.separator?i+1<t.length&&t[i+1]===this.separator?(r.trim()&&(e.push(this._parseSegment(r.trim())),r=""),e.push({type:"deep-wildcard"}),i+=2):(r.trim()&&e.push(this._parseSegment(r.trim())),r="",i++):(r+=t[i],i++);return r.trim()&&e.push(this._parseSegment(r.trim())),e}_parseSegment(t){let e,i,r={type:"tag"},n=null,s=t,a=t.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(a&&(s=a[1]+a[3],a[2])){let t=a[2].slice(1,-1);t&&(n=t)}let o=s;if(s.includes("::")){let i=s.indexOf("::");if(e=s.substring(0,i).trim(),o=s.substring(i+2).trim(),!e)throw Error(`Invalid namespace in pattern: ${t}`)}let l=null;if(o.includes(":")){let t=o.lastIndexOf(":"),e=o.substring(0,t).trim(),r=o.substring(t+1).trim();["first","last","odd","even"].includes(r)||/^nth\(\d+\)$/.test(r)?(i=e,l=r):i=o}else i=o;if(!i)throw Error(`Invalid segment pattern: ${t}`);if(r.tag=i,e&&(r.namespace=e),n)if(n.includes("=")){let t=n.indexOf("=");r.attrName=n.substring(0,t).trim(),r.attrValue=n.substring(t+1).trim()}else r.attrName=n.trim();if(l){let t=l.match(/^nth\((\d+)\)$/);t?(r.position="nth",r.positionValue=parseInt(t[1],10)):r.position=l}return r}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class Q{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._deepByTerminalTag=new Map,this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard()){let e=t.segments[t.segments.length-1];if(e&&"deep-wildcard"!==e.type&&"*"!==e.tag){let i=e.tag;this._deepByTerminalTag.has(i)||this._deepByTerminalTag.set(i,[]),this._deepByTerminalTag.get(i).push(t)}else this._deepWildcards.push(t);return this}let e=t.length,i=t.segments[t.segments.length-1],r=i?.tag;if(r&&"*"!==r){let i=`${e}:${r}`;this._byDepthAndTag.has(i)||this._byDepthAndTag.set(i,[]),this._byDepthAndTag.get(i).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(let e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){let e=t.getDepth(),i=t.getCurrentTag(),r=`${e}:${i}`,n=this._byDepthAndTag.get(r);if(n){for(let e=0;e<n.length;e++)if(t.matches(n[e]))return n[e]}let s=this._wildcardByDepth.get(e);if(s){for(let e=0;e<s.length;e++)if(t.matches(s[e]))return s[e]}let a=this._deepByTerminalTag.get(i);if(a){for(let e=0;e<a.length;e++)if(t.matches(a[e]))return a[e]}for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}let J={cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",euro:"€",dollar:"$",fnof:"ƒ",inr:"₹",af:"؋",birr:"ብር",peso:"₱",rub:"₽",won:"₩",yuan:"\xa5",cedil:"\xb8"},Z={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'},K={nbsp:"\xa0",copy:"\xa9",reg:"\xae",trade:"™",mdash:"—",ndash:"–",hellip:"…",laquo:"\xab",raquo:"\xbb",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",para:"\xb6",sect:"\xa7",deg:"\xb0",frac12:"\xbd",frac14:"\xbc",frac34:"\xbe"},tt=Object.freeze({ALLOW:"allow",BLOCK:"block",THROW:"throw"}),te=new Set("!?\\\\/[]$%{}^&*()<>|+");function ti(t){if("#"===t[0])throw Error(`[EntityReplacer] Invalid character '#' in entity name: "${t}"`);for(let e of t)if(te.has(e))throw Error(`[EntityReplacer] Invalid character '${e}' in entity name: "${t}"`);return t}function tr(...t){let e=Object.create(null);for(let i of t)if(i)for(let t of Object.keys(i)){let r=i[t];if("string"==typeof r)e[t]=r;else if(r&&"object"==typeof r&&void 0!==r.val){let i=r.val;"string"==typeof i&&(e[t]=i)}}return e}let tn="external",ts="base",ta=Object.freeze({allow:0,leave:1,remove:2,throw:3}),to=new Set([9,10,13]);class tl{constructor(t={}){this._limit=t.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck="function"==typeof t.postCheck?t.postCheck:t=>t,this._limitTiers=function(t){return new Set(t&&t!==tn?"all"===t?["all"]:t===ts?[ts]:Array.isArray(t)?t:[tn]:[tn])}(this._limit.applyLimitsTo??tn),this._numericAllowed=t.numericAllowed??!0,this._baseMap=tr(Z,t.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(t.remove&&Array.isArray(t.remove)?t.remove:[]),this._leaveSet=new Set(t.leave&&Array.isArray(t.leave)?t.leave:[]);const e=function(t){if(!t)return{xmlVersion:1,onLevel:ta.allow,nullLevel:ta.remove};let e=1.1===t.xmlVersion?1.1:1;return{xmlVersion:e,onLevel:ta[t.onNCR]??ta.allow,nullLevel:Math.max(ta[t.nullNCR]??ta.remove,ta.remove)}}(t.ncr);this._ncrXmlVersion=e.xmlVersion,this._ncrOnLevel=e.onLevel,this._ncrNullLevel=e.nullLevel,this._onExternalEntity="function"==typeof t.onExternalEntity?t.onExternalEntity:null,this._onInputEntity="function"==typeof t.onInputEntity?t.onInputEntity:null}_applyRegistrationHook(t,e,i,r){if(!t)return!0;let n=t(e,i);if(n===tt.BLOCK)return!1;if(n===tt.THROW)throw Error(`[EntityDecoder] Registration of ${r} entity "&${e};" was rejected by hook`);return!0}setExternalEntities(t){if(t)for(let e of Object.keys(t))ti(e);if(!this._onExternalEntity){this._externalMap=tr(t);return}let e=tr(t),i=Object.create(null);for(let[t,r]of Object.entries(e))this._applyRegistrationHook(this._onExternalEntity,t,r,"external")&&(i[t]=r);this._externalMap=i}addExternalEntity(t,e){ti(t),"string"==typeof e&&-1===e.indexOf("&")&&this._applyRegistrationHook(this._onExternalEntity,t,e,"external")&&(this._externalMap[t]=e)}addInputEntities(t){if(this._totalExpansions=0,this._expandedLength=0,!this._onInputEntity){this._inputMap=tr(t);return}let e=tr(t),i=Object.create(null);for(let[t,r]of Object.entries(e))this._applyRegistrationHook(this._onInputEntity,t,r,"input")&&(i[t]=r);this._inputMap=i}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(t){this._ncrXmlVersion=1.1===t?1.1:1}decode(t){if("string"!=typeof t||0===t.length||-1===t.indexOf("&"))return t;let e=[],i=t.length,r=0,n=0,s=this._maxTotalExpansions>0,a=this._maxExpandedLength>0,o=s||a;for(;n<i;){let l,p;if(38!==t.charCodeAt(n)){n++;continue}let h=n+1;for(;h<i&&59!==t.charCodeAt(h)&&h-n<=32;)h++;if(h>=i||59!==t.charCodeAt(h)){n++;continue}let d=t.slice(n+1,h);if(0===d.length){n++;continue}if(this._removeSet.has(d))l="",void 0===p&&(p=tn);else if(this._leaveSet.has(d)){n++;continue}
1else if(35===d.charCodeAt(0)){let t=this._resolveNCR(d);if(void 0===t){n++;continue}l=t,p=ts}else{let t=this._resolveName(d);l=t?.value,p=t?.tier}if(void 0===l){n++;continue}if(n>r&&e.push(t.slice(r,n)),e.push(l),n=r=h+1,o&&this._tierCounts(p)){if(s&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(a){let t=l.length-(d.length+2);if(t>0&&(this._expandedLength+=t,this._expandedLength>this._maxExpandedLength))throw Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}r<i&&e.push(t.slice(r));let l=0===e.length?t:e.join("");return this._postCheck(l,t)}_tierCounts(t){return!!this._limitTiers.has("all")||this._limitTiers.has(t)}_resolveName(t){return t in this._inputMap?{value:this._inputMap[t],tier:tn}:t in this._externalMap?{value:this._externalMap[t],tier:tn}:t in this._baseMap?{value:this._baseMap[t],tier:ts}:void 0}_classifyNCR(t){return 0===t?this._ncrNullLevel:t>=55296&&t<=57343||1===this._ncrXmlVersion&&t>=1&&t<=31&&!to.has(t)?ta.remove:-1}_applyNCRAction(t,e,i){switch(t){case ta.allow:return String.fromCodePoint(i);case ta.remove:return"";case ta.leave:return;case ta.throw:throw Error(`[EntityDecoder] Prohibited numeric character reference &${e}; (U+${i.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(i)}}_resolveNCR(t){let e,i=t.charCodeAt(1);if(Number.isNaN(e=120===i||88===i?parseInt(t.slice(2),16):parseInt(t.slice(1),10))||e<0||e>1114111)return;let r=this._classifyNCR(e);if(!this._numericAllowed&&r<ta.remove)return;let n=-1===r?this._ncrOnLevel:Math.max(this._ncrOnLevel,r);return this._applyNCRAction(n,t,e)}}let tp=[{id:"sql-block-comment-open",description:"SQL block comment open: /* ... */ — unusual in legitimate user text",pattern:/\/\*/},{id:"sql-union-select",description:"UNION SELECT — most common SQL injection aggregation attack",pattern:/\bUNION\s{1,20}(?:ALL\s{1,20})?SELECT\b/i},{id:"sql-drop-table",description:"DROP TABLE — destructive DDL injection",pattern:/\bDROP\s{1,20}TABLE\b/i},{id:"sql-drop-database",description:"DROP DATABASE — destructive DDL injection",pattern:/\bDROP\s{1,20}DATABASE\b/i},{id:"sql-insert-into",description:"INSERT INTO — data injection",pattern:/\bINSERT\s{1,20}INTO\b/i},{id:"sql-delete-from",description:"DELETE FROM — data deletion injection",pattern:/\bDELETE\s{1,20}FROM\b/i},{id:"sql-update-set",description:"UPDATE ... SET — data modification injection",pattern:/\bUPDATE\b[\s\S]{1,60}\bSET\b/i},{id:"sql-exec-xp",description:"EXEC xp_ — MSSQL extended stored procedure execution",pattern:/\bEXEC(?:UTE)?\s{1,20}xp_/i},{id:"sql-tautology-string",description:'Classic string tautology: \' OR \'1\'=\'1 or " OR "1"="1"',pattern:/'\s{0,10}OR\s{0,10}'[^']{0,20}'\s*=\s*'[^']{0,20}/i},{id:"sql-tautology-numeric",description:"Numeric tautology: OR 1=1",pattern:/\bOR\s{1,10}1\s*=\s*1\b/i},{id:"sql-always-true-zero",description:"Numeric tautology: OR 0=0",pattern:/\bOR\s{1,10}0\s*=\s*0\b/i},{id:"sql-sleep-benchmark",description:"Time-based blind injection: SLEEP() or BENCHMARK()",pattern:/\b(?:SLEEP|BENCHMARK)\s*\(/i},{id:"sql-waitfor-delay",description:"MSSQL time-based blind injection: WAITFOR DELAY",pattern:/\bWAITFOR\s{1,20}DELAY\b/i},{id:"sql-char-function",description:"CHAR() function — used to obfuscate injected strings",pattern:/\bCHAR\s*\(\s*\d{1,3}/i},{id:"sql-information-schema",description:"INFORMATION_SCHEMA — reconnaissance query for table/column enumeration",pattern:/\bINFORMATION_SCHEMA\b/i}],th=[...tp,{id:"sql-line-comment",description:"SQL line comment: -- followed by whitespace or end of string",pattern:/--(?:\s|$)/},{id:"sql-stacked-query",description:"Stacked queries: semicolon immediately followed by a SQL keyword",pattern:/;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i},{id:"sql-hex-encoding",description:"Hex-encoded string injection: 0x41414141 style (MySQL)",pattern:/\b0x[0-9a-f]{4,}/i}],td=[{id:"html-script-open",description:"<script opening tag",pattern:/<script[\s>/]/i},{id:"html-script-close",description:"<\/script closing tag",pattern:/<\/script[\s>]/i},{id:"html-javascript-protocol",description:"javascript: URI scheme (with optional whitespace/encoding)",pattern:/j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i},{id:"html-vbscript-protocol",description:"vbscript: URI scheme",pattern:/vbscript[\t\n\r ]*:/i},{id:"html-data-html",description:"data:text/html URI — can execute scripts in browsers",pattern:/data[\t\n\r ]*:[\t\n\r ]*text\/html/i},{id:"html-data-xhtml",description:"data:application/xhtml+xml URI",pattern:/data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i},{id:"html-data-svg",description:"data:image/svg+xml URI — can execute scripts",pattern:/data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i},{id:"html-inline-event-handler",description:"Inline event handler attributes: onclick=, onerror=, onload=, etc.",pattern:/\bon\w{1,30}\s*=/i},{id:"html-entity-obfuscated-script",description:"HTML-entity-encoded <script (e.g. &#x3C;script or &lt;script)",pattern:/(?:&#x0*3[Cc];?|&#0*60;?|&lt;
1)\s*script/i},{id:"html-entity-obfuscated-javascript",description:'HTML-entity-encoded javascript: (partial — catches common &#106; or &#x6a; for "j")',pattern:/(?:&#x0*6[Aa];?|&#0*106;?)\s*(?:&#x0*61;?|a)[\s\S]{0,80}script\s*:/i},{id:"html-style-expression",description:"CSS expression() — IE-era code execution in style attributes",pattern:/style[\s\S]{0,20}expression\s*\(/i},{id:"html-object-embed",description:"<object or <embed tags that can load active content",pattern:/<(?:object|embed)[\s>/]/i},{id:"html-base-tag",description:"<base href= — can hijack all relative URLs on a page",pattern:/<base[\s>]/i},{id:"html-meta-refresh",description:'<meta http-equiv="refresh" — can redirect users',pattern:/<meta[\s\S]{0,40}http-equiv[\s\S]{0,20}refresh/i},{id:"html-srcdoc",description:"srcdoc= attribute on iframes — embeds HTML that can run scripts",pattern:/srcdoc\s*=/i},{id:"html-iframe",description:"<iframe tag",pattern:/<iframe[\s>/]/i},{id:"html-form",description:"<form tag — can be used for phishing / credential harvesting injection",pattern:/<form[\s>/]/i}],tu=[{id:"xml-cdata-injection",description:"CDATA section injection: <![CDATA[ breaks out of text node context",pattern:/<!\[CDATA\[/i},{id:"xml-cdata-close",description:"CDATA close sequence: ]]> can terminate an enclosing CDATA section",pattern:/\]\]>/},{id:"xml-processing-instruction",description:"XML processing instruction: <?xml-stylesheet or <?php etc.",pattern:/<\?(?:xml[\- ]|php|asp)/i},{id:"xml-doctype-injection",description:"DOCTYPE declaration embedded in content — can define entities",pattern:/<!DOCTYPE(?:[\s[]|$)/i},{id:"xml-entity-system",description:"SYSTEM keyword — used in external entity declarations (XXE)",pattern:/\bSYSTEM\s+["']/i},{id:"xml-entity-public",description:"PUBLIC keyword — used in external entity declarations (XXE)",pattern:/\bPUBLIC\s+["']/i},{id:"xml-entity-declaration",description:"<!ENTITY declaration — defines entities, potential XXE or entity expansion",pattern:/<!ENTITY[\s%]/i},{id:"xml-billion-laughs",description:"Entity reference chaining / billion laughs: repeated &eX; style references",pattern:/(?:&\w{1,20};){3,}/},{id:"xml-namespace-confusion",description:"xmlns: attribute injection — can redefine namespaces to confuse parsers",pattern:/\bxmlns(?::\w{1,40})?\s*=/i},{id:"xml-comment-injection",description:"\x3c!-- comment injection — can hide content from some parsers",pattern:/<!--/},{id:"xml-comment-close",description:"--\x3e closes an enclosing XML comment",pattern:/-->/},{id:"xml-pi-close",description:"?> closes an enclosing processing instruction",pattern:/\?>/}],tc
vendor: 2,121 bytes, line 1
1=[{id:"svg-script-element",description:"<script element inside SVG executes JavaScript",pattern:/<script[\s>/]/i},{id:"svg-xlink-href-javascript",description:"xlink:href with javascript: — classic SVG XSS via <a> or <use>",pattern:/xlink\s*:\s*href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-href-javascript",description:"href= with javascript: in SVG context (<a>, <animate>, etc.)",pattern:/href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-foreignobject",description:"<foreignObject embeds HTML inside SVG — can execute scripts",pattern:/<foreignObject[\s>/]/i},{id:"svg-use-external",description:"<use xlink:href or href pointing to external resource (non-fragment URL)",pattern:/<use[\s\S]{0,60}(?:xlink\s*:\s*)?href\s*=\s*(?:["'][^#]|[^"'#\s>])/i},{id:"svg-animate-href",description:'<animate attributeName="href" — can dynamically change href to javascript:',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*href["']/i},{id:"svg-animate-xlinkhref",description:'<animate attributeName="xlink:href"',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*xlink\s*:\s*href["']/i},{id:"svg-set-javascript",description:'<set to="javascript:..." — sets an attribute to a javascript: URI',pattern:/<set[\s\S]{0,80}to\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-event-handler",description:"SVG-specific event handler attributes: onload=, onerror=, onactivate=, etc.",pattern:/\bon(?:load|error|activate|begin|end|repeat|focus|blur|click|mouse\w{1,20}|key\w{1,20})\s*=/i},{id:"svg-handler-generic",description:"Generic on* handler catch-all for SVG attributes",pattern:/\bon\w{1,30}\s*=/i},{id:"svg-filter-feimage",description:"<feImage href= — filter primitive that can load external resources",pattern:/<feImage[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=/i},{id:"svg-image-external",description:"<image xlink:href with http/https or javascript protocol",pattern:/<image[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=\s*["']?\s*(?:https?|javascript)\s*:/i},{id:"svg-style-javascript",description:"style= attribute containing javascript: (e.g. background:url(javascript:...))",pattern:/style\s*=[\s\S]{0,60}javascript\s*:/i}],
1tf=[{id:"shell-path-traversal-unix",description:"Unix path traversal: ../  — climbing the directory tree",pattern:/\.\.\//},{id:"shell-path-traversal-windows",description:"Windows path traversal: ..\\ — climbing the directory tree",pattern:/\.\.\\/},{id:"shell-path-traversal-encoded",description:"URL-encoded path traversal: %2e%2e or %2f variants",pattern:/%2e%2e|%2f\.\.|\.\.%2f/i},{id:"shell-null-byte",description:"Null byte injection: \\x00 or %00 — truncates strings in C-backed functions",pattern:/\x00|%00/},{id:"shell-semicolon",description:"Semicolon command separator: cmd1; cmd2",pattern:/;/},{id:"shell-pipe",description:"Pipe operator: cmd1 | cmd2",pattern:/\|/},{id:"shell-and-operator",description:"AND operator: cmd1 && cmd2",pattern:/&&/},{id:"shell-or-operator",description:"OR operator: cmd1 || cmd2",pattern:/\|\|/},{id:"shell-backtick",description:"Backtick command substitution: `cmd`",pattern:/`/},{id:"shell-dollar-paren",description:"Dollar-paren command substitution: $(cmd)",pattern:/\$\(/},{id:"shell-dollar-brace",description:"Dollar-brace variable expansion: ${var} — can be abused for injection",pattern:/\$\{/},{id:"shell-redirect-out",description:"Output redirection: cmd > file or cmd >> file",pattern:/>{1,2}/}
1,{id:"shell-redirect-in",description:"Input redirection: cmd < file",pattern:/</},{id:"shell-newline-injection",description:"Newline injection: \\n or \\r — can inject new shell commands",pattern:/[\n\r]/},{id:"shell-glob-star",description:"Glob expansion: * or ? — can expand to unintended files",pattern:/[/\\][*?]/},{id:"shell-absolute-root",description:"Absolute root path injection: string starting with / or \\ (Windows UNC)",pattern:/^(?:\/|\\\\)/},{id:"shell-windows-drive",description:"Windows drive letter path injection: C:\\ or D:/",pattern:/^[a-zA-Z]:[/\\]/},{id:"shell-curl-wget",description:"curl/wget with URL or flags — can exfiltrate data or download payloads",pattern:/\b(?:curl|wget)\s+(?:https?:\/\/|ftp:\/\/|-)/i}],tg=[{id:"redos-nested-quantifier-plus",description:"Nested + quantifier inside a group with outer quantifier: (a+)+, (.+b)*, etc.",pattern:/\([^)]*\+[^)]*\)[+*]/},{id:"redos-nested-quantifier-star",description:"Nested * quantifier: (a*)* or (a*)+ — catastrophic backtracking",pattern:/\([^)]*\*[^)]*\)[*+]/},{id:"redos-nested-groups",description:"Doubly nested quantified groups: ((a+)+) — guaranteed catastrophic",pattern:/\(\([^)]{0,40}\)[+*]\)[+*]/},{id:"redos-alternation-overlap",description:"Overlapping alternation under quantifier: (a|a)+ — ambiguous NFA paths",pattern:/\(([^|()]{1,20})\|(?:\1)(?:\|[^|()]{1,20}){0,5}\)[+*?]{1,2}/},{id:"redos-star-plus-concat",description:"(x*x)+ pattern — triggers super-linear backtracking",pattern:/\([^)]{0,10}\*[^)]{0,10}\)[+*]/},{id:"redos-dot-star-greedy",description:"(.*){n,} or (.+){n,} — repeated greedy dot quantifiers",pattern:/\(\.[*+]\)\{?\d/},{id:"redos-large-repetition",description:"Very large fixed or range repetition count {1000,} or {1000,n} — denial of service via backtracking",pattern:/\{\d{4,}(?:,\d*)?\}/},{id:"redos-catastrophic-alternation",description:"Long alternation with many similar branches — polynomial backtracking risk",pattern:/\([^)]{0,200}(?:\|[^|)]{0,50}){9,}\)/}],tm="[\"'\\s]*:",tx=[{id:"nosql-where-operator",description:"$where — executes arbitrary JavaScript server-side in MongoDB",pattern:RegExp(`\\$where${tm}`,"i")},{id:"nosql-ne-operator",description:'$ne — "not equal" operator used to bypass equality checks',pattern:RegExp(`\\$ne${tm}`,"i")},{id:"nosql-gt-operator",description:'$gt — "greater than" used to bypass password/value checks',pattern:RegExp(`\\$gte?${tm}`,"i")},{id:"nosql-lt-operator",description:'$lt / $lte — "less than" bypass variants',pattern:RegExp(`\\$lte?${tm}`,"i")},{id:"nosql-regex-operator",description:"$regex — can be used to extract data character by character (blind injection)",pattern:RegExp(`\\$regex${tm}`,"i")},{id:"nosql-or-operator",description:"$or — logical OR; used to create always-true conditions",pattern:RegExp(`\\$or${tm}\\s*\\[`,"i")},{id:"nosql-and-operator",description:"$and — logical AND operator injection",pattern:RegExp(`\\$and${tm}\\s*\\[`,"i")},{id:"nosql-nor-operator",description:"$nor — logical NOR operator injection",pattern:RegExp(`\\$nor${tm}\\s*\\[`,"i")},{id:"nosql-exists-operator",description:"$exists — can enumerate fields to determine schema",pattern:RegExp(`\\$exists${tm}`,"i")},{id:"nosql-in-operator",description:"$in — matches any value in a list; can enumerate values",pattern:RegExp(`\\$in${tm}\\s*\\[`,"i")},{id:"nosql-expr-operator",description:"$expr — allows aggregation expressions in queries (MongoDB 3.6+)",pattern:RegExp(`\\$expr${tm}`,"i")},{id:"nosql-function-operator",description:"$function — executes arbitrary JavaScript in MongoDB 4.4+",pattern:RegExp(`\\$function${tm}`,"i")},{id:"nosql-accumulator-operator",description:"$accumulator — custom aggregation with arbitrary JS execution",pattern:RegExp(`\\$accumulator${tm}`,"i")},{id:"nosql-proto-pollution",description:"__proto__ — prototype pollution via object key injection",pattern:/__proto__/},{id:"nosql-constructor-prototype",description:"constructor.prototype — alternative prototype pollution vector (dot notation or JSON key)",pattern:/constructor[\s"':.,{\[]*prototype/i},{id:"nosql-proto-bracket",description:'["__proto__"] — bracket-notation prototype pollution',pattern:/\[["']__proto__["']\]/}],tb=[{id:"log-crlf-injection",description:"CRLF injection: literal \\r or \\n embeds fake log lines",pattern:/[\r\n]/},{id:"log-url-encoded-crlf",description:"URL-encoded CRLF: %0d, %0a, %0D, %0A — decoded by some log parsers",pattern:/%0[dDaA]/},{id:"log-unicode-newline",description:"Unicode newline variants: U+2028 (line separator), U+2029 (paragraph separator)",pattern:/[\u2028\u2029]/},{id:"log-log4shell-jndi",description:"Log4Shell: ${jndi:...} triggers remote code execution in Apache Log4j",pattern:/\$\{jndi\s*:/i},{id:"log-log4shell-obfuscated",description:"Obfuscated Log4Shell: ${::-j}... lookup-bypass prefix used to evade WAF detection",pattern:/\$\{::-/},{id:"log-log4j-lookup",description:"Log4j lookup syntax: ${env:...}, ${sys:...}, ${ctx:...} — data exfiltration",pattern:/\$\{(?:env|sys|ctx|main|map|sd|web|docker|k8s|spring)\s*:/i},{id:"log-ssti-double-brace",description:"SSTI double-brace: {{expression}} — Jinja2, Twig, Handlebars, etc.",pattern:/\{\{[\s\S]{0,80}\}\}/},{id:"log-ssti-hash-brace",description:"SSTI hash-brace: #{expression} — Thymeleaf, Velocity, Ruby ERB",pattern:/#\{[\s\S]{0,80}\}/},{id:"log-ssti-dollar-brace",description:"SSTI/EL injection: ${expression with operators or method calls} — JSP EL, Freemarker, SpEL",pattern:/\$\{[^}]*(?:\.|\(|\*|\+|\bclass\b|\bruntime\b|\bprocess\b|\bexec\b)[^}]{0,80}\}/i},{id:"log-ssti-percent-tag",description:"SSTI ERB/ASP tag: <%= expression %> — Ruby ERB, ASP",pattern:/<%=[\s\S]{0,80}%>/},{id:"log-null-byte",description:"Null byte: \\x00 or %00 — can truncate log entries in C-backed loggers",pattern:/\x00|%00/},{id:"log-ansi-escape",description:"ANSI escape sequence: ESC[ — can manipulate terminal output when logs are tailed",pattern:/\x1b\[/}];td.label="HTML",tu.label="XML",tc.label="SVG",tp.label="SQL",th.label="SQL-STRICT",tf.label="SHELL",tg.label="REDOS",tx.label="NOSQL",tb.label="LOG",Object.freeze({HTML:td,XML:tu,SVG:tc,SQL:tp,"SQL-STRICT":th,SHELL:tf,REDOS:tg,NOSQL:tx,LOG:tb});class ty{constructor(t,e){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=tS,this.parseTextData=tN,this.resolveNameSpace=tE,this.buildAttributesMap=tA,this.isItStopNode=tC,this.replaceEntitiesValue=tw,this.readStopNodeData=tO,this.saveTextToParentTag=t_,this.addChild=tT,this.ignoreAttributesFn=function(t){return"function"==typeof t?t:Array.isArray(t)?e=>{for(let i of t)if("string"==typeof i&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let i={...Z};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:("object"==typeof this.options.htmlEntities?i=this.options.htmlEntities:!0===this.options.htmlEntities&&(i={...K,...J}),this.entityDecoder=new tl({namedEntities:{...i,...e},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo},onInputEntity:(t,e)=>!function(t,e){if("string"!=typeof t)throw TypeError(`is-unsafe: first argument must be a string, got ${typeof t}`);!function(t){if(!(t instanceof RegExp)){if(Array.isArray(t)){if(0===t.length)throw TypeError("is-unsafe: context must not be an empty array");if(Array.isArray(t[0])){for(let e of t)if(!Array.isArray(e)||0===e.length)throw TypeError("is-unsafe: each context in the array must be a non-empty pattern array (PatternList)")}return}throw TypeError(`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof t}`)}}(e);let{lists:i,regex:r}=e instanceof RegExp?{lists:null,regex:e}:Array.isArray(e[0])?{lists:e,regex:null}:{lists:[e],regex:null};if(r)return r.test(t);for(let e of i)if(null!==function(t,e){let i=e.label??"CUSTOM";for(let r of e)if(r.pattern.test(t))return{context:i,id:r.id,description:r.description,pattern:r.pattern};return null}(t,e))return!0;return!1}(e,[td,tu])?tt.ALLOW:tt.BLOCK})),this.matcher=new Y,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new Q;const r=this.options.stopNodes;if(r&&r.length>0){for(let t=0;t<r.length;t++){const e=r[t];"string"==typeof e?this.stopNodeExpressionsSet.add(new H(e)):e instanceof H&&this.stopNodeExpressionsSet.add(e)}this.stopNodeExpressionsSet.seal()}}}function tN(t,e,i,r,n,s,a){let o=this.options;if(void 0!==t&&(o.trimValues&&!r&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t,e,i));let r=o.jPath?i.toString():i,l=o.tagValueProcessor(e,t,r,n,s);return null==l?t:typeof l!=typeof t||l!==t?l:o.trimValues||t.trim()===t?tj(t,o.parseTagValue,o.numberParseOptions):t}}function tE(t){if(this.options.removeNSPrefix){let e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}let tv=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function tA(t,e,i,r=!1){let n=this.options;if(!0===r||!0!==n.ignoreAttributes&&"string"==typeof t){let r=function(t,e){let i=[],r=e.exec(t);for(;r;){let n=[];n.startIndex=e.lastIndex-r[0].length;let s=r.length;for(let t=0;t<s;t++)n.push(r[t]);i.push(n),r=e.exec(t)}return i}(t,tv),s=r.length,a={},o=Array(s),l=!1,p={};for(let t=0;t<s;t++){let e=this.resolveNameSpace(r[t][1]),s=r[t][4];if(e.length&&void 0!==s){let r=s;n.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r,i,this.readonlyMatcher),o[t]=r,p[e]=r,l=!0}}l&&"object"==typeof e&&e.updateCurrent&&e.updateCurrent(p);let h=n.jPath?e.toString():this.readonlyMatcher,d=!1;for(let t=0;t<s;t++){let e=this.resolveNameSpace(r[t][1]);if(this.ignoreAttributesFn(e,h))continue;let i=n.attributeNamePrefix+e;if(e.length)if(n.transformAttributeName&&(i=n.transformAttributeName(i)),i=tk(i,n),void 0!==r[t][4]){let r=o[t],s=n.attributeValueProcessor(e,r,h);null==s?a[i]=r:typeof s!=typeof r||s!==r?a[i]=s:a[i]=tj(r,n.parseAttributeValue,n.numberParseOptions),d=!0}else n.allowBooleanAttributes&&(a[i]=!0,d=!0)}if(!d)return;if(n.attributesGroupName&&!n.preserveOrder){let t={};return t[n.attributesGroupName]=a,t}return a}}let tS=function(t){t=t.replace(/\r\n?/g,"\n");let e=new N("!xml"),i=e,r="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let n=this.options,s=new j(n.processEntities),a=t.length;for(let o=0;o<a;o++)if("<"===t[o]){let l=t.charCodeAt(o+1);if(47===l){let s=t$(t,">",o,"Closing Tag is not closed."),a=t.substring(o+2,s).trim();if(n.removeNSPrefix){let t=a.indexOf(":");-1!==t&&(a=a.substr(t+1))}a=tI(n.transformTagName,a,"",n).tagName,i&&(r=this.saveTextToParentTag(r,i,this.readonlyMatcher));let l=this.matcher.getCurrentTag();if(a&&n.unpairedTagsSet.has(a))throw Error(`Unpaired tag can not be used as closing tag: </${a}>`);l&&n.unpairedTagsSet.has(l)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=this.tagsNodeStack.pop()||e,n.captureMetaData&&i&&i.addEnd
1Index(s+1),r="",o=s}else if(63===l){let e=tP(t,o,!1,"?>");if(!e)throw Error("Pi Tag is not closed.");r=this.saveTextToParentTag(r,i,this.readonlyMatcher);let a=this.buildAttributesMap(e.tagExp,this.matcher,e.tagName,!0);if(a){let t=a[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(t)||1),s.setXmlVersion(Number(t)||1)}if(n.ignoreDeclaration&&"?xml"===e.tagName||n.ignorePiTags);else{let t=new N(e.tagName);t.add(n.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&!0!==n.ignoreAttributes&&(t[":@"]=a),this.addChild(i,t,this.readonlyMatcher,o),n.captureMetaData&&i.addEndIndex(e.closeIndex+2)}o=e.closeIndex+1}else if(33===l&&45===t.charCodeAt(o+2)&&45===t.charCodeAt(o+3)){let e=t$(t,"--\x3e",o+4,"Comment is not closed.");if(n.commentPropName){let s=t.substring(o+4,e-2);r=this.saveTextToParentTag(r,i,this.readonlyMatcher),i.add(n.commentPropName,[{[n.textNodeName]:s}])}o=e}else if(33===l&&68===t.charCodeAt(o+2)){if(this.doctypefound)throw Error("Multiple DOCTYPE declarations found.");this.doctypefound=!0;let e=s.readDocType(t,o);this.entityDecoder.addInputEntities(e.entities),o=e.i}else if(33===l&&91===t.charCodeAt(o+2)){let e=t$(t,"]]>",o,"CDATA is not closed.")-2,s=t.substring(o+9,e);r=this.saveTextToParentTag(r,i,this.readonlyMatcher);let a=this.parseTextData(s,i.tagname,this.readonlyMatcher,!0,!1,!0,!0);void 0==a&&(a=""),n.cdataPropName?i.add(n.cdataPropName,[{[n.textNodeName]:s}]):i.add(n.textNodeName,a),o=e+2}else{let s,l=tP(t,o,n.removeNSPrefix);if(!l){let e=t.substring(Math.max(0,o-50),Math.min(a,o+50));throw Error(`readTagExp returned undefined at position ${o}. Context: "${e}"`)}let p=l.tagName,h=l.rawTagName,d=l.tagExp,u=l.attrExpPresent,c=l.closeIndex;if({tagName:p,tagExp:d}=tI(n.transformTagName,p,d,n),n.strictReservedNames&&(p===n.commentPropName||p===n.cdataPropName||p===n.textNodeName||p===n.attributesGroupName))throw Error(`Invalid tag name: ${p}`);i&&r&&"!xml"!==i.tagname&&(r=this.saveTextToParentTag(r,i,this.readonlyMatcher,!1));let f=i;f&&n.unpairedTagsSet.has(f.tagname)&&(i=this.tagsNodeStack.pop(),this.matcher.pop());let g=!1;d.length>0&&d.lastIndexOf("/")===d.length-1&&(g=!0,d="/"===p[p.length-1]?p=p.substr(0,p.length-1):d.substr(0,d.length-1),u=p!==d);let m=null;s=function(t){if(!t||"string"!=typeof t)return;let e=t.indexOf(":");if(-1!==e&&e>0){let i=t.substring(0,e);if("xmlns"!==i)return i}}(h),p!==e.tagname&&this.matcher.push(p,{},s),p!==d&&u&&(m=this.buildAttributesMap(d,this.matcher,p))&&function(t,e){if(!t)return;let i=e.attributesGroupName?t[e.attributesGroupName]:t;if(!i)return;let r={};for(let t in i)t.startsWith(e.attributeNamePrefix)?r[t.substring(e.attributeNamePrefix.length)]=i[t]:r[t]=i[t]}(m,n),p!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let x=o;if(this.isCurrentNodeStopNode){let e="";if(g)o=l.closeIndex;else if(n.unpairedTagsSet.has(p))o=l.closeIndex;else{let i=this.readStopNodeData(t,h,c+1);if(!i)throw Error(`Unexpected end of ${h}`);o=i.i,e=i.tagContent}let r=new N(p);m&&(r[":@"]=m),r.add(n.textNodeName,e),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(i,r,this.readonlyMatcher,x),n.captureMetaData&&i.addEndIndex(o+1)}else{if(g){({tagName:p,tagExp:d}=tI(n.transformTagName,p,d,n));let t=new N(p);m&&(t[":@"]=m),this.addChild(i,t,this.readonlyMatcher,x),n.captureMetaData&&i.addEndIndex(c+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(n.unpairedTagsSet.has(p)){let t=new N(p);m&&(t[":@"]=m),this.addChild(i,t,this.readonlyMatcher,x),n.captureMetaData&&i.addEndIndex(l.closeIndex+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1,o=l.closeIndex;continue}else{let t=new N(p);if(this.tagsNodeStack.length>n.maxNestedTags)throw Error("Maximum nested tags exceeded");this.tagsNodeStack.push(i),m&&(t[":@"]=m),this.addChild(i,t,this.readonlyMatcher,x),i=t}r="",o=c}}}else r+=t[o];return e.child};function tT(t,e,i,r){this.options.captureMetaData||(r=void 0);let n=this.options.jPath?i.toString():i,s=this.options.updateTag(e.tagname,n,e[":@"]);!1===s||("string"==typeof s&&(e.tagname=s),t.addChild(e,r))}function tw(t,e,i){let r=this.options.processEntities;if(!r||!r.enabled)return t;if(r.allowedTags){let n=this.options.jPath?i.toString():i;if(!(Array.isArray(r.allowedTags)?r.allowedTags.includes(e):r.allowedTags(e,n)))return t}if(r.tagFilter){let n=this.options.jPath?i.toString():i;if(!r.tagFilter(e,n))return t}return this.entityDecoder.decode(t)}function t_(t,e,i,r){return t&&(void 0===r&&(r=0===e.child.length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,r))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function tC(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function t$(t,e,i,r){let n=t.indexOf(e,i);if(-1!==n)return n+e.length-1;throw Error(r)}function tP(t,e,i,r=">
1"){let n=function(t,e,i=">"){let r=0,n=t.length,s=i.charCodeAt(0),a=i.length>1?i.charCodeAt(1):-1,o="",l=e;for(let i=e;i<n;i++){let e=t.charCodeAt(i);if(r)e===r&&(r=0);else if(34===e||39===e)r=e;else if(e===s){if(-1===a)return{data:o+=t.substring(l,i),index:i};else if(t.charCodeAt(i+1)===a)return{data:o+=t.substring(l,i),index:i}}else 9!==e||r||(o+=t.substring(l,i)+" ",l=i+1)}}(t,e+1,r);if(!n)return;let s=n.data,a=n.index,o=s.search(/\s/),l=s,p=!0;-1!==o&&(l=s.substring(0,o),s=s.substring(o+1).trimStart());let h=l;if(i){let t=l.indexOf(":");-1!==t&&(p=(l=l.substr(t+1))!==n.data.substr(t+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:p,rawTagName:h}}function tO(t,e,i){let r=i,n=1,s=t.length;for(;i<s;i++)if("<"===t[i]){let s=t.charCodeAt(i+1);if(47===s){let s=function(t,e,i){let r=t.indexOf(">",e);if(-1===r)throw Error(i);return r}(t,i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&0==--n)return{tagContent:t.substring(r,i),i:s};i=s}else if(63===s)i=t$(t,"?>",i+1,"StopNode is not closed.");else if(33===s&&45===t.charCodeAt(i+2)&&45===t.charCodeAt(i+3))i=t$(t,"--\x3e",i+3,"StopNode is not closed.");else if(33===s&&91===t.charCodeAt(i+2))i=t$(t,"]]>",i,"StopNode is not closed.")-2;else{let r=tP(t,i,!1);r&&((r&&r.tagName)===e&&"/"!==r.tagExp[r.tagExp.length-1]&&n++,i=r.closeIndex)}}}function tj(t,e,i){if(e&&"string"==typeof t){let e=t.trim();return"true"===e||"false"!==e&&function(t,e={}){if(e=Object.assign({},G,e),!t||"string"!=typeof t)return t;let i=t.trim();if(0===i.length||void 0!==e.skipLike&&e.skipLike.test(i))return t;if("0"===i||e.unicode&&"0"===(i=V(i)))return 0;if(e.hex&&q.test(i))return X(i,16);{if(e.binary&&F.test(i))return X(i,2);if(e.octal&&U.test(i))return X(i,8);if(!isFinite(i)){var r=t,n=Number(i),s=e;switch(s.infinity.toLowerCase()){case"null":return null;case"infinity":return n;case"string":return n===1/0?"Infinity":"-Infinity";default:return r}}if(i.includes("e")||i.includes("E"))return function(t,e,i){if(!i.eNotation)return t;let r=e.match(W);if(!r)return t;{let n=r[1]||"",s=-1===r[3].indexOf("e")?"E":"e",a=r[2],o=n?t[a.length+1]===s:t[a.length]===s;if(a.length>1&&o)return t;if(1===a.length&&(r[3].startsWith(`.${s}`)||r[3][0]===s))return Number(e);if(!(a.length>0))return Number(e);else if(i.leadingZeros&&!o)return Number(e=(r[1]||"")+r[3]);else return t}}(t,i,e);let a=B.exec(i);if(!a)return t;{let r=a[1]||"",n=a[2],s=function(t){if(t&&-1!==t.indexOf(".")){let e=t.length;for(;e>0&&48===t.charCodeAt(e-1);)e--;"."===(t=t.slice(0,e))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substring(0,t.length-1))}return t}(a[3]),o=r?"."===t[n.length+1]:"."===t[n.length];if(!e.leadingZeros&&(n.length>1||1===n.length&&!o))return t;{let a=Number(i),o=String(a);if(0===a)return a;if(-1!==o.search(/[eE]/))if(e.eNotation)return a;else return t;if(-1!==i.indexOf("."))if("0"===o)return a;else if(o===s)return a;else if(o===`${r}${s}`)return a;else return t;let l=n?s:i;return n?l===o||r+l===o?a:t:l===o||l===r+o?a:t}}}}(t,i)}return void 0!==t?t:""}function tI(t,e,i,r){if(t){let r=t(e);i===e&&(i=r),e=r}return{tagName:e=tk(e,r),tagExp:i}}function tk(t,e){if(l.includes(t))throw Error(`[SECURITY] Invalid name: "${t}" is a reserved JavaScript keyword that could cause prototype pollution`);return o.includes(t)?e.onDangerousProperty(t):t}let tL=N.getMetaDataSymbol();class tD{constructor(t){this.externalEntities={},this.options=y(t)}parse(t,e){var i;if("string"!=typeof t&&t.toString)t=t.toString();else if("string"!=typeof t)throw Error("XML data is accepted in String or Bytes[] form.");if(e){!0===e&&(e={});let i=function(t,e){e=Object.assign({},p,e);let i=[],r=!1,n=!1;"\uFEFF"===t[0]&&(t=t.substr(1));for(let s=0;s<t.length;s++)if("<"===t[s]&&"?"===t[s+1]){if(s+=2,(s=d(t,s)).err)return s}else if("<"===t[s]){let o=s;if("!"===t[++s]){s=u(t,s);continue}{let l=!1;"/"===t[s]&&(l=!0,s++);let p="";for(;s<t.length&&">"!==t[s]&&" "!==t[s]&&"	"!==t[s]&&"\n"!==t[s]&&"\r"!==t[s];s++)p+=t[s];if("/"===(p=p.trim())[p.length-1]&&(p=p.substring(0,p.length-1),s--),!a(p))return f("InvalidTag",0===p.trim().length?"Invalid space after '<'.":"Tag '"+p+"' is an invali
1d name.",g(t,s));let m=function(t,e){let i="",r="",n=!1;for(;e<t.length;e++){if('"'===t[e]||"'"===t[e])""===r?r=t[e]:r!==t[e]||(r="");else if(">"===t[e]&&""===r){n=!0;break}i+=t[e]}return""===r&&{value:i,index:e,tagClosed:n}}(t,s);if(!1===m)return f("InvalidAttr","Attributes for '"+p+"' have open quote.",g(t,s));let x=m.value;if(s=m.index,"/"===x[x.length-1]){let i=s-x.length,n=c(x=x.substring(0,x.length-1),e);if(!0!==n)return f(n.err.code,n.err.msg,g(t,i+n.err.line));r=!0}else if(l)if(!m.tagClosed)return f("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",g(t,s));else{if(x.trim().length>0)return f("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",g(t,o));if(0===i.length)return f("InvalidTag","Closing tag '"+p+"' has not been opened.",g(t,o));let e=i.pop();if(p!==e.tagName){let i=g(t,e.tagStartPos);return f("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+p+"'.",g(t,o))}0==i.length&&(n=!0)}else{let a=c(x,e);if(!0!==a)return f(a.err.code,a.err.msg,g(t,s-x.length+a.err.line));if(!0===n)return f("InvalidXml","Multiple possible root nodes found.",g(t,s));-1!==e.unpairedTags.indexOf(p)||i.push({tagName:p,tagStartPos:o}),r=!0}for(s++;s<t.length;s++)if("<"===t[s])if("!"===t[s+1]){s=u(t,++s);continue}else if("?"===t[s+1]){if((s=d(t,++s)).err)return s}else break;else if("&"===t[s]){let e=function(t,e){if(";"===t[++e])return -1;if("#"===t[e]){var i=++e;let r=/\d/;for("x"===t[i]&&(i++,r=/[\da-fA-F]/);i<t.length;i++){if(";"===t[i])return i;if(!t[i].match(r))break}return -1}let r=0;for(;e<t.length;e++,r++)if(!t[e].match(/\w/)||!(r<20)){if(";"===t[e])break;return -1}return e}(t,s);if(-1==e)return f("InvalidChar","char '&' is not expected.",g(t,s));s=e}else if(!0===n&&!h(t[s]))return f("InvalidXml","Extra text at the end",g(t,s));"<"===t[s]&&s--}}else{if(h(t[s]))continue;return f("InvalidChar","char '"+t[s]+"' is not expected.",g(t,s))}return r?1==i.length?f("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",g(t,i[0].tagStartPos)):!(i.length>0)||f("InvalidXml","Invalid '"+JSON.stringify(i.map(t=>t.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):f("InvalidXml","Start tag expected.",1)}(t,e);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let r=new ty(this.options,this.externalEntities),n=r.parseXml(t);return this.options.preserveOrder||void 0===n?n:(i=this.options,function t(e,i,r,n){let s,a={};for(let o=0;o<e.length;o++){let l=e[o],p=function(t){let e=Object.keys(t);for(let t=0;t<e.length;t++){let i=e[t];if(":@"!==i)return i}}(l);if(void 0!==p&&p!==i.textNodeName){let t=function(t,e){if(!t||"object"!=typeof t)return{};if(!e)return t;let i={};for(let r in t)r.startsWith(e)?i[r.substring(e.length)]=t[r]:i[r]=t[r];return i}(l[":@"]||{},i.attributeNamePrefix);r.push(p,t)}if(p===i.textNodeName)void 0===s?s=l[p]:s+=""+l[p];else if(void 0===p)continue;else if(l[p]){let e=t(l[p],i,r,n),s=function(t,e){let{textNodeName:i}=e,r=Object.keys(t).length;return 0===r||1===r&&(!!t[i]||"boolean"==typeof t[i]||0===t[i])}(e,i);if(0===Object.keys(e).length&&i.alwaysCreateTextNode&&(e[i.textNodeName]=""),l[":@"]?function(t,e,i,r){if(e){let n=Object.keys(e),s=n.length;for(let a=0;a<s;a++){let s=n[a],o=s.startsWith(r.attributeNamePrefix)?s.substring(r.attributeNamePrefix.length):s,l=r.jPath?i.toString()+"."+o:i;r.isArray(s,l,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}(e,l[":@"],n,i):1!==Object.keys(e).length||void 0===e[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(e).length&&(i.alwaysCreateTextNode?e[i.textNodeName]="":e=""):e=e[i.textNodeName],void 0!==l[tL]&&"object"==typeof e&&null!==e&&(e[tL]=l[tL]),void 0!==a[p]&&Object.prototype.hasOwnProperty.call(a,p))Array.isArray(a[p])||(a[p]=[a[p]]),a[p].push(e);else{let t=i.jPath?n.toString():n;i.isArray(p,t,s)?a[p]=[e]:a[p]=e}void 0!==p&&p!==i.textNodeName&&r.pop()}}return"string"==typeof s?s.length>0&&(a[i.textNodeName]=s):void 0!==s&&(a[i.textNodeName]=s),a}(n,i,r.matcher,r.readonlyMatcher))}addEntity(t,e){if(-1!==e.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===e)throw Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}static getMetaDataSymbol(){return N.getMetaDataSymbol()}}function tM(t){return"number"==typeof t&&Object.is(t,-0)?"-0":String(t)}function tR(t){return tM(t).replace(/--/g,"- -").replace(/--/g,"- -").replace(/-$/,"- ")}function tV(t){return tM(t).replace(/\]\]>/g,"]]]]><![CDATA[>")}function tq(t){return tM(t).replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function tF(t,e,i,r,n){return!i.sanitizeName||n(t)?t:i.sanitizeName(t,{isAttribute:e,matcher:r.readOnly()})}function tU(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let r=e[i];if(Object.prototype.hasOwnProperty.call(t,r)&&":@"!==r)return r}}function tB(t,e,i,r,n){let s="";if(t&&!e.ignoreAttributes)for(let a in t){let o;if(!Object.prototype.hasOwnProperty.call(t,a))continue;let l=a.substr(e.attributeNamePrefix.length),p=i?l:tF(l,!0,e,r,n);!0===(o=i?t[a]:tG(o=e.attributeValueProcessor(a,t[a]),e))&&e.suppressBooleanAttributes?s+=` ${p}`:s+=` ${p}="${tq(o)}"`}return s}function tG(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){let r=e.entities[i];t=t.replace(r.regex,r.val)}return t}let tW={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:"  ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:RegExp("&","g"),val:"&amp;"},{regex:RegExp(">","g"),val:"&gt;"},{regex:RegExp("<","g"),val:"&lt;"},{regex:RegExp("'","g"),val:"&apos;"},{regex:RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function tX(t){if(this.options=Object.assign({},tW,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>"string"==typeof t&&t.startsWith("*.")?".."+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){let e=this.options.stopNodes[t];"string"==typeof e?this.stopNodeExpressions.push(new H(e)):e instanceof H&&this.stopNodeExpressions.push(e)}if(!0===this.options.ignoreAttributes||this.options.attributesGroupName)this.isAttribute=function(){return!1};else{var e;this.ignoreAttributesFn="function"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(let i of e)if("string"==typeof i&&t===i||i instanceof RegExp&&i.test(t))return!0}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tQ}this.processTextOrObjNode=tY,this.options.format?(this.indentate=tH,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function tz(t,e,i,r,n){return!i.sanitizeName||n(t)?t:i.sanitizeName(t,{isAttribute:e,matcher:r.readOnly()})}function tY(t,e,i,r,n){let s=this.extractAttributes(t);if(r.push(e,s),this.checkStopNode(r)){let n=this.buildRawContent(t),s=this.buildAttributesForStopNode(t);return r.pop(),this.buildObjectNode(n,e,s,i)}let a=this.j2x(t,i+1,r,n);
1return(r.pop(),"?"===e[0])?this.buildTextValNode("",e,a.attrStr,i,r):void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,a.attrStr,i,r):this.buildObjectNode(a.val,e,a.attrStr,i)}function tH(t){return this.options.indentBy.repeat(t)}function tQ(t){return!!t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName&&t.substr(this.attrPrefixLen)}tX.prototype.build=function(t){if(this.options.preserveOrder)return function(t,e){let i="";e.format&&(i="\n");let r=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){let i=e.stopNodes[t];"string"==typeof i?r.push(new H(i)):i instanceof H&&r.push(i)}let n=O("qName",{xmlVersion:function(t,e){if(!Array.isArray(t)||0===t.length)return"1.0";let i=t[0];if("?xml"===tU(i)){let t=i[":@"];if(t){let i=e.attributeNamePrefix+"version";if(t[i])return t[i]}}return"1.0"}(t,e)});return function t(e,i,r,n,s,a){let o="",l=!1;if(i.maxNestedTags&&n.getDepth()>i.maxNestedTags)throw Error("Maximum nested tags exceeded");if(!Array.isArray(e)){if(null!=e){let t=tM(e);return tG(t,i)}return""}for(let p=0;p<e.length;p++){let h,d=e[p],u=tU(d);if(void 0===u)continue;let c=u===i.textNodeName||u===i.cdataPropName||u===i.commentPropName||"?"===u[0]?u:tF(u,!1,i,n,a),f=function(t,e){if(!t||e.ignoreAttributes)return null;let i={},r=!1;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n.startsWith(e.attributeNamePrefix)?n.substr(e.attributeNamePrefix.length):n]=tq(t[n]),r=!0);return r?i:null}(d[":@"],i);n.push(c,f);let g=function(t,e){if(!e||0===e.length)return!1;for(let i=0;i<e.length;i++)if(t.matches(e[i]))return!0;return!1}(n,s);if(c===i.textNodeName){let t=d[u];g||(t=tG(t=i.tagValueProcessor(c,t),i)),t=tM(t),l&&(o+=r),o+=t,l=!1,n.pop();continue}if(c===i.cdataPropName){l&&(o+=r);let t=tV(d[u][0][i.textNodeName]);o+=`<![CDATA[${t}]]>`,l=!1,n.pop();continue}if(c===i.commentPropName){let t=tR(d[u][0][i.textNodeName]);o+=r+`<!--${t}-->`,l=!0,n.pop();continue}else if("?"===c[0]){let t=tB(d[":@"],i,g,n,a);o+=("?xml"===c?"":r)+`<${c}${t}?>`,l=!0,n.pop();continue}let m=r;""!==m&&(m+=i.indentBy);let x=tB(d[":@"],i,g,n,a),b=r+`<${c}${x}`;h=g?function t(e,i){if(!Array.isArray(e))return null!=e?tM(e):"";let r="";for(let n=0;n<e.length;n++){let s=e[n],a=tU(s);if(a===i.textNodeName)r+=tM(s[a]);else if(a===i.cdataPropName)r+=s[a][0][i.textNodeName];else if(a===i.commentPropName)r+=s[a][0][i.textNodeName];else if(a&&"?"===a[0])continue;else if(a){let e=function(t,e){let i="";if(t&&!e.ignoreAttributes)for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let n=t[r];!0===n&&e.suppressBooleanAttributes?i+=` ${r.substr(e.attributeNamePrefix.length)}`:i+=` ${r.substr(e.attributeNamePrefix.length)}="${tq(n)}"`}return i}(s[":@"],i),n=t(s[a],i);n&&0!==n.length?r+=`<${a}${e}>${n}</${a}>`:r+=`<${a}${e}/>`}}return r}(d[u],i):t(d[u],i,m,n,s,a),-1!==i.unpairedTags.indexOf(c)?i.suppressUnpairedNode?o+=b+">":o+=b+"/>":(!h||0===h.length)&&i.suppressEmptyNode?o+=b+"/>":h&&h.endsWith(">")?o+=b+`>${h}${r}</${c}>`:(o+=b+">",h&&""!==r&&(h.includes("/>")||h.includes("</"))?o+=r+i.indentBy+h+r:o+=h,o+=`</${c}>`),l=!0,n.pop()}return o}(t,e,i,new Y,r,n)}(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Y,i=O("qName",{xmlVersion:function(t,e){let i=t["?xml"];if(i&&"object"==typeof i){if(e.attributesGroupName&&i[e.attributesGroupName]){let t=i[e.attributesGroupName][e.attributeNamePrefix+"version"];if(t)return t}let t=i[e.attributeNamePrefix+"version"];if(t)return t}return"1.0"}(t,this.options)});return this.j2x(t,0,e,i).val}},tX.prototype.j2x=function(t,e,i,r){let n="",s="";if(this.options.maxNestedTags&&i.getDepth()>=this.options.maxNestedTags)throw Error("Maximum nested tags exceeded");let a=this.options.jPath?i.toString():i,o=this.checkStopNode(i);for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let p=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||"?"===l[0]?l:tz(l,!1,this.options,i,r);if(void 0===t[l])this.isAttribute(l)&&(s+="");else if(null===t[l])this.isAttribute(l)||p===this.options.cdataPropName||p===this.options.commentPropName?s+="":"?"===p[0]?s+=this.indentate(e)+"<"+p+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+p+"/"+this.tagEndChar;
1else if(t[l]instanceof Date)s+=this.buildTextValNode(t[l],p,"",e,i);else if("object"!=typeof t[l]){let h=this.isAttribute(l);if(h&&!this.ignoreAttributesFn(h,a)){let e=tz(h,!0,this.options,i,r);n+=this.buildAttrPairStr(e,tM(t[l]),o)}else if(!h)if(l===this.options.textNodeName){let e=this.options.tagValueProcessor(l,tM(t[l]));s+=this.replaceEntitiesValue(e)}else{i.push(p);let r=this.checkStopNode(i);if(i.pop(),r){let i=tM(t[l]);""===i?s+=this.indentate(e)+"<"+p+this.closeTag(p)+this.tagEndChar:s+=this.indentate(e)+"<"+p+">"+i+"</"+p+this.tagEndChar}else s+=this.buildTextValNode(t[l],p,"",e,i)}}else if(Array.isArray(t[l])){let n=t[l].length,a="",o="";for(let h=0;h<n;h++){let n=t[l][h];if(void 0===n);else if(null===n)"?"===p[0]?s+=this.indentate(e)+"<"+p+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+p+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){i.push(p);let t=this.j2x(n,e+1,i,r);i.pop(),a+=t.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else a+=this.processTextOrObjNode(n,p,e,i,r);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(p,n);a+=t=tM(t=this.replaceEntitiesValue(t))}else{i.push(p);let t=this.checkStopNode(i);if(i.pop(),t){let t=tM(n);""===t?a+=this.indentate(e)+"<"+p+this.closeTag(p)+this.tagEndChar:a+=this.indentate(e)+"<"+p+">"+t+"</"+p+this.tagEndChar}else a+=this.buildTextValNode(n,p,"",e,i)}}this.options.oneListGroup&&(a=this.buildObjectNode(a,p,o,e)),s+=a}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let e=Object.keys(t[l]),s=e.length;for(let a=0;a<s;a++){let s=tz(e[a],!0,this.options,i,r);n+=this.buildAttrPairStr(s,tM(t[l][e[a]]),o)}}else s+=this.processTextOrObjNode(t[l],p,e,i,r)}return{attrStr:n,val:s}},tX.prototype.buildAttrPairStr=function(t,e,i){return(i||(e=this.options.attributeValueProcessor(t,tM(e)),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&"true"===e)?" "+t:" "+t+'="'+tq(e)+'"'},tX.prototype.extractAttributes=function(t){if(!t||"object"!=typeof t)return null;let e={},i=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let r=t[this.options.attributesGroupName];for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=tq(r[t]),i=!0)}else for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let n=this.isAttribute(r);n&&(e[n]=tq(t[r]),i=!0)}return i?e:null},tX.prototype.buildRawContent=function(t){if("string"==typeof t)return t;if("object"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e="";for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||this.isAttribute(i)||this.options.attributesGroupName&&i===this.options.attributesGroupName)continue;let r=t[i];if(i===this.options.textNodeName)e+=r;else if(Array.isArray(r)){for(let t of r)if("string"==typeof t||"number"==typeof t)e+=`<${i}>${t}</${i}>`;else if("object"==typeof t&&null!==t){let r=this.buildRawContent(t),n=this.buildAttributesForStopNode(t);""===r?e+=`<${i}${n}/>`:e+=`<${i}${n}>${r}</${i}>`}}else if("object"==typeof r&&null!==r){let t=this.buildRawContent(r),n=this.buildAttributesForStopNode(r);""===t?e+=`<${i}${n}/>`:e+=`<${i}${n}>${t}</${i}>`}else e+=`<${i}>${r}</${i}>`}return e},tX.prototype.buildAttributesForStopNode=function(t){if(!t||"object"!=typeof t)return"";let e="";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let i=t[this.options.attributesGroupName];for(let t in i){if(!Object.prototype.hasOwnProperty.call(i,t))continue;let r=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,n=i[t];!0===n&&this.options.suppressBooleanAttributes?e+=" "+r:e+=" "+r+'="'+tq(n)+'"'}}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let r=this.isAttribute(i);if(r){let n=t[i];!0===n&&this.options.suppressBooleanAttributes?e+=" "+r:e+=" "+r+'="'+tq(n)+'"'}}return e}
1,tX.prototype.buildObjectNode=function(t,e,i,r){if(""===t)if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;else return this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;let n="</"+e+this.tagEndChar,s="";return("?"===e[0]&&(s="?",n=""),(i||""===i)&&-1===t.indexOf("<"))?this.indentate(r)+"<"+e+i+s+">"+t+n:!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(r)+`<!--${tR(t)}-->`+this.newLine:this.indentate(r)+"<"+e+i+s+this.tagEndChar+t+this.indentate(r)+n}},tX.prototype.closeTag=function(t){let e="";return -1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},tX.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},tX.prototype.buildTextValNode=function(t,e,i,r,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName){let e=tV(t);return this.indentate(r)+`<![CDATA[${e}]]>`+this.newLine}if(!1!==this.options.commentPropName&&e===this.options.commentPropName){let e=tR(t);return this.indentate(r)+`<!--${e}-->`+this.newLine}{if("?"===e[0])return this.indentate(r)+"<"+e+i+"?"+this.tagEndChar;let n=this.options.tagValueProcessor(e,t);return""===(n=tM(n=this.replaceEntitiesValue(n)))?this.indentate(r)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+i+">"+n+"</"+e+this.tagEndChar}},tX.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t};let tJ=tX}}]);
2//# sourceMappingURL=369.510952bf99808088.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.