@tradik/xslt-processor 1.0.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/README.md +110 -520
- package/bin/lib/decode.js +15 -0
- package/bin/lib/dom.js +177 -0
- package/bin/lib/loaders.js +127 -0
- package/bin/lib/options.js +131 -0
- package/bin/lib/output.js +114 -0
- package/bin/lib/paths.js +186 -0
- package/bin/lib/transform.js +206 -0
- package/bin/xslt.js +73 -168
- package/dist/xslt-processor.browser.js +9564 -1585
- package/dist/xslt-processor.browser.js.map +4 -4
- package/dist/xslt-processor.browser.min.js +13 -2
- package/dist/xslt-processor.browser.min.js.map +4 -4
- package/dist/xslt-processor.cjs +9572 -1586
- package/dist/xslt-processor.cjs.map +4 -4
- package/dist/xslt-processor.d.cts +658 -0
- package/dist/xslt-processor.d.ts +459 -12
- package/dist/xslt-processor.js +9546 -1582
- package/dist/xslt-processor.js.map +4 -4
- package/package.json +71 -20
- package/src/XSLTProcessor.js +494 -48
- package/src/async/abort.js +63 -0
- package/src/async/documentUris.js +128 -0
- package/src/async/loaders.js +134 -0
- package/src/async/preload.js +159 -0
- package/src/async/processor.js +206 -0
- package/src/async/stream.js +125 -0
- package/src/bridge/engine.js +221 -0
- package/src/bridge/loader.js +78 -0
- package/src/bridge/results.js +75 -0
- package/src/bridge/version.js +63 -0
- package/src/index.js +26 -8
- package/src/io/decode.js +140 -0
- package/src/io/readSource.js +167 -0
- package/src/xpath/axes.js +562 -0
- package/src/xpath/documentOrder.js +270 -0
- package/src/xpath/evaluator.js +518 -357
- package/src/xpath/index.js +8 -2
- package/src/xpath/namespaceNodes.js +172 -0
- package/src/xpath/nodeSetFunctions.js +169 -0
- package/src/xpath/parser.js +30 -5
- package/src/xpath/strings.js +183 -0
- package/src/xpath/tokenizer.js +37 -23
- package/src/xslt/attributeSets.js +95 -0
- package/src/xslt/avt.js +103 -0
- package/src/xslt/computedNames.js +91 -0
- package/src/xslt/copying.js +212 -0
- package/src/xslt/declarationNames.js +80 -0
- package/src/xslt/domParsing.js +95 -0
- package/src/xslt/elements.js +57 -0
- package/src/xslt/engine/bindings.js +195 -0
- package/src/xslt/engine/context.js +105 -0
- package/src/xslt/engine/controlFlow.js +145 -0
- package/src/xslt/engine/copyInstructions.js +133 -0
- package/src/xslt/engine/declarations.js +233 -0
- package/src/xslt/engine/functionSupport.js +103 -0
- package/src/xslt/engine/methods.js +33 -0
- package/src/xslt/engine/nodeConstruction.js +187 -0
- package/src/xslt/engine/numbering.js +104 -0
- package/src/xslt/engine/outputDeclaration.js +77 -0
- package/src/xslt/engine/sequenceConstructor.js +228 -0
- package/src/xslt/engine/stylesheetLoading.js +208 -0
- package/src/xslt/engine/templateInvocation.js +253 -0
- package/src/xslt/engine/templateRules.js +243 -0
- package/src/xslt/engine/textInstructions.js +171 -0
- package/src/xslt/engine/topLevel.js +130 -0
- package/src/xslt/engine/transformation.js +263 -0
- package/src/xslt/engine/workStack.js +245 -0
- package/src/xslt/engine.js +184 -1736
- package/src/xslt/exslt/arguments.js +99 -0
- package/src/xslt/exslt/calendar.js +120 -0
- package/src/xslt/exslt/common.js +44 -0
- package/src/xslt/exslt/dateCalc.js +261 -0
- package/src/xslt/exslt/dateFormat.js +150 -0
- package/src/xslt/exslt/dateParse.js +265 -0
- package/src/xslt/exslt/dates.js +259 -0
- package/src/xslt/exslt/duration.js +207 -0
- package/src/xslt/exslt/dynamic.js +59 -0
- package/src/xslt/exslt/index.js +59 -0
- package/src/xslt/exslt/math.js +177 -0
- package/src/xslt/exslt/sets.js +96 -0
- package/src/xslt/exslt/stringOps.js +163 -0
- package/src/xslt/exslt/strings.js +147 -0
- package/src/xslt/exslt/uri.js +92 -0
- package/src/xslt/formatNumber.js +233 -0
- package/src/xslt/forwardsCompatible.js +75 -0
- package/src/xslt/functions.js +270 -0
- package/src/xslt/index.js +38 -1
- package/src/xslt/keys.js +164 -0
- package/src/xslt/literalResult.js +223 -0
- package/src/xslt/matchScope.js +116 -0
- package/src/xslt/number.js +271 -0
- package/src/xslt/numberFormat.js +253 -0
- package/src/xslt/outputNames.js +58 -0
- package/src/xslt/patternCompiler.js +175 -0
- package/src/xslt/patterns.js +324 -0
- package/src/xslt/qname.js +90 -0
- package/src/xslt/resultDocument.js +98 -0
- package/src/xslt/resultNamespaces.js +219 -0
- package/src/xslt/resultTree.js +211 -0
- package/src/xslt/serializer/baseWriter.js +390 -0
- package/src/xslt/serializer/chunks.js +120 -0
- package/src/xslt/serializer/constants.js +92 -0
- package/src/xslt/serializer/encoding.js +327 -0
- package/src/xslt/serializer/escape.js +135 -0
- package/src/xslt/serializer/frames.js +168 -0
- package/src/xslt/serializer/htmlDoctype.js +102 -0
- package/src/xslt/serializer/htmlEntities.js +77 -0
- package/src/xslt/serializer/htmlSerializer.js +239 -0
- package/src/xslt/serializer/indent.js +51 -0
- package/src/xslt/serializer/namespaces.js +68 -0
- package/src/xslt/serializer/rawText.js +41 -0
- package/src/xslt/serializer/settings.js +179 -0
- package/src/xslt/serializer/textSerializer.js +77 -0
- package/src/xslt/serializer/xhtmlDocument.js +103 -0
- package/src/xslt/serializer/xmlSerializer.js +227 -0
- package/src/xslt/serializer.js +90 -0
- package/src/xslt/sort.js +151 -0
- package/src/xslt/spaceNameTests.js +115 -0
- package/src/xslt/stylesheetChecks.js +206 -0
- package/src/xslt/stylesheetNamespaces.js +266 -0
- package/src/xslt/templatePriority.js +45 -0
- package/src/xslt/uri.js +68 -0
- package/src/xslt/variables.js +152 -0
- package/src/xslt/whitespace.js +200 -0
- package/LICENSE +0 -29
- package/src/XSLTProcessor.test.js +0 -930
- package/src/xpath/evaluator.test.js +0 -1852
- package/src/xpath/tokenizer.test.js +0 -224
- package/src/xslt/engine.test.js +0 -3130
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
var XsltProcessorLib=(()=>{var v=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var V=(m,e)=>{for(var t in e)v(m,t,{get:e[t],enumerable:!0})},$=(m,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of M(e))!B.call(m,r)&&r!==t&&v(m,r,{get:()=>e[r],enumerable:!(s=F(e,r))||s.enumerable});return m};var H=m=>$(v({},"__esModule",{value:!0}),m);var j={};V(j,{VERSION:()=>K,XPathContext:()=>E,XPathEvaluator:()=>g,XPathResultType:()=>R,XSLTProcessor:()=>y,XsltContext:()=>S,XsltEngine:()=>A,default:()=>I,evaluateXPath:()=>O,installGlobal:()=>k,isBrowser:()=>Q,isNativeXSLTSupported:()=>_,isNode:()=>W,parseXPath:()=>T,selectFirstXPath:()=>U,selectXPath:()=>D});var o={NUMBER:"NUMBER",LITERAL:"LITERAL",SLASH:"SLASH",DOUBLE_SLASH:"DOUBLE_SLASH",PIPE:"PIPE",PLUS:"PLUS",MINUS:"MINUS",STAR:"STAR",DIV:"DIV",MOD:"MOD",EQUALS:"EQUALS",NOT_EQUALS:"NOT_EQUALS",LT:"LT",LTE:"LTE",GT:"GT",GTE:"GTE",AND:"AND",OR:"OR",LPAREN:"LPAREN",RPAREN:"RPAREN",LBRACKET:"LBRACKET",RBRACKET:"RBRACKET",AXIS:"AXIS",AT:"AT",DOT:"DOT",DOUBLE_DOT:"DOUBLE_DOT",DOUBLE_COLON:"DOUBLE_COLON",NAME:"NAME",NCNAME:"NCNAME",PREFIX:"PREFIX",FUNCTION:"FUNCTION",NODE_TYPE:"NODE_TYPE",COMMA:"COMMA",DOLLAR:"DOLLAR",COLON:"COLON",EOF:"EOF"},Y=new Set(["ancestor","ancestor-or-self","attribute","child","descendant","descendant-or-self","following","following-sibling","namespace","parent","preceding","preceding-sibling","self"]),z=new Set(["comment","text","processing-instruction","node"]),G=new Set(["and","or","mod","div"]),f=class{constructor(e,t,s){this.type=e,this.value=t,this.position=s}toString(){return`Token(${this.type}, ${JSON.stringify(this.value)}, pos=${this.position})`}},q=new Set([o.AT,o.DOUBLE_COLON,o.LPAREN,o.LBRACKET,o.COMMA,o.SLASH,o.DOUBLE_SLASH,o.PIPE,o.PLUS,o.MINUS,o.STAR,o.DIV,o.MOD,o.EQUALS,o.NOT_EQUALS,o.LT,o.LTE,o.GT,o.GTE,o.AND,o.OR]),b=class{constructor(e){this.expression=e,this.position=0,this.tokens=[]}getLastToken(){return this.tokens.length>0?this.tokens[this.tokens.length-1]:null}isOperatorContext(){let e=this.getLastToken();return!(!e||q.has(e.type))}tokenize(){for(this.tokens=[],this.position=0;this.position<this.expression.length&&(this.skipWhitespace(),!(this.position>=this.expression.length));){let e=this.nextToken();e&&this.tokens.push(e)}return this.tokens.push(new f(o.EOF,null,this.position)),this.tokens}skipWhitespace(){for(;this.position<this.expression.length&&/\s/.test(this.expression[this.position]);)this.position++}peek(e=0){return this.expression[this.position+e]}consume(){return this.expression[this.position++]}nextToken(){let e=this.position,t=this.peek();if(t==='"'||t==="'")return this.readStringLiteral();if(/[0-9]/.test(t)||t==="."&&/[0-9]/.test(this.peek(1)))return this.readNumber();if(t==="/"&&this.peek(1)==="/")return this.position+=2,new f(o.DOUBLE_SLASH,"//",e);if(t==="."&&this.peek(1)===".")return this.position+=2,new f(o.DOUBLE_DOT,"..",e);if(t===":"&&this.peek(1)===":")return this.position+=2,new f(o.DOUBLE_COLON,"::",e);if(t==="!"&&this.peek(1)==="=")return this.position+=2,new f(o.NOT_EQUALS,"!=",e);if(t==="<"&&this.peek(1)==="=")return this.position+=2,new f(o.LTE,"<=",e);if(t===">"&&this.peek(1)==="=")return this.position+=2,new f(o.GTE,">=",e);let s={"/":o.SLASH,"|":o.PIPE,"+":o.PLUS,"-":o.MINUS,"*":o.STAR,"=":o.EQUALS,"<":o.LT,">":o.GT,"(":o.LPAREN,")":o.RPAREN,"[":o.LBRACKET,"]":o.RBRACKET,"@":o.AT,".":o.DOT,",":o.COMMA,$:o.DOLLAR,":":o.COLON};if(s[t])return this.position++,new f(s[t],t,e);if(this.isNameStartChar(t))return this.readName();throw new Error(`Unexpected character '${t}' at position ${this.position} in expression: ${this.expression}`)}readStringLiteral(){let e=this.position,t=this.consume(),s="";for(;this.position<this.expression.length&&this.peek()!==t;)s+=this.consume();if(this.position>=this.expression.length)throw new Error(`Unterminated string literal at position ${e}`);return this.consume(),new f(o.LITERAL,s,e)}readNumber(){let e=this.position,t="";for(;this.position<this.expression.length&&/[0-9]/.test(this.peek());)t+=this.consume();if(this.peek()==="."&&/[0-9]/.test(this.peek(1)))for(t+=this.consume();this.position<this.expression.length&&/[0-9]/.test(this.peek());)t+=this.consume();return new f(o.NUMBER,parseFloat(t),e)}readName(){let e=this.position,t="";for(;this.position<this.expression.length&&this.isNameChar(this.peek());)t+=this.consume();if(this.skipWhitespace(),Y.has(t)&&this.peek()===":"&&this.peek(1)===":")return new f(o.AXIS,t,e);let s=this.position;if(this.skipWhitespace(),this.peek()==="(")return z.has(t)?new f(o.NODE_TYPE,t,e):new f(o.FUNCTION,t,e);if(this.position=s,G.has(t)&&this.isOperatorContext()){let r={and:o.AND,or:o.OR,mod:o.MOD,div:o.DIV};return new f(r[t],t,e)}return new f(o.NAME,t,e)}isNameStartChar(e){if(!e)return!1;let t=e.charCodeAt(0);return e==="_"||t>=65&&t<=90||t>=97&&t<=122||t>=192}isNameChar(e){if(!e)return!1;let t=e.charCodeAt(0);return this.isNameStartChar(e)||e==="-"||e==="."||t>=48&&t<=57}};function x(m){return new b(m).tokenize()}var c={OR_EXPR:"OrExpr",AND_EXPR:"AndExpr",EQUALITY_EXPR:"EqualityExpr",RELATIONAL_EXPR:"RelationalExpr",ADDITIVE_EXPR:"AdditiveExpr",MULTIPLICATIVE_EXPR:"MultiplicativeExpr",UNARY_EXPR:"UnaryExpr",UNION_EXPR:"UnionExpr",PATH_EXPR:"PathExpr",LOCATION_PATH:"LocationPath",STEP:"Step",PREDICATE:"Predicate",VARIABLE_REF:"VariableRef",LITERAL:"Literal",NUMBER:"Number",FUNCTION_CALL:"FunctionCall",NAME_TEST:"NameTest",NODE_TYPE_TEST:"NodeTypeTest",PI_TEST:"ProcessingInstructionTest"},u=class{constructor(e,t={}){this.type=e,Object.assign(this,t)}},w=class{constructor(e){this.tokens=e,this.position=0}parse(){let e=this.parseExpr();if(!this.isAtEnd())throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().position}`);return e}parseExpr(){return this.parseOrExpr()}parseOrExpr(){let e=this.parseAndExpr();for(;this.match(o.OR);){let t=this.parseAndExpr();e=new u(c.OR_EXPR,{left:e,right:t})}return e}parseAndExpr(){let e=this.parseEqualityExpr();for(;this.match(o.AND);){let t=this.parseEqualityExpr();e=new u(c.AND_EXPR,{left:e,right:t})}return e}parseEqualityExpr(){let e=this.parseRelationalExpr();for(;;)if(this.match(o.EQUALS)){let t=this.parseRelationalExpr();e=new u(c.EQUALITY_EXPR,{operator:"=",left:e,right:t})}else if(this.match(o.NOT_EQUALS)){let t=this.parseRelationalExpr();e=new u(c.EQUALITY_EXPR,{operator:"!=",left:e,right:t})}else break;return e}parseRelationalExpr(){let e=this.parseAdditiveExpr();for(;;)if(this.match(o.LT)){let t=this.parseAdditiveExpr();e=new u(c.RELATIONAL_EXPR,{operator:"<",left:e,right:t})}else if(this.match(o.LTE)){let t=this.parseAdditiveExpr();e=new u(c.RELATIONAL_EXPR,{operator:"<=",left:e,right:t})}else if(this.match(o.GT)){let t=this.parseAdditiveExpr();e=new u(c.RELATIONAL_EXPR,{operator:">",left:e,right:t})}else if(this.match(o.GTE)){let t=this.parseAdditiveExpr();e=new u(c.RELATIONAL_EXPR,{operator:">=",left:e,right:t})}else break;return e}parseAdditiveExpr(){let e=this.parseMultiplicativeExpr();for(;;)if(this.match(o.PLUS)){let t=this.parseMultiplicativeExpr();e=new u(c.ADDITIVE_EXPR,{operator:"+",left:e,right:t})}else if(this.match(o.MINUS)){let t=this.parseMultiplicativeExpr();e=new u(c.ADDITIVE_EXPR,{operator:"-",left:e,right:t})}else break;return e}parseMultiplicativeExpr(){let e=this.parseUnaryExpr();for(;;)if(this.match(o.STAR)){let t=this.parseUnaryExpr();e=new u(c.MULTIPLICATIVE_EXPR,{operator:"*",left:e,right:t})}else if(this.match(o.DIV)){let t=this.parseUnaryExpr();e=new u(c.MULTIPLICATIVE_EXPR,{operator:"div",left:e,right:t})}else if(this.match(o.MOD)){let t=this.parseUnaryExpr();e=new u(c.MULTIPLICATIVE_EXPR,{operator:"mod",left:e,right:t})}else break;return e}parseUnaryExpr(){if(this.match(o.MINUS)){let e=this.parseUnaryExpr();return new u(c.UNARY_EXPR,{operator:"-",operand:e})}return this.parseUnionExpr()}parseUnionExpr(){let e=this.parsePathExpr();for(;this.match(o.PIPE);){let t=this.parsePathExpr();e=new u(c.UNION_EXPR,{left:e,right:t})}return e}parsePathExpr(){if(this.check(o.SLASH)||this.check(o.DOUBLE_SLASH))return this.parseLocationPath();if(this.isStepStart())return this.parseLocationPath();let e=this.parseFilterExpr();if(this.check(o.SLASH)||this.check(o.DOUBLE_SLASH)){let t=[];for(;this.check(o.SLASH)||this.check(o.DOUBLE_SLASH);){let s=this.match(o.DOUBLE_SLASH);s||this.advance(),s&&t.push(new u(c.STEP,{axis:"descendant-or-self",nodeTest:new u(c.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),t.push(this.parseStep())}return new u(c.PATH_EXPR,{filter:e,steps:t})}return e}parseLocationPath(){let e=!1,t=[];for(this.match(o.DOUBLE_SLASH)?(e=!0,t.push(new u(c.STEP,{axis:"descendant-or-self",nodeTest:new u(c.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),!this.isAtEnd()&&!this.check(o.EOF)&&t.push(this.parseStep())):this.match(o.SLASH)?(e=!0,this.isStepStart()&&t.push(this.parseStep())):t.push(this.parseStep());this.check(o.SLASH)||this.check(o.DOUBLE_SLASH);){let s=this.match(o.DOUBLE_SLASH);s||this.advance(),s&&t.push(new u(c.STEP,{axis:"descendant-or-self",nodeTest:new u(c.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),t.push(this.parseStep())}return new u(c.LOCATION_PATH,{absolute:e,steps:t})}parseStep(){if(this.match(o.DOT))return new u(c.STEP,{axis:"self",nodeTest:new u(c.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]});if(this.match(o.DOUBLE_DOT))return new u(c.STEP,{axis:"parent",nodeTest:new u(c.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]});let e="child";this.match(o.AT)?e="attribute":this.check(o.AXIS)&&(e=this.advance().value,this.expect(o.DOUBLE_COLON));let t=this.parseNodeTest(),s=[];for(;this.check(o.LBRACKET);)s.push(this.parsePredicate());return new u(c.STEP,{axis:e,nodeTest:t,predicates:s})}parseNodeTest(){if(this.check(o.NODE_TYPE)){let e=this.advance().value;if(this.expect(o.LPAREN),e==="processing-instruction"&&this.check(o.LITERAL)){let t=this.advance().value;return this.expect(o.RPAREN),new u(c.PI_TEST,{name:t})}return this.expect(o.RPAREN),new u(c.NODE_TYPE_TEST,{nodeType:e})}return this.parseNameTest()}parseNameTest(){if(this.match(o.STAR))return new u(c.NAME_TEST,{name:"*",prefix:null});if(!this.check(o.NAME))throw new Error(`Expected name at position ${this.peek().position}`);let e=this.advance().value;if(this.match(o.COLON)){if(this.match(o.STAR))return new u(c.NAME_TEST,{name:"*",prefix:e});if(this.check(o.NAME)){let t=this.advance().value;return new u(c.NAME_TEST,{name:t,prefix:e})}throw new Error(`Expected name or * after : at position ${this.peek().position}`)}return new u(c.NAME_TEST,{name:e,prefix:null})}parsePredicate(){this.expect(o.LBRACKET);let e=this.parseExpr();return this.expect(o.RBRACKET),new u(c.PREDICATE,{expr:e})}parseFilterExpr(){let e=this.parsePrimaryExpr();for(;this.check(o.LBRACKET);){let t=this.parsePredicate();e=new u(c.PATH_EXPR,{filter:e,predicates:[t]})}return e}parsePrimaryExpr(){if(this.match(o.DOLLAR)){if(!this.check(o.NAME))throw new Error(`Expected variable name at position ${this.peek().position}`);let e=this.advance().value,t=null;if(this.match(o.COLON)){if(t=e,!this.check(o.NAME))throw new Error(`Expected local name at position ${this.peek().position}`);let s=this.advance().value;return new u(c.VARIABLE_REF,{name:s,prefix:t})}return new u(c.VARIABLE_REF,{name:e,prefix:t})}if(this.match(o.LPAREN)){let e=this.parseExpr();return this.expect(o.RPAREN),e}if(this.check(o.LITERAL))return new u(c.LITERAL,{value:this.advance().value});if(this.check(o.NUMBER))return new u(c.NUMBER,{value:this.advance().value});if(this.check(o.FUNCTION))return this.parseFunctionCall();throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().position}`)}parseFunctionCall(){let e=this.advance().value;return this.parseFunctionCallArgs(e,null)}parseFunctionCallArgs(e,t){this.expect(o.LPAREN);let s=[];if(!this.check(o.RPAREN))for(s.push(this.parseExpr());this.match(o.COMMA);)s.push(this.parseExpr());return this.expect(o.RPAREN),new u(c.FUNCTION_CALL,{name:e,prefix:t,args:s})}isStepStart(){let e=this.peek().type;return e===o.NAME||e===o.STAR||e===o.AT||e===o.DOT||e===o.DOUBLE_DOT||e===o.AXIS||e===o.NODE_TYPE}peek(){return this.tokens[this.position]}advance(){return this.isAtEnd()?this.tokens[this.position]:this.tokens[this.position++]}check(e){return this.isAtEnd()?!1:this.peek().type===e}match(e){return this.check(e)?(this.advance(),!0):!1}expect(e){if(!this.check(e))throw new Error(`Expected ${e} but got ${this.peek().type} at position ${this.peek().position}`);return this.advance()}isAtEnd(){return this.peek().type===o.EOF}};function T(m){let e=x(m);return new w(e).parse()}var R={ANY_TYPE:0,NUMBER_TYPE:1,STRING_TYPE:2,BOOLEAN_TYPE:3,UNORDERED_NODE_ITERATOR_TYPE:4,ORDERED_NODE_ITERATOR_TYPE:5,UNORDERED_NODE_SNAPSHOT_TYPE:6,ORDERED_NODE_SNAPSHOT_TYPE:7,ANY_UNORDERED_NODE_TYPE:8,FIRST_ORDERED_NODE_TYPE:9},P={MAX_RECURSION_DEPTH:100,MAX_RESULT_SIZE:1e4,MAX_STRING_LENGTH:1e6},C=Object.freeze(["__proto__","constructor","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"]),E=class m{constructor(e,t=1,s=1,r={},i={}){this.node=e,this.position=t,this.size=s,this.variables=r,this.namespaces=i}clone(e={}){return new m(e.node??this.node,e.position??this.position,e.size??this.size,e.variables??this.variables,e.namespaces??this.namespaces)}},g=class{constructor(e={}){this.functions=this.initCoreFunctions(),this.maxRecursionDepth=e.maxRecursionDepth??P.MAX_RECURSION_DEPTH,this.maxResultSize=e.maxResultSize??P.MAX_RESULT_SIZE,this.maxStringLength=e.maxStringLength??P.MAX_STRING_LENGTH,this.recursionDepth=0}evaluate(e,t){if(!e||typeof e!="object")throw new Error("Invalid AST: expected object");if(!e.type)throw new Error("Invalid AST: missing type property");if(this.recursionDepth++,this.recursionDepth>this.maxRecursionDepth)throw this.recursionDepth=0,new Error(`Maximum recursion depth exceeded (${this.maxRecursionDepth})`);try{return this.evaluateInternal(e,t)}finally{this.recursionDepth--}}evaluateInternal(e,t){switch(e.type){case c.OR_EXPR:return this.evalOrExpr(e,t);case c.AND_EXPR:return this.evalAndExpr(e,t);case c.EQUALITY_EXPR:return this.evalEqualityExpr(e,t);case c.RELATIONAL_EXPR:return this.evalRelationalExpr(e,t);case c.ADDITIVE_EXPR:return this.evalAdditiveExpr(e,t);case c.MULTIPLICATIVE_EXPR:return this.evalMultiplicativeExpr(e,t);case c.UNARY_EXPR:return this.evalUnaryExpr(e,t);case c.UNION_EXPR:return this.evalUnionExpr(e,t);case c.PATH_EXPR:return this.evalPathExpr(e,t);case c.LOCATION_PATH:return this.evalLocationPath(e,t);case c.VARIABLE_REF:return this.evalVariableRef(e,t);case c.LITERAL:return this.validateString(e.value);case c.NUMBER:return e.value;case c.FUNCTION_CALL:return this.evalFunctionCall(e,t);default:throw new Error(`Unknown AST node type: ${String(e.type)}`)}}validateString(e){if(typeof e=="string"&&e.length>this.maxStringLength)throw new Error(`String exceeds maximum length (${this.maxStringLength})`);return e}validateResultSize(e){if(Array.isArray(e)&&e.length>this.maxResultSize)throw new Error(`Result set exceeds maximum size (${this.maxResultSize})`);return e}evalOrExpr(e,t){return this.toBoolean(this.evaluate(e.left,t))||this.toBoolean(this.evaluate(e.right,t))}evalAndExpr(e,t){return this.toBoolean(this.evaluate(e.left,t))&&this.toBoolean(this.evaluate(e.right,t))}evalEqualityExpr(e,t){let s=this.evaluate(e.left,t),r=this.evaluate(e.right,t),i=this.compareValues(s,r,"=");return e.operator==="="?i:!i}evalRelationalExpr(e,t){let s=this.evaluate(e.left,t),r=this.evaluate(e.right,t);return this.compareValues(s,r,e.operator)}evalAdditiveExpr(e,t){let s=this.toNumber(this.evaluate(e.left,t)),r=this.toNumber(this.evaluate(e.right,t));return e.operator==="+"?s+r:s-r}evalMultiplicativeExpr(e,t){let s=this.toNumber(this.evaluate(e.left,t)),r=this.toNumber(this.evaluate(e.right,t));switch(e.operator){case"*":return s*r;case"div":return s/r;case"mod":return s%r;default:throw new Error(`Unknown multiplicative operator: ${e.operator}`)}}evalUnaryExpr(e,t){return-this.toNumber(this.evaluate(e.operand,t))}evalUnionExpr(e,t){let s=this.evaluate(e.left,t),r=this.evaluate(e.right,t),i=Array.isArray(s)?s:[s],n=Array.isArray(r)?r:[r],a=new Set,l=[];for(let h of[...i,...n])a.has(h)||(a.add(h),l.push(h));return this.validateResultSize(l),this.sortByDocumentOrder(l)}evalPathExpr(e,t){if(e.filter){let s=this.evaluate(e.filter,t);if(e.predicates)for(let r of e.predicates)s=this.filterByPredicate(s,r,t);if(e.steps)for(let r of e.steps)s=this.evalStepOnNodes(r,s,t);return s}return[]}evalLocationPath(e,t){let s;e.absolute?s=[t.node.ownerDocument||t.node]:s=[t.node];for(let r of e.steps)s=this.evalStepOnNodes(r,s,t),this.validateResultSize(s);return s}evalStepOnNodes(e,t,s){let r=Array.isArray(t)?t:[t],i=[];for(let a of r){let l=this.evalStep(e,s.clone({node:a}));i=i.concat(l),i.length>this.maxResultSize*2&&this.validateResultSize(i)}let n=[...new Set(i)];return this.validateResultSize(n),this.sortByDocumentOrder(n)}evalStep(e,t){let s=this.getAxisNodes(e.axis,t.node);s=s.filter(r=>this.matchNodeTest(e.nodeTest,r,t));for(let r of e.predicates)s=this.filterByPredicate(s,r,t);return s}getAxisNodes(e,t){switch(e){case"child":return Array.from(t.childNodes||[]);case"parent":return t.parentNode?[t.parentNode]:[];case"self":return[t];case"descendant":return this.getDescendants(t,!1);case"descendant-or-self":return this.getDescendants(t,!0);case"ancestor":return this.getAncestors(t,!1);case"ancestor-or-self":return this.getAncestors(t,!0);case"following-sibling":return this.getFollowingSiblings(t);case"preceding-sibling":return this.getPrecedingSiblings(t);case"following":return this.getFollowing(t);case"preceding":return this.getPreceding(t);case"attribute":return t.attributes?Array.from(t.attributes):[];case"namespace":return[];default:throw new Error(`Unknown axis: ${e}`)}}getDescendants(e,t){let s=t?[e]:[],r=Array.from(e.childNodes||[]).reverse();for(;r.length>0;){let i=r.pop();if(s.push(i),i.childNodes)for(let n=i.childNodes.length-1;n>=0;n--)r.push(i.childNodes[n])}return s}getAncestors(e,t){let s=t?[e]:[],r=e.parentNode;for(;r;)s.push(r),r=r.parentNode;return s}getFollowingSiblings(e){let t=[];if(!e)return t;let s=e.nextSibling;for(;s;)t.push(s),s=s.nextSibling;return t}getPrecedingSiblings(e){let t=[];if(!e)return t;let s=e.previousSibling;for(;s;)t.push(s),s=s.previousSibling;return t.reverse()}getFollowing(e){let t=[],s=e;for(;s;)s.nextSibling?(s=s.nextSibling,t.push(s),t.push(...this.getDescendants(s,!1))):s=s.parentNode;return t}getPreceding(e){let t=[],s=e;for(;s;)if(s.previousSibling){s=s.previousSibling;let r=this.getDescendants(s,!1);t.unshift(...r.reverse()),t.unshift(s)}else s=s.parentNode,s&&s.nodeType;return t}matchNodeTest(e,t,s){switch(e.type){case c.NAME_TEST:return this.matchNameTest(e,t,s);case c.NODE_TYPE_TEST:return this.matchNodeTypeTest(e.nodeType,t);case c.PI_TEST:return t.nodeType===7&&t.nodeName===e.name;default:return!1}}matchNameTest(e,t,s){if(t.nodeType!==1&&t.nodeType!==2)return!1;let r=e.name,i=e.prefix;if(r==="*"&&!i)return!0;let n=t.localName||t.nodeName,a=t.namespaceURI||null;if(r==="*"&&i){let h=s.namespaces[i];return a===h}if(!i){let h=t.ownerDocument;return h&&h.contentType==="text/html"&&t.nodeType===1?n.toLowerCase()===r.toLowerCase():n===r}let l=s.namespaces[i];return n===r&&a===l}matchNodeTypeTest(e,t){switch(e){case"node":return!0;case"text":return t.nodeType===3;case"comment":return t.nodeType===8;case"processing-instruction":return t.nodeType===7;default:return!1}}filterByPredicate(e,t,s){let r=[],i=Array.isArray(e)?e:[e],n=i.length;for(let a=0;a<i.length;a++){let l=i[a],h=s.clone({node:l,position:a+1,size:n}),p=this.evaluate(t.expr,h);typeof p=="number"?p===a+1&&r.push(l):this.toBoolean(p)&&r.push(l)}return r}evalVariableRef(e,t){let s=e.prefix?`${e.prefix}:${e.name}`:e.name;if(C.includes(s)||C.includes(e.name))throw new Error(`Forbidden variable name: $${s}`);if(!Object.prototype.hasOwnProperty.call(t.variables,s))throw new Error(`Undefined variable: $${s}`);return t.variables[s]}evalFunctionCall(e,t){let s=e.prefix?`${e.prefix}:${e.name}`:e.name,r=this.functions[s];if(!r)throw new Error(`Unknown function: ${s}`);return r.call(this,e.args,t)}toBoolean(e){return typeof e=="boolean"?e:typeof e=="number"?e!==0&&!isNaN(e):typeof e=="string"||Array.isArray(e)?e.length>0:e&&e.nodeType?!0:!!e}toNumber(e){if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(typeof e=="string"){let t=e.trim();return t===""?NaN:Number(t)}return Array.isArray(e)?this.toNumber(this.toString(e)):e&&e.nodeType?this.toNumber(this.getStringValue(e)):NaN}toString(e){return typeof e=="string"?e:typeof e=="number"?isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":e===0?"0":String(e):typeof e=="boolean"?e?"true":"false":Array.isArray(e)?e.length===0?"":this.getStringValue(e[0]):e&&e.nodeType?this.getStringValue(e):String(e)}getStringValue(e){if(!e)return"";switch(e.nodeType){case 1:case 9:case 11:{let t="",s=r=>{if(r.nodeType===3)t+=r.nodeValue||"";else if(r.childNodes)for(let i of r.childNodes)s(i)};return s(e),t}case 2:case 3:case 4:case 7:case 8:return e.nodeValue||"";default:return""}}compareValues(e,t,s){let r=Array.isArray(e),i=Array.isArray(t);if(r&&i){for(let n of e)for(let a of t)if(this.comparePrimitive(this.getStringValue(n),this.getStringValue(a),s))return!0;return!1}if(r){for(let n of e)if(this.comparePrimitive(this.getStringValue(n),t,s))return!0;return!1}if(i){for(let n of t)if(this.comparePrimitive(e,this.getStringValue(n),s))return!0;return!1}return this.comparePrimitive(e,t,s)}comparePrimitive(e,t,s){if(s==="="||s==="!="){if(typeof e=="boolean"||typeof t=="boolean"){let a=this.toBoolean(e)===this.toBoolean(t);return s==="="?a:!a}if(typeof e=="number"||typeof t=="number"){let a=this.toNumber(e)===this.toNumber(t);return s==="="?a:!a}let n=this.toString(e)===this.toString(t);return s==="="?n:!n}let r=this.toNumber(e),i=this.toNumber(t);switch(s){case"<":return r<i;case"<=":return r<=i;case">":return r>i;case">=":return r>=i;default:throw new Error(`Unknown comparison operator: ${s}`)}}sortByDocumentOrder(e){return e.length<=1?e:e.sort((t,s)=>{if(t===s)return 0;let r=t.compareDocumentPosition?t.compareDocumentPosition(s):this.compareDocumentPositionFallback(t,s);return r&4?-1:r&2?1:0})}compareDocumentPositionFallback(e,t){let s=n=>{let a=[],l=n;for(;l;){if(l.parentNode){let h=Array.from(l.parentNode.childNodes);a.unshift(h.indexOf(l))}l=l.parentNode}return a},r=s(e),i=s(t);for(let n=0;n<Math.min(r.length,i.length);n++){if(r[n]<i[n])return 4;if(r[n]>i[n])return 2}return r.length<i.length?4:2}initCoreFunctions(){return{last:(e,t)=>t.size,position:(e,t)=>t.position,count:(e,t)=>{let s=this.evaluate(e[0],t);return Array.isArray(s)?s.length:1},id:(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=t.node.ownerDocument||t.node,i=s.split(/\s+/).filter(a=>a),n=[];for(let a of i){let l=r.getElementById(a);l&&n.push(l)}return n},"local-name":(e,t)=>{let s;if(e.length===0)s=t.node;else{let r=this.evaluate(e[0],t);s=Array.isArray(r)?r[0]:r}return s&&(s.localName||s.nodeName)||""},"namespace-uri":(e,t)=>{let s;if(e.length===0)s=t.node;else{let r=this.evaluate(e[0],t);s=Array.isArray(r)?r[0]:r}return s&&s.namespaceURI||""},name:(e,t)=>{let s;if(e.length===0)s=t.node;else{let r=this.evaluate(e[0],t);s=Array.isArray(r)?r[0]:r}return s&&s.nodeName||""},string:(e,t)=>e.length===0?this.toString([t.node]):this.toString(this.evaluate(e[0],t)),concat:(e,t)=>e.map(s=>this.toString(this.evaluate(s,t))).join(""),"starts-with":(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=this.toString(this.evaluate(e[1],t));return s.startsWith(r)},contains:(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=this.toString(this.evaluate(e[1],t));return s.includes(r)},"substring-before":(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=this.toString(this.evaluate(e[1],t)),i=s.indexOf(r);return i===-1?"":s.substring(0,i)},"substring-after":(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=this.toString(this.evaluate(e[1],t)),i=s.indexOf(r);return i===-1?"":s.substring(i+r.length)},substring:(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=Math.round(this.toNumber(this.evaluate(e[1],t))),i;return e.length>2&&(i=Math.round(this.toNumber(this.evaluate(e[2],t)))),r=r-1,isNaN(r)?"":(r<0&&(i!==void 0&&(i=i+r),r=0),i!==void 0?isNaN(i)||i<=0?"":s.substring(r,r+i):s.substring(r))},"string-length":(e,t)=>(e.length===0?this.toString([t.node]):this.toString(this.evaluate(e[0],t))).length,"normalize-space":(e,t)=>(e.length===0?this.toString([t.node]):this.toString(this.evaluate(e[0],t))).trim().replace(/\s+/g," "),translate:(e,t)=>{let s=this.toString(this.evaluate(e[0],t)),r=this.toString(this.evaluate(e[1],t)),i=this.toString(this.evaluate(e[2],t)),n="";for(let a of s){let l=r.indexOf(a);l===-1?n+=a:l<i.length&&(n+=i[l])}return n},boolean:(e,t)=>this.toBoolean(this.evaluate(e[0],t)),not:(e,t)=>!this.toBoolean(this.evaluate(e[0],t)),true:()=>!0,false:()=>!1,lang:(e,t)=>{let s=this.toString(this.evaluate(e[0],t)).toLowerCase(),r=t.node;for(;r&&r.nodeType===1;){let i=r.getAttribute("xml:lang")||r.getAttribute("lang");if(i){let n=i.toLowerCase();return n===s||n.startsWith(s+"-")}r=r.parentNode}return!1},number:(e,t)=>e.length===0?this.toNumber([t.node]):this.toNumber(this.evaluate(e[0],t)),sum:(e,t)=>{let s=this.evaluate(e[0],t);return Array.isArray(s)?s.reduce((r,i)=>r+this.toNumber(this.getStringValue(i)),0):NaN},floor:(e,t)=>Math.floor(this.toNumber(this.evaluate(e[0],t))),ceiling:(e,t)=>Math.ceil(this.toNumber(this.evaluate(e[0],t))),round:(e,t)=>{let s=this.toNumber(this.evaluate(e[0],t));return isNaN(s)?NaN:s===-.5?-0:Math.round(s)}}}};var N="http://www.w3.org/1999/XSL/Transform",S=class m{constructor(e={}){this.currentNode=e.currentNode,this.currentNodeList=e.currentNodeList||[],this.position=e.position||1,this.variables={...e.variables},this.parameters={...e.parameters},this.outputDocument=e.outputDocument,this.stylesheet=e.stylesheet,this.namespaces={...e.namespaces},this.templates=e.templates||[],this.keys=e.keys||{},this.decimalFormats=e.decimalFormats||{},this.outputMethod=e.outputMethod||"xml",this.xpathEvaluator=e.xpathEvaluator||new g}clone(e={}){return new m({currentNode:e.currentNode??this.currentNode,currentNodeList:e.currentNodeList??this.currentNodeList,position:e.position??this.position,variables:e.variables?{...this.variables,...e.variables}:{...this.variables},parameters:e.parameters?{...this.parameters,...e.parameters}:{...this.parameters},outputDocument:this.outputDocument,stylesheet:this.stylesheet,namespaces:e.namespaces?{...this.namespaces,...e.namespaces}:{...this.namespaces},templates:this.templates,keys:this.keys,decimalFormats:this.decimalFormats,outputMethod:this.outputMethod,xpathEvaluator:this.xpathEvaluator})}getVariable(e){if(e in this.variables)return this.variables[e];if(e in this.parameters)return this.parameters[e];throw new Error(`Undefined variable: $${e}`)}setVariable(e,t){this.variables[e]=t}},A=class{constructor(e={}){this.xpathEvaluator=new g,this.templates=[],this.keys={},this.globalVariables={},this.globalParameters={},this.outputSettings={method:"xml",encoding:"UTF-8",indent:"no",omitXmlDeclaration:"no",doctypePublic:null,doctypeSystem:null,mediaType:null,cdataSectionElements:[]},this.namespaces={},this.decimalFormats={},this.stylesheetDoc=null,this.attributeSets={},this.namespaceAliases={},this.stripSpace=[],this.preserveSpace=[],this.stylesheetLoader=e.stylesheetLoader||null,this.currentImportPrecedence=0,this.processedStylesheets=new Set,this.baseUri=e.baseUri||""}setStylesheetLoader(e){this.stylesheetLoader=e}resolveUri(e,t){if(!t||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/"))return e;let s=t.lastIndexOf("/");return(s>=0?t.substring(0,s+1):"")+e}loadStylesheet(e,t){if(!this.stylesheetLoader)throw new Error(`Cannot load stylesheet "${e}": no stylesheetLoader configured. Use engine.setStylesheetLoader(fn) to provide a loader function.`);let s=this.resolveUri(e,t);return{document:this.stylesheetLoader(s,t),uri:s}}parseXmlString(e){if(typeof DOMParser<"u"){let s=new DOMParser().parseFromString(e,"application/xml"),r=s.querySelector("parsererror");if(r)throw new Error(`XML parse error: ${r.textContent}`);return s}throw new Error("XML parsing not available in this environment")}importStylesheet(e,t){let s=this.stylesheetDoc===null;s&&(this.stylesheetDoc=e.ownerDocument||e,t&&(this.baseUri=t,this.processedStylesheets.add(t)));let r=e.documentElement||e;if(!this.isXsltElement(r,"stylesheet")&&!this.isXsltElement(r,"transform")){if(r.getAttribute&&r.getAttribute("xsl:version")){this.processLiteralResultStylesheet(r);return}throw new Error("Invalid XSLT stylesheet: root element must be xsl:stylesheet or xsl:transform")}this.collectNamespaces(r);let i=[],n=[];for(let a of r.childNodes)a.nodeType===1&&(this.isXsltElement(a,"import")?i.push(a):n.push(a));for(let a of i)this.processImport(a,t||this.baseUri);for(let a of n)this.isXsltElement(a,"template")?this.registerTemplate(a):this.isXsltElement(a,"output")?this.processOutput(a):this.isXsltElement(a,"variable")?this.processGlobalVariable(a):this.isXsltElement(a,"param")?this.processGlobalParam(a):this.isXsltElement(a,"key")?this.processKey(a):this.isXsltElement(a,"decimal-format")?this.processDecimalFormat(a):this.isXsltElement(a,"namespace-alias")?this.processNamespaceAlias(a):this.isXsltElement(a,"attribute-set")?this.processAttributeSet(a):this.isXsltElement(a,"strip-space")?this.processStripSpace(a):this.isXsltElement(a,"preserve-space")?this.processPreserveSpace(a):this.isXsltElement(a,"include")&&this.processInclude(a,t||this.baseUri);s&&this.currentImportPrecedence++}processInclude(e,t){let s=e.getAttribute("href");if(!s)throw new Error("xsl:include requires an href attribute");let r=this.resolveUri(s,t);if(this.processedStylesheets.has(r))throw new Error(`Circular stylesheet reference detected: ${r}`);this.processedStylesheets.add(r);try{let{document:i}=this.loadStylesheet(s,t),n=i;typeof i=="string"&&(n=this.parseXmlString(i));let a=this.currentImportPrecedence;this.processIncludedStylesheet(n,r),this.currentImportPrecedence=a}catch(i){throw new Error(`Failed to include stylesheet "${s}": ${i.message}`)}}processImport(e,t){let s=e.getAttribute("href");if(!s)throw new Error("xsl:import requires an href attribute");let r=this.resolveUri(s,t);if(this.processedStylesheets.has(r))throw new Error(`Circular stylesheet reference detected: ${r}`);this.processedStylesheets.add(r);try{let{document:i}=this.loadStylesheet(s,t),n=i;typeof i=="string"&&(n=this.parseXmlString(i)),this.processIncludedStylesheet(n,r),this.currentImportPrecedence++}catch(i){throw new Error(`Failed to import stylesheet "${s}": ${i.message}`)}}processIncludedStylesheet(e,t){let s=e.documentElement||e;if(!this.isXsltElement(s,"stylesheet")&&!this.isXsltElement(s,"transform"))throw new Error("Included/imported document is not a valid XSLT stylesheet");this.collectNamespaces(s);let r=[],i=[];for(let n of s.childNodes)n.nodeType===1&&(this.isXsltElement(n,"import")?r.push(n):i.push(n));for(let n of r)this.processImport(n,t);for(let n of i)this.isXsltElement(n,"template")?this.registerTemplate(n):this.isXsltElement(n,"output")?this.processOutput(n):this.isXsltElement(n,"variable")?this.processGlobalVariable(n):this.isXsltElement(n,"param")?this.processGlobalParam(n):this.isXsltElement(n,"key")?this.processKey(n):this.isXsltElement(n,"decimal-format")?this.processDecimalFormat(n):this.isXsltElement(n,"namespace-alias")?this.processNamespaceAlias(n):this.isXsltElement(n,"attribute-set")?this.processAttributeSet(n):this.isXsltElement(n,"strip-space")?this.processStripSpace(n):this.isXsltElement(n,"preserve-space")?this.processPreserveSpace(n):this.isXsltElement(n,"include")&&this.processInclude(n,t)}processLiteralResultStylesheet(e){this.templates.push({match:"/",name:null,mode:null,priority:.5,node:e})}collectNamespaces(e){if(e.attributes)for(let t of e.attributes)if(t.name.startsWith("xmlns:")){let s=t.name.substring(6);t.value!==N&&(this.namespaces[s]=t.value)}else t.name==="xmlns"&&t.value!==N&&(this.namespaces[""]=t.value)}registerTemplate(e){let t=e.getAttribute("match"),s=e.getAttribute("name"),r=e.getAttribute("mode")||null,i=e.getAttribute("priority"),n=i?parseFloat(i):this.calculatePriority(t);this.templates.push({match:t,name:s,mode:r,priority:n,importPrecedence:this.currentImportPrecedence,node:e})}calculatePriority(e){return e?e==="*"||e==="node()"||e==="text()"||e==="comment()"||e==="processing-instruction()"?-.5:e.includes(":*")?-.25:/^[a-zA-Z_][\w.-]*$/.test(e)?0:.5:.5}processOutput(e){let t=e.getAttribute("method");t&&(this.outputSettings.method=t);let s=e.getAttribute("encoding");s&&(this.outputSettings.encoding=s);let r=e.getAttribute("indent");r&&(this.outputSettings.indent=r);let i=e.getAttribute("omit-xml-declaration");i&&(this.outputSettings.omitXmlDeclaration=i);let n=e.getAttribute("doctype-public");n&&(this.outputSettings.doctypePublic=n);let a=e.getAttribute("doctype-system");a&&(this.outputSettings.doctypeSystem=a);let l=e.getAttribute("media-type");l&&(this.outputSettings.mediaType=l);let h=e.getAttribute("cdata-section-elements");h&&(this.outputSettings.cdataSectionElements=h.split(/\s+/).filter(Boolean))}processGlobalVariable(e){let t=e.getAttribute("name"),s=e.getAttribute("select");this.globalVariables[t]={node:e,select:s}}processGlobalParam(e){let t=e.getAttribute("name"),s=e.getAttribute("select");this.globalParameters[t]={node:e,select:s}}processKey(e){let t=e.getAttribute("name"),s=e.getAttribute("match"),r=e.getAttribute("use");this.keys[t]={match:s,use:r}}processDecimalFormat(e){let t=e.getAttribute("name")||"";this.decimalFormats[t]={decimalSeparator:e.getAttribute("decimal-separator")||".",groupingSeparator:e.getAttribute("grouping-separator")||",",percent:e.getAttribute("percent")||"%",perMille:e.getAttribute("per-mille")||"\u2030",zeroDigit:e.getAttribute("zero-digit")||"0",digit:e.getAttribute("digit")||"#",patternSeparator:e.getAttribute("pattern-separator")||";",infinity:e.getAttribute("infinity")||"Infinity",nan:e.getAttribute("NaN")||"NaN",minusSign:e.getAttribute("minus-sign")||"-"}}processNamespaceAlias(e){let t=e.getAttribute("stylesheet-prefix"),s=e.getAttribute("result-prefix");this.namespaceAliases[t]=s}processAttributeSet(e){let t=e.getAttribute("name"),s=e.getAttribute("use-attribute-sets");this.attributeSets[t]={node:e,useAttributeSets:s?s.split(/\s+/).filter(Boolean):[]}}processStripSpace(e){let t=e.getAttribute("elements");t&&this.stripSpace.push(...t.split(/\s+/).filter(Boolean))}processPreserveSpace(e){let t=e.getAttribute("elements");t&&this.preserveSpace.push(...t.split(/\s+/).filter(Boolean))}transform(e,t){let s=t||(typeof document<"u"?document:null);if(!s)throw new Error("No output document available");let r=new S({currentNode:e,currentNodeList:[e],position:1,outputDocument:s,stylesheet:this.stylesheetDoc,namespaces:{...this.namespaces},templates:this.templates,keys:this.keys,decimalFormats:this.decimalFormats,outputMethod:this.outputSettings.method,xpathEvaluator:this.xpathEvaluator});for(let[n,a]of Object.entries(this.globalParameters))n in r.parameters||(r.parameters[n]=this.evaluateVariable(a,r));for(let[n,a]of Object.entries(this.globalVariables))r.variables[n]=this.evaluateVariable(a,r);let i=s.createDocumentFragment();return this.applyTemplates([e],null,r,i),i}transformToDocument(e){let t=this.createDocument(),s=this.transform(e,t);for(;s.firstChild;)t.appendChild(s.firstChild);return t}createDocument(){if(typeof document<"u")return document.implementation.createDocument(null,null,null);throw new Error("Document creation not available in this environment")}evaluateVariable(e,t){if(e.select)return this.evaluateXPath(e.select,t);let s=t.outputDocument.createDocumentFragment();return this.processChildren(e.node,t,s),s}applyTemplates(e,t,s,r){let i=Array.isArray(e)?e:[e];for(let n=0;n<i.length;n++){let a=i[n],l=this.findMatchingTemplate(a,t,s);if(l){let h=s.clone({currentNode:a,currentNodeList:i,position:n+1});this.processTemplate(l.node,h,r)}else this.applyBuiltinTemplate(a,t,s,r)}}findMatchingTemplate(e,t,s){let r=null,i=-1/0,n=-1/0;for(let a of this.templates)if(a.mode===t&&a.match&&this.matchesPattern(e,a.match,s)){let l=a.priority,h=a.importPrecedence||0;(h>n||h===n&&l>i)&&(r=a,i=l,n=h)}return r}matchesPattern(e,t,s){let r=this.splitUnionPattern(t);for(let i of r)if(this.matchesSinglePattern(e,i.trim(),s))return!0;return!1}splitUnionPattern(e){let t=[],s="",r=0,i=!1,n="";for(let a=0;a<e.length;a++){let l=e[a];i?(s+=l,l===n&&(i=!1)):l==='"'||l==="'"?(i=!0,n=l,s+=l):l==="["?(r++,s+=l):l==="]"?(r--,s+=l):l==="|"&&r===0?(t.push(s),s=""):s+=l}return s&&t.push(s),t}matchesSinglePattern(e,t,s){var r;try{if(t==="/")return e.nodeType===9||e===((r=e.ownerDocument)==null?void 0:r.documentElement);let i=T(t);if(t.startsWith("/")){let h=e.ownerDocument||e,p=new E(h,1,1,{...s.variables,...s.parameters},s.namespaces),d=this.xpathEvaluator.evaluate(i,p);return(Array.isArray(d)?d:[d]).includes(e)}if(e.parentNode){let h=new E(e.parentNode,1,1,{...s.variables,...s.parameters},s.namespaces),p=this.xpathEvaluator.evaluate(i,h);return(Array.isArray(p)?p:[p]).includes(e)}let n=new E(e,1,1,{...s.variables,...s.parameters},s.namespaces),a=this.xpathEvaluator.evaluate(i,n);return(Array.isArray(a)?a:[a]).includes(e)}catch{return!1}}applyBuiltinTemplate(e,t,s,r){switch(e.nodeType){case 1:case 9:case 11:this.applyTemplates(Array.from(e.childNodes),t,s,r);break;case 3:case 4:{let i=s.outputDocument.createTextNode(e.nodeValue||"");r.appendChild(i);break}case 2:{let i=s.outputDocument.createTextNode(e.nodeValue||"");r.appendChild(i);break}}}processTemplate(e,t,s){let r=t.clone();for(let i of e.childNodes)if(i.nodeType===1&&this.isXsltElement(i,"param")){let n=i.getAttribute("name");n in r.parameters||(r.parameters[n]=this.evaluateVariable({node:i,select:i.getAttribute("select")},r))}this.processChildren(e,r,s)}processChildren(e,t,s){for(let r of e.childNodes)this.processNode(r,t,s)}processNode(e,t,s){switch(e.nodeType){case 1:this.processElement(e,t,s);break;case 3:case 4:{let r=e.nodeValue;if(r&&(r.trim()||this.shouldPreserveSpace(e))){let i=t.outputDocument.createTextNode(r);s.appendChild(i)}break}}}shouldPreserveSpace(e){let t=e.parentNode;for(;t&&t.nodeType===1;){let s=t.getAttribute("xml:space");if(s==="preserve")return!0;if(s==="default")return!1;t=t.parentNode}return!1}processElement(e,t,s){this.isXsltNamespace(e)?this.processXsltElement(e,t,s):this.processLiteralResultElement(e,t,s)}processXsltElement(e,t,s){let r=e.localName||e.nodeName.replace(/^xsl:/,"");switch(r){case"apply-templates":this.xslApplyTemplates(e,t,s);break;case"call-template":this.xslCallTemplate(e,t,s);break;case"value-of":this.xslValueOf(e,t,s);break;case"text":this.xslText(e,t,s);break;case"element":this.xslElement(e,t,s);break;case"attribute":this.xslAttribute(e,t,s);break;case"if":this.xslIf(e,t,s);break;case"choose":this.xslChoose(e,t,s);break;case"for-each":this.xslForEach(e,t,s);break;case"copy":this.xslCopy(e,t,s);break;case"copy-of":this.xslCopyOf(e,t,s);break;case"variable":this.xslVariable(e,t,s);break;case"param":break;case"comment":this.xslComment(e,t,s);break;case"processing-instruction":this.xslProcessingInstruction(e,t,s);break;case"number":this.xslNumber(e,t,s);break;case"sort":break;case"with-param":break;case"message":this.xslMessage(e,t,s);break;case"fallback":break;default:console.warn(`Unknown XSLT element: ${r}`)}}processLiteralResultElement(e,t,s){let r,i=e.namespaceURI,n=e.nodeName,a=i;if(i){for(let[l,h]of Object.entries(this.namespaceAliases))if(this.namespaces[l]===i){a=this.namespaces[h]||h;break}}if(a&&t.outputDocument.createElementNS?r=t.outputDocument.createElementNS(a,n):r=t.outputDocument.createElement(n),e.attributes)for(let l of e.attributes){if(l.namespaceURI===N||l.name.startsWith("xmlns"))continue;let h=this.processAttributeValueTemplate(l.value,t);r.setAttribute(l.name,h)}this.processChildren(e,t,r),s.appendChild(r)}processAttributeValueTemplate(e,t){if(!e.includes("{"))return e;let s="",r=0;for(;r<e.length;)if(e[r]==="{")if(e[r+1]==="{")s+="{",r+=2;else{let i=1,n=r+1;for(;n<e.length&&i>0;)e[n]==="{"?i++:e[n]==="}"&&i--,n++;let a=e.substring(r+1,n-1),l=this.evaluateXPath(a,t);s+=this.xpathEvaluator.toString(l),r=n}else if(e[r]==="}")if(e[r+1]==="}")s+="}",r+=2;else throw new Error("Unmatched } in attribute value template");else s+=e[r],r++;return s}xslApplyTemplates(e,t,s){let r=e.getAttribute("select")||"node()",i=e.getAttribute("mode")||null,n=this.evaluateXPath(r,t);Array.isArray(n)||(n=n?[n]:[]);let a=[];for(let p of e.childNodes)p.nodeType===1&&this.isXsltElement(p,"sort")&&a.push({select:p.getAttribute("select")||".",order:p.getAttribute("order")||"ascending",dataType:p.getAttribute("data-type")||"text",caseOrder:p.getAttribute("case-order")||"upper-first",lang:p.getAttribute("lang")});a.length>0&&(n=this.sortNodes(n,a,t));let l={};for(let p of e.childNodes)if(p.nodeType===1&&this.isXsltElement(p,"with-param")){let d=p.getAttribute("name"),L=p.getAttribute("select");if(L)l[d]=this.evaluateXPath(L,t);else{let X=t.outputDocument.createDocumentFragment();this.processChildren(p,t,X),l[d]=X}}let h=t.clone({parameters:{...t.parameters,...l}});this.applyTemplates(n,i,h,s)}xslCallTemplate(e,t,s){let r=e.getAttribute("name"),i=this.templates.find(l=>l.name===r);if(!i)throw new Error(`Template not found: ${r}`);let n={};for(let l of e.childNodes)if(l.nodeType===1&&this.isXsltElement(l,"with-param")){let h=l.getAttribute("name"),p=l.getAttribute("select");if(p)n[h]=this.evaluateXPath(p,t);else{let d=t.outputDocument.createDocumentFragment();this.processChildren(l,t,d),n[h]=d}}let a=t.clone({parameters:{...t.parameters,...n}});this.processTemplate(i.node,a,s)}xslValueOf(e,t,s){let r=e.getAttribute("select"),i=e.getAttribute("disable-output-escaping")==="yes",n=this.evaluateXPath(r,t),a=this.xpathEvaluator.toString(n);if(a){let l=t.outputDocument.createTextNode(a);i&&(l._disableOutputEscaping=!0),s.appendChild(l)}}xslText(e,t,s){let r=e.getAttribute("disable-output-escaping")==="yes",i="";for(let n of e.childNodes)(n.nodeType===3||n.nodeType===4)&&(i+=n.nodeValue||"");if(i){let n=t.outputDocument.createTextNode(i);r&&(n._disableOutputEscaping=!0),s.appendChild(n)}}xslElement(e,t,s){let r=this.processAttributeValueTemplate(e.getAttribute("name"),t),i=e.getAttribute("namespace"),n=e.getAttribute("use-attribute-sets"),a;if(i){let l=this.processAttributeValueTemplate(i,t);a=t.outputDocument.createElementNS(l,r)}else a=t.outputDocument.createElement(r);n&&this.applyAttributeSets(n,t,a),this.processChildren(e,t,a),s.appendChild(a)}xslAttribute(e,t,s){let r=this.processAttributeValueTemplate(e.getAttribute("name"),t),i=e.getAttribute("namespace"),n=t.outputDocument.createDocumentFragment();this.processChildren(e,t,n);let a="",l=h=>{if(h.nodeType===3||h.nodeType===4)a+=h.nodeValue||"";else if(h.childNodes)for(let p of h.childNodes)l(p)};if(l(n),s.nodeType===1)if(i){let h=this.processAttributeValueTemplate(i,t);s.setAttributeNS(h,r,a)}else s.setAttribute(r,a)}xslIf(e,t,s){let r=e.getAttribute("test"),i=this.evaluateXPath(r,t);this.xpathEvaluator.toBoolean(i)&&this.processChildren(e,t,s)}xslChoose(e,t,s){for(let r of e.childNodes)if(r.nodeType===1){if(this.isXsltElement(r,"when")){let i=r.getAttribute("test"),n=this.evaluateXPath(i,t);if(this.xpathEvaluator.toBoolean(n)){this.processChildren(r,t,s);return}}else if(this.isXsltElement(r,"otherwise")){this.processChildren(r,t,s);return}}}xslForEach(e,t,s){let r=e.getAttribute("select"),i=this.evaluateXPath(r,t);Array.isArray(i)||(i=i?[i]:[]);let n=[];for(let a of e.childNodes)a.nodeType===1&&this.isXsltElement(a,"sort")&&n.push({select:a.getAttribute("select")||".",order:a.getAttribute("order")||"ascending",dataType:a.getAttribute("data-type")||"text",caseOrder:a.getAttribute("case-order")||"upper-first",lang:a.getAttribute("lang")});n.length>0&&(i=this.sortNodes(i,n,t));for(let a=0;a<i.length;a++){let l=t.clone({currentNode:i[a],currentNodeList:i,position:a+1});this.processChildren(e,l,s)}}xslCopy(e,t,s){let r=t.currentNode,i=e.getAttribute("use-attribute-sets");switch(r.nodeType){case 1:{let n;r.namespaceURI?n=t.outputDocument.createElementNS(r.namespaceURI,r.nodeName):n=t.outputDocument.createElement(r.nodeName),i&&this.applyAttributeSets(i,t,n),this.processChildren(e,t,n),s.appendChild(n);break}case 2:s.nodeType===1&&s.setAttribute(r.name,r.value);break;case 3:case 4:{let n=t.outputDocument.createTextNode(r.nodeValue||"");s.appendChild(n);break}case 7:{let n=t.outputDocument.createProcessingInstruction(r.target,r.data);s.appendChild(n);break}case 8:{let n=t.outputDocument.createComment(r.nodeValue||"");s.appendChild(n);break}case 9:case 11:this.processChildren(e,t,s);break}}xslCopyOf(e,t,s){let r=e.getAttribute("select"),i=this.evaluateXPath(r,t);this.copyToOutput(i,t,s)}copyToOutput(e,t,s){if(Array.isArray(e)){for(let r of e)this.copyToOutput(r,t,s);return}if(e&&e.nodeType){let r=this.deepCloneNode(e,t.outputDocument);s.appendChild(r)}else if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"){let r=t.outputDocument.createTextNode(String(e));s.appendChild(r)}}deepCloneNode(e,t){switch(e.nodeType){case 1:{let s;if(e.namespaceURI&&t.createElementNS?s=t.createElementNS(e.namespaceURI,e.nodeName):s=t.createElement(e.nodeName),e.attributes)for(let r of e.attributes)s.setAttribute(r.name,r.value);for(let r of e.childNodes)s.appendChild(this.deepCloneNode(r,t));return s}case 3:case 4:return t.createTextNode(e.nodeValue||"");case 7:return t.createProcessingInstruction(e.target,e.data);case 8:return t.createComment(e.nodeValue||"");case 11:{let s=t.createDocumentFragment();for(let r of e.childNodes)s.appendChild(this.deepCloneNode(r,t));return s}default:return t.createTextNode("")}}xslVariable(e,t,s){let r=e.getAttribute("name"),i=e.getAttribute("select"),n;if(i)n=this.evaluateXPath(i,t);else{let a=t.outputDocument.createDocumentFragment();this.processChildren(e,t,a),n=a}t.setVariable(r,n)}xslComment(e,t,s){let r=t.outputDocument.createDocumentFragment();this.processChildren(e,t,r);let i="",n=l=>{if(l.nodeType===3||l.nodeType===4)i+=l.nodeValue||"";else if(l.childNodes)for(let h of l.childNodes)n(h)};n(r);let a=t.outputDocument.createComment(i);s.appendChild(a)}xslProcessingInstruction(e,t,s){let r=this.processAttributeValueTemplate(e.getAttribute("name"),t),i=t.outputDocument.createDocumentFragment();this.processChildren(e,t,i);let n="",a=h=>{if(h.nodeType===3||h.nodeType===4)n+=h.nodeValue||"";else if(h.childNodes)for(let p of h.childNodes)a(p)};a(i);let l=t.outputDocument.createProcessingInstruction(r,n);s.appendChild(l)}xslNumber(e,t,s){let r=e.getAttribute("value"),i=e.getAttribute("format")||"1",n=e.getAttribute("level")||"single",a;r?a=Math.round(this.xpathEvaluator.toNumber(this.evaluateXPath(r,t))):a=this.countNumber(t.currentNode,n,e,t);let l=this.formatNumber(a,i),h=t.outputDocument.createTextNode(l);s.appendChild(h)}countNumber(e,t,s,r){let i=s.getAttribute("count"),n=s.getAttribute("from");if(t==="single"){let a=1,l=e.previousSibling;for(;l;)l.nodeType===1&&(!i||this.matchesPattern(l,i,r))&&a++,l=l.previousSibling;return a}return 1}formatNumber(e,t){return/^[0-9]+$/.test(t)?String(e).padStart(t.length,"0"):t==="a"?String.fromCharCode(96+(e-1)%26+1):t==="A"?String.fromCharCode(64+(e-1)%26+1):t==="i"?this.toRoman(e).toLowerCase():t==="I"?this.toRoman(e):String(e)}toRoman(e){let t=[["M",1e3],["CM",900],["D",500],["CD",400],["C",100],["XC",90],["L",50],["XL",40],["X",10],["IX",9],["V",5],["IV",4],["I",1]],s="";for(let[r,i]of t)for(;e>=i;)s+=r,e-=i;return s}xslMessage(e,t,s){let r=e.getAttribute("terminate")==="yes",i=t.outputDocument.createDocumentFragment();this.processChildren(e,t,i);let n="",a=l=>{if(l.nodeType===3||l.nodeType===4)n+=l.nodeValue||"";else if(l.childNodes)for(let h of l.childNodes)a(h)};if(a(i),console.log("XSLT Message:",n),r)throw new Error(`XSLT terminated: ${n}`)}applyAttributeSets(e,t,s){let r=e.split(/\s+/).filter(Boolean);for(let i of r){let n=this.attributeSets[i];if(n){n.useAttributeSets.length>0&&this.applyAttributeSets(n.useAttributeSets.join(" "),t,s);for(let a of n.node.childNodes)a.nodeType===1&&this.isXsltElement(a,"attribute")&&this.xslAttribute(a,t,s)}}}sortNodes(e,t,s){return[...e].sort((r,i)=>{for(let n of t){let a=s.clone({currentNode:r}),l=s.clone({currentNode:i}),h=this.evaluateXPath(n.select,a),p=this.evaluateXPath(n.select,l);h=this.xpathEvaluator.toString(h)||"",p=this.xpathEvaluator.toString(p)||"",n.dataType==="number"?(h=parseFloat(h)||0,p=parseFloat(p)||0):n.caseOrder==="lower-first"?(h=h.toLowerCase(),p=p.toLowerCase()):(h=h.toUpperCase(),p=p.toUpperCase());let d;if(typeof h=="number"?d=h-p:d=h.localeCompare(p,n.lang||void 0),n.order==="descending"&&(d=-d),d!==0)return d}return 0})}evaluateXPath(e,t){let s=T(e),r=new E(t.currentNode,t.position,t.currentNodeList.length,{...t.variables,...t.parameters},t.namespaces);return this.xpathEvaluator.evaluate(s,r)}isXsltNamespace(e){return e.namespaceURI===N||e.nodeName&&e.nodeName.startsWith("xsl:")}isXsltElement(e,t){if(e.nodeType!==1)return!1;let s=e.localName||e.nodeName;return e.namespaceURI===N&&s===t||e.nodeName===`xsl:${t}`}};var y=class{constructor(){this._engine=null,this._stylesheet=null,this._parameters=new Map}importStylesheet(e){if(!e)throw new TypeError("Failed to execute 'importStylesheet' on 'XSLTProcessor': 1 argument required, but only 0 present.");if(e.nodeType!==1&&e.nodeType!==9)throw new TypeError("Failed to execute 'importStylesheet' on 'XSLTProcessor': The node provided is not a Document or Element.");if(e.querySelector?e.querySelector("parsererror"):null)throw new Error("XSLT stylesheet contains parse errors");this._stylesheet=e,this._engine=new A;for(let[s,r]of this._parameters)this._engine.globalParameters[s]={value:r};this._engine.importStylesheet(e)}transformToFragment(e,t){if(!e)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': 2 arguments required, but only 0 present.");if(!t)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': 2 arguments required, but only 1 present.");if(!this._engine||!this._stylesheet)throw new Error("Failed to execute 'transformToFragment' on 'XSLTProcessor': No stylesheet has been imported.");if(e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': The source is not a valid node type.");if(t.nodeType!==9)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': The output is not a Document.");try{return this._engine.transform(e,t)}catch(s){return console.error("XSLT transformation error:",s),null}}transformToDocument(e){if(!e)throw new TypeError("Failed to execute 'transformToDocument' on 'XSLTProcessor': 1 argument required, but only 0 present.");if(!this._engine||!this._stylesheet)throw new Error("Failed to execute 'transformToDocument' on 'XSLTProcessor': No stylesheet has been imported.");if(e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw new TypeError("Failed to execute 'transformToDocument' on 'XSLTProcessor': The source is not a valid node type.");try{return this._engine.transformToDocument(e)}catch(t){return console.error("XSLT transformation error:",t),null}}setParameter(e,t,s){if(arguments.length<3)throw new TypeError(`Failed to execute 'setParameter' on 'XSLTProcessor': 3 arguments required, but only ${arguments.length} present.`);if(typeof t!="string"||t==="")throw new TypeError("Failed to execute 'setParameter' on 'XSLTProcessor': The localName argument must be a non-empty string.");let r=e?`{${e}}${t}`:t;this._parameters.set(r,s),this._engine&&(this._engine.globalParameters[r]={value:s})}getParameter(e,t){if(arguments.length<2)throw new TypeError(`Failed to execute 'getParameter' on 'XSLTProcessor': 2 arguments required, but only ${arguments.length} present.`);if(typeof t!="string")throw new TypeError("Failed to execute 'getParameter' on 'XSLTProcessor': The localName argument must be a string.");let s=e?`{${e}}${t}`:t;return this._parameters.has(s)?this._parameters.get(s):""}removeParameter(e,t){if(arguments.length<2)throw new TypeError(`Failed to execute 'removeParameter' on 'XSLTProcessor': 2 arguments required, but only ${arguments.length} present.`);if(typeof t!="string")throw new TypeError("Failed to execute 'removeParameter' on 'XSLTProcessor': The localName argument must be a string.");let s=e?`{${e}}${t}`:t;this._parameters.delete(s),this._engine&&delete this._engine.globalParameters[s]}clearParameters(){this._parameters.clear(),this._engine&&(this._engine.globalParameters={})}reset(){this._engine=null,this._stylesheet=null,this._parameters.clear()}};function _(){if(typeof globalThis.XSLTProcessor>"u")return!1;try{let m=new globalThis.XSLTProcessor,e=new DOMParser,t=e.parseFromString(`<?xml version="1.0"?>
|
|
1
|
+
var XsltProcessorLib=(()=>{var na=Object.create;var je=Object.defineProperty;var sa=Object.getOwnPropertyDescriptor;var ia=Object.getOwnPropertyNames;var oa=Object.getPrototypeOf,aa=Object.prototype.hasOwnProperty;var ca=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ua=(t,e)=>{for(var r in e)je(t,r,{get:e[r],enumerable:!0})},En=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ia(e))!aa.call(t,s)&&s!==r&&je(t,s,{get:()=>e[s],enumerable:!(n=sa(e,s))||n.enumerable});return t};var la=(t,e,r)=>(r=t!=null?na(oa(t)):{},En(e||!t||!t.__esModule?je(r,"default",{value:t,enumerable:!0}):r,t)),pa=t=>En(je({},"__esModule",{value:!0}),t);var wl={};ua(wl,{DEFAULT_CHUNK_SIZE:()=>Qr,VERSION:()=>Sl,XPathContext:()=>_,XPathEvaluator:()=>v,XPathLimits:()=>Te,XPathResultType:()=>Kt,XSLTProcessor:()=>re,XSLT_MAX_EXPRESSION_DEPTH:()=>kt,XSLT_MAX_RESULT_SIZE:()=>It,XSLT_MAX_TEMPLATE_DEPTH:()=>Ue,XsltContext:()=>ee,XsltEngine:()=>te,default:()=>ta,evaluateXPath:()=>mn,installGlobal:()=>ea,isBrowser:()=>bl,isNativeXSLTSupported:()=>fn,isNode:()=>Al,isRawText:()=>Z,markRawText:()=>Pt,parseXPath:()=>P,resolveOutputSettings:()=>Y,selectFirstXPath:()=>ra,selectXPath:()=>dn,serializeChunks:()=>Ye,serializeResult:()=>me,transformToChunks:()=>Ge,transformToStream:()=>Bo});var l={NUMBER:"NUMBER",LITERAL:"LITERAL",SLASH:"SLASH",DOUBLE_SLASH:"DOUBLE_SLASH",PIPE:"PIPE",PLUS:"PLUS",MINUS:"MINUS",STAR:"STAR",DIV:"DIV",MOD:"MOD",EQUALS:"EQUALS",NOT_EQUALS:"NOT_EQUALS",LT:"LT",LTE:"LTE",GT:"GT",GTE:"GTE",AND:"AND",OR:"OR",LPAREN:"LPAREN",RPAREN:"RPAREN",LBRACKET:"LBRACKET",RBRACKET:"RBRACKET",AXIS:"AXIS",AT:"AT",DOT:"DOT",DOUBLE_DOT:"DOUBLE_DOT",DOUBLE_COLON:"DOUBLE_COLON",NAME:"NAME",NCNAME:"NCNAME",PREFIX:"PREFIX",FUNCTION:"FUNCTION",NODE_TYPE:"NODE_TYPE",COMMA:"COMMA",DOLLAR:"DOLLAR",COLON:"COLON",EOF:"EOF"},ha=new Set(["ancestor","ancestor-or-self","attribute","child","descendant","descendant-or-self","following","following-sibling","namespace","parent","preceding","preceding-sibling","self"]),fa=new Set(["comment","text","processing-instruction","node"]),ma=new Set(["and","or","mod","div"]),da=Object.freeze({and:l.AND,or:l.OR,mod:l.MOD,div:l.DIV}),A=class{constructor(e,r,n){this.type=e,this.value=r,this.position=n}toString(){return`Token(${this.type}, ${JSON.stringify(this.value)}, pos=${this.position})`}},Ea=new Set([l.AT,l.DOUBLE_COLON,l.LPAREN,l.LBRACKET,l.COMMA,l.SLASH,l.DOUBLE_SLASH,l.PIPE,l.PLUS,l.MINUS,l.STAR,l.DIV,l.MOD,l.EQUALS,l.NOT_EQUALS,l.LT,l.LTE,l.GT,l.GTE,l.AND,l.OR]),qe=class{constructor(e){this.expression=e,this.position=0,this.tokens=[]}getLastToken(){return this.tokens.length>0?this.tokens[this.tokens.length-1]:null}isOperatorContext(){let e=this.getLastToken();return!(!e||e.type===l.COLON||Ea.has(e.type))}tokenize(){for(this.tokens=[],this.position=0;this.position<this.expression.length&&(this.skipWhitespace(),!(this.position>=this.expression.length));){let e=this.nextToken();e&&this.tokens.push(e)}return this.tokens.push(new A(l.EOF,null,this.position)),this.tokens}skipWhitespace(){for(;this.position<this.expression.length&&/\s/.test(this.expression[this.position]);)this.position++}peek(e=0){return this.expression[this.position+e]}consume(){return this.expression[this.position++]}nextToken(){let e=this.position,r=this.peek();if(r==='"'||r==="'")return this.readStringLiteral();if(/[0-9]/.test(r)||r==="."&&/[0-9]/.test(this.peek(1)))return this.readNumber();if(r==="/"&&this.peek(1)==="/")return this.position+=2,new A(l.DOUBLE_SLASH,"//",e);if(r==="."&&this.peek(1)===".")return this.position+=2,new A(l.DOUBLE_DOT,"..",e);if(r===":"&&this.peek(1)===":")return this.position+=2,new A(l.DOUBLE_COLON,"::",e);if(r==="!"&&this.peek(1)==="=")return this.position+=2,new A(l.NOT_EQUALS,"!=",e);if(r==="<"&&this.peek(1)==="=")return this.position+=2,new A(l.LTE,"<=",e);if(r===">"&&this.peek(1)==="=")return this.position+=2,new A(l.GTE,">=",e);let n={"/":l.SLASH,"|":l.PIPE,"+":l.PLUS,"-":l.MINUS,"*":l.STAR,"=":l.EQUALS,"<":l.LT,">":l.GT,"(":l.LPAREN,")":l.RPAREN,"[":l.LBRACKET,"]":l.RBRACKET,"@":l.AT,".":l.DOT,",":l.COMMA,$:l.DOLLAR,":":l.COLON};if(n[r])return this.position++,new A(n[r],r,e);if(this.isNameStartChar(r))return this.readName();throw new Error(`Unexpected character '${r}' at position ${this.position} in expression: ${this.expression}`)}readStringLiteral(){let e=this.position,r=this.consume(),n="";for(;this.position<this.expression.length&&this.peek()!==r;)n+=this.consume();if(this.position>=this.expression.length)throw new Error(`Unterminated string literal at position ${e}`);return this.consume(),new A(l.LITERAL,n,e)}readNumber(){let e=this.position,r="";for(;this.position<this.expression.length&&/[0-9]/.test(this.peek());)r+=this.consume();if(this.peek()==="."&&this.peek(1)!==".")for(r+=this.consume();this.position<this.expression.length&&/[0-9]/.test(this.peek());)r+=this.consume();return new A(l.NUMBER,parseFloat(r),e)}readName(){let e=this.position,r="";for(;this.position<this.expression.length&&this.isNameChar(this.peek());)r+=this.consume();if(ma.has(r)&&this.isOperatorContext())return new A(da[r],r,e);let n=this.position;if(this.skipWhitespace(),this.peek()==="("){let s=fa.has(r)?l.NODE_TYPE:l.FUNCTION;return new A(s,r,e)}return ha.has(r)&&this.peek()===":"&&this.peek(1)===":"?new A(l.AXIS,r,e):(this.position=n,new A(l.NAME,r,e))}isNameStartChar(e){if(!e)return!1;let r=e.charCodeAt(0);return e==="_"||r>=65&&r<=90||r>=97&&r<=122||r>=192}isNameChar(e){if(!e)return!1;let r=e.charCodeAt(0);return this.isNameStartChar(e)||e==="-"||e==="."||r>=48&&r<=57}};function Ft(t){return new qe(t).tokenize()}var h={OR_EXPR:"OrExpr",AND_EXPR:"AndExpr",EQUALITY_EXPR:"EqualityExpr",RELATIONAL_EXPR:"RelationalExpr",ADDITIVE_EXPR:"AdditiveExpr",MULTIPLICATIVE_EXPR:"MultiplicativeExpr",UNARY_EXPR:"UnaryExpr",UNION_EXPR:"UnionExpr",PATH_EXPR:"PathExpr",LOCATION_PATH:"LocationPath",STEP:"Step",PREDICATE:"Predicate",VARIABLE_REF:"VariableRef",LITERAL:"Literal",NUMBER:"Number",FUNCTION_CALL:"FunctionCall",NAME_TEST:"NameTest",NODE_TYPE_TEST:"NodeTypeTest",PI_TEST:"ProcessingInstructionTest"},d=class{constructor(e,r={}){this.type=e,Object.assign(this,r)}},Ke=class{constructor(e){this.tokens=e,this.position=0}parse(){let e=this.parseExpr();if(!this.isAtEnd())throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().position}`);return e}parseExpr(){return this.parseOrExpr()}parseOrExpr(){let e=this.parseAndExpr();for(;this.match(l.OR);){let r=this.parseAndExpr();e=new d(h.OR_EXPR,{left:e,right:r})}return e}parseAndExpr(){let e=this.parseEqualityExpr();for(;this.match(l.AND);){let r=this.parseEqualityExpr();e=new d(h.AND_EXPR,{left:e,right:r})}return e}parseEqualityExpr(){let e=this.parseRelationalExpr();for(;;)if(this.match(l.EQUALS)){let r=this.parseRelationalExpr();e=new d(h.EQUALITY_EXPR,{operator:"=",left:e,right:r})}else if(this.match(l.NOT_EQUALS)){let r=this.parseRelationalExpr();e=new d(h.EQUALITY_EXPR,{operator:"!=",left:e,right:r})}else break;return e}parseRelationalExpr(){let e=this.parseAdditiveExpr();for(;;)if(this.match(l.LT)){let r=this.parseAdditiveExpr();e=new d(h.RELATIONAL_EXPR,{operator:"<",left:e,right:r})}else if(this.match(l.LTE)){let r=this.parseAdditiveExpr();e=new d(h.RELATIONAL_EXPR,{operator:"<=",left:e,right:r})}else if(this.match(l.GT)){let r=this.parseAdditiveExpr();e=new d(h.RELATIONAL_EXPR,{operator:">",left:e,right:r})}else if(this.match(l.GTE)){let r=this.parseAdditiveExpr();e=new d(h.RELATIONAL_EXPR,{operator:">=",left:e,right:r})}else break;return e}parseAdditiveExpr(){let e=this.parseMultiplicativeExpr();for(;;)if(this.match(l.PLUS)){let r=this.parseMultiplicativeExpr();e=new d(h.ADDITIVE_EXPR,{operator:"+",left:e,right:r})}else if(this.match(l.MINUS)){let r=this.parseMultiplicativeExpr();e=new d(h.ADDITIVE_EXPR,{operator:"-",left:e,right:r})}else break;return e}parseMultiplicativeExpr(){let e=this.parseUnaryExpr();for(;;)if(this.match(l.STAR)){let r=this.parseUnaryExpr();e=new d(h.MULTIPLICATIVE_EXPR,{operator:"*",left:e,right:r})}else if(this.match(l.DIV)){let r=this.parseUnaryExpr();e=new d(h.MULTIPLICATIVE_EXPR,{operator:"div",left:e,right:r})}else if(this.match(l.MOD)){let r=this.parseUnaryExpr();e=new d(h.MULTIPLICATIVE_EXPR,{operator:"mod",left:e,right:r})}else break;return e}parseUnaryExpr(){if(this.match(l.MINUS)){let e=this.parseUnaryExpr();return new d(h.UNARY_EXPR,{operator:"-",operand:e})}return this.parseUnionExpr()}parseUnionExpr(){let e=this.parsePathExpr();for(;this.match(l.PIPE);){let r=this.parsePathExpr();e=new d(h.UNION_EXPR,{left:e,right:r})}return e}parsePathExpr(){if(this.check(l.SLASH)||this.check(l.DOUBLE_SLASH))return this.parseLocationPath();if(this.isStepStart()&&!this.isPrefixedFunctionCall())return this.parseLocationPath();let e=this.parseFilterExpr();if(this.check(l.SLASH)||this.check(l.DOUBLE_SLASH)){let r=[];for(;this.check(l.SLASH)||this.check(l.DOUBLE_SLASH);){let n=this.match(l.DOUBLE_SLASH);n||this.advance(),n&&r.push(new d(h.STEP,{axis:"descendant-or-self",nodeTest:new d(h.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),r.push(this.parseStep())}return new d(h.PATH_EXPR,{filter:e,steps:r})}return e}parseLocationPath(){let e=!1,r=[];for(this.match(l.DOUBLE_SLASH)?(e=!0,r.push(new d(h.STEP,{axis:"descendant-or-self",nodeTest:new d(h.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),!this.isAtEnd()&&!this.check(l.EOF)&&r.push(this.parseStep())):this.match(l.SLASH)?(e=!0,this.isStepStart()&&r.push(this.parseStep())):r.push(this.parseStep());this.check(l.SLASH)||this.check(l.DOUBLE_SLASH);){let n=this.match(l.DOUBLE_SLASH);n||this.advance(),n&&r.push(new d(h.STEP,{axis:"descendant-or-self",nodeTest:new d(h.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]})),r.push(this.parseStep())}return new d(h.LOCATION_PATH,{absolute:e,steps:r})}parseStep(){if(this.match(l.DOT))return new d(h.STEP,{axis:"self",nodeTest:new d(h.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]});if(this.match(l.DOUBLE_DOT))return new d(h.STEP,{axis:"parent",nodeTest:new d(h.NODE_TYPE_TEST,{nodeType:"node"}),predicates:[]});let e="child";this.match(l.AT)?e="attribute":this.check(l.AXIS)&&(e=this.advance().value,this.expect(l.DOUBLE_COLON));let r=this.parseNodeTest(),n=[];for(;this.check(l.LBRACKET);)n.push(this.parsePredicate());return new d(h.STEP,{axis:e,nodeTest:r,predicates:n})}parseNodeTest(){if(this.check(l.NODE_TYPE)){let e=this.advance().value;if(this.expect(l.LPAREN),e==="processing-instruction"&&this.check(l.LITERAL)){let r=this.advance().value;return this.expect(l.RPAREN),new d(h.PI_TEST,{name:r})}return this.expect(l.RPAREN),new d(h.NODE_TYPE_TEST,{nodeType:e})}return this.parseNameTest()}parseNameTest(){if(this.match(l.STAR))return new d(h.NAME_TEST,{name:"*",prefix:null});if(!this.check(l.NAME))throw new Error(`Expected name at position ${this.peek().position}`);let e=this.advance().value;if(this.match(l.COLON)){if(this.match(l.STAR))return new d(h.NAME_TEST,{name:"*",prefix:e});if(this.check(l.NAME)){let r=this.advance().value;return new d(h.NAME_TEST,{name:r,prefix:e})}throw new Error(`Expected name or * after : at position ${this.peek().position}`)}return new d(h.NAME_TEST,{name:e,prefix:null})}parsePredicate(){this.expect(l.LBRACKET);let e=this.parseExpr();return this.expect(l.RBRACKET),new d(h.PREDICATE,{expr:e})}parseFilterExpr(){let e=this.parsePrimaryExpr();for(;this.check(l.LBRACKET);){let r=this.parsePredicate();e=new d(h.PATH_EXPR,{filter:e,predicates:[r]})}return e}parsePrimaryExpr(){if(this.match(l.DOLLAR)){if(!this.check(l.NAME))throw new Error(`Expected variable name at position ${this.peek().position}`);let e=this.advance().value,r=null;if(this.match(l.COLON)){if(r=e,!this.check(l.NAME))throw new Error(`Expected local name at position ${this.peek().position}`);let n=this.advance().value;return new d(h.VARIABLE_REF,{name:n,prefix:r})}return new d(h.VARIABLE_REF,{name:e,prefix:r})}if(this.match(l.LPAREN)){let e=this.parseExpr();return this.expect(l.RPAREN),e}if(this.check(l.LITERAL))return new d(h.LITERAL,{value:this.advance().value});if(this.check(l.NUMBER))return new d(h.NUMBER,{value:this.advance().value});if(this.check(l.FUNCTION))return this.parseFunctionCall();if(this.isPrefixedFunctionCall()){let e=this.advance().value;return this.advance(),this.parseFunctionCallArgs(this.advance().value,e)}throw new Error(`Unexpected token ${this.peek().type} at position ${this.peek().position}`)}parseFunctionCall(){let e=this.advance().value;return this.parseFunctionCallArgs(e,null)}parseFunctionCallArgs(e,r){this.expect(l.LPAREN);let n=[];if(!this.check(l.RPAREN))for(n.push(this.parseExpr());this.match(l.COMMA);)n.push(this.parseExpr());return this.expect(l.RPAREN),new d(h.FUNCTION_CALL,{name:e,prefix:r,args:n})}isPrefixedFunctionCall(){let e=this.tokens[this.position+2];return this.check(l.NAME)&&this.tokens[this.position+1].type===l.COLON&&(e.type===l.FUNCTION||e.type===l.NODE_TYPE)}isStepStart(){let e=this.peek().type;return e===l.NAME||e===l.STAR||e===l.AT||e===l.DOT||e===l.DOUBLE_DOT||e===l.AXIS||e===l.NODE_TYPE}peek(){return this.tokens[this.position]}advance(){return this.isAtEnd()?this.tokens[this.position]:this.tokens[this.position++]}check(e){return this.isAtEnd()?!1:this.peek().type===e}match(e){return this.check(e)?(this.advance(),!0):!1}expect(e){if(!this.check(e))throw new Error(`Expected ${e} but got ${this.peek().type} at position ${this.peek().position}`);return this.advance()}isAtEnd(){return this.peek().type===l.EOF}};function P(t){let e=Ft(t);return new Ke(e).parse()}var ga="http://www.w3.org/XML/1998/namespace",Ta="http://www.w3.org/2000/xmlns/",Vt=class{constructor(e,r,n,s){this.nodeType=13,this.ownerElement=e,this.ownerDocument=e.ownerDocument,this.localName=r,this.nodeName=r,this.namespaceURI=null,this.prefix=null,this.nodeValue=n,this.textContent=n,this.index=s,this.parentNode=null,this.firstChild=null,this.lastChild=null,this.previousSibling=null,this.nextSibling=null,this.childNodes=[]}};function xa(t){let e=t.name;return e==="xmlns"?"":e.startsWith("xmlns:")?e.slice(6):null}function Na(t,e,r){let n=(s,i)=>{s!=="xml"&&!r.has(s)&&r.set(s,i)};for(let s of t.attributes){let i=xa(s);i!==null&&n(i,s.value)}if(e){n(t.prefix??"",t.namespaceURI??"");for(let s of t.attributes)s.prefix&&s.namespaceURI!==Ta&&n(s.prefix,s.namespaceURI)}}function Bt(t){let e=t.ownerDocument?.contentType!=="text/html",r=new Map;for(let s=t;s?.nodeType===1;s=s.parentNode)Na(s,e,r);let n=[["xml",ga]];for(let[s,i]of r)i!==""&&n.push([s,i]);return n}function gn(t,e){if(t.nodeType!==1)return[];let r=e.get(t);return r||(r=Bt(t).map(([n,s],i)=>new Vt(t,n,s,i)),e.set(t,r)),r.slice()}function Tn(t,e){return t.prefix?!1:t.name==="*"||t.name===e.localName}var ya="http://www.w3.org/2000/xmlns/";function V(t){if(!t)return!1;let e=t.nodeType;return e===3||e===4}function ne(t){return V(t)&&V(t.previousSibling)}function zt(t,e){return V(t)&&V(e)}function Sa(t){let e=t.namespaceURI;if(e===ya)return!0;if(e!==null)return!1;let r=t.name;return r==="xmlns"||r.startsWith("xmlns:")}var xn=new Set(["ancestor","ancestor-or-self","preceding","preceding-sibling"]);function Ee(t,e){let r=[];return t(e,n=>(r.push(n),!1)),r}function Le(t){let e=t.nodeType;return e===3||e===4||e===7&&t.target==="xml"}function Qe(t){return t.parentNode?.nodeType===9}function Nn(t){return Le(t)&&Qe(t)}function ba(t,e){return Le(e)}function yn(t){return Qe(t)?ba:zt}function Sn(t,e){for(let r=t.firstChild;r;r=r.nextSibling)if(!Le(r)&&e(r))return!0;return!1}function bn(t,e){if(t.nodeType===9)return Sn(t,e);let r=null;for(let n=t.firstChild;n;n=n.nextSibling){if(!zt(r,n)&&e(n))return!0;r=n}return!1}function G(t){return Ee(bn,t)}function An(t){let e=[],r=t.attributes;if(!r)return e;for(let n of r)Sa(n)||e.push(n);return e}function de(t,e,r){if(e&&r(t))return!0;if(t.nodeType===9)return Sn(t,i=>de(i,!0,r));let n=t.firstChild,s=null;for(;n;){if(!zt(s,n)&&r(n))return!0;if(n.firstChild){n=n.firstChild,s=null;continue}for(;n&&n!==t&&!n.nextSibling;)n=n.parentNode;s=n,n=n&&n!==t?n.nextSibling:null}return!1}function Yt(t,e,r=[]){return de(t,e,n=>(r.push(n),!1)),r}function Aa(t,e){let r=t.lastChild;for(;r;){if(r.lastChild){r=r.lastChild;continue}if(!ne(r)&&e(r))return!0;for(;r!==t&&!r.previousSibling;)if(r=r.parentNode,r!==t&&e(r))return!0;r=r===t?null:r.previousSibling}return!1}function Ht(t,e,r){if(e&&r(t))return!0;for(let n=M(t);n;n=n.parentNode)if(r(n))return!0;return!1}function Wt(t,e){return Ee((r,n)=>Ht(r,e,n),t)}function wn(t,e){if(t.nodeType===2)return!1;let r=yn(t),n=t;for(let s=t.nextSibling;s;s=s.nextSibling){if(!r(n,s)&&e(s))return!0;n=s}return!1}function Dn(t){return Ee(wn,t)}function Ln(t,e){if(t.nodeType===2)return!1;let r=Qe(t)?Le:ne;for(let n=t.previousSibling;n;n=n.previousSibling)if(!r(n)&&e(n))return!0;return!1}function Pn(t){return Ee(Ln,t)}function Mn(t,e){if(jt(t)&&t.ownerElement&&de(t.ownerElement,!1,e))return!0;for(let r=Rn(t);r;r=r.parentNode){let n=yn(r),s=r;for(let i=r.nextSibling;i;i=i.nextSibling){if(!n(s,i)&&de(i,!0,e))return!0;s=i}}return!1}function On(t){return Ee(Mn,t)}function _n(t,e){for(let r=Rn(t);r;r=r.parentNode){let n=Qe(r);for(let s=r.previousSibling;s;s=s.previousSibling)if(!(n&&Le(s))&&(Aa(s,e)||!ne(s)&&e(s)))return!0}return!1}function Cn(t){return Ee(_n,t)}var Gt=Object.freeze({child:bn,descendant:(t,e)=>de(t,!1,e),"descendant-or-self":(t,e)=>de(t,!0,e),ancestor:(t,e)=>Ht(t,!1,e),"ancestor-or-self":(t,e)=>Ht(t,!0,e),"following-sibling":wn,"preceding-sibling":Ln,following:Mn,preceding:_n});function Ze(t){let e=t.ownerDocument,r=M(t)??t;for(;r!==e&&r.parentNode;)r=r.parentNode;if(r===e)return e;let n=r.nodeType;return n===9||n===11?r:t.ownerDocument||r}function jt(t){let e=t.nodeType;return e===2||e===13}function M(t){return jt(t)?t.ownerElement:t.parentNode}function Rn(t){return jt(t)?t.ownerElement:t}function vn(t){let e=t.nodeType;return e===13?1:e===2?2:0}function In(t,e){return e===0?t:t.ownerElement??t}function Xn(t,e,r){let n=vn(t),s=vn(e);if(n===0&&s===0)return r(t,e);let i=In(t,n),o=In(e,s);return i!==o?r(i,o):n!==s?n-s:n===1?t.index-e.index:r(t,e)}function Un(t,e){let r=t.compareDocumentPosition(e);return r&4?-1:r&2?1:0}function Je(t){let e=t.compareDocumentPosition;return typeof e=="function"&&Function.prototype.toString.call(e).includes("[native code]")}function wa(t){let e=t;for(;e.parentNode;)e=e.parentNode;return e}var kn=2**30,ge=class{constructor(){this.positions=new WeakMap,this.attributeIndexes=new WeakMap,this.nextPosition=0}positionOf(e){let r=this.positions.get(e);return r===void 0&&(this.numberTree(wa(e)),r=this.positions.get(e)),r??this.assign(e)}assign(e){let r=this.nextPosition++;return this.positions.set(e,r),r}numberTree(e){let r=e;for(;;){if(this.assign(r),r.firstChild){r=r.firstChild;continue}for(;r!==e&&!r.nextSibling;)r=r.parentNode;if(r===e)return;r=r.nextSibling}}attributeIndexOf(e){let r=this.attributeIndexes.get(e);if(r===void 0){let n=e.ownerElement.attributes;for(let s=0;s<n.length;s++)this.attributeIndexes.set(n[s],s);r=this.attributeIndexes.get(e)??0}return r}keyOf(e){if(e.nodeType===13){let r=this.positionOf(e.ownerElement);return{node:e,major:r,minor:1+e.index}}if(e.nodeType===2&&e.ownerElement){let r=this.positionOf(e.ownerElement);return{node:e,major:r,minor:kn}}return{node:e,major:this.positionOf(e),minor:0}}compareKeys(e,r){let n=e.major-r.major||e.minor-r.minor;return n!==0||e.minor!==kn?n:this.attributeIndexOf(e.node)-this.attributeIndexOf(r.node)}sort(e){let r=e.map(n=>this.keyOf(n));r.sort((n,s)=>this.compareKeys(n,s));for(let n=0;n<r.length;n++)e[n]=r[n].node;return e}};var Fn=/[ \t\r\n]+/g;function $n(t){return t===" "||t===" "||t==="\r"||t===`
|
|
2
|
+
`}function et(t){let e=0,r=t.length;for(;e<r&&$n(t[e]);)e++;for(;r>e&&$n(t[r-1]);)r--;return t.slice(e,r)}var Da=/^-?(?:\d+(?:\.\d*)?|\.\d+)$/,Vn=/[\uD800-\uDFFF]/;function Bn(t){return et(t).replace(Fn," ")}function Hn(t){return t.split(Fn).filter(e=>e!=="")}function tt(t){let e=et(t);return Da.test(e)?Number(e):Number.NaN}function zn(t){if(Number.isNaN(t))return"NaN";if(t===1/0)return"Infinity";if(t===-1/0)return"-Infinity";if(t===0)return"0";let e=String(t),r=e.indexOf("e");if(r===-1)return e;let n=t<0?"-":"",s=Number(e.substring(r+1)),i=e.substring(n.length,r).replace(".","");return s<0?`${n}0.${"0".repeat(-s-1)}${i}`:n+i+"0".repeat(s+1-i.length)}function Yn(t){return Vn.test(t)?Array.from(t).length:t.length}function Wn(t,e,r){let n=Math.round(e),s=r===void 0?1/0:n+Math.round(r),i=Math.max(n,1);if(Number.isNaN(s)||Number.isNaN(i)||s<=i)return"";let o=Vn.test(t)?Array.from(t):null;return o===null?t.slice(i-1,s-1):o.slice(i-1,s-1).join("")}function Gn(t,e,r){let n=Array.from(e),s=Array.from(r),i="";for(let o of t){let a=n.indexOf(o);a===-1?i+=o:a<s.length&&(i+=s[a])}return i}var jn="xml:lang";function qt(t){let e=t.nodeType;return e===1||e===2}function qn(t){let e=t.nodeType;return e===7||e===13}function La(t){return t.nodeType===1?t:M(t)}function Kn(t){let e=(n,s,i)=>{let o=t.evaluate(s,i);if(Array.isArray(o))return o;if(o?.nodeType)return[o];throw new TypeError(`${n}() expects a node-set`)},r=(n,s,i)=>s.length===0?i.node:e(n,s[0],i)[0];return{count:(n,s)=>e("count",n[0],s).length,id:(n,s)=>{let i=t.evaluate(n[0],s),o=Array.isArray(i)?i.map(u=>t.getStringValue(u)):[t.toString(i)],a=s.node.ownerDocument||s.node,c=new Set;for(let u of o)for(let f of Hn(u)){let p=a.getElementById(f);p&&c.add(p)}return t.sortByDocumentOrder([...c])},"local-name":(n,s)=>{let i=r("local-name",n,s);return i?qt(i)?i.localName:qn(i)?i.nodeName:"":""},"namespace-uri":(n,s)=>{let i=r("namespace-uri",n,s);return i&&qt(i)&&i.namespaceURI||""},name:(n,s)=>{let i=r("name",n,s);return i&&(qt(i)||qn(i))?i.nodeName:""},sum:(n,s)=>e("sum",n[0],s).reduce((i,o)=>i+t.toNumber(t.getStringValue(o)),0),lang:(n,s)=>{let o=t.toString(t.evaluate(n[0],s)).toLowerCase();for(let a=La(s.node);a?.nodeType===1;a=a.parentNode)if(a.hasAttribute(jn)){let c=a.getAttribute(jn).toLowerCase();return c===o||c.startsWith(`${o}-`)}return!1}}}var Pa="http://www.w3.org/XML/1998/namespace";function rt(t,e){return t==="xml"?Pa:Object.hasOwn(e,t)?e[t]:null}function w(t,e){return`{${t}}${e}`}function Qn(t){return t.type===h.FUNCTION_CALL&&t.name==="position"&&!t.prefix&&t.args.length===0}function Ma(t,e){return e===null?!0:e==="attribute"?t===2:e==="namespace"?t===13:t===1}function Zn(t){return t.ownerDocument?.contentType==="text/html"}var Kt={ANY_TYPE:0,NUMBER_TYPE:1,STRING_TYPE:2,BOOLEAN_TYPE:3,UNORDERED_NODE_ITERATOR_TYPE:4,ORDERED_NODE_ITERATOR_TYPE:5,UNORDERED_NODE_SNAPSHOT_TYPE:6,ORDERED_NODE_SNAPSHOT_TYPE:7,ANY_UNORDERED_NODE_TYPE:8,FIRST_ORDERED_NODE_TYPE:9},Te={MAX_RECURSION_DEPTH:100,MAX_RESULT_SIZE:1e4,MAX_STRING_LENGTH:1e6},Jn=Object.freeze(["__proto__","constructor","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"]),_=class t{constructor(e,r=1,n=1,s={},i={},o=null){this.node=e,this.position=r,this.size=n,this.variables=s,this.namespaces=i,this.hostContext=o}clone(e={}){return new t(e.node??this.node,e.position??this.position,e.size??this.size,e.variables??this.variables,e.namespaces??this.namespaces,e.hostContext??this.hostContext)}},v=class{constructor(e={}){this.legacyNameTests=e.legacyNameTests===!0,this.resetNamespaceNodes(),this.resetDocumentOrder(),this.functions=Object.assign(Object.create(null),this.initCoreFunctions()),this.maxRecursionDepth=e.maxRecursionDepth??Te.MAX_RECURSION_DEPTH,this.maxResultSize=e.maxResultSize??Te.MAX_RESULT_SIZE,this.maxStringLength=e.maxStringLength??Te.MAX_STRING_LENGTH,this.recursionDepth=0}resetNamespaceNodes(){this.namespaceNodes=new WeakMap}evaluate(e,r){if(!e||typeof e!="object")throw new Error("Invalid AST: expected object");if(!e.type)throw new Error("Invalid AST: missing type property");if(this.recursionDepth===0&&this.ownsDocumentOrder&&this.resetDocumentOrder(),this.recursionDepth++,this.recursionDepth>this.maxRecursionDepth)throw this.recursionDepth=0,new Error(`Maximum recursion depth exceeded (${this.maxRecursionDepth})`);try{return this.evaluateInternal(e,r)}finally{this.recursionDepth--}}evaluateInternal(e,r){switch(e.type){case h.OR_EXPR:return this.evalOrExpr(e,r);case h.AND_EXPR:return this.evalAndExpr(e,r);case h.EQUALITY_EXPR:case h.RELATIONAL_EXPR:return this.evalComparisonExpr(e,r);case h.ADDITIVE_EXPR:return this.evalAdditiveExpr(e,r);case h.MULTIPLICATIVE_EXPR:return this.evalMultiplicativeExpr(e,r);case h.UNARY_EXPR:return this.evalUnaryExpr(e,r);case h.UNION_EXPR:return this.evalUnionExpr(e,r);case h.PATH_EXPR:return this.evalPathExpr(e,r);case h.LOCATION_PATH:return this.evalLocationPath(e,r);case h.VARIABLE_REF:return this.evalVariableRef(e,r);case h.LITERAL:return this.validateString(e.value);case h.NUMBER:return e.value;case h.FUNCTION_CALL:return this.evalFunctionCall(e,r);default:throw new Error(`Unknown AST node type: ${String(e.type)}`)}}validateString(e){if(typeof e=="string"&&e.length>this.maxStringLength)throw new Error(`String exceeds maximum length (${this.maxStringLength})`);return e}validateResultSize(e){if(Array.isArray(e)&&e.length>this.maxResultSize)throw new Error(`Result set exceeds maximum size (${this.maxResultSize})`);return e}evalOrExpr(e,r){return this.toBoolean(this.evaluate(e.left,r))||this.toBoolean(this.evaluate(e.right,r))}evalAndExpr(e,r){return this.toBoolean(this.evaluate(e.left,r))&&this.toBoolean(this.evaluate(e.right,r))}evalComparisonExpr(e,r){let n=this.evaluate(e.left,r),s=this.evaluate(e.right,r);return this.compareValues(n,s,e.operator)}evalAdditiveExpr(e,r){let n=this.toNumber(this.evaluate(e.left,r)),s=this.toNumber(this.evaluate(e.right,r));return e.operator==="+"?n+s:n-s}evalMultiplicativeExpr(e,r){let n=this.toNumber(this.evaluate(e.left,r)),s=this.toNumber(this.evaluate(e.right,r));switch(e.operator){case"*":return n*s;case"div":return n/s;case"mod":return n%s;default:throw new Error(`Unknown multiplicative operator: ${e.operator}`)}}evalUnaryExpr(e,r){return-this.toNumber(this.evaluate(e.operand,r))}evalUnionExpr(e,r){let n=this.evaluate(e.left,r),s=this.evaluate(e.right,r),i=Array.isArray(n)?n:[n],o=Array.isArray(s)?s:[s],a=new Set,c=[];for(let u of[...i,...o])a.has(u)||(a.add(u),c.push(u));return this.validateResultSize(c),this.sortByDocumentOrder(c)}evalPathExpr(e,r){if(e.filter){let n=this.evaluate(e.filter,r);if(e.predicates)for(let s of e.predicates)n=this.filterByPredicate(n,s,r);if(e.steps)for(let s of e.steps)n=this.evalStepOnNodes(s,n,r);return n}return[]}evalLocationPath(e,r){let n;e.absolute?n=[Ze(r.node)]:n=[r.node];for(let s of e.steps)n=this.evalStepOnNodes(s,n,r),this.validateResultSize(n);return n}evalStepOnNodes(e,r,n){let s=Array.isArray(r)?r:[r],i=xn.has(e.axis);if(s.length===1){let c=this.evalStep(e,n.clone({node:s[0]}));return this.validateResultSize(c),i?c.reverse():c}let o=new Set,a=[];for(let c of s){for(let u of this.evalStep(e,n.clone({node:c})))o.has(u)||(o.add(u),a.push(u));this.validateResultSize(a)}return this.sortByDocumentOrder(a)}evalStep(e,r){let{predicates:n}=e,s=this.positionalPredicate(e),i,o=0;s!==null&&Object.hasOwn(Gt,e.axis)?(i=this.nthOnAxis(e,r,s),o=1):i=this.getAxisNodes(e.axis,r.node).filter(a=>this.matchNodeTest(e.nodeTest,a,r,e.axis));for(let a=o;a<n.length;a++)i=this.filterByPredicate(i,n[a],r);return i}positionalPredicate(e){let r=e.predicates[0]?.expr;if(!r)return null;if(r.type===h.NUMBER)return r.value;if(r.type!==h.EQUALITY_EXPR||r.operator!=="=")return null;let{left:n,right:s}=r;return Qn(n)&&s.type===h.NUMBER?s.value:Qn(s)&&n.type===h.NUMBER?n.value:null}nthOnAxis(e,r,n){if(!Number.isInteger(n)||n<1)return[];let s=n,i=null;return Gt[e.axis](r.node,o=>!this.matchNodeTest(e.nodeTest,o,r,e.axis)||(s--,s>0)?!1:(i=o,!0)),i?[i]:[]}getAxisNodes(e,r){switch(e){case"child":return G(r);case"parent":{let n=M(r);return n?[n]:[]}case"self":return[r];case"descendant":return Yt(r,!1);case"descendant-or-self":return Yt(r,!0);case"ancestor":return Wt(r,!1);case"ancestor-or-self":return Wt(r,!0);case"following-sibling":return Dn(r);case"preceding-sibling":return Pn(r);case"following":return On(r);case"preceding":return Cn(r);case"attribute":return An(r);case"namespace":return gn(r,this.namespaceNodes);default:throw new Error(`Unknown axis: ${e}`)}}matchNodeTest(e,r,n,s=null){switch(e.type){case h.NAME_TEST:{let i=r.nodeType;return Ma(i,s)&&this.matchNameTest(e,r,n,i)}case h.NODE_TYPE_TEST:return this.matchNodeTypeTest(e.nodeType,r);case h.PI_TEST:return r.nodeType===7&&r.nodeName===e.name;default:return!1}}matchNameTest(e,r,n,s=r.nodeType){if(s===13)return Tn(e,r);if(s!==1&&s!==2)return!1;let{name:i,prefix:o}=e;if(!o)return this.matchUnprefixedName(i,r,s);let a=rt(o,n.namespaces);if(!a)throw new Error(`Undefined namespace prefix: ${o}`);return(r.namespaceURI||null)!==a?!1:i==="*"||(r.localName||r.nodeName)===i}matchUnprefixedName(e,r,n){if(e==="*")return!0;let s=r.localName||r.nodeName;return s!==e?n===1&&s.toLowerCase()===e.toLowerCase()&&Zn(r):this.legacyNameTests||r.namespaceURI===null?!0:n===1&&Zn(r)}matchNodeTypeTest(e,r){switch(e){case"node":return!0;case"text":return r.nodeType===3||r.nodeType===4;case"comment":return r.nodeType===8;case"processing-instruction":return r.nodeType===7;default:return!1}}filterByPredicate(e,r,n){let s=[],i=Array.isArray(e)?e:[e],o=i.length;for(let a=0;a<i.length;a++){let c=i[a],u=n.clone({node:c,position:a+1,size:o}),f=this.evaluate(r.expr,u);typeof f=="number"?f===a+1&&s.push(c):this.toBoolean(f)&&s.push(c)}return s}evalVariableRef(e,r){let n=e.prefix?`${e.prefix}:${e.name}`:e.name;if(Jn.includes(n)||Jn.includes(e.name))throw new Error(`Forbidden variable name: $${n}`);if(!Object.prototype.hasOwnProperty.call(r.variables,n))throw new Error(`Undefined variable: $${n}`);return r.variables[n]}registerFunctions(e){for(let[r,n]of Object.entries(e))this.functions[r]=n;return this}resolveFunction(e,r,n){if(!r)return this.getFunction(e);let s=rt(r,n);return(s===null?null:this.getFunction(w(s,e)))??this.getFunction(`${r}:${e}`)}hasFunction(e,r=null){let n=r?w(r,e):e;return this.getFunction(n)!==null}getFunction(e){return Object.hasOwn(this.functions,e)?this.functions[e]:null}evalFunctionCall(e,r){let n=this.resolveFunction(e.name,e.prefix,r.namespaces);if(!n){let s=e.prefix?`${e.prefix}:${e.name}`:e.name;throw new Error(`Unknown function: ${s}`)}return n.call(this,e.args,r)}toBoolean(e){return typeof e=="boolean"?e:typeof e=="number"?e!==0&&!isNaN(e):typeof e=="string"||Array.isArray(e)?e.length>0:e&&e.nodeType?!0:!!e}toNumber(e){return typeof e=="number"?e:typeof e=="boolean"?e?1:0:typeof e=="string"?tt(e):Array.isArray(e)?this.toNumber(this.toString(e)):e&&e.nodeType?this.toNumber(this.getStringValue(e)):NaN}toString(e){return typeof e=="string"?e:typeof e=="number"?zn(e):typeof e=="boolean"?e?"true":"false":Array.isArray(e)?e.length===0?"":this.getStringValue(e[0]):e&&e.nodeType?this.getStringValue(e):String(e)}getStringValue(e){if(!e)return"";switch(e.nodeType){case 1:case 9:case 11:{let r="",n=s=>{if(s.nodeType===3||s.nodeType===4)r+=s.nodeValue||"";else if(s.childNodes)for(let i of s.childNodes)n(i)};return n(e),r}case 3:case 4:{let r=e.nodeValue;for(let n=e.nextSibling;V(n);)r+=n.nodeValue,n=n.nextSibling;return r}case 2:case 7:case 8:case 13:return e.nodeValue||"";default:return""}}compareValues(e,r,n){let s=Array.isArray(e),i=Array.isArray(r);if(s&&typeof r=="boolean"||i&&typeof e=="boolean")return this.comparePrimitive(this.toBoolean(e),this.toBoolean(r),n);if(s&&i){for(let o of e)for(let a of r)if(this.comparePrimitive(this.getStringValue(o),this.getStringValue(a),n))return!0;return!1}if(s){for(let o of e)if(this.comparePrimitive(this.getStringValue(o),r,n))return!0;return!1}if(i){for(let o of r)if(this.comparePrimitive(e,this.getStringValue(o),n))return!0;return!1}return this.comparePrimitive(e,r,n)}comparePrimitive(e,r,n){if(n==="="||n==="!="){if(typeof e=="boolean"||typeof r=="boolean"){let a=this.toBoolean(e)===this.toBoolean(r);return n==="="?a:!a}if(typeof e=="number"||typeof r=="number"){let a=this.toNumber(e)===this.toNumber(r);return n==="="?a:!a}let o=this.toString(e)===this.toString(r);return n==="="?o:!o}let s=this.toNumber(e),i=this.toNumber(r);switch(n){case"<":return s<i;case"<=":return s<=i;case">":return s>i;case">=":return s>=i;default:throw new Error(`Unknown comparison operator: ${n}`)}}sortByDocumentOrder(e){return e.length<=1?e:(!this.documentOrder&&!Je(e[0])&&(this.documentOrder=new ge,this.ownsDocumentOrder=!0),this.documentOrder?this.documentOrder.sort(e):e.sort((r,n)=>r===n?0:Xn(r,n,Un)))}resetDocumentOrder(e=null){this.documentOrder=e,this.ownsDocumentOrder=!1}initCoreFunctions(){return{last:(e,r)=>r.size,position:(e,r)=>r.position,...Kn(this),string:(e,r)=>e.length===0?this.toString([r.node]):this.toString(this.evaluate(e[0],r)),concat:(e,r)=>e.map(n=>this.toString(this.evaluate(n,r))).join(""),"starts-with":(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toString(this.evaluate(e[1],r));return n.startsWith(s)},contains:(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toString(this.evaluate(e[1],r));return n.includes(s)},"substring-before":(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toString(this.evaluate(e[1],r)),i=n.indexOf(s);return i===-1?"":n.substring(0,i)},"substring-after":(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toString(this.evaluate(e[1],r)),i=n.indexOf(s);return i===-1?"":n.substring(i+s.length)},substring:(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toNumber(this.evaluate(e[1],r)),i=e.length>2?this.toNumber(this.evaluate(e[2],r)):void 0;return Wn(n,s,i)},"string-length":(e,r)=>{let n=e.length===0?this.toString([r.node]):this.toString(this.evaluate(e[0],r));return Yn(n)},"normalize-space":(e,r)=>{let n=e.length===0?this.toString([r.node]):this.toString(this.evaluate(e[0],r));return Bn(n)},translate:(e,r)=>{let n=this.toString(this.evaluate(e[0],r)),s=this.toString(this.evaluate(e[1],r)),i=this.toString(this.evaluate(e[2],r));return Gn(n,s,i)},boolean:(e,r)=>this.toBoolean(this.evaluate(e[0],r)),not:(e,r)=>!this.toBoolean(this.evaluate(e[0],r)),true:()=>!0,false:()=>!1,number:(e,r)=>e.length===0?this.toNumber([r.node]):this.toNumber(this.evaluate(e[0],r)),floor:(e,r)=>Math.floor(this.toNumber(this.evaluate(e[0],r))),ceiling:(e,r)=>Math.ceil(this.toNumber(this.evaluate(e[0],r))),round:(e,r)=>{let n=this.toNumber(this.evaluate(e[0],r));return isNaN(n)?NaN:n===-.5?-0:Math.round(n)}}}};var y="http://www.w3.org/1999/XSL/Transform",es=Object.freeze(["apply-imports","apply-templates","attribute","call-template","choose","comment","copy","copy-of","element","fallback","for-each","if","message","number","otherwise","param","processing-instruction","sort","text","value-of","variable","when","with-param"]),Oa=new Set(es);function Qt(t){return Oa.has(t)}var Pe=Object.freeze({decimalSeparator:".",groupingSeparator:",",percent:"%",perMille:"\u2030",zeroDigit:"0",digit:"#",patternSeparator:";",infinity:"Infinity",nan:"NaN",minusSign:"-"});function _a(t,e){let r=t.indexOf(e.patternSeparator);return r===-1?{positive:t,negative:null}:{positive:t.substring(0,r),negative:t.substring(r+e.patternSeparator.length)}}function ts(t,e){let r=new Set([e.digit,e.zeroDigit,e.groupingSeparator,e.decimalSeparator]),n=0;for(;n<t.length&&!r.has(t[n]);)n++;let s=n;for(;s<t.length&&r.has(t[s]);)s++;let i=t.substring(0,n),o=t.substring(n,s),a=t.substring(s),c=o.indexOf(e.decimalSeparator),u=c===-1?o:o.substring(0,c),f=c===-1?"":o.substring(c+1),p=u.lastIndexOf(e.groupingSeparator),m=i+a,g=1;return m.includes(e.percent)?g=100:m.includes(e.perMille)&&(g=1e3),{prefix:i,suffix:a,multiplier:g,minInteger:Zt(u,e.zeroDigit),integerHash:Zt(u,e.digit),hasDecimal:c!==-1,minFraction:Zt(f,e.zeroDigit),maxFraction:Math.min(f.length,100),groupingSize:p===-1?0:u.length-p-1}}function Zt(t,e){let r=0;for(let n of t)n===e&&r++;return r}function Ca(t,e,r){if(e<=0||t.length<=e)return t;let n="";for(let s=0;s<t.length;s++){let i=t.length-s;s>0&&i%e===0&&(n+=r),n+=t[s]}return n}function Ra(t,e){let r=e.codePointAt(0)-48;return r===0?t:t.replaceAll(/\d/g,n=>String.fromCodePoint(n.codePointAt(0)+r))}function va(t,e,r){let s=e.minInteger+e.integerHash+e.minFraction===0&&e.maxFraction>0?1:e.minFraction,i=t.toFixed(e.maxFraction),[o,a=""]=i.split("."),c=a;for(;c.length>s&&c.endsWith("0");)c=c.slice(0,-1);let u=(o==="0"?"":o).padStart(e.minInteger,"0");u===""&&e.minInteger+s===0&&(u="0"),u=Ca(u,e.groupingSize,r.groupingSeparator);let f=u;return c.length>0?f+=r.decimalSeparator+c:e.maxFraction===0&&e.hasDecimal&&(f+=r.decimalSeparator),Ra(f,r.zeroDigit)}function Jt(t,e,r=Pe){let n={...Pe,...r};if(typeof t!="number"||Number.isNaN(t))return n.nan;let s=_a(e,n),i=ts(s.positive,n),o=t<0,a=i,c=i.prefix,u=i.suffix;o&&(s.negative!==null?(a=ts(s.negative,n),c=a.prefix,u=a.suffix):c=n.minusSign+i.prefix);let f=Math.abs(t)*a.multiplier,p=Number.isFinite(f)?va(f,a,n):n.infinity;return c+p+u}var Me="http://exslt.org/common",er="http://exslt.org/math",tr="http://exslt.org/sets",rr="http://exslt.org/strings",nr="http://exslt.org/dates-and-times",sr="http://exslt.org/dynamic";function x(t,e,r,n=r){if(e.length<r||e.length>n){let s=r===n?`${r}`:`${r} to ${n}`;throw new Error(`${t}() expects ${s} argument(s), got ${e.length}`)}}function rs(t){return Array.isArray(t)||!!t?.nodeType}function B(t,e){if(Array.isArray(e))return e;if(e?.nodeType)return[e];throw new TypeError(`${t}() expects a node-set`)}function nt(t,e){return t.sortByDocumentOrder([...new Set(e)])}function ir(t){return(t.node.ownerDocument||t.node).createDocumentFragment()}function se(t){return Array.from(t)}var Ia=11;function ka(t){if(typeof t=="string")return"string";if(typeof t=="number")return"number";if(typeof t=="boolean")return"boolean";if(t?.nodeType===Ia)return"RTF";if(Array.isArray(t)||t?.nodeType)return"node-set";throw new TypeError("exsl:object-type() invalid argument")}function ns(t){return{[w(Me,"object-type")]:(e,r)=>(x("exsl:object-type",e,1),ka(t.evaluate(e[0],r)))}}var E=Object.freeze({TIME:1,GDAY:2,GMONTH:4,GMONTHDAY:6,GYEAR:8,GYEARMONTH:12,DATE:14,DATETIME:15}),D=86400,Xa=[31,28,31,30,31,30,31,31,30,31,30,31];function ss(t,e){return(t%e+e)%e}function or(t){return ss(t,4)===0&&(t%25!==0||ss(t,16)===0)}function ie(t,e){return e===2&&or(t)?29:Xa[e-1]}function X(t,e,r){let n=t;for(let s=1;s<e;s++)n+=ie(r,s);return n}function xe(t){return t.hour<=23&&t.min<=59&&t.sec>=0&&t.sec<60&&t.tzo>-1440&&t.tzo<1440}function st(t){return t.mon>=1&&t.mon<=12&&t.day<=ie(t.year,t.mon)}function oe(t){return{type:t,year:0,mon:1,day:1,hour:0,min:0,sec:0,tzFlag:!1,tzo:0}}var Ua=Number.MAX_SAFE_INTEGER,ot=class{constructor(e){this.text=e,this.at=0}get char(){return this.text.charAt(this.at)}get isDigit(){let e=this.char;return e>="0"&&e<="9"}twoDigits(e){let r=this.text.substring(this.at,this.at+2);if(this.at+=2,!/^\d\d$/.test(r))return null;let n=Number(r);return e(n)?n:null}},H=(t,e)=>r=>r>=t&&r<=e;function os(t,e){let r=e.char;if(r==="")return t.tzFlag=!1,t.tzo=0,!0;if(r==="Z")return t.tzFlag=!0,t.tzo=0,e.at++,!0;if(r!=="+"&&r!=="-")return!1;let n=new ot(e.text);n.at=e.at+1;let s=n.twoDigits(H(0,23));if(s===null||n.char!==":")return!1;n.at++,t.tzo=s*60;let i=n.twoDigits(H(0,59));return i===null?!1:(t.tzo=(t.tzo+i)*(r==="-"?-1:1),e.at=n.at,!0)}function is(t,e){let r=e.twoDigits(H(0,23));if(r===null||e.char!==":")return!1;e.at++,t.hour=r;let n=e.twoDigits(H(0,59));if(n===null||(t.min=n,e.char!==":"))return!1;e.at++;let s=e.twoDigits(()=>!0);if(s===null)return!1;let i=s;if(e.char==="."){if(e.at++,!e.isDigit)return!1;let o=1;for(;e.isDigit;)o/=10,i+=Number(e.char)*o,e.at++}return t.sec=i,xe(t)}function $a(t,e){let r=/^(-?)(\d+)/.exec(e.text.substring(e.at));if(!r)return!1;let n=r[2];if(n.length<4||n.length>4&&n[0]==="0")return!1;let i=Number(n);return i===0||i>=Ua/10?!1:(t.year=r[1]?1-i:i,e.at+=r[0].length,!0)}var I=Object.freeze({TYPED:"typed",NONE:"none",INVALID:"invalid"});function it(t,e,r){return!["","Z","+","-"].includes(e.char)||!os(t,e)?I.NONE:e.at!==e.text.length?I.INVALID:(t.type=r,I.TYPED)}function ar(t,e,r){return it(t,e,r)===I.TYPED?t:null}function Fa(t,e){return e.char==="-"?(e.at++,t.day=e.twoDigits(H(1,31)),t.day===null?null:ar(t,e,E.GDAY)):(t.mon=e.twoDigits(H(1,12)),t.mon===null||e.char!=="-"?null:(e.at++,e.char==="-"?(e.at++,ar(t,e,E.GMONTH)):(t.day=e.twoDigits(H(1,31)),t.day===null?null:ar(t,e,E.GMONTHDAY))))}var Va=[[E.GYEAR,(t,e)=>(t.mon=e.twoDigits(H(1,12)),t.mon!==null)],[E.GYEARMONTH,(t,e)=>(t.day=e.twoDigits(H(1,31)),t.day!==null&&st(t))]];function ae(t){let e=oe(0),r=new ot(t);if(t.startsWith("--"))return r.at=2,Fa(e,r);if(r.isDigit&&is(e,r)){let s=it(e,r,E.TIME);if(s!==I.NONE)return s===I.TYPED?e:null}if(r.at=0,!$a(e,r))return null;for(let[s,i]of Va){let o=it(e,r,s);if(o!==I.NONE)return o===I.TYPED?e:null;if(r.char!=="-"||(r.at++,!i(e,r)))return null}let n=it(e,r,E.DATE);return n!==I.NONE?n===I.TYPED?e:null:r.char!=="T"||(r.at++,!is(e,r)||!os(e,r))||r.at!==t.length||!xe(e)?null:(e.type=E.DATETIME,e)}var cr="YMDHMS",at=3,Ba=5,Ha=[0,0,0,3600,60,1];function Ne(){return{mon:0,day:0,sec:0}}function za(t,e){let[r,n,s,i]=/^(\d*)(\.?)(\d*)/.exec(t.substring(e)),o=0,a=1;for(let c of s?i:"")a/=10,o+=Number(c)*a;return{num:Number(n||"0"),fraction:o,hasDigits:n!==""||s!==""&&i!=="",hasFraction:s!=="",end:e+r.length}}function ce(t){let e=t.startsWith("-"),r=e?1:0;if(t.charAt(r)!=="P"||r+1===t.length)return null;r++;let n=Ne(),s=0,i=0,o=0;for(;r<t.length;){if(s>=cr.length)return null;if(t.charAt(r)==="T"){if(s>at)return null;r++,s=at}else if(s===at)return null;let a=za(t,r);for(r=a.end;t.charAt(r)!==cr[s];)if(s++,s===at||s===cr.length)return null;if(r++,!a.hasDigits||a.hasFraction&&s!==Ba||!Number.isSafeInteger(a.num))return null;if(o+=a.fraction,s===0)n.mon=a.num*12;else if(s===1)n.mon+=a.num;else if(s===2)n.day=a.num;else{let c=a.num*Ha[s];n.day+=Math.floor(c/D),i+=c%D}s++}return n.day+=Math.floor(i/D),n.sec=i%D+o,e&&(n.mon=0-n.mon,n.day=0-n.day,n.sec!==0&&(n.sec=D-n.sec,n.day-=1)),n}function ur(t){return t<=0?"":`.${String(t).padStart(9,"0").replace(/0+$/,"")}`}function Oe(t){if(t.sec===0&&t.day===0&&t.mon===0)return"P0D";let{sec:e,day:r,mon:n}=t,s="";r<0&&(e!==0&&(e=D-e,r+=1),r=-r,s="-"),n<0&&(n=-n,s="-");let i=`${s}P`,o=Math.trunc(n/12);n-=o*12,o>0&&(i+=`${o}Y`),n!==0&&(i+=`${n}M`),r!==0&&(i+=`${r}D`);let a=Math.floor(e),c=Math.floor((e-a)*1e9+.5);if(c>=1e9&&(c-=1e9,a+=1),a===0&&c===0)return i;i+="T";let u=Math.floor(a/3600),f=Math.floor(a%3600/60);return a%=60,u>0&&(i+=`${u}H`),f>0&&(i+=`${f}M`),(a>0||c>0)&&(i+=`${a}${ur(c)}S`),i}function lr(t,e){let r={mon:t.mon+e.mon,day:t.day+e.day,sec:t.sec+e.sec};return r.sec>=D&&(r.sec-=D,r.day+=1),r.day>=0?(r.day>0||r.sec>0)&&r.mon<0?null:r:r.mon>0?null:r}var as=146097,Ya=400,U=Math.trunc;function ct(t){return U(t/4)-U(t/100)+U(t/400)}function cs(t){let e=X(0,t.mon,t.year);return t.year<=0?(t.year-1)*365+ct(t.year)+e-1:(t.year-1)*365+ct(t.year-1)+e}function us(t){return t.hour*3600+t.min*60+t.sec}function lt(t,e){if(e<=0){let r=(e%7-2+ct(e)+t)%7;return r<0?r+7:r}return(e%7-1+ct(e-1)+t)%7}function ps(t){let e=X(t.day,t.mon,t.year),r=(lt(e,t.year)+6)%7;if(e+=3-r,e<1){let n=t.year-1;n===0&&n--,e+=X(31,12,n)}else e>X(31,12,t.year)&&(e-=X(31,12,t.year));return U((e-1)/7)+1}function hs(t){let e=(lt(X(1,t.mon,t.year),t.year)+6)%7;return U((t.day+e-1)/7)+1}function ls(t,e){(e&E.TIME)!==E.TIME&&(t.hour=0,t.min=0,t.sec=0),(e&E.GDAY)!==E.GDAY&&(t.day=1),(e&E.GMONTH)!==E.GMONTH&&(t.mon=1),(e&E.GYEAR)!==E.GYEAR&&(t.year=0),t.type=e}function ut(t){return t.type>=E.GYEAR&&t.type<=E.DATETIME}function pr(t,e,r){if(!ut(t)||!ut(e))return null;t.type<e.type?ls(e,t.type):t.type>e.type&&ls(t,e.type);let n=Ne();if(t.type<=E.GYEARMONTH&&!r)return n.mon=(e.year-t.year)*12+(e.mon-t.mon),n;let s=us(e)-us(t)+(t.tzo-e.tzo)*60,i=Math.floor(s/D);return n.sec=s-i*D,n.day=cs(e)-cs(t)+e.day-t.day+i,n}function fs(t,e){let r=oe(t.type),n=t.mon+e.mon%12,s=U(e.mon/12);n<1?(n+=12,s-=1):n>12&&(n-=12,s+=1),r.mon=n,s+=U(e.day/as)*Ya,r.year=t.year+s,r.tzo=t.tzo,r.tzFlag=t.tzFlag;let i=t.sec+e.sec;r.sec=i%60,s=U(i/60),r.min=t.min+s%60,s=U(s/60),r.min>=60&&(r.min-=60,s+=1),r.hour=t.hour+s%24,s=U(s/24),r.hour>=24&&(r.hour-=24,s+=1);let o=Math.min(Math.max(t.day,1),ie(r.year,r.mon));for(o+=e.day%as+s;o<1||o>ie(r.year,r.mon);)o<1?(r.mon-=1,r.mon<1&&(r.mon=12,r.year-=1),o+=ie(r.year,r.mon)):(o-=ie(r.year,r.mon),r.mon+=1,r.mon>12&&(r.mon=1,r.year+=1));return r.day=o,r.type!==E.DATETIME&&(r.hour||r.min||r.sec?r.type=E.DATETIME:r.type!==E.DATE&&(r.day!==1?r.type=E.DATE:r.type!==E.GYEARMONTH&&r.mon!==1&&(r.type=E.GYEARMONTH))),r}function hr(t){let e=typeof t=="string"?ae(t):t;if(e!==null){if(e.type<E.GYEAR)return Number.NaN;let n=oe(E.DATETIME);n.year=1970,n.tzFlag=!0;let s=pr(n,e,!0);return s.day*D+s.sec}let r=ce(t);return r!==null&&r.mon===0?r.day*D+r.sec:Number.NaN}function j(t){return String(t).padStart(2,"0")}function fr(t){return(t<=0?"-":"")+String(t<=0?1-t:t).padStart(4,"0")}function ms(t){if(t===0)return"Z";let e=Math.abs(t);return`${t<0?"-":"+"}${j(Math.floor(e/60))}:${j(e%60)}`}function ds(t){let e=Math.floor(t.sec),r=Math.min(Math.floor((t.sec-e)*1e9+.5),999999999);return`${j(t.hour)}:${j(t.min)}:${j(e)}${ur(r)}`}function pt(t){return t.tzFlag||t.tzo!==0?ms(t.tzo):""}function Es(t){return`${fr(t.year)}-${j(t.mon)}-${j(t.day)}`}function gs(t){return st(t)&&xe(t)}function mr(t){return gs(t)?`${Es(t)}T${ds(t)}${ms(t.tzo)}`:null}function dr(t){return gs(t)?Es(t)+pt(t):null}function Er(t){return xe(t)?ds(t)+pt(t):null}function Ts(t){switch(t.type){case E.DATETIME:return mr(t);case E.DATE:return dr(t);case E.TIME:return Er(t);case E.GYEAR:return fr(t.year)+pt(t);case E.GYEARMONTH:return`${fr(t.year)}-${j(t.mon)}${pt(t)}`;default:return null}}var xs=["January","February","March","April","May","June","July","August","September","October","November","December"],Ns=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],{DATETIME:ye,DATE:ht,TIME:Wa,GYEAR:Ga,GYEARMONTH:ys,GMONTH:ja,GMONTHDAY:Ss,GDAY:qa}=E;function gr(){let t=Number.parseInt(globalThis.process?.env?.SOURCE_DATE_EPOCH??"",10);return Number.isNaN(t)?new Date:{getTime:()=>t*1e3,getTimezoneOffset:()=>0}}function ft(t){let e=-t.getTimezoneOffset(),r=new Date(t.getTime()+e*6e4),n=oe(ye);return n.year=r.getUTCFullYear(),n.mon=r.getUTCMonth()+1,n.day=r.getUTCDate(),n.hour=r.getUTCHours(),n.min=r.getUTCMinutes(),n.sec=r.getUTCSeconds(),n.tzo=e,n}function bs(t,e=gr){let r=(p,m)=>t.toString(t.evaluate(p,m)),n=p=>w(nr,p),s={},i=(p,m,g,N)=>{s[n(p)]=(b,R)=>{x(`date:${p}`,b,0,1);let De=b.length===0?ft(e()):ae(r(b[0],R));return De===null||!m.includes(De.type)?N:g(De)??N}},o=[ye,ht,ys,Ga],a=[ye,ht],c=[ye,Wa],u=[ye,ht,ys,ja,Ss],f=p=>lt(X(p.day,p.mon,p.year),p.year);return i("date",a,dr,""),i("time",c,Er,""),i("year",o,p=>p.year<=0?p.year-1:p.year,Number.NaN),i("leap-year",o,p=>or(p.year),Number.NaN),i("month-in-year",u,p=>p.mon,Number.NaN),i("month-name",u,p=>xs[p.mon-1],""),i("month-abbreviation",u,p=>xs[p.mon-1].substring(0,3),""),i("week-in-year",a,ps,Number.NaN),i("week-in-month",a,hs,Number.NaN),i("day-in-year",a,p=>X(p.day,p.mon,p.year),Number.NaN),i("day-in-month",[ye,ht,Ss,qa],p=>p.day,Number.NaN),i("day-of-week-in-month",a,p=>Math.trunc((p.day-1)/7)+1,Number.NaN),i("day-in-week",a,p=>f(p)+1,Number.NaN),i("day-name",a,p=>Ns[f(p)],""),i("day-abbreviation",a,p=>Ns[f(p)].substring(0,3),""),i("hour-in-day",c,p=>p.hour,Number.NaN),i("minute-in-hour",c,p=>p.min,Number.NaN),i("second-in-minute",c,p=>p.sec,Number.NaN),s[n("date-time")]=p=>(x("date:date-time",p,0),mr(ft(e()))??""),s[n("seconds")]=(p,m)=>(x("date:seconds",p,0,1),hr(p.length===0?ft(e()):r(p[0],m))),s[n("duration")]=(p,m)=>{x("date:duration",p,0,1);let g=p.length===0?hr(ft(e())):t.toNumber(r(p[0],m));if(!Number.isFinite(g))return"";let N=Ne();return N.day=Math.floor(g/D),N.sec=g-N.day*D,Oe(N)},s[n("add")]=(p,m)=>{x("date:add",p,2);let g=ae(r(p[0],m)),N=ce(r(p[1],m));return g===null||!ut(g)||N===null?"":Ts(fs(g,N))??""},s[n("add-duration")]=(p,m)=>{x("date:add-duration",p,2);let g=ce(r(p[0],m)),N=ce(r(p[1],m)),b=g===null||N===null?null:lr(g,N);return b===null?"":Oe(b)},s[n("difference")]=(p,m)=>{x("date:difference",p,2);let g=ae(r(p[0],m)),N=ae(r(p[1],m)),b=g===null||N===null?null:pr(g,N,!1);return b===null?"":Oe(b)},s[n("sum")]=(p,m)=>{x("date:sum",p,1);let g=B("date:sum",t.evaluate(p[0],m));if(g.length===0)return"";let N=Ne();for(let b of g){let R=ce(t.getStringValue(b));if(N=R===null?null:lr(N,R),N===null)return""}return Oe(N)},s}function As(t,e){let r=(n,s)=>{if(!e())throw new Error("dyn:evaluate() is disabled; set enableDynamicEvaluate on the engine to allow it");x("dyn:evaluate",n,1);let i=t.toString(t.evaluate(n[0],s));if(i==="")return[];let o;try{o=P(i)}catch{return[]}return t.evaluate(o,s)};return r.isAvailable=e,{[w(sr,"evaluate")]:r}}var ws=Object.freeze({PI:"3.1415926535897932384626433832795028841971693993751",E:"2.71828182845904523536028747135266249775724709369996",SQRRT2:"1.41421356237309504880168872420969807856967187537694",LN2:"0.69314718055994530941723212145817656807550013436025",LN10:"2.30258509299404568402",LOG2E:"1.4426950408889634074",SQRT1_2:"0.70710678118654752440"});function Ka(t,e){if(Number.isNaN(e)||e<1||!Object.hasOwn(ws,t))return Number.NaN;let r=ws[t];return tt(r.substring(0,Math.min(r.length,Math.trunc(e))))}function Qa(t,e){return Number.isNaN(t)||Number.isNaN(e)?Number.NaN:t===1||t===-1&&!Number.isFinite(e)?1:Math.pow(t,e)}function Ds(t,e){if(t.length===0||t.some(Number.isNaN))return[];let r=t[0],n=[];return t.forEach((s,i)=>{e(s,r)?(r=s,n=[i]):s===r&&n.push(i)}),n}var Za=Object.freeze({abs:Math.abs,sqrt:Math.sqrt,log:Math.log,sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,exp:Math.exp});function Ls(t,e={}){let r=e.random??Math.random,n=(p,m)=>t.toNumber(t.evaluate(p,m)),s=(p,m,g)=>{x(p,m,1);let N=nt(t,B(p,t.evaluate(m[0],g))),b=N.map(R=>t.toNumber(t.getStringValue(R)));return{nodes:N,values:b}},i=(p,m)=>(g,N)=>{let{values:b}=s(p,g,N),R=Ds(b,m);return R.length===0?Number.NaN:b[R[0]]},o=(p,m)=>(g,N)=>{let{nodes:b,values:R}=s(p,g,N);return Ds(R,m).map(De=>b[De])},a=(p,m)=>p<m,c=(p,m)=>p>m,u=p=>w(er,p),f={[u("min")]:i("math:min",a),[u("max")]:i("math:max",c),[u("lowest")]:o("math:lowest",a),[u("highest")]:o("math:highest",c),[u("constant")]:(p,m)=>{x("math:constant",p,2);let g=t.toString(t.evaluate(p[0],m));return Ka(g,n(p[1],m))},[u("random")]:p=>(x("math:random",p,0),r()),[u("power")]:(p,m)=>(x("math:power",p,2),Qa(n(p[0],m),n(p[1],m))),[u("atan2")]:(p,m)=>(x("math:atan2",p,2),Math.atan2(n(p[0],m),n(p[1],m)))};for(let[p,m]of Object.entries(Za))f[u(p)]=(g,N)=>(x(`math:${p}`,g,1),m(n(g[0],N)));return f}function Ps(t){let e=(s,i,o,a)=>(x(s,i,a),i.map(c=>nt(t,B(s,t.evaluate(c,o))))),r=(s,i)=>(o,a)=>{let[c,u]=e(s,o,a,2);if(u.length===0)return c;let f=c.indexOf(u[0]);return f===-1?[]:i?c.slice(0,f):c.slice(f+1)},n=s=>w(tr,s);return{[n("difference")]:(s,i)=>{let[o,a]=e("set:difference",s,i,2),c=new Set(a);return o.filter(u=>!c.has(u))},[n("intersection")]:(s,i)=>{let[o,a]=e("set:intersection",s,i,2),c=new Set(a);return o.filter(u=>c.has(u))},[n("distinct")]:(s,i)=>{let[o]=e("set:distinct",s,i,1),a=new Set;return o.filter(c=>{let u=t.getStringValue(c);return a.has(u)?!1:(a.add(u),!0)})},[n("has-same-node")]:(s,i)=>{let[o,a]=e("set:has-same-node",s,i,2),c=new Set(a);return o.some(u=>c.has(u))},[n("leading")]:r("set:leading",!0),[n("trailing")]:r("set:trailing",!1)}}var Os=` \r
|
|
3
|
+
`,Ja=1e5;function _s(t,e){let r=se(t);if(e==="")return r;let n=new Set(se(e)),s=[],i="";for(let o of r)n.has(o)?i!==""&&(s.push(i),i=""):i+=o;return i!==""&&s.push(i),s}function Ms(t){return t.replace(/[A-Z]/g,e=>e.toLowerCase())}function Cs(t,e){if(e==="")return se(t);let r=Ms(t),n=Ms(e),s=[],i=0,o=r.indexOf(n);for(;o!==-1;)o>i&&s.push(t.substring(i,o)),i=o+n.length,o=r.indexOf(n,i);return i<t.length&&s.push(t.substring(i)),s}function Rs(t,e){if(Number.isNaN(t)||t<1)return"";let r=Math.min(Math.trunc(t),Ja),n=se(e===""?" ":e),s=Math.floor(r/n.length);return n.join("").repeat(s)+n.slice(0,r-s*n.length).join("")}function vs(t,e,r){let n=se(t),s=se(e);if(n.length>=s.length)return n.slice(0,s.length).join("");let i=s.length-n.length,o=0;return r==="right"?o=i:r==="center"&&(o=Math.floor(i/2)),s.slice(0,o).join("")+t+s.slice(o+n.length).join("")}function Is(t,e,r){let n=c=>r[c]??"",s=e.indexOf("");s!==-1&&n(s)===""&&(s=-1);let i="",o=0,a=0;for(;a<t.length;){let c=-1;e.forEach((u,f)=>{let p=c===-1||u.length>e[c].length;u!==""&&p&&t.startsWith(u,a)&&(c=f)}),c===-1?(s!==-1&&o<a&&(i+=t.substring(o,a)+n(s),o=a),a+=t.codePointAt(a)>65535?2:1):(i+=t.substring(o,a)+n(c),a+=e[c].length,o=a)}return i+t.substring(o)}var mt="UTF-8",ks="-_.!~*'()",ec=";/?:@&=+$,[]";function Xs(t){return/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/.test(t)}function tc(t){let e=t.codePointAt(0);return e<128?`%${e.toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(t)}function Us(t,e,r=mt){if(r!==mt||Xs(t))return"";let n=e?ks:ks+ec,s="";for(let i of t){let o=/^[A-Za-z0-9]$/.test(i)||n.includes(i);s+=o?i:tc(i)}return s}function $s(t,e=mt){if(e!==mt||Xs(t))return"";let r=t.replace(/%(?![0-9A-Fa-f]{2})|[^%]+/gu,n=>n==="%"?"%25":encodeURIComponent(n));try{let n=decodeURIComponent(r),s=n.indexOf("\0");return s===-1?n:n.substring(0,s)}catch{return""}}function Fs(t){let e=(a,c)=>t.evaluate(a,c),r=(a,c)=>t.toString(e(a,c)),n=(a,c,u,f)=>a.length>c?r(a[c],u):f,s=(a,c)=>{let u=ir(c),f=u.ownerDocument;return a.map(p=>{let m=f.createElementNS(null,"token");return m.appendChild(f.createTextNode(p)),u.appendChild(m)})},i=a=>rs(a)?B("str:replace",a).map(c=>t.getStringValue(c)):[t.toString(a)],o=a=>w(rr,a);return{[o("tokenize")]:(a,c)=>{x("str:tokenize",a,1,2);let u=n(a,1,c,Os);return s(_s(r(a[0],c),u),c)},[o("split")]:(a,c)=>{x("str:split",a,1,2);let u=n(a,1,c," ");return s(Cs(r(a[0],c),u),c)},[o("replace")]:(a,c)=>{x("str:replace",a,3);let u=r(a[0],c),f=i(e(a[1],c)),p=i(e(a[2],c)),m=ir(c),g=m.ownerDocument.createTextNode(Is(u,f,p));return[m.appendChild(g)]},[o("padding")]:(a,c)=>{x("str:padding",a,1,2);let u=t.toNumber(e(a[0],c));return Rs(u,n(a,1,c,""))},[o("align")]:(a,c)=>(x("str:align",a,2,3),vs(r(a[0],c),r(a[1],c),n(a,2,c,null))),[o("concat")]:(a,c)=>(x("str:concat",a,1),B("str:concat",e(a[0],c)).map(u=>t.getStringValue(u)).join("")),[o("encode-uri")]:(a,c)=>(x("str:encode-uri",a,2,3),Us(r(a[0],c),t.toBoolean(e(a[1],c)),n(a,2,c,void 0))),[o("decode-uri")]:(a,c)=>(x("str:decode-uri",a,1,2),$s(r(a[0],c),n(a,1,c,void 0)))}}function Vs(t){let e=t.xpathEvaluator,r=()=>typeof t.clock=="function"?t.clock():gr();return{...ns(e),...Ls(e),...Ps(e),...Fs(e),...bs(e,r),...As(e,()=>t.enableDynamicEvaluate===!0)}}var rc=Me,nc="urn:schemas-microsoft-com:xslt",zs="@tradik/xslt-processor",Ys="https://github.com/spagu/XSLT-Processor",Bs=Object.freeze({"xsl:version":"1","xsl:vendor":zs,"xsl:vendor-url":Ys});function sc(t){return t.ownerDocument||t}function Hs(t,e,r){return Array.isArray(r)?r.map(n=>t.getStringValue(n)):[e(r)]}function Tr(t){let e=t.indexOf(":");return e===-1?{prefix:null,localName:t}:{prefix:t.substring(0,e),localName:t.substring(e+1)}}function ic(t,e){let{prefix:r,localName:n}=Tr(t);if(r===null)return n;let s=rt(r,e.namespaces);if(!s)throw new Error(`format-number(): undeclared namespace prefix "${r}" in "${t}"`);return`{${s}}${n}`}function xr(t){let e=t.xpathEvaluator,r=e.toString.bind(e),n=(o,a)=>e.evaluate(o,a),s=(o,a)=>r(n(o,a)),i=(o,a)=>{let c=n(o[0],a);return Array.isArray(c)?c:c?.nodeType?[c]:[sc(a.node).createTextNode(r(c))]};return{...Vs(t),[w(rc,"node-set")]:i,[w(nc,"node-set")]:i,document:(o,a)=>{let c=o.length>1?s(o[1],a):t.baseUri,u=Hs(e,r,n(o[0],a)),f=[];for(let p of u){let m=t.loadDocument(p,c||t.baseUri);m&&!f.includes(m)&&f.push(m)}return f},key:(o,a)=>{let c=s(o[0],a),u=Hs(e,r,n(o[1],a));return t.keyRegistry.lookup(c,u,Ze(a.node))},"format-number":(o,a)=>{let c=e.toNumber(n(o[0],a)),u=s(o[1],a),f=o.length>2?ic(s(o[2],a),a):"",p=t.decimalFormats[f]||Pe;return Jt(c,u,p)},current:(o,a)=>{let c=a.hostContext?.currentNode;return c?[c]:[a.node]},"generate-id":(o,a)=>{let c=a.node;if(o.length>0){let u=n(o[0],a);c=Array.isArray(u)?u[0]:u}return c?t.generateId(c):""},"system-property":(o,a)=>{let c=s(o[0],a);return Object.hasOwn(Bs,c)?Bs[c]:""},"function-available":(o,a)=>{let{prefix:c,localName:u}=Tr(s(o[0],a)),f=e.resolveFunction(u,c,a.namespaces);return f!==null&&f.isAvailable?.()!==!1},"element-available":(o,a)=>{let{prefix:c,localName:u}=Tr(s(o[0],a)),f=c?a.namespaces[c]??(c==="xsl"?y:null):a.namespaces[""]||null;return f?f===y?Qt(u):!!t.extensionElements?.has(`{${f}}${u}`):!1},"unparsed-entity-uri":()=>""}}var _e=class{constructor({keys:e,matchesPattern:r,evaluateUse:n}){this.keys=e,this.matchesPattern=r,this.evaluateUse=n,this.cache=new WeakMap}clear(){this.cache=new WeakMap}lookup(e,r,n){if(!Object.hasOwn(this.keys,e))throw new Error(`Undefined key: ${e}`);let{buckets:s,order:i}=this.getIndex(e,n),o=Array.isArray(r)?r:[r];if(o.length===1)return[...s.get(o[0])||[]];let a=new Set;for(let c of o)for(let u of s.get(c)||[])a.add(u);return[...a].sort((c,u)=>i.get(c)-i.get(u))}getIndex(e,r){let n=this.cache.get(r);n||(n=new Map,this.cache.set(r,n));let s=n.get(e);return s||(s=this.buildIndex(e,r),n.set(e,s)),s}buildIndex(e,r){let n=[this.keys[e]].flat(),s=new Map,i=new Map;for(let o of oc(r)){i.set(o,i.size);for(let a of n)if(this.matchesPattern(o,a.match,a))for(let c of this.evaluateUse(o,a.use,a)){let u=s.get(c);u?u[u.length-1]!==o&&u.push(o):s.set(c,[o])}}return{buckets:s,order:i}}};function*oc(t){let e=[t];for(;e.length>0;){let r=e.pop();if(yield r,r.nodeType===1&&r.attributes)for(let s of r.attributes)yield s;let n=r.childNodes;if(n)for(let s=n.length-1;s>=0;s--)e.push(n[s])}}function Nr(t,e){if(typeof t.lookupNamespaceURI=="function"){let s=t.lookupNamespaceURI(e);if(s)return s}let r=e?`xmlns:${e}`:"xmlns",n=t;for(;n?.nodeType===1;){let s=n.getAttribute(r);if(s)return s;n=n.parentNode}return null}var Ce=class{constructor(){this.byUri=new Map,this.noNamespaceAlias=null}add(e){let r=e.getAttribute("stylesheet-prefix"),n=e.getAttribute("result-prefix");if(!r||!n)return;let s=r==="#default",i=Nr(e,s?null:r);if(!i&&!s)return;let o=n==="#default",a=Nr(e,o?null:n),c={uri:a,prefix:o?null:n};i?this.byUri.set(i,c):a&&(this.noNamespaceAlias=c)}isEmpty(){return this.byUri.size===0&&this.noNamespaceAlias===null}isAliased(e){return this.byUri.has(e)}resolve(e,r){let n=e?this.byUri.get(e):void 0;return n?{namespaceUri:n.uri,qname:n.prefix?`${n.prefix}:${r}`:r}:null}resolveLiteral(e){let{localName:r}=e;if(!e.namespaceURI){let s=e.nodeType===1?this.noNamespaceAlias:null;return s?{namespaceUri:s.uri,qname:`${s.prefix}:${r}`}:null}let n=this.byUri.get(e.namespaceURI);return n?n.uri?{namespaceUri:n.uri,qname:e.prefix?`${e.prefix}:${r}`:r}:{namespaceUri:null,qname:r}:null}};function yr(t,e){return t.namespaceURI===e||t.name==="xmlns"||t.name.startsWith("xmlns:")?!1:!t.name.startsWith("xsl:")}function Sr(t,e,r){if(!t.attributes)return null;for(let n of t.attributes)if(n.namespaceURI===r&&(n.localName||n.name)===e||n.name===`xsl:${e}`)return n.value;return null}var js=Object.freeze({id:1,key:2}),ac=new Set(["position","last"]),dt=Symbol("root");function br(t){return Array.isArray(t)?t.some(br):!t||typeof t!="object"?!1:t.type===h.FUNCTION_CALL&&!t.prefix&&ac.has(t.name)?!0:Object.values(t).some(br)}function cc(t){return t.axis==="descendant-or-self"&&t.nodeTest.type===h.NODE_TYPE_TEST&&t.nodeTest.nodeType==="node"&&t.predicates.length===0}function Ar(t,e=[]){return t.type===h.UNION_EXPR?(Ar(t.left,e),Ar(t.right,e)):e.push(t),e}function Ws(t){return t?.type===h.FUNCTION_CALL&&!t.prefix&&Object.hasOwn(js,t.name)}function Gs(t){let e=js[t.name],r=t.args.every(n=>n.type===h.LITERAL);if(t.args.length!==e||!r){let n=e===1?"literal":"literals";throw new Error(`${t.name}() expects ${e} ${n} in a pattern (XSLT 1.0 section 5.2)`)}return t}function uc(t){let e,r;if(t.type===h.LOCATION_PATH)e=t.absolute?dt:null,r=t.steps;else if(Ws(t))e=Gs(t),r=[];else if(t.type===h.PATH_EXPR&&Ws(t.filter)&&!t.predicates)e=Gs(t.filter),r=t.steps;else throw new Error(`Unsupported pattern expression: ${t.type}`);let n=[],s=e?"/":null;for(let i of r){if(cc(i)){s="//";continue}if(i.axis!=="child"&&i.axis!=="attribute")throw new Error(`Axis not allowed in a pattern: ${i.axis}`);n.push({axis:i.axis,nodeTest:i.nodeTest,separator:s,predicates:i.predicates.map(o=>({expr:o.expr,positional:br(o.expr)}))}),s="/"}if(s==="//")throw new Error("Pattern cannot end with //");return{anchor:e,steps:n}}function qs(t){return Ar(P(t)).map(uc)}var lc="http://www.w3.org/2000/xmlns/",pc=Object.freeze({}),hc=Object.freeze({});function Ks(t){let e=t;for(let r=M(e);r;r=M(r))e=r;return e}function wr(t){return t!==null&&(t.nodeType===9||t.nodeType===11)}function Dr(t){return t.namespaceURI===lc||t.name==="xmlns"||t.name.startsWith("xmlns:")}var Et=class{constructor(e,r){this.host=e,this.namespaces=r??e?.namespaces??hc,this.variables=null}context(e,r,n){return this.variables||(this.variables=this.host?.xpathVariables??{...this.host?.variables,...this.host?.parameters}),new _(e,r,n,this.variables,this.namespaces,this.host)}testContext(e){return new _(e,1,1,pc,this.namespaces,this.host)}};var gt=class{constructor(e){this.evaluator=e,this.compiled=new Map,this.positions=new WeakMap,this.anchors=new WeakMap}reset(){this.positions=new WeakMap,this.anchors=new WeakMap}compile(e){let r=this.compiled.get(e);if(!r){try{r=qs(e)}catch(n){throw new Error(`Invalid pattern "${e}": ${n.message}`,{cause:n})}this.compiled.set(e,r)}return r}matches(e,r,n=null,s=void 0){let i=new Et(n,s);for(let o of this.compile(r))if(this.matchesAlternative(e,o,i))return!0;return!1}matchesAlternative(e,r,n){let{anchor:s,steps:i}=r;return i.length>0?this.matchesStep(e,r,i.length-1,n):s===dt?wr(e):this.anchorNodes(s,e,n).has(e)}matchesStep(e,r,n,s){let i=r.steps[n];if(!this.testStep(e,i,s))return!1;let o=M(e);if(i.separator===null)return!0;let a;if(n>0)a=c=>this.matchesStep(c,r,n-1,s);else if(r.anchor===dt)a=wr;else{let c=this.anchorNodes(r.anchor,e,s);a=u=>c.has(u)}if(i.separator==="/")return o!==null&&a(o);for(let c=o;c;c=M(c))if(a(c))return!0;return!1}testStep(e,r,n){let s=e.nodeType;if(r.axis==="attribute"){if(s!==2||Dr(e))return!1}else if(s===2||s===9||s===11||s===13)return!1;if(!this.evaluator.matchNodeTest(r.nodeTest,e,n.testContext(e)))return!1;for(let i=0;i<r.predicates.length;i++)if(!this.testPredicate(e,r,i,n))return!1;return!0}testPredicate(e,r,n,s){let i=r.predicates[n],o=1,a=1;i.positional&&({position:o,size:a}=this.siblingPosition(e,r,n,s));let c=this.evaluator.evaluate(i.expr,s.context(e,o,a));return typeof c!="number"?this.evaluator.toBoolean(c):(i.positional||(o=this.siblingPosition(e,r,n,s).position),c===o)}siblingPosition(e,r,n,s){let i=M(e);if(!i)return{position:1,size:1};let o=this.positions.get(i);o||(o=new Map,this.positions.set(i,o));let a=r.predicates[n],c=o.get(a);if(!c){let u=this.candidateSiblings(i,r,n,s),f=new Map;u.forEach((p,m)=>f.set(p,m+1)),c={index:f,size:u.length},o.set(a,c)}return{position:c.index.get(e)??0,size:c.size}}candidateSiblings(e,r,n,s){let o=(r.axis==="attribute"?Array.from(e.attributes||[]):G(e)).filter(c=>c.nodeType===2==(r.axis==="attribute")&&!(c.nodeType===2&&Dr(c))&&this.evaluator.matchNodeTest(r.nodeTest,c,s.testContext(c))),a=s.context(e,1,1);for(let c=0;c<n;c++)o=this.evaluator.filterByPredicate(o,r.predicates[c],a);return o}anchorNodes(e,r,n){let s=Ks(r),i=this.anchors.get(s);i||(i=new Map,this.anchors.set(s,i));let o=i.get(e);o||(o=new Map,i.set(e,o));let a=o.get(n.namespaces);return a||(a=this.evaluateAnchor(e,r,n),o.set(n.namespaces,a)),a}evaluateAnchor(e,r,n){let s=this.evaluator.evaluate(e,n.context(r,1,1));return new Set(Array.isArray(s)?s:[])}};function Qs(t,...e){for(let r of e){let n=Object.getOwnPropertyDescriptors(r);for(let[s,i]of Object.entries(n)){if(Object.hasOwn(t,s))throw new Error(`Engine method defined twice: ${s}`);Object.defineProperty(t,s,{...i,enumerable:!1})}}}var fc=[[65,90],[95,95],[97,122],[192,214],[216,246],[248,767],[880,893],[895,8191],[8204,8205],[8304,8591],[11264,12271],[12289,55295],[63744,64975],[65008,65533],[65536,983039]],mc=[[45,46],[48,57],[183,183],[768,879],[8255,8256]];function Zs(t,e){return e.some(([r,n])=>t>=r&&t<=n)}function dc(t){let e=!0;for(let r of t){let n=r.codePointAt(0);if(!(Zs(n,fc)||!e&&Zs(n,mc)))return!1;e=!1}return!e}function q(t){let e=t.split(":");return e.length<=2&&e.every(dc)}var $="http://www.w3.org/2000/xmlns/",Lr="http://www.w3.org/XML/1998/namespace",Ec=Object.freeze({}),gc=new Set([y]),Tc=new Set,Js=new WeakMap,xc=new WeakMap,Nc=new WeakMap,ei=new WeakMap;function yc(t){let e=t.name;return e==="xmlns"?"":e.startsWith("xmlns:")?e.slice(6):null}function S(t){if(t?.nodeType!==1)return Ec;let e=Js.get(t);if(e)return e;let r=S(t.parentNode),n=null;for(let s of t.attributes){let i=yc(s);i!==null&&(n??={},n[i]=s.value)}return e=n?Object.freeze({...r,...n}):r,Js.set(t,e),e}function Sc(t){return t?t.split(/[ \t\r\n]+/).filter(Boolean).map(e=>e==="#default"?"":e):[]}var bc=["exclude-result-prefixes","extension-element-prefixes"],Ac=["extension-element-prefixes"];function wc(t,e){let r=t.namespaceURI===y,n=s=>r?t.getAttribute(s):t.getAttributeNS(y,s);return e.flatMap(s=>Sc(n(s)).map(i=>({prefix:i,attribute:s})))}function Pr(t,e){if(t?.nodeType!==1)return e.base;let r=e.cache.get(t);if(r)return r;r=Pr(t.parentNode,e);let n=wc(t,e.attributes);if(n.length>0){let s=S(t);r=new Set(r);for(let{prefix:i,attribute:o}of n){let a=C(s,i);a?r.add(a):e.report&&console.warn(`XSLT: ${o}: undefined namespace prefix "${i||"#default"}" is ignored`)}}return e.cache.set(t,r),r}var Dc={attributes:bc,cache:xc,base:gc,report:!0},Lc={attributes:Ac,cache:Nc,base:Tc,report:!1};function ti(t){return Pr(t,Dc)}function ri(t){let e=t.namespaceURI;return e?(ti(t),Pr(t,Lc).has(e)):!1}function ni(t){let e=S(t),r=ti(t),n=ei.get(e);n||(n=new WeakMap,ei.set(e,n));let s=n.get(r);return s||(s=Object.entries(e).filter(([,i])=>i!==""&&!r.has(i)),n.set(r,s)),s}function C(t,e){return e==="xml"?Lr:Object.hasOwn(t,e)&&t[e]!==""?t[e]:null}var si=new WeakMap;function k(t){let e=t.indexOf(":");return e<0?{prefix:"",localName:t}:{prefix:t.slice(0,e),localName:t.slice(e+1)}}function oi(t,e,r){let{prefix:n,localName:s}=k(t);return e!==null?e?{namespaceUri:e,qname:t}:{namespaceUri:null,qname:s}:{namespaceUri:C(r,n),qname:t}}function ai(t,e,r){let{prefix:n,localName:s}=k(t);return e!==null?e?{namespaceUri:e,qname:t}:{namespaceUri:null,qname:s}:{namespaceUri:n?C(r,n):null,qname:t}}function ii(t,e,r){if(t.prefix===e&&t.namespaceURI!==r)return!1;for(let n of t.attributes)if(n.prefix===e&&n.namespaceURI!==r||n.namespaceURI===$&&n.localName===e&&n.value!==r)return!1;return!0}function Pc(t,e,r){if(r===Lr)return"xml";if(e&&!(e==="xmlns"||e==="xml")&&ii(t,e,r))return e;let s=1;for(;!ii(t,`ns_${s}`,r);)s++;return`ns_${s}`}function ci(t,e,r){let{prefix:n,localName:s}=k(e.qname);if(!e.namespaceUri){if(s==="xmlns")return;t.setAttribute(s,r);return}if(e.qname==="xmlns"||e.namespaceUri===$)return;let i=t.getAttributeNodeNS(e.namespaceUri,s);if(i){i.value=r;return}let o=Pc(t,n,e.namespaceUri);t.setAttributeNS(e.namespaceUri,`${o}:${s}`,r)}function ui(t,e,r,n){let s=ni(e);if(s.length===0||(si.set(t,s),si.get(r)===s))return;let i=r.nodeType===1?r:null;for(let[o,a]of s)n(a)||i?.lookupNamespaceURI(o||null)!==a&&((t.prefix??"")===o&&t.namespaceURI!==a||t.setAttributeNS($,o?`xmlns:${o}`:"xmlns",a))}function li(t,e){for(let r of t.attributes){if(r.namespaceURI!==$)continue;let n=r.prefix?r.localName:"";(e.prefix??"")===n&&e.namespaceURI!==r.value||e.setAttributeNS($,r.name,r.value)}}function pi(t,e,r,n){let s=[...r],i=new Set(s.map(o=>`{${o.namespaceUri}}${o.localName}`));for(let o of t.split(/[ \t\r\n]+/).filter(Boolean)){let{prefix:a,localName:c}=k(o),u=C(e,a);if(!q(o)||a&&!u){n(`xsl:output cdata-section-elements: "${o}" is not a QName with a declared prefix and is ignored`);continue}let f=`{${u}}${c}`;i.has(f)||(i.add(f),s.push({namespaceUri:u,localName:c}))}return s}var Mc=Object.freeze([["method","method"],["version","version"],["encoding","encoding"],["standalone","standalone"],["indent","indent"],["omit-xml-declaration","omitXmlDeclaration"],["doctype-public","doctypePublic"],["doctype-system","doctypeSystem"],["media-type","mediaType"]]);function hi(){return{method:null,version:"1.0",encoding:"UTF-8",standalone:null,indent:void 0,omitXmlDeclaration:"no",doctypePublic:null,doctypeSystem:null,mediaType:null,cdataSectionElements:[]}}var fi={processOutput(t){for(let[r,n]of Mc){let s=t.getAttribute(r);s&&(this.outputSettings[n]=s)}let e=t.getAttribute("cdata-section-elements");e&&(this.outputSettings.cdataSectionElements=pi(e,S(t),this.outputSettings.cdataSectionElements,r=>this.warnOnce(r)))}};var Oc=/^[a-zA-Z][a-zA-Z0-9+.-]*:/;function z(t,e){if(!t||!e||mi(t)||t.startsWith("/"))return t;let r=e.lastIndexOf("/");return(r>=0?e.substring(0,r+1):"")+t}function mi(t){return Oc.test(t)}function Re(t){if(typeof t!="string")return"";let e=t.indexOf("#");return e===-1?t:t.substring(0,e)}var _c="http://www.mozilla.org/newlayout/xml/parsererror.xml";function ve(t){if(!t?.getElementsByTagName)return null;let e=t.getElementsByTagName("parsererror");if(e.length>0)return e[0];let r=t.getElementsByTagNameNS?.(_c,"parsererror");return r?.length>0?r[0]:null}function K(t,e){if(t)return t;let r=globalThis.DOMParser??e?.defaultView?.DOMParser??null;return r?new r:null}function Q(t,e){if(!e)throw new Error("XML parsing not available in this environment: pass a domParser option or install a global DOMParser");let r;try{r=e.parseFromString(t,"application/xml")}catch(s){throw new Error(`XML parse error: ${s.message}`,{cause:s})}let n=ve(r);if(n)throw new Error(`XML parse error: ${n.textContent}`);return r}function di(t,e){return t.isXsltElement(e,"stylesheet")||t.isXsltElement(e,"transform")}var Ei={setStylesheetLoader(t){return this.stylesheetLoader=t??null,this},resolveUri(t,e){return z(t,e)},loadStylesheet(t,e){if(!this.stylesheetLoader)throw new Error(`Cannot load stylesheet "${t}": no stylesheetLoader configured. Use engine.setStylesheetLoader(fn) to provide a loader function.`);let r=this.resolveUri(t,e);return{document:this.stylesheetLoader(r,e),uri:r}},parseXmlString(t){return Q(t,K(this.domParser,this.stylesheetDoc))},importStylesheet(t,e){let r=this.stylesheetDoc===null;r&&(this.stylesheetDoc=t.ownerDocument||t,e&&(this.baseUri=e),this.baseUri&&this.stylesheetStack.push(this.baseUri));let n=t.documentElement||t;if(!di(this,n)){if(n.getAttribute&&n.getAttribute("xsl:version")){this.processLiteralResultStylesheet(n);return}throw new Error("Invalid XSLT stylesheet: root element must be xsl:stylesheet or xsl:transform")}this.processTopLevelElements(n,e||this.baseUri),r&&this.currentImportPrecedence++},processInclude(t,e){let r=this.currentImportPrecedence;this.loadStylesheetModule(t,e,"include"),this.currentImportPrecedence=r},processImport(t,e){this.loadStylesheetModule(t,e,"import"),this.currentImportPrecedence++},loadStylesheetModule(t,e,r){let n=t.getAttribute("href");if(!n)throw new Error(`xsl:${r} requires an href attribute`);let s=this.resolveUri(n,e);if(this.stylesheetStack.includes(s))throw new Error(`Circular stylesheet reference detected: ${s}`);this.stylesheetStack.push(s);try{let{document:i}=this.loadStylesheet(n,e),o=typeof i=="string"?this.parseXmlString(i):i;this.processIncludedStylesheet(o,s)}catch(i){throw new Error(`Failed to ${r} stylesheet "${n}": ${i.message}`,{cause:i})}finally{this.stylesheetStack.pop()}},processIncludedStylesheet(t,e){let r=t.documentElement||t;if(!di(this,r))throw new Error("Included/imported document is not a valid XSLT stylesheet");this.processTopLevelElements(r,e)}};function F(t){return t.nodeType!==1?null:t.namespaceURI===y?t.localName:t.nodeName.startsWith("xsl:")?t.nodeName.slice(4):null}function gi(t,e){for(let r=t.firstChild;r;r=r.nextSibling)r.nodeType===1&&(e(r),gi(r,e))}function Ie(t,e,r){try{t.compile(e)}catch(n){throw new Error(`${r}: ${n.message}`,{cause:n})}}function Mr(t,e){gi(e,r=>{if(F(r)==="number")for(let n of["count","from"]){let s=r.getAttribute(n);s&&Ie(t,s,`xsl:number ${n}`)}})}function Cc(t){let e=F(t)??t.nodeName;for(let r of["match","name"]){let n=t.getAttribute(r);if(n!==null)return`${e} ${r}="${n}"`}return e}function Ti(t,e,r){let n=e;for(let s=t.firstChild;s;s=s.nextSibling){if(s.nodeType!==1)continue;let i=F(s);if(Ti(s,n,r),i!=="variable"&&i!=="param")continue;let o=s.getAttribute("name");n.has(o)&&r(o),n=new Set(n).add(o)}}function ue(t,e){Ti(t,new Set,r=>e(`duplicate binding of variable $${r} in ${Cc(t)}; the later one is used (XSLT 1.0 section 11.5)`))}function xi(t,e,r){let{name:n,kind:s,precedence:i}=t,o=c=>!!c?.node&&c.importPrecedence===i;if(s==="variable"&&o(e.variable))throw new Error(`redefinition of global variable $${n} at the same import precedence (XSLT 1.0 section 11.4)`);if(!o(e.variable)&&!o(e.param))return;let a=s==="param"&&e.variable?"the xsl:variable":"the later one";r(`duplicate global binding of variable $${n} at the same import precedence; ${a} is used (XSLT 1.0 section 11.4)`)}function Ni(t){for(let e=t.firstChild;e;e=e.nextSibling)if((e.nodeType===3||e.nodeType===4)&&/[^ \t\r\n]/.test(e.nodeValue))throw new Error(`misplaced text at the top level of the stylesheet: "${e.nodeValue.trim()}" (XSLT 1.0 section 2.2)`)}var yi=new WeakMap;function Or(t){let e=F(t);return e==="stylesheet"||e==="transform"?t.getAttribute("version"):e!==null?null:t.getAttributeNS?.(y,"version")??null}function _r(t){if(t?.nodeType!==1)return!1;let e=yi.get(t);if(e===void 0){let r=Or(t);e=r===null||r===""?_r(t.parentNode):r.trim()!=="1.0",yi.set(t,e)}return e}function Si(t){let e=[];for(let r=t.firstChild;r;r=r.nextSibling)F(r)==="fallback"&&e.push(r);return e}var Rc=Object.freeze({template:"registerTemplate",output:"processOutput",variable:"processGlobalVariable",param:"processGlobalParam",key:"processKey","decimal-format":"processDecimalFormat","namespace-alias":"processNamespaceAlias","attribute-set":"processAttributeSet","strip-space":"processStripSpace","preserve-space":"processPreserveSpace",include:"processInclude"}),bi={processTopLevelElements(t,e){Ni(t),this.collectNamespaces(t);let r=[],n=[];for(let s of t.childNodes)s.nodeType===1&&(this.isXsltElement(s,"import")?r.push(s):n.push(s));for(let s of r)this.processImport(s,e);for(let s of n){if(!this.isXsltNamespace(s))continue;let i=Rc[s.localName];i?this[i](s,e):this.unknownTopLevelElement(s)}Mr(this.patternMatcher,t)},unknownTopLevelElement(t){_r(t)||this.warnOnce(`unknown top-level element xsl:${t.localName} is ignored`)},processLiteralResultStylesheet(t){this.collectNamespaces(t),Mr(this.patternMatcher,t),ue(t,e=>this.warnOnce(e)),this.templates.push({match:"/",name:null,mode:null,priority:.5,importPrecedence:this.currentImportPrecedence,namespaces:S(t),node:{firstChild:t,childNodes:[t]}})},collectNamespaces(t){if(t.attributes)for(let e of t.attributes){let r=null;e.name.startsWith("xmlns:")?r=e.name.substring(6):e.name==="xmlns"&&(r=""),r!==null&&e.value!==y&&(this.namespaces[r]??=e.value)}}};function Ai(t,e,r){let n=[];for(let s of(t??"").split(/[ \t\r\n]+/).filter(Boolean)){if(s==="*"){n.push({namespaceUri:void 0,localName:"*"});continue}let{prefix:i,localName:o}=k(s),a=o==="*"?`${i}:x`:s,c=i?C(S(e),i):null;if(!q(a)||i&&!c){r(`xsl:${e.localName} elements: "${s}" is not a name test with a declared prefix and is ignored`);continue}n.push({namespaceUri:c,localName:o})}return n}function Cr(t){return typeof t=="string"?t==="*"?-.5:t.endsWith(":*")?-.25:0:t.namespaceUri===void 0?-.5:t.localName==="*"?-.25:0}function vc(t,e){return e==="*"?!0:e.endsWith(":*")?t.nodeName.startsWith(`${e.slice(0,-2)}:`):t.nodeName===e||t.localName===e}function Rr(t,e){if(typeof e=="string")return vc(t,e);let{namespaceUri:r,localName:n}=e;return r===void 0?!0:(t.namespaceURI||null)!==r?!1:n==="*"||t.localName===n}var T={ELEMENT:1,TEXT:3,CDATA_SECTION:4,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_FRAGMENT:11},ke="http://www.w3.org/2000/xmlns/",wi="http://www.w3.org/XML/1998/namespace",L={ESCAPE:"escape",CDATA:"cdata",RAW:"raw"},Se="http://www.w3.org/1999/xhtml",Di=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Li=new Set(["action","href","src"]),Pi=new Set(["name"]),Mi=new Set(["script","style"]),Oi=new Set(["pre","script","style","textarea"]),_i=" ";function vr(t){return t===!0||String(t).toLowerCase()==="yes"}function Xe(t,e){return t?`{${t}}${e}`:e}function Ic(t){let e=typeof t=="string"?t.split(/\s+/):[t??[]].flat(),r=new Set,n=[];for(let s of e){if(typeof s!="string"){r.add(Xe(s.namespaceUri,s.localName));continue}let i=s.indexOf(":");i===-1?s&&r.add(s):n.push({prefix:s.slice(0,i),localName:s.slice(i+1)})}return{expanded:r,qnames:n}}function be(t){if(!t)return null;if(t.nodeType===T.ELEMENT)return t;for(let e of t.childNodes||[])if(e.nodeType===T.ELEMENT)return e;return null}var kc=/^[ \t\r\n]*$/;function Xc(t){for(let e=t.firstChild;e.nodeType!==T.ELEMENT;e=e.nextSibling)if((e.nodeType===T.TEXT||e.nodeType===T.CDATA_SECTION)&&!kc.test(e.nodeValue))return!0;return!1}function Ci(t){let e=be(t);return e&&!e.namespaceURI&&e.localName.toLowerCase()==="html"&&(e===t||!Xc(t))?"html":"xml"}function Y(t,e){let r=t||{},n=typeof r.method=="string"?r.method.trim():"",s=n&&n!=="auto"?n.toLowerCase():Ci(e),i=Ic(r.cdataSectionElements);return{method:s,version:r.version||"1.0",encoding:r.encoding||"UTF-8",standalone:r.standalone||null,indent:vr(r.indent),topLevelLineBreaks:r.indent==null||vr(r.indent),omitXmlDeclaration:vr(r.omitXmlDeclaration),doctypePublic:r.doctypePublic||null,doctypeSystem:r.doctypeSystem||null,mediaType:r.mediaType||null,cdataSectionElements:i.expanded,cdataSectionQNames:i.qnames}}function Ir(t,e){if(!q(t))return{error:`invalid QName "${t}"`};let{prefix:r,localName:n}=k(t);if(!r)return{key:n};let s=C(S(e),r);return s?{key:Xe(s,n)}:{error:`undeclared namespace prefix "${r}" in "${t}"`}}function le(t,e,r){let n=Ir(t,e);if(n.error)throw new Error(`${r}: ${n.error}`);return n.key}function Tt(t,e,r){return t?t.split(/[ \t\r\n]+/).filter(Boolean).map(n=>le(n,e,r)):[]}function Ri(t,e,r){let n=le(e.getAttribute("name")??"",e,"xsl:attribute-set name"),s=Tt(e.getAttribute("use-attribute-sets"),e,"xsl:attribute-set use-attribute-sets"),i=Object.hasOwn(t,n)?t[n]:[];i.push({node:e,uses:s,importPrecedence:r}),i.sort((o,a)=>o.importPrecedence-a.importPrecedence),t[n]=i}function kr(t,e,r,n=new Set){for(let s of e)if(Object.hasOwn(t,s)){if(n.has(s))throw new Error(`xsl:attribute-set ${s} uses itself (XSLT 1.0 section 7.1.4)`);n.add(s);for(let i of t[s])kr(t,i.uses,r,n),r(i.node);n.delete(s)}}function Uc(t,e){return{importPrecedence:e,decimalSeparator:t.getAttribute("decimal-separator")||".",groupingSeparator:t.getAttribute("grouping-separator")||",",percent:t.getAttribute("percent")||"%",perMille:t.getAttribute("per-mille")||"\u2030",zeroDigit:t.getAttribute("zero-digit")||"0",digit:t.getAttribute("digit")||"#",patternSeparator:t.getAttribute("pattern-separator")||";",infinity:t.getAttribute("infinity")||"Infinity",nan:t.getAttribute("NaN")||"NaN",minusSign:t.getAttribute("minus-sign")||"-"}}var vi={processGlobalVariable(t){let e=t.getAttribute("name");this.checkGlobalBinding(e,t),this.globalVariables[e]={node:t,select:t.getAttribute("select"),importPrecedence:this.currentImportPrecedence}},checkGlobalBinding(t,e){let r=n=>this.warnOnce(n);ue(e,r),xi({name:t,kind:F(e),precedence:this.currentImportPrecedence},{variable:this.globalVariables[t],param:this.globalParameters[t]},r)},processGlobalParam(t){let e=t.getAttribute("name");this.checkGlobalBinding(e,t);let r=this.globalParameters[e],n={node:t,select:t.getAttribute("select"),importPrecedence:this.currentImportPrecedence};r&&"value"in r&&(n.value=r.value),this.globalParameters[e]=n},processKey(t){let e=t.getAttribute("name"),r=t.getAttribute("match"),n=t.getAttribute("use");r!==null&&Ie(this.patternMatcher,r,"xsl:key match");let s=this.keys[e]??=[];s.some(i=>i.match===r&&i.use===n)||s.push({match:r,use:n,namespaces:S(t)}),this.keyRegistry.clear()},processDecimalFormat(t){let e=t.getAttribute("name"),r="";if(e!==null){let n=Ir(e,t);if(n.error){this.warnOnce(`xsl:decimal-format: ${n.error}; the declaration is ignored`);return}if(r=n.key,this.decimalFormats[r]?.importPrecedence===this.currentImportPrecedence){this.warnOnce(`xsl:decimal-format: "${e}" is already declared; the first declaration is used`);return}}this.decimalFormats[r]=Uc(t,this.currentImportPrecedence)},processNamespaceAlias(t){this.namespaceAliases.add(t)},processAttributeSet(t){ue(t,e=>this.warnOnce(e)),Ri(this.attributeSets,t,this.currentImportPrecedence)},processStripSpace(t){this.stripSpace.push(...this.spaceNameTests(t))},processPreserveSpace(t){this.preserveSpace.push(...this.spaceNameTests(t))},spaceNameTests(t){return Ai(t.getAttribute("elements"),t,e=>this.warnOnce(e))}};var Xr=String.raw`[A-Za-z_][\w.-]*`,$c=`(?:${Xr}:)?${Xr}`,Fc=new RegExp(`^(?:child::|attribute::|@)?${$c}$`),Vc=new RegExp(String.raw`^(?:child::|attribute::|@)?${Xr}:\*$`),Bc=/^(?:child::|attribute::|@)?(?:\*|node\(\)|text\(\)|comment\(\)|processing-instruction\(\))$/,Hc=/^(?:child::)?processing-instruction\(\s*(?:"[^"]*"|'[^']*')\s*\)$/;function Ii(t){return t?Bc.test(t)?-.5:Vc.test(t)?-.25:Fc.test(t)||Hc.test(t)?0:.5:.5}function zc(t){let e=[],r=0,n=0,s="";for(let i=0;i<t.length;i++){let o=t[i];s?o===s&&(s=""):o==='"'||o==="'"?s=o:o==="["?n++:o==="]"?n--:o==="|"&&n===0&&(e.push(t.slice(r,i)),r=i+1)}return r<t.length&&e.push(t.slice(r)),e}function Yc(t,e,r){return t.mode===e&&!!t.match&&(t.importPrecedence||0)<r}function Wc(t,e){if(!e)return!0;let r=t.importPrecedence||0,n=e.importPrecedence||0;return r>n||r===n&&t.priority>=e.priority}var ki={registerTemplate(t){let e=t.getAttribute("match");e!==null&&Ie(this.patternMatcher,e,"xsl:template match"),ue(t,c=>this.warnOnce(c));let r=t.getAttribute("name"),n=r===null?null:this.namedTemplateKey(t,r),s=t.getAttribute("mode")||null,i=t.getAttribute("priority"),o=e?this.splitUnionPattern(e).map(c=>c.trim()):[null],a=S(t);for(let c of o)this.templates.push({match:c,name:r,nameKey:n,mode:s,namespaces:a,priority:i?parseFloat(i):this.calculatePriority(c),importPrecedence:this.currentImportPrecedence,node:t})},namedTemplateKey(t,e){let r=le(e,t,"xsl:template name");if(this.templates.some(s=>s.nameKey===r&&s.importPrecedence===this.currentImportPrecedence))throw new Error(`xsl:template: duplicate template name "${e}" at the same import precedence (XSLT 1.0 section 6)`);return r},calculatePriority(t){return Ii(t&&t.trim())},splitUnionPattern(t){return zc(t)},findMatchingTemplate(t,e,r,n=1/0){let s=null;for(let i of this.templates)Yc(i,e,n)&&this.matchesPattern(t,i.match,r,i.namespaces)&&Wc(i,s)&&(s=i);return s},findNamedTemplate(t){let e=null;for(let r of this.templates)r.nameKey===t&&(!e||(r.importPrecedence||0)>=(e.importPrecedence||0))&&(e=r);return e},matchesPattern(t,e,r,n){try{return this.patternMatcher.matches(t,e,r,n)}catch{return!1}}};function Gc(t,e){let r=t[Symbol.iterator](),n=e[Symbol.iterator]();for(;;){let s=r.next(),i=n.next();if(s.done||i.done)return Number(i.done)-Number(s.done)||0;let o=s.value.codePointAt(0)-i.value.codePointAt(0);if(o!==0)return o}}function jc(t,e){let r=Number.isNaN(t),n=Number.isNaN(e);return r||n?Number(n)-Number(r)||0:t===e?0:t<e?-1:1}function qc(t,e){if(!t&&!e)return Gc;let r;try{r=new Intl.Collator(t||void 0,{caseFirst:e==="lower-first"?"lower":"upper",sensitivity:"variant"})}catch{r=new Intl.Collator(void 0,{caseFirst:e==="lower-first"?"lower":"upper",sensitivity:"variant"})}return r.compare}function Kc(t,e,r){let n=o=>{let a=t.getAttribute(o);return a?r.avt(a,e).trim():""},i=n("data-type")==="number";return{select:t.getAttribute("select")||".",descending:n("order")==="descending",numeric:i,compare:i?jc:qc(n("lang"),n("case-order"))}}function Xi(t,e,r,n){if(e.length===0||t.length<2)return[...t];let s=e.map(o=>Kc(o,r,n)),i=t.map((o,a)=>{let c=r.clone({currentNode:o,currentNodeList:t,position:a+1}),u=s.map(f=>{let p=n.toString(n.evaluate(f.select,c));return f.numeric?n.toNumber(p):p});return{node:o,index:a,keys:u}});return i.sort((o,a)=>{for(let c=0;c<s.length;c++){let u=s[c].compare(o.keys[c],a.keys[c]);if(u!==0)return s[c].descending?-u:u}return o.index-a.index}),i.map(o=>o.node)}var Ue=3e3,pe=class{constructor(e,r,n,s,i=null){this.scope=e.declaresVariables(r)?n.clone():n,this.saved=this.scope.namespaces,this.next=r.firstChild,this.output=s,this.onDone=i,this.template=!1}advance(e,r){let n=r.length,s=this.scope;for(let i=this.next;i;i=this.next){this.next=i.nextSibling;let o=i.nodeType;if(o===1){s.namespaces=S(i);let a=e.instructionMethod(i);a&&e[a](i,s,this.output)}else(o===3||o===4)&&e.processText(i,s,this.output);if(r.length!==n)return!0}return!1}release(e){this.scope.namespaces=this.saved,this.template&&e.templateDepth--}finish(e){this.release(e),this.onDone&&this.onDone()}},Ae=class{constructor(e,r){this.count=e,this.index=0,this.visit=r,this.template=!1}advance(e,r){let n=r.length;for(;this.index<this.count;)if(this.visit(this.index++),r.length!==n)return!0;return!1}release(e){this.template&&e.templateDepth--}finish(e){this.release(e)}},Ui={runFrame(t){let e=this.frames===null;e&&(this.frames=[],this.templateDepth=0);let r=this.frames,n=r.length;try{for(this.pushFrame(t);r.length>n;){let s=r[r.length-1];s.advance(this,r)||(r.pop(),s.finish(this))}}catch(s){throw this.unwindFrames(n),s}finally{e&&(this.frames=null)}},continueWith(t){this.frames===null?this.runFrame(t):this.pushFrame(t)},pushFrame(t){if(t.template){if(this.templateDepth>=this.maxTemplateDepth)throw new Error(`Template recursion too deep: more than ${this.maxTemplateDepth} nested template invocations, a potential infinite recursion (raise the maxTemplateDepth option to allow deeper recursion)`);this.templateDepth++}this.frames.push(t)},unwindFrames(t){let e=this.frames;for(;e.length>t;)e.pop().release(this)}};function Ur(t,e,r){let n=t.evaluateXPath(e,r);return Array.isArray(n)?n:n?[n]:[]}var $i={xslIf(t,e,r){let n=t.getAttribute("test"),s=this.evaluateXPath(n,e);this.xpathEvaluator.toBoolean(s)&&this.scheduleChildren(t,e,r)},xslChoose(t,e,r){for(let n of t.childNodes)if(n.nodeType===1){if(this.isXsltElement(n,"when")){let s=n.getAttribute("test"),i=this.evaluateXPath(s,e);if(this.xpathEvaluator.toBoolean(i)){this.scheduleChildren(n,e,r);return}}else if(this.isXsltElement(n,"otherwise")){this.scheduleChildren(n,e,r);return}}},xslForEach(t,e,r){let n=t.getAttribute("select"),s=this.sortNodes(Ur(this,n,e),this.sortElementsOf(t),e);s.length!==0&&this.continueWith(new Ae(s.length,i=>{let o=e.clone({currentNode:s[i],currentNodeList:s,position:i+1});this.scheduleChildren(t,o,r)}))},sortElementsOf(t){return Array.from(t.childNodes).filter(e=>this.isXsltElement(e,"sort"))},sortNodes(t,e,r){return Xi(t,e,r,this.sortHost)},get sortHost(){return this._sortHost||(this._sortHost={evaluate:(t,e)=>this.evaluateXPath(t,e),avt:(t,e)=>this.processAttributeValueTemplate(t,e),toString:t=>this.xpathEvaluator.toString(t),toNumber:t=>this.xpathEvaluator.toNumber(t)}),this._sortHost}};var Fi={applyTemplates(t,e,r,n,s=null,i=!1){let o=Array.isArray(t)?t:[t];if(o.length===0)return;let a=new Ae(o.length,c=>this.applyTemplateRule(o,c,e,r,n,s));a.template=i,this.continueWith(a)},applyTemplateRule(t,e,r,n,s,i){let o=t[e],a=this.findMatchingTemplate(o,r,n);if(a){let c=this.invocationContext(n,a,{currentNode:o,currentNodeList:t,position:e+1,currentMode:r});this.processTemplate(a.node,c,s,i)}else this.applyBuiltinTemplate(o,r,n,s,i)},invocationContext(t,e,r={}){let n=t.clone({currentTemplate:e,...r,fresh:!0});return n.namespaces=e.namespaces??t.namespaces,n},applyBuiltinTemplate(t,e,r,n,s=null){switch(t.nodeType){case 1:case 9:case 11:this.applyTemplates(G(t),e,r,n,s,!0);break;case 2:case 3:case 4:n.appendChild(r.outputDocument.createTextNode(this.xpathEvaluator.getStringValue(t)));break}},processTemplate(t,e,r,n=null){for(let i=t.firstChild;i;i=i.nextSibling){if(i.nodeType!==1||!this.isXsltElement(i,"param"))continue;let o=i.getAttribute("name");e.parameters[o]=n&&Object.hasOwn(n,o)?n[o]:this.evaluateVariable({node:i,select:i.getAttribute("select")},e)}let s=new pe(this,t,e,r);s.template=!0,this.continueWith(s)},xslApplyTemplates(t,e,r){let n=t.getAttribute("select")||"node()",s=t.getAttribute("mode")||null,i=this.sortNodes(Ur(this,n,e),this.sortElementsOf(t),e),o=this.withParams(t,e);this.applyTemplates(i,s,e,r,o)},xslApplyImports(t,e,r){let n=e.currentNode,s=e.currentMode??null,i=e.currentTemplate&&e.currentTemplate.importPrecedence||0,o=this.findMatchingTemplate(n,s,e,i);if(!o){this.applyBuiltinTemplate(n,s,e,r);return}this.processTemplate(o.node,this.invocationContext(e,o),r)},xslCallTemplate(t,e,r){let n=t.getAttribute("name"),s=this.findNamedTemplate(le(n??"",t,"xsl:call-template name"));if(!s)throw new Error(`Template not found: ${n}`);let i=this.invocationContext(e,s,{currentTemplate:e.currentTemplate});this.processTemplate(s.node,i,r,this.withParams(t,e))}};var Qc=10,Zc=/^[ \t\r\n]*$/;function $r(t){return Zc.test(t)}function Jc(t){let e=[t];for(let r=t.nextSibling;V(r);r=r.nextSibling)e.push(r);return e}var $e=class{constructor(e=[],r=[]){this.stripSpace=e,this.preserveSpace=r}isActive(){return this.stripSpace.length>0}isStripped(e){let r=-1/0,n=-1/0;for(let s of this.stripSpace)Rr(e,s)&&(r=Math.max(r,Cr(s)));for(let s of this.preserveSpace)Rr(e,s)&&(n=Math.max(n,Cr(s)));return r>-1/0&&r>n}};function eu(t){let e=t;for(;e?.nodeType===1;){let r=e.getAttribute("xml:space");if(r==="preserve")return!0;if(r==="default")return!1;e=e.parentNode}return!1}function tu(t,e){let r=[],n=[t];for(;n.length>0;){let s=n.pop();if(V(s)&&!ne(s)&&s.parentNode?.nodeType===1&&e.isStripped(s.parentNode)&&!eu(s.parentNode)){let o=Jc(s);o.every(a=>$r(a.nodeValue))&&r.push(...o)}let i=s.childNodes;if(i)for(let o=i.length-1;o>=0;o--)n.push(i[o])}for(let s of r)s.parentNode.removeChild(s)}function Fr(t,e,r){let n;if(t.nodeType===9){n=r;for(let s of Array.from(t.childNodes))s.nodeType!==Qc&&r.appendChild(r.importNode(s,!0))}else n=r.importNode(t,!0),r.appendChild(n);return tu(n,e),n}var Vi=Object.freeze({"apply-templates":"xslApplyTemplates","apply-imports":"xslApplyImports","call-template":"xslCallTemplate","value-of":"xslValueOf",text:"xslText",element:"xslElement",attribute:"xslAttribute",if:"xslIf",choose:"xslChoose","for-each":"xslForEach",copy:"xslCopy","copy-of":"xslCopyOf",variable:"xslVariable",comment:"xslComment","processing-instruction":"xslProcessingInstruction",number:"xslNumber",message:"xslMessage",param:null,sort:null,"with-param":null,fallback:null}),Bi={processChildren(t,e,r){this.runFrame(new pe(this,t,e,r))},scheduleChildren(t,e,r,n=null){this.continueWith(new pe(this,t,e,r,n))},declaresVariables(t){this.variableDeclarations??=new WeakMap;let e=this.variableDeclarations.get(t);if(e===void 0){e=!1;for(let r=t.firstChild;r;r=r.nextSibling)this.isXsltElement(r,"variable")&&(e=!0);this.variableDeclarations.set(t,e)}return e},processText(t,e,r){if(ne(t))return;let n=this.xpathEvaluator.getStringValue(t);n&&(!$r(n)||this.shouldPreserveSpace(t))&&r.appendChild(e.outputDocument.createTextNode(n))},shouldPreserveSpace(t){let e=t.parentNode;for(;e&&e.nodeType===1;){let r=e.getAttribute("xml:space");if(r==="preserve")return!0;if(r==="default")return!1;e=e.parentNode}return!1},instructionMethod(t){if(!this.isXsltNamespace(t))return ri(t)?"instantiateExtension":"processLiteralResultElement";let e=t.localName||t.nodeName.replace(/^xsl:/,"");return Object.hasOwn(Vi,e)?Vi[e]:"instantiateUnknown"},instantiateUnknown(t,e,r){this.instantiateFallbacks(t,e,r)||console.warn(`Unknown XSLT element: ${F(t)}`)},instantiateFallbacks(t,e,r){let n=Si(t);for(let s of n)this.processChildren(s,e,r);return n.length>0},registerExtensionElement(t,e,r){return this.extensionElements.set(`{${t}}${e}`,r),this},instantiateExtension(t,e,r){let n=`{${t.namespaceURI}}${t.localName}`,s=this.extensionElements.get(n);if(s){s(t,e,r,this);return}this.instantiateFallbacks(t,e,r)||this.warnOnce(`extension element ${t.nodeName} (${n}) is not supported and has no xsl:fallback`)}};var xt=class{constructor(e){this.evaluate=e,this.entries=new Map}define(e,r){this.entries.set(e,{definition:r,state:0,value:void 0})}has(e){return this.entries.has(e)}get(e){let r=this.entries.get(e);if(r){if(r.state===2)return r.value;if(r.state===1)throw new Error(`Circular definition of global variable $${e} (XSLT 1.0 section 11.4)`);r.state=1;try{r.value=this.evaluate(r.definition)}catch(n){throw r.state=0,n}return r.state=2,r.value}}evaluateAll(){for(let e of this.entries.keys())this.get(e)}};function Vr(t,e){if(Object.hasOwn(t.variables,e))return{found:!0,value:t.variables[e]};if(Object.hasOwn(t.parameters,e))return{found:!0,value:t.parameters[e]};let r=t.globals;return r?.has(e)?{found:!0,value:r.get(e)}:{found:!1,value:void 0}}function Hi(t){let e=r=>typeof r=="string"?Vr(t,r):null;return new Proxy(Object.create(null),{has:(r,n)=>e(n)?.found===!0,get:(r,n)=>e(n)?.value,getOwnPropertyDescriptor:(r,n)=>{let s=e(n);if(s?.found)return{value:s.value,writable:!1,enumerable:!0,configurable:!0}}})}function zi(t){for(let e=t?.firstChild;e;e=e.nextSibling)if(e.nodeType===1||(e.nodeType===3||e.nodeType===4)&&et(e.nodeValue)!=="")return!0;return!1}var Yi={setParameterValue(t,e){let r=this.globalParameters[t];r?r.value=e:this.globalParameters[t]={value:e}},clearParameterValue(t){let e=this.globalParameters[t];e&&(e.node?delete e.value:delete this.globalParameters[t])},clearParameterValues(){for(let t of Object.keys(this.globalParameters))this.clearParameterValue(t)},createGlobals(t){let e=new xt(r=>{let n=t.clone();return r.node&&(n.namespaces=S(r.node)),this.evaluateVariable(r,n)});for(let[r,n]of Object.entries(this.globalParameters))e.define(r,n);for(let[r,n]of Object.entries(this.globalVariables)){let s=this.globalParameters[r];s?.node&&s.importPrecedence>n.importPrecedence||e.define(r,n)}return e},evaluateVariable(t,e){if("value"in t)return t.value;if(t.select)return this.evaluateXPath(t.select,e);if(!zi(t.node))return"";let r=e.outputDocument.createDocumentFragment();return this.processChildren(t.node,e,r),r},withParams(t,e){let r={};for(let n=t.firstChild;n;n=n.nextSibling)this.isXsltElement(n,"with-param")&&(r[n.getAttribute("name")]=this.evaluateVariable({node:n,select:n.getAttribute("select")},e));return r},xslVariable(t,e,r){let n=t.getAttribute("name"),s=t.getAttribute("select");if(s||!zi(t)){e.setVariable(n,this.evaluateVariable({node:t,select:s},e));return}let i=e.outputDocument.createDocumentFragment();this.scheduleChildren(t,e,i,()=>e.setVariable(n,i))}};var Wi=new Map;function ru(t,e){let r=null;for(let n=e;n<t.length;n++){let s=t[n];if(r)s===r&&(r=null);else if(s==="'"||s==='"')r=s;else if(s==="}")return n}throw new Error(`Unclosed expression in attribute value template: ${t}`)}function Br(t){let e=Wi.get(t);if(e)return e;e=[];let r="",n=0;for(;n<t.length;){let s=t[n];if((s==="{"||s==="}")&&t[n+1]===s)r+=s,n+=2;else if(s==="{"){let i=ru(t,n+1);r&&e.push(r),r="",e.push({expr:t.slice(n+1,i)}),n=i+1}else r+=s,n++}return r&&e.push(r),Wi.set(t,e),e}function Gi(t,e){if(!t.includes("{")&&!t.includes("}"))return t;let r="";for(let n of Br(t))r+=typeof n=="string"?n:e(n.expr);return r}function ji(t,e,r,n){if(!r)return;let s=t.outputDocument.createTextNode(r);n&&(s._disableOutputEscaping=!0),e.appendChild(s)}function qi(t){return t.getAttribute("disable-output-escaping")==="yes"}var Ki={xslValueOf(t,e,r){let n=this.evaluateXPath(t.getAttribute("select"),e);ji(e,r,this.xpathEvaluator.toString(n),qi(t))},xslText(t,e,r){let n="";for(let s of t.childNodes)(s.nodeType===3||s.nodeType===4)&&(n+=s.nodeValue||"");ji(e,r,n,qi(t))},instantiateText(t,e){let r=e.outputDocument.createDocumentFragment();return this.processChildren(t,e,r),this.xpathEvaluator.getStringValue(r)},xslComment(t,e,r){let n=this.instantiateText(t,e);r.appendChild(e.outputDocument.createComment(n))},xslProcessingInstruction(t,e,r){let n=this.processAttributeValueTemplate(t.getAttribute("name"),e),s=this.instantiateText(t,e).replaceAll("?>","? >"),i=e.outputDocument.createProcessingInstruction(n,s);r.appendChild(i)},xslMessage(t,e,r){let n=t.getAttribute("terminate")==="yes",s=this.instantiateText(t,e);if(console.log("XSLT Message:",s),n)throw new Error(`XSLT terminated: ${s}`)},processAttributeValueTemplate(t,e){return Gi(t,r=>this.xpathEvaluator.toString(this.evaluateXPath(r,e)))},optionalAvt(t,e,r){let n=t.getAttribute(e);return n===null?null:this.processAttributeValueTemplate(n,r)}};var nu=new Set([1,3,4,7,8]);function Qi(t){return nu.has(t.nodeType)&&!Nn(t)}function Hr(t){return t.nodeType===4?3:t.nodeType}function su(t,e){if(Hr(t)!==Hr(e))return!1;switch(e.nodeType){case 1:case 2:return t.localName===e.localName&&(t.namespaceURI??null)===(e.namespaceURI??null);case 7:return t.target===e.target;default:return!0}}function iu(t){return t.nodeType===7?`7|${t.target}`:t.nodeType===1||t.nodeType===2?`${t.nodeType}|${t.namespaceURI??""}|${t.localName}`:String(Hr(t))}function Zi(t,e){return!/\$|current\s*\(/.test(`${t??""} ${e??""}`)}function ou(t,e,r){let n=r?.get(t);if(n!==void 0)return n;let s=1;for(let i=t.previousSibling;i;){let o=r?.get(i);if(o!==void 0){s+=o;break}Qi(i)&&e(i)&&s++,i=i.previousSibling}return r?.set(t,s),s}function Ji(t){return t.nodeType===2||t.nodeType===13}function au(t){let e=t.previousSibling;if(!e)return t.parentNode;for(;e.lastChild;)e=e.lastChild;return e}function cu(t,e,r,n,s){let i=[],o=t;for(;o&&o.nodeType!==9&&!(n(o)||r(o)&&(i.unshift(ou(o,r,s)),!e));)o=Ji(o)?o.ownerElement:o.parentNode;return i}function uu(t,e,r,n){let s=0,i=t;if(Ji(t)){if(r(t))return[];e(t)&&s++,i=t.ownerElement}for(;i&&i.nodeType!==9;){let o=n?.get(i);if(o!==void 0){s+=o;break}if(Qi(i)){if(r(i))break;e(i)&&s++}i=au(i)}return n?.set(t,s),s>0?[s]:[]}function lu(t,e){if(!t)return null;let r=t.get(e);return r||(r={positions:new WeakMap,totals:new WeakMap},t.set(e,r)),r}function zr(t,e,r,n=null){let{level:s="single",count:i=null,from:o=null}=e,a=i?f=>r(f,i):f=>su(f,t),c=o?f=>r(f,o):()=>!1,u=lu(n,i?"":iu(t));return s==="any"?uu(t,a,c,u?.totals??null):cu(t,s==="multiple",a,c,u?.positions??null)}function pu(t,e){let r=t,n="";for(;r>0;){let s=(r-1)%26;n=String.fromCodePoint((e?65:97)+s)+n,r=Math.floor((r-1)/26)}return n}var hu=Object.freeze([["M",1e3],["CM",900],["D",500],["CD",400],["C",100],["XC",90],["L",50],["XL",40],["X",10],["IX",9],["V",5],["IV",4],["I",1]]),fu=5e3;function Fe(t){let e=t,r="";for(let[n,s]of hu)r+=n.repeat(Math.floor(e/s)),e%=s;return r}function mu(t,{separator:e,size:r}){if(!e||Number.isNaN(r)||r<=0)return t;let n="";for(let s=t.length;s>0;s-=r){let i=t.slice(Math.max(0,s-r),s);n=n?`${i}${e}${n}`:i}return n}var du=/^\p{Nd}$/u;function eo(t){return du.test(String.fromCodePoint(t))}function Eu(t){let e=Array.from(t,i=>i.codePointAt(0)),r=e.at(-1);if(!eo(r))return null;let n=r;for(;eo(n-1);)n--;let s=r-1;return(r-n)%10!==1?null:e.slice(0,-1).every(i=>i===s)?s:null}function ro(t){return Number.isSafeInteger(t)?String(t):BigInt(t).toString()}function to(t,e,r,n){let s=ro(t).padStart(r,"0"),i=e===48?s:Array.from(s,o=>String.fromCodePoint(e+Number(o))).join("");return mu(i,n)}function gu(t,e,r){if(Number.isNaN(t)||t===1/0)return String(t);let n=t<0?0:Math.round(t);if(/^\d+$/.test(e))return to(n,48,e.length,r);let s=Eu(e);if(s!==null)return to(n,s,Array.from(e).length,r);let i=e==="a"||e==="A",o=e==="i"||e==="I";return n<1||o&&n>fu||!i&&!o?ro(n):i?pu(n,e==="A"):e==="I"?Fe(n):Fe(n).toLowerCase()}function Tu(t){let e=t.match(/[\p{L}\p{N}]+|[^\p{L}\p{N}]+/gu)||[],r=a=>/^[\p{L}\p{N}]+$/u.test(a),n=[],s=[],i="",o="";for(let a of e)r(a)?n.push(a):n.length===0?i=a:s.push(a);return e.length>0&&n.length>0&&!r(e.at(-1))&&(o=s.pop()),n.length===0&&n.push("1"),{prefix:i,suffix:o,tokens:n,separators:s}}function Nt(t,e="1",r={}){if(t.length===0)return"";let{prefix:n,suffix:s,tokens:i,separators:o}=Tu(e),a=n;return t.forEach((c,u)=>{if(u>0){let f=o[u-1]??o.at(-1)??".";a+=f}a+=gu(c,i[u]??i.at(-1),r)}),a+s}function xu(t,e,r){let n=e.getAttribute("value");if(n){let o=Math.round(t.xpathEvaluator.toNumber(t.evaluateXPath(n,r)));return o<0&&t.warnOnce("xsl:number: negative value, 0 is used"),[o]}let s=e.getAttribute("count"),i=e.getAttribute("from");return zr(r.currentNode,{level:e.getAttribute("level")||"single",count:s,from:i},(o,a)=>t.matchesPattern(o,a,r),Zi(s,i)?t.numberMemo(e):null)}var no={xslNumber(t,e,r){let n=this.optionalAvt(t,"format",e)||"1",s={separator:this.optionalAvt(t,"grouping-separator",e),size:Number(this.optionalAvt(t,"grouping-size",e))},i=xu(this,t,e),o=e.outputDocument.createTextNode(Nt(i,n,s));r.appendChild(o)},numberMemo(t){this.numberMemos??=new WeakMap;let e=this.numberMemos.get(t);return e||(e=new Map,this.numberMemos.set(t,e)),e},formatNumber(t,e){return Nt([t],e)},toRoman(t){return Fe(t)}};function so(t,e,r,n){if(!q(e))return`xsl:${t}: "${e}" is not a valid ${t} name (QName), the ${t} is not created`;let{prefix:s}=k(e);return r===null&&s&&!C(n,s)?`xsl:${t}: undefined namespace prefix "${s}" in "${e}", the ${t} is not created`:null}function io(t,e,r){let n=so("element",t,e,r);return n?{error:n}:{name:oi(t,e,r)}}function oo(t,e,r){if(t==="xmlns"||e===null&&t.startsWith("xmlns:"))return{error:`xsl:attribute: "${t}" cannot be used as an attribute name (XSLT 1.0 section 7.1.3), the attribute is not created`};let s=so("attribute",t,e,r);return s?{error:s}:{name:ai(t,e,r)}}var ao={copyLiteralAttribute(t,e,r){let n=this.processAttributeValueTemplate(t.value,e),s=this.namespaceAliases.resolveLiteral(t);s?r.setAttributeNS(s.namespaceUri,s.qname,n):t.namespaceURI?r.setAttributeNS(t.namespaceURI,t.name,n):r.setAttribute(t.name,n)},processLiteralResultElement(t,e,r){let n=this.namespaceAliases.resolveLiteral(t),s=n?n.namespaceUri:t.namespaceURI,i=n?n.qname:t.nodeName,o=s&&e.outputDocument.createElementNS?e.outputDocument.createElementNS(s,i):e.outputDocument.createElement(i);r.appendChild(o),ui(o,t,r,c=>this.namespaceAliases.isAliased(c));let a=Sr(t,"use-attribute-sets",y);a&&this.applyAttributeSets(a,e,o,t);for(let c of t.attributes)yr(c,y)&&this.copyLiteralAttribute(c,e,o);this.scheduleChildren(t,e,o)},xslElement(t,e,r){let{name:n,error:s}=io(this.processAttributeValueTemplate(t.getAttribute("name"),e),this.optionalAvt(t,"namespace",e),e.namespaces);if(s){this.warnOnce(s);return}let{namespaceUri:i,qname:o}=n,a=i?e.outputDocument.createElementNS(i,o):e.outputDocument.createElement(o);r.appendChild(a);let c=t.getAttribute("use-attribute-sets");c&&this.applyAttributeSets(c,e,a,t),this.scheduleChildren(t,e,a)},xslAttribute(t,e,r){if(!this.canAddAttribute(r))return;let{name:n,error:s}=oo(this.processAttributeValueTemplate(t.getAttribute("name"),e),this.optionalAvt(t,"namespace",e),e.namespaces);if(s){this.warnOnce(s);return}ci(r,n,this.instantiateText(t,e))},canAddAttribute(t){return t.nodeType!==1?!1:t.firstChild?(this.warnOnce("an attribute created after the children of an element is ignored (XSLT 1.0 section 7.1.3)"),!1):!0},applyAttributeSets(t,e,r,n){let s=Tt(t,n,"use-attribute-sets");kr(this.attributeSets,s,i=>this.processChildren(i,e,r))}};function yt(t,e,r){t.namespaceURI!==$&&r(e)&&(t.namespaceURI?e.setAttributeNS(t.namespaceURI,t.name,t.value):e.setAttribute(t.name,t.value))}function St(t,e,r){let n=t.localName;if(n==="xml"||!r(e))return;let s=t.nodeValue;if((e.prefix??"")===n&&(e.namespaceURI??"")!==s)return;let i=e.getAttributeNS($,n||"xmlns");i!==null&&i!==s||e.setAttributeNS($,n?`xmlns:${n}`:"xmlns",s)}function Wr(t,e){let r=t.namespaceURI?e.createElementNS(t.namespaceURI,t.nodeName):e.createElement(t.nodeName);return li(t,r),r}function bt(t,e,r){switch(t.nodeType){case 1:{let n=Wr(t,e);for(let s of t.attributes)yt(s,n,()=>!0);return Yr(t,n,e,r),n}case 3:case 4:return e.createTextNode(r(t));case 7:return e.createProcessingInstruction(t.target,t.data);case 8:return e.createComment(t.nodeValue);case 11:{let n=e.createDocumentFragment();return Yr(t,n,e,r),n}default:return null}}function Yr(t,e,r,n){for(let s of G(t)){let i=bt(s,r,n);i&&e.appendChild(i)}}function Nu(t,e,r){let n=(s,i)=>r.nodeType===1&&r.lookupNamespaceURI(s||null)===i;for(let[s,i]of Bt(t))n(s,i)||St({localName:s,nodeValue:i},e,()=>!0)}function Gr(t,e,r){if(Array.isArray(t)){for(let n of t)Gr(n,e,r);return}if(t!=null){if(!t.nodeType){let n=r.toString(t);n&&e.appendChild(r.doc.createTextNode(n));return}if(t.nodeType===2)yt(t,e,r.canAddAttribute);else if(t.nodeType===13)St(t,e,r.canAddAttribute);else if(t.nodeType===9||t.nodeType===11)Yr(t,e,r.doc,r.stringValue);else{let n=bt(t,r.doc,r.stringValue);t.nodeType===1&&Nu(t,n,e),n&&e.appendChild(n)}}}var co={xslCopy(t,e,r){let n=e.currentNode,s=t.getAttribute("use-attribute-sets");switch(n.nodeType){case 1:{let i=Wr(n,e.outputDocument);r.appendChild(i),s&&this.applyAttributeSets(s,e,i,t),this.scheduleChildren(t,e,i);break}case 2:yt(n,r,i=>this.canAddAttribute(i));break;case 13:St(n,r,i=>this.canAddAttribute(i));break;case 3:case 4:r.appendChild(e.outputDocument.createTextNode(this.xpathEvaluator.getStringValue(n)));break;case 7:r.appendChild(e.outputDocument.createProcessingInstruction(n.target,n.data));break;case 8:r.appendChild(e.outputDocument.createComment(n.nodeValue||""));break;case 9:case 11:this.scheduleChildren(t,e,r);break}},xslCopyOf(t,e,r){let n=t.getAttribute("select"),s=this.evaluateXPath(n,e);this.copyToOutput(s,e,r)},copyToOutput(t,e,r){Gr(t,r,{doc:e.outputDocument,stringValue:n=>this.xpathEvaluator.getStringValue(n),toString:n=>this.xpathEvaluator.toString(n),canAddAttribute:n=>this.canAddAttribute(n)})},deepCloneNode(t,e){return bt(t,e,r=>this.xpathEvaluator.getStringValue(r))??e.createTextNode("")}};function At(t){return t.implementation.createDocument(null,null,null)}function yu(t,e){let r=e.createElementNS(uo,t.localName);for(let n of t.attributes)r.setAttributeNS(n.namespaceURI,n.name,n.value);return r}function jr(t,e,r={}){let s=r.htmlElements===!0&&t.nodeType===1&&!t.namespaceURI&&Ve(e)?yu(t,e):e.importNode(t,!1);if(t._disableOutputEscaping&&(s._disableOutputEscaping=!0),t.childNodes)for(let i of t.childNodes)s.appendChild(jr(i,e,r));return s}function he(t,e,r={}){if(t.ownerDocument===e)return t;let n=e.createDocumentFragment();for(let s of t.childNodes)n.appendChild(jr(s,e,r));return n}var uo="http://www.w3.org/1999/xhtml",Su=["-//W3C//DTD XHTML 1.0 Strict//EN","http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"];function wt(t,e){let r=(o,...a)=>{let c=t.createElementNS(uo,o);for(let u of a)c.appendChild(typeof u=="string"?t.createTextNode(u):u);return c},n=r("pre");e&&n.appendChild(t.createTextNode(e));let s=r("head",r("title")),i=r("body",`
|
|
4
|
+
`,n,`
|
|
5
|
+
`);return qr(t,"html",...Su),t.appendChild(r("html",`
|
|
6
|
+
`,s,`
|
|
7
|
+
`,i,`
|
|
8
|
+
`)),t}function qr(t,e,r,n){let s=t.implementation.createDocumentType(e,r,n);return t.appendChild(s),t.doctype??=s,s}function Ve(t){return t.contentType==="text/html"}function Dt(t,e){let r=e.createRange();return r.selectNodeContents(e.createElement("body")),r.createContextualFragment(t)}var bu={"&":"&","<":"<","\r":" "},Au={"&":"&","<":"<",">":">"},wu={"&":"&","<":"<",">":">",'"':"""," ":"	","\n":" ","\r":" "},Du={"&":"&",'"':"""};function Lt(t,e,r){return String(t).replaceAll(e,n=>r[n])}function lo(t){return Lt(t,/[&<\r]/g,bu).replaceAll("]]>","]]>")}function po(t){return Lt(t,/[&<>"\t\n\r]/g,wu)}function ho(t){return Lt(t,/[&<>]/g,Au)}function fo(t){return Lt(t,/&(?!\{)|"/g,Du)}var Lu=/^[ \t\n\f\r]*/,Pu=/[^!-~]+/gu;function mo(t){let e=String(t),r=Lu.exec(e)[0],n=new globalThis.TextEncoder,s=e.slice(r.length).replaceAll(Pu,i=>Array.from(n.encode(i),o=>`%${o.toString(16).toUpperCase().padStart(2,"0")}`).join(""));return r+s}function Eo(t){return`<![CDATA[${String(t).replaceAll("]]>","]]]]><![CDATA[>")}]]>`}var Mu=new Set(["ascii","us-ascii","ansi_x3.4-1968","iso646-us","iso-ir-6","csascii","us"]),Ou=new Set(["iso-8859-1","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","latin1","l1","cp819","ibm819","csisolatin1","iso-ir-100"]),_u=new Set(["ibm866","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-8-i","iso-8859-10","iso-8859-13","iso-8859-14","iso-8859-15","iso-8859-16","koi8-r","koi8-u","macintosh","windows-874","windows-1250","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","x-mac-cyrillic"]),go=new Map;function To(t,e){let r=new Map;for(let n=0;n<=e;n++)r.set(n,n);return{name:t,isUnicode:!1,isExact:!0,bytes:r}}function Cu(t){let e=new Map;for(let r=0;r<=255;r++){let n=t.decode(Uint8Array.of(r)).codePointAt(0);n!==65533&&!e.has(n)&&e.set(n,r)}return{name:t.encoding,isUnicode:!1,isExact:!0,bytes:e}}function Ru(t){let e;try{e=new globalThis.TextDecoder(t)}catch{return{name:t,isUnicode:!0,isExact:!1,bytes:null}}let r=e.encoding;if(_u.has(r))return Cu(e);let n=r==="utf-8"||r.startsWith("utf-16");return{name:r,isUnicode:!0,isExact:n,bytes:null}}function xo(t="UTF-8"){let e=String(t).trim().toLowerCase(),r=go.get(e);return r||(Mu.has(e)?r=To("us-ascii",127):Ou.has(e)?r=To("iso-8859-1",255):r=Ru(e),go.set(e,r)),r}function Be(t){return`&#${t};`}var No=/[\u{80}-\u{10FFFF}]/gu;function yo(t,e,r=Be){return e.isUnicode?t:t.replace(No,n=>{let s=n.codePointAt(0);return e.bytes.has(s)?n:r(s)})}function So(t,e){if(e.isUnicode)return[{text:t,representable:!0}];let r=[],n=0;for(let s of t.matchAll(No))e.bytes.has(s[0].codePointAt(0))||(s.index>n&&r.push({text:t.slice(n,s.index),representable:!0}),r.push({text:s[0],representable:!1}),n=s.index+s[0].length);return(n<t.length||r.length===0)&&r.push({text:t.slice(n),representable:!0}),r}function bo(){return new Map([["",""],["xml",wi]])}function Ao(t,e){let r=[],n=e,s=(o,a)=>{n.get(o)!==a&&(n===e&&(n=new Map(e)),n.set(o,a),r.push({prefix:o,uri:a}))};s(t.prefix||"",t.namespaceURI||"");let i=Array.from(t.attributes||[]);for(let o of i)o.namespaceURI!==ke&&o.prefix&&s(o.prefix,o.namespaceURI||"");for(let o of i)o.namespaceURI===ke&&s(o.prefix?o.localName:"",o.value);return{declarations:r,scope:n}}function vu(t){return!/\S/.test(t.nodeValue||"")}function wo(t){let e=[];for(let r of t.childNodes){if(r.nodeType===T.TEXT){if(vu(r))continue;return null}if(r.nodeType!==T.ELEMENT&&r.nodeType!==T.COMMENT&&r.nodeType!==T.PROCESSING_INSTRUCTION)return null;e.push(r)}return e.length>0?e:null}var Kr=new WeakSet;function Pt(t){return t&&Kr.add(t),t}function Z(t){return t?Kr.has(t)||t._disableOutputEscaping===!0:!1}var Qr=16384;function we(t){if(t===void 0)return 16384;if(t===1/0||Number.isInteger(t)&&t>0)return t;throw new RangeError(`chunkSize must be a positive integer or Infinity, got ${t}`)}function Iu(t){return t>=55296&&t<=56319}function ku(t,e,r){let n=e+r;return Iu(t.charCodeAt(n-1))?n-1>e?n-1:n+1:n}var J=class{constructor(e=1/0){this.chunkSize=we(e),this.parts=[],this.length=0}write(e){this.parts.push(e),this.length+=e.length}get full(){return this.length>=this.chunkSize}*take(e=!1){let r=this.parts.length===1?this.parts[0]:this.parts.join("");this.parts=[],this.length=0;let n=0;for(;r.length-n>=this.chunkSize;){let i=ku(r,n,this.chunkSize);yield r.slice(n,i),n=i}let s=r.slice(n);s&&(e?yield s:this.write(s))}};var He=class{constructor(e,r,n,s,i){this.scope=r,this.depth=n,this.textMode=s,this.end=i,this.next=e.firstChild,this.joinsText=s===L.CDATA}joins(e){let r=e.nodeType;return(r===T.TEXT||r===T.CDATA_SECTION)&&!Z(e)}nextChild(e){let r=this.next;if(this.joinsText){let n="";for(;r&&this.joins(r);)n+=r.nodeValue,r=r.nextSibling;n&&e.write(e.cdataMarkup(n))}return this.next=r?r.nextSibling:null,r}},Mt=class extends He{constructor(e,r,n,s,i){super(e,r,n,s,""),this.lineBreaks=i,this.afterComment=!1}nextChild(e){let r=super.nextChild(e);return r&&this.afterComment&&e.write(`
|
|
9
|
+
`),this.afterComment=this.lineBreaks&&r?.nodeType===T.COMMENT,r}},Ot=class t{constructor(e,r,n,s,i){this.children=e,this.index=0,this.scope=r,this.depth=n+1,this.textMode=s,this.lineStart=t.lineStart(this.depth),this.end=t.lineStart(n)+i}static lineStart(e){return`
|
|
10
|
+
${_i.repeat(e)}`}nextChild(e){return this.index===this.children.length?null:(e.write(this.lineStart),this.children[this.index++])}};function Xu(t){return t.replace(/-(?=-|$)/g,"- ")}var _t=class{constructor(e,r={}){this.settings=e,this.xhtml=r.xhtml===!0,this.buffer=new J,this.encoding=xo(e.encoding),this.reference=n=>this.characterReference(n)}encodeReferences(e){return yo(e,this.encoding,this.reference)}cdataMarkup(e){return So(e,this.encoding).map(({text:r,representable:n})=>n?Eo(r):this.reference(r.codePointAt(0))).join("")}serialize(e){let r="";for(let n of this.chunks(e,1/0))r+=n;return r}*chunks(e,r){this.buffer=new J(r),this.writeProlog(e);let n=[],s=this.openNode(e,bo(),0,L.ESCAPE);for(s&&n.push(s);n.length>0;){let i=n[n.length-1],o=i.nextChild(this);if(o){let a=this.openNode(o,i.scope,i.depth,i.textMode);a&&n.push(a)}else n.pop(),this.write(i.end);this.buffer.full&&(yield*this.buffer.take())}yield*this.buffer.take(!0)}write(e){this.buffer.write(e)}writeProlog(e){if(this.emitsXmlDeclaration){let{version:n,encoding:s,standalone:i}=this.settings,o=i?` standalone="${i}"`:"";this.write(`<?xml version="${n}" encoding="${s}"${o}?>
|
|
11
|
+
`)}let r=this.doctypeMarkup(be(e));r&&this.write(`${r}
|
|
12
|
+
`)}openNode(e,r,n,s){switch(e.nodeType){case T.ELEMENT:return this.openElement(e,r,n);case T.TEXT:case T.CDATA_SECTION:this.writeText(e,s);break;case T.COMMENT:this.write(`<!--${Xu(e.nodeValue)}-->`);break;case T.PROCESSING_INSTRUCTION:this.writeProcessingInstruction(e);break;case T.DOCUMENT:case T.DOCUMENT_FRAGMENT:return new Mt(e,r,n,s,this.topLevelLineBreaks===!0);default:break}return null}openElement(e,r,n){let s=Ao(e,r),i=e.nodeName;this.write(`<${i}${this.namespaceMarkup(s.declarations,e)}`+this.attributesMarkup(e));let o=this.leadingChildMarkup(e);return!e.firstChild&&!o?(this.write(this.emptyElementMarkup(e,i)),null):(this.write(">"),this.childrenFrame(e,s.scope,n,o,`</${i}>`))}childrenFrame(e,r,n,s,i){let o=this.childTextMode(e),a=this.indentableChildren(e,o);if(!a)return this.write(s),new He(e,r,n,o,i);let c=new Ot(a,r,n,o,i);return s&&this.write(c.lineStart+s),c}indentableChildren(e,r){return!this.settings.indent||r!==L.ESCAPE||!this.allowsIndentInside(e)?null:wo(e)}namespaceMarkup(e,r){return e.map(({prefix:n,uri:s})=>` ${n?`xmlns:${n}`:"xmlns"}="${this.escapeAttribute(s)}"`).join("")}attributesMarkup(e){let r="";for(let n of Array.from(e.attributes||[]))n.namespaceURI!==ke&&(r+=this.attributeMarkup(n));return r}attributeMarkup(e){return` ${e.name}="${this.escapeAttribute(e.value)}"`}writeText(e,r){let n=e.nodeValue||"";if(Z(e)){this.write(n);return}let s=this.resolveTextMode(e,r);s===L.CDATA?this.write(this.cdataMarkup(n)):s===L.RAW?this.write(n):this.write(this.escapeText(n))}resolveTextMode(e,r){return r!==L.ESCAPE?r:e.nodeType===T.CDATA_SECTION?this.cdataNodeMode:L.ESCAPE}writeProcessingInstruction(e){let r=e.nodeValue||"",n=r?" ":"";this.write(`<?${e.target}${n}${r}${this.piTerminator}`)}};var Uu=new Set(["-//W3C//DTD XHTML 1.0 Strict//EN","-//W3C//DTD XHTML 1.0 Transitional//EN","-//W3C//DTD XHTML 1.0 Frameset//EN"]),$u=new Set(["http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd","http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd","http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"]);function Do(t){return Uu.has(t.doctypePublic)||$u.has(t.doctypeSystem)}function Lo(t,e){return t.localName==="html"&&!t.namespaceURI&&e.length===0?` xmlns="${Se}"`:""}function Fu(t){for(let e of t.childNodes){if(e.nodeType!==T.ELEMENT||e.localName!=="meta")continue;if(e.getAttribute("http-equiv")?.toLowerCase()==="content-type")return!0}return!1}function Po(t,e){let r=t.parentNode;return!(t.localName==="head"&&r?.localName==="html"&&r.parentNode?.nodeType!==T.ELEMENT)||Fu(t)?"":`<meta http-equiv="Content-Type" content="text/html; charset=${e}" />`}var fe=class extends _t{get emitsXmlDeclaration(){return!this.settings.omitXmlDeclaration}get isXhtmlDocument(){return Do(this.settings)}namespaceMarkup(e,r){let n=super.namespaceMarkup(e);return this.isXhtmlDocument?n+Lo(r,e):n}get piTerminator(){return"?>"}get cdataNodeMode(){return L.CDATA}get topLevelLineBreaks(){return this.settings.topLevelLineBreaks===!0}doctypeMarkup(e){let{doctypePublic:r,doctypeSystem:n}=this.settings;if(!e||!n)return"";let s=e.nodeName;return r?`<!DOCTYPE ${s} PUBLIC "${r}" "${n}">`:`<!DOCTYPE ${s} SYSTEM "${n}">`}childTextMode(e){return this.isCdataSectionElement(e)?L.CDATA:L.ESCAPE}isCdataSectionElement(e){let{cdataSectionElements:r,cdataSectionQNames:n=[]}=this.settings,s=e.namespaceURI||null,{localName:i}=e;return r.has(Xe(s,i))?!0:n.some(o=>o.localName===i&&s!==null&&e.lookupNamespaceURI(o.prefix)===s)}leadingChildMarkup(e){return this.isXhtmlDocument?Po(e,this.settings.encoding):""}allowsIndentInside(e){return!0}emptyElementMarkup(e,r){return this.followsXhtmlConventions(e)?this.isVoidElement(e)?" />":`></${r}>`:"/>"}followsXhtmlConventions(e){let r=e.namespaceURI||null;return r===Se?!0:r===null&&(this.xhtml||this.isXhtmlDocument)}isVoidElement(e){return Di.has(String(e.localName).toLowerCase())}escapeText(e){return this.encodeReferences(lo(e))}escapeAttribute(e){return this.encodeReferences(po(e))}characterReference(e){return Be(e)}};var Vu="nbsp iexcl cent pound curren yen brvbar sect uml copy ordf laquo not shy reg macr deg plusmn sup2 sup3 acute micro para middot cedil sup1 ordm raquo frac14 frac12 frac34 iquest Agrave Aacute Acirc Atilde Auml Aring AElig Ccedil Egrave Eacute Ecirc Euml Igrave Iacute Icirc Iuml ETH Ntilde Ograve Oacute Ocirc Otilde Ouml times Oslash Ugrave Uacute Ucirc Uuml Yacute THORN szlig agrave aacute acirc atilde auml aring aelig ccedil egrave eacute ecirc euml igrave iacute icirc iuml eth ntilde ograve oacute ocirc otilde ouml divide oslash ugrave uacute ucirc uuml yacute thorn yuml",Bu="OElig 338 oelig 339 Scaron 352 scaron 353 Yuml 376 fnof 402 circ 710 tilde 732 Alpha 913 Beta 914 Gamma 915 Delta 916 Epsilon 917 Zeta 918 Eta 919 Theta 920 Iota 921 Kappa 922 Lambda 923 Mu 924 Nu 925 Xi 926 Omicron 927 Pi 928 Rho 929 Sigma 931 Tau 932 Upsilon 933 Phi 934 Chi 935 Psi 936 Omega 937 alpha 945 beta 946 gamma 947 delta 948 epsilon 949 zeta 950 eta 951 theta 952 iota 953 kappa 954 lambda 955 mu 956 nu 957 xi 958 omicron 959 pi 960 rho 961 sigmaf 962 sigma 963 tau 964 upsilon 965 phi 966 chi 967 psi 968 omega 969 thetasym 977 upsih 978 piv 982 ensp 8194 emsp 8195 thinsp 8201 zwnj 8204 zwj 8205 lrm 8206 rlm 8207 ndash 8211 mdash 8212 lsquo 8216 rsquo 8217 sbquo 8218 ldquo 8220 rdquo 8221 bdquo 8222 dagger 8224 Dagger 8225 bull 8226 hellip 8230 permil 8240 prime 8242 Prime 8243 lsaquo 8249 rsaquo 8250 oline 8254 frasl 8260 euro 8364 image 8465 weierp 8472 real 8476 trade 8482 alefsym 8501 larr 8592 uarr 8593 rarr 8594 darr 8595 harr 8596 crarr 8629 lArr 8656 uArr 8657 rArr 8658 dArr 8659 hArr 8660 forall 8704 part 8706 exist 8707 empty 8709 nabla 8711 isin 8712 notin 8713 ni 8715 prod 8719 sum 8721 minus 8722 lowast 8727 radic 8730 prop 8733 infin 8734 ang 8736 and 8743 or 8744 cap 8745 cup 8746 int 8747 there4 8756 sim 8764 cong 8773 asymp 8776 ne 8800 equiv 8801 le 8804 ge 8805 sub 8834 sup 8835 nsub 8836 sube 8838 supe 8839 oplus 8853 otimes 8855 perp 8869 sdot 8901 lceil 8968 rceil 8969 lfloor 8970 rfloor 8971 lang 9001 rang 9002 loz 9674 spades 9824 clubs 9827 hearts 9829 diams 9830",Mo=new Map(Vu.split(" ").map((t,e)=>[160+e,t])),Zr=Bu.split(" ");for(let t=0;t<Zr.length;t+=2)Mo.set(Number(Zr[t+1]),Zr[t]);function Oo(t){let e=Mo.get(t);return e?`&${e};`:Be(t)}var Hu=new Map([["5",[null,"about:legacy-compat"]],["4.01frame",["-//W3C//DTD HTML 4.01 Frameset//EN","http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd"]],["4.01strict",["-//W3C//DTD HTML 4.01//EN","http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"]],["4.01trans",["-//W3C//DTD HTML 4.01 Transitional//EN","http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"]],["4.01",["-//W3C//DTD HTML 4.01 Transitional//EN","http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"]],["4.0strict",["-//W3C//DTD HTML 4.01//EN","http://www.w3.org/TR/html4/strict.dtd"]],["4.0trans",["-//W3C//DTD HTML 4.01 Transitional//EN","http://www.w3.org/TR/html4/loose.dtd"]],["4.0frame",["-//W3C//DTD HTML 4.01 Frameset//EN","http://www.w3.org/TR/html4/frameset.dtd"]],["4.0",["-//W3C//DTD HTML 4.01 Transitional//EN","http://www.w3.org/TR/html4/loose.dtd"]],["3.2",["-//W3C//DTD HTML 3.2//EN",null]]]),zu="about:legacy-compat";function _o(t,e){let r=t.doctypePublic||null,n=t.doctypeSystem||null;if(!r&&!n){let s=Hu.get(String(t.version).toLowerCase());if(!s)return"";[r,n]=s}if(r){let s=n?` "${n}"`:"";return`<!DOCTYPE ${e} PUBLIC "${r}"${s}>`}return n===zu?`<!DOCTYPE ${e}>`:`<!DOCTYPE ${e} SYSTEM "${n}">`}function Yu(t){for(let e of t.childNodes)if(!(e.nodeType!==T.ELEMENT||e.localName.toLowerCase()!=="meta"))for(let{name:r,value:n}of e.attributes){let s=r.toLowerCase();if(s==="charset"||s==="http-equiv"&&n.toLowerCase()==="content-type")return!0}return!1}function Wu(t){let e=t.ownerElement;if(t.namespaceURI||e.namespaceURI)return!1;let r=t.localName.toLowerCase();return Li.has(r)||Pi.has(r)&&e.localName.toLowerCase()==="a"}var ze=class extends fe{get emitsXmlDeclaration(){return!1}get topLevelLineBreaks(){return!1}get isXhtmlDocument(){return!1}get piTerminator(){return">"}get cdataNodeMode(){return L.ESCAPE}doctypeMarkup(e){return _o(this.settings,e?e.nodeName:"html")}childTextMode(e){return Mi.has(String(e.localName).toLowerCase())?L.RAW:L.ESCAPE}allowsIndentInside(e){return!Oi.has(String(e.localName).toLowerCase())}emptyElementMarkup(e,r){let n=e.namespaceURI;return(!n||n===Se)&&this.isVoidElement(e)?">":`></${r}>`}attributeMarkup(e){let{name:r,value:n}=e;if(String(n).toLowerCase()===r.toLowerCase())return` ${r}`;let s=Wu(e)?mo(n):n;return` ${r}="${this.escapeAttribute(s)}"`}leadingChildMarkup(e){if(e.localName.toLowerCase()!=="head"||Yu(e))return"";let{mediaType:r,encoding:n}=this.settings,s=`${r||"text/html"}; charset=${n}`;return`<meta http-equiv="Content-Type" content="${this.escapeAttribute(s)}">`}escapeText(e){return this.encodeReferences(ho(e))}escapeAttribute(e){return this.encodeReferences(fo(e))}characterReference(e){return Oo(e)}};function Gu(t){return t.nodeType===T.TEXT||t.nodeType===T.CDATA_SECTION}function*ju(t){let e=t;for(;e;){if(Gu(e)&&(yield e),e.firstChild){e=e.firstChild;continue}for(;e!==t&&!e.nextSibling;)e=e.parentNode;e=e===t?null:e.nextSibling}}function*Jr(t,e){let r=new J(e);for(let n of ju(t))r.write(n.nodeValue||""),r.full&&(yield*r.take());yield*r.take(!0)}function Ye(t,e={},r={}){let n=we(r.chunkSize);if(!t)return[][Symbol.iterator]();let s=Y(e,t);return s.method==="text"?Jr(t,n):(s.method==="html"?new ze(s):new fe(s,{xhtml:s.method==="xhtml"})).chunks(t,n)}function me(t,e={}){let r=Ye(t,e,{chunkSize:1/0}),n="";for(let s of r)n+=s;return n}var qu=/^[ \t\r\n]*$/;function Ku(t){return(t.nodeType===3||t.nodeType===4)&&qu.test(t.nodeValue)}function Ct(t,e,r){let{doctypePublic:n,doctypeSystem:s}=r,i=be(e);i&&(n||s)&&qr(t,i.nodeName,n??"",s??"");for(let o of Array.from(e.childNodes))Ku(o)||t.appendChild(o);return t}function Rt(t,e){let r=globalThis.DOMParser??e.defaultView?.DOMParser??null;if(r){let i=new r().parseFromString(t,"text/html");return ve(i)?null:i}let n=e.implementation;if(typeof n?.createHTMLDocument!="function")return null;let s=n.createHTMLDocument("");return"innerHTML"in s.documentElement?(s.doctype&&s.removeChild(s.doctype),s.documentElement.innerHTML=t,s):null}var ee=class t{constructor(e={}){this.currentNode=e.currentNode,this.currentNodeList=e.currentNodeList||[],this.position=e.position||1,this.variables={...e.variables},this.parameters={...e.parameters},this.globals=e.globals??null,this.outputDocument=e.outputDocument,this.stylesheet=e.stylesheet,this.namespaces=e.namespaces??{},this.templates=e.templates||[],this.keys=e.keys||{},this.decimalFormats=e.decimalFormats||{},this.outputMethod=e.outputMethod||"xml",this.xpathEvaluator=e.xpathEvaluator||new v,this.currentTemplate=e.currentTemplate||null,this.currentMode=e.currentMode??null,this.variableView=null}clone(e={}){let r=e.fresh===!0,n=(s,i)=>i?{...s,...i}:s;return new t({currentNode:e.currentNode??this.currentNode,currentNodeList:e.currentNodeList??this.currentNodeList,position:e.position??this.position,variables:r?null:n(this.variables,e.variables),parameters:r?null:n(this.parameters,e.parameters),globals:this.globals,outputDocument:this.outputDocument,stylesheet:this.stylesheet,namespaces:n(this.namespaces,e.namespaces),templates:this.templates,keys:this.keys,decimalFormats:this.decimalFormats,outputMethod:this.outputMethod,xpathEvaluator:this.xpathEvaluator,currentTemplate:e.currentTemplate??this.currentTemplate,currentMode:e.currentMode??this.currentMode})}get xpathVariables(){return this.variableView??=Hi(this),this.variableView}getVariable(e){let{found:r,value:n}=Vr(this,e);if(!r)throw new Error(`Undefined variable: $${e}`);return n}setVariable(e,r){this.variables[e]=r}};function Qu(t){return t instanceof RangeError&&/call stack/i.test(t.message)||t?.name==="InternalError"&&/recursion/i.test(t.message)?new Error("Template recursion too deep: the transformation exceeded the JavaScript call stack (infinite recursion, or recursion deeper than the runtime allows)",{cause:t}):t}var vt={transform(t,e){let r=this.outputDocumentOf(e);return he(this.buildResultTree(t,r),r)},transformToFragment(t,e){let r=this.outputDocumentOf(e),n=this.buildResultTree(t,r),s=Y(this.outputSettings,n);return Ve(r)&&s.method==="html"?Dt(me(n,this.outputSettings),r):he(n,r,{htmlElements:!0})},outputDocumentOf(t){let e=t||(typeof document<"u"?document:null);if(!e)throw new Error("No output document available");return e},buildResultTree(t,e){let r=At(e),n=this.initialNode(this.prepareSource(t,e)),s=new ee({currentNode:n,currentNodeList:[n],position:1,outputDocument:r,stylesheet:this.stylesheetDoc,namespaces:this.namespaces,templates:this.templates,keys:this.keys,decimalFormats:this.decimalFormats,outputMethod:this.outputSettings.method,xpathEvaluator:this.xpathEvaluator});this.rootContext=s,this.keyRegistry.clear(),this.patternMatcher.reset(),this.xpathEvaluator.resetNamespaceNodes(),this.xpathEvaluator.resetDocumentOrder(Je(n)?null:new ge),this.numberMemos=new WeakMap;let i=r.createDocumentFragment();try{s.globals=this.createGlobals(s),s.globals.evaluateAll(),this.applyTemplates([n],null,s,i)}catch(o){throw Qu(o)}return i},initialNode(t){let e=t.ownerDocument;return t.nodeType===1&&e?.documentElement===t?e:t},prepareSource(t,e){let r=new $e(this.stripSpace,this.preserveSpace);return r.isActive()?Fr(t,r,At(e)):t},transformToDocument(t){let e=this.createDocument(t),r=this.transform(t,e);if(this.outputSettings.method==="text")return wt(e,r.textContent);let n=Y(this.outputSettings,r);if(n.method==="html"){let s=me(r,this.outputSettings),i=Rt(s,e);if(i)return i}return Ct(e,r,n)},transformToString(t){let e=this.buildResultTree(t,this.createDocument(t));return me(e,this.outputSettings)},createDocument(t){if(typeof document<"u")return document.implementation.createDocument(null,null,null);let e=t&&(t.nodeType===9?t:t.ownerDocument);if(e?.implementation)return e.implementation.createDocument(null,null,null);throw new Error("Document creation not available in this environment")}};var Co={setDocumentLoader(t){return this.documentLoader=t??null,this.loadedDocuments.clear(),this},loadDocument(t,e){let r=Re(t);if(r==="")return this.stylesheetDoc;if(!this.documentLoader)return null;let n=z(r,e);if(this.loadedDocuments.has(n))return this.loadedDocuments.get(n);let s=this.documentLoader(n,e),i=typeof s=="string"?this.parseXmlString(s):s||null;return this.loadedDocuments.set(n,i),i},generateId(t){let e=this.generatedIds.get(t);return e||(this.generatedIdCount++,e=`N${this.generatedIdCount}`,this.generatedIds.set(t,e)),e},evaluateKeyValues(t,e,r){let n=this.rootContext.clone({currentNode:t,currentNodeList:[t],position:1});r&&(n.namespaces=r);let s=this.evaluateXPath(e,n);return Array.isArray(s)?s.map(i=>this.xpathEvaluator.getStringValue(i)):[this.xpathEvaluator.toString(s)]}};var It=5e6,kt=1e3,te=class{constructor(e={}){this.enableDynamicEvaluate=e.enableDynamicEvaluate===!0,this.clock=e.clock??null,this.xpathEvaluator=new v({maxResultSize:e.maxResultSize??It,maxRecursionDepth:e.maxRecursionDepth??kt,legacyNameTests:e.legacyNameTests}),this.maxTemplateDepth=e.maxTemplateDepth??Ue,this.frames=null,this.templateDepth=0,this.templates=[],this.keys={},this.globalVariables={},this.globalParameters={},this.outputSettings=hi(),this.namespaces={},this.decimalFormats={},this.stylesheetDoc=null,this.attributeSets={},this.namespaceAliases=new Ce,this.stripSpace=[],this.preserveSpace=[],this.stylesheetLoader=e.stylesheetLoader||null,this.currentImportPrecedence=0,this.stylesheetStack=[],this.baseUri=e.baseUri||"",this.documentLoader=e.documentLoader||null,this.loadedDocuments=new Map,this.domParser=e.domParser??null,this.generatedIds=new WeakMap,this.generatedIdCount=0,this.patternMatcher=new gt(this.xpathEvaluator),this.rootContext=null,this.keyRegistry=new _e({keys:this.keys,matchesPattern:(r,n,s)=>this.matchesPattern(r,n,this.rootContext,s?.namespaces),evaluateUse:(r,n,s)=>this.evaluateKeyValues(r,n,s?.namespaces)}),this.reportedWarnings=new Set,this.extensionElements=new Map,this.xpathEvaluator.registerFunctions(xr(this))}evaluateXPath(e,r){let n=P(e),s=new _(r.currentNode,r.position,r.currentNodeList.length,r.xpathVariables,r.namespaces,r);return this.xpathEvaluator.evaluate(n,s)}isXsltNamespace(e){return e.namespaceURI===y||e.nodeName&&e.nodeName.startsWith("xsl:")}isXsltElement(e,r){if(e.nodeType!==1)return!1;let n=e.localName||e.nodeName;return e.namespaceURI===y&&n===r||e.nodeName===`xsl:${r}`}warnOnce(e){this.reportedWarnings.has(e)||(this.reportedWarnings.add(e),console.warn(`XSLT: ${e}`))}};Qs(te.prototype,Ei,bi,vi,fi,ki,Fi,Bi,Ui,$i,Yi,Ki,no,ao,co,vt,Co);var Zu=new Set(["select","test","use","value"]);function Ju(t){let e;try{e=P(t)}catch{return[]}let r=[],n=[e];for(;n.length>0;){let s=n.pop(),[i]=s.args??[];s.type===h.FUNCTION_CALL&&s.name==="document"&&!s.prefix&&s.args.length===1&&i.type===h.LITERAL&&r.push(i.value);for(let a of Object.values(s))for(let c of Array.isArray(a)?a:[a])typeof c?.type=="string"&&n.push(c)}return r}function el(t){if(t.ownerElement.namespaceURI===y&&!t.namespaceURI&&Zu.has(t.localName))return[t.value];try{return Br(t.value).filter(n=>typeof n!="string").map(n=>n.expr)}catch{return[]}}function Ro(t,e){let r=t.documentElement??t,n=[];for(let s of[r,...r.getElementsByTagName("*")])if(tl(s))for(let i of s.attributes)for(let o of el(i))for(let a of Ju(o)){let c=Re(a);c&&n.push(z(c,e))}return n}function tl(t){for(let e of t.attributes)if(e.value.includes("document"))return!0;return!1}function rl(t,e){let r=t.documentElement??t,n=[];for(let s of r.childNodes){let o=s.nodeType===1&&s.namespaceURI===y&&(s.localName==="import"||s.localName==="include")?s.getAttribute("href"):null;o&&n.push(z(o,e))}return n}async function vo(t,e,r){let n=new Map,s=new Set(e?[e]:[]),i=[{module:t,uri:e}];for(;i.length>0;){let o=[];for(let{module:a,uri:c}of i)for(let u of rl(a,c))s.has(u)||(s.add(u),o.push(nl(u,c,r)));i=await Promise.all(o);for(let{module:a,uri:c}of i)n.set(c,a)}return n}async function nl(t,e,r){let n=await r(t,e);if(!n)throw new Error(`Cannot load stylesheet "${t}"`);return{module:n,uri:t}}async function Io(t,e,r,n){let s=new Set(t.flatMap(o=>Ro(o,e))),i=await Promise.all([...s].map(o=>r(o,e).then(a=>({document:a}),a=>{if(n?.aborted)throw a;return{error:a}})));return new Map([...s].map((o,a)=>[o,i[a]]))}function ko(t){return e=>t.get(e)}function Xo(t,e){return(r,n)=>{let s=t.get(r);if(s?.error)throw s.error;return s?s.document:e?e(r,n):null}}var sl=[{bytes:[239,187,191],encoding:"utf-8"},{bytes:[255,254],encoding:"utf-16le"},{bytes:[254,255],encoding:"utf-16be"}],il=[{bytes:[60,0,63,0],encoding:"utf-16le"},{bytes:[0,60,0,63],encoding:"utf-16be"}],ol=1024,al=/^<\?xml\s[^>]*?\bencoding\s*=\s*(["'])([A-Za-z][\w.:-]*)\1/,en=class extends Error{constructor(e){super(e),this.name="EncodingError"}};function Uo(t,e){return e.every((r,n)=>t[n]===r)}function cl(t){let e=new globalThis.TextDecoder("latin1").decode(t.subarray(0,ol)),r=al.exec(e);return r?r[2]:null}function ul(t){let e=sl.find(({bytes:s})=>Uo(t,s));if(e)return{encoding:e.encoding,bomLength:e.bytes.length};let r=il.find(({bytes:s})=>Uo(t,s));if(r)return{encoding:r.encoding,bomLength:0};let n=cl(t);return!n||/^utf-?16/i.test(n)?{encoding:"utf-8",bomLength:0}:{encoding:n,bomLength:0}}function We(t,e="document"){let{encoding:r,bomLength:n}=ul(t),s;try{s=new globalThis.TextDecoder(r,{fatal:!1,ignoreBOM:!0})}catch{throw new en(`Unsupported encoding "${r}" declared in ${e}`)}return s.decode(t.subarray(n))}function tn(t){return t.reason??new globalThis.DOMException("This operation was aborted","AbortError")}function W(t){if(t?.aborted)throw tn(t)}function $o(t,e){return e?e.aborted?Promise.reject(tn(e)):new Promise((r,n)=>{let s=()=>n(tn(e));e.addEventListener("abort",s,{once:!0}),Promise.resolve(t).then(r,n).finally(()=>e.removeEventListener("abort",s))}):Promise.resolve(t)}function Fo(t){return typeof t?.getReader=="function"}async function*ll(t){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}function Vo(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):null}function pl(t){let e=t.reduce((s,i)=>s+i.length,0),r=new Uint8Array(e),n=0;for(let s of t)r.set(s,n),n+=s.length;return r}async function hl(t,e){let r=Fo(t)?ll(t):t,n=[],s=[];for await(let i of r){W(e);let o=typeof i=="string"?null:Vo(i);if(o===null&&typeof i!="string")throw new TypeError("XML input streams must yield strings, Uint8Arrays or ArrayBuffers");if(o?s.push(o):n.push(i),n.length>0&&s.length>0)throw new TypeError("XML input streams cannot mix strings and bytes")}return W(e),s.length>0?We(pl(s)):n.join("")}function fl(t){return Fo(t)||typeof t?.[Symbol.asyncIterator]=="function"}async function Xt(t,e={}){let{signal:r,domParser:n=null,referenceDoc:s=null}=e;if(W(r),typeof t?.nodeType=="number")return t;let i,o=Vo(t);if(typeof t=="string")i=t;else if(o)i=We(o);else if(fl(t))i=await hl(t,r);else throw new TypeError("The source must be a Node, a string, bytes, a ReadableStream or an async iterable");return Q(i,K(n,s))}function ml(t,e,r={}){return globalThis.fetch(t,{signal:r.signal})}function rn(t){if(t!=null){if(typeof t!="function")throw new TypeError("The loader must be a function");return t}if(typeof globalThis.fetch!="function")throw new TypeError("No loader given and no global fetch available to load external resources");return ml}function dl(t){return typeof t?.arrayBuffer=="function"&&"ok"in t}async function El(t,e,r){if(t==null)return null;if(typeof t.nodeType=="number")return t;let n=t;if(dl(n)){if(!n.ok)throw new Error(`Failed to load "${e}": HTTP ${n.status}`);n=await n.arrayBuffer()}if(n instanceof ArrayBuffer&&(n=new Uint8Array(n)),n instanceof Uint8Array&&(n=We(n,e)),typeof n!="string")throw new TypeError(`The loader returned an unsupported value for "${e}"`);return Q(n,r)}function nn(t,e={}){let{signal:r,domParser:n=null,referenceDoc:s=null}=e,i=K(n,s),o=new Map;return(a,c)=>{if(!o.has(a)){let u=$o(Promise.resolve().then(()=>t(a,c,{signal:r})),r).then(f=>El(f,a,i));o.set(a,u)}return o.get(a)}}function Ge(t,e,r={}){if(t.transformToChunks)return t.transformToChunks(e,r);let n=t.buildResultTree(e,t.createDocument(e));return Ye(n,t.outputSettings,r)}function sn(t,e={}){let{signal:r}=e,n=globalThis.ReadableStream;if(typeof n!="function")throw new TypeError("ReadableStream is not available in this runtime");let s=null,i=()=>s?.return?.(),o=null;return new n({start(a){if(r?.aborted){a.error(r.reason);return}o=()=>{i(),a.error(r.reason)},r?.addEventListener("abort",o,{once:!0})},async pull(a){try{s??=await t(),W(r);let{done:c,value:u}=s.next();c?(r?.removeEventListener("abort",o),a.close()):a.enqueue(u)}catch(c){throw r?.removeEventListener("abort",o),c}},cancel(){r?.removeEventListener("abort",o),i()}},{highWaterMark:1})}function Bo(t,e,r={}){return sn(()=>Ge(t,e,r),r)}function on(t){t!=null&&rn(t)}function Ho(t){return(...e)=>rn(t)(...e)}function Ut(t){return t.ownerDocument??t}async function zo(t,e,r,n){let s=nn(Ho(r),{signal:n,referenceDoc:Ut(t[0])}),i=await Io(t,e,s,n);return W(n),i}async function an(t,e,r,n={}){let{signal:s,loader:i}=n,o=n.documentLoader??i;on(i),on(o);let a=await Xt(e,{signal:s});await t._prepareEngine(a);let c=await vo(a,r,nn(Ho(i),{signal:s,referenceDoc:Ut(a)})),u=[a,...c.values()],f=await zo(u,r,o,s);t._compile(a,r,{stylesheetLoader:ko(c),modules:u,documents:f})}async function Yo(t,e,r={}){let{signal:n,stylesheet:s,fetchStylesheet:i,fetchDocument:o}=r;s!=null?await an(t,s,r.stylesheetUri,{loader:i,documentLoader:o,signal:n}):(t._requireStylesheet("transformAsync"),o&&(on(o),t._usePreloadedDocuments(await zo(t._modules,t._stylesheetUri,o,n))));let a=await Xt(e,{signal:n,referenceDoc:Ut(t._stylesheet)});return t._checkSource("transformAsync",a),W(n),t.engine.transformToString(a)}function Wo(t,e,r={}){t._requireStylesheet("transformToStream"),typeof e?.nodeType=="number"&&t._checkSource("transformToStream",e);let n=we(r.chunkSize),s=t.engine,{signal:i}=r;return sn(async()=>{let o=await Xt(e,{signal:i,referenceDoc:Ut(t._stylesheet)});return t._checkSource("transformToStream",o),Ge(s,o,{chunkSize:n})},r)}var gl="install @tradik/xslt3 to run XSLT 2.0/3.0 stylesheets (npm install @tradik/xslt3)",Tl=()=>import("@tradik/xslt3"),xl=Tl,$t=null,cn=null;function un(){return $t?Promise.resolve($t):(cn??=Promise.resolve().then(()=>xl()).then(t=>($t=t,t),t=>{throw cn=null,new Error(`Cannot load @tradik/xslt3: ${gl}`,{cause:t})}),cn)}function Go(){return $t}function ln(t){return Object.fromEntries(Object.entries(t).map(([e,r])=>[e.replace(/-([a-z])/g,(n,s)=>s.toUpperCase()),r]))}function jo(t,e,r,n){return Ve(r)&&e.method==="html"?Dt(n(t,e),r):he(t,r,{htmlElements:!0})}function qo(t,e,r,n){if(e.method==="text")return wt(r,n(t,e));if(e.method==="html"){let s=Rt(n(t,e),r);if(s)return s}return Ct(r,he(t,r),e)}var Nl=Object.freeze(["1.0","auto"]);function Ko(t){let e=t??"1.0";if(!Nl.includes(e))throw new RangeError(`Invalid xsltVersion "${e}": expected "1.0" or "auto"`);return e}function pn(t){let e=t.nodeType===9?t.documentElement:t,r=e?Or(e):null;return r?Number(r.trim()):NaN}function Qo(t,e){return e==="auto"&&pn(t)>=2}function yl(t){return typeof t?.length=="number"&&typeof t.item=="function"?Array.from(t):t}var hn=class{constructor(e,r={}){this.xslt3=e,this.stylesheetLoader=r.stylesheetLoader??null,this.documentLoader=r.documentLoader??null,this.clock=r.clock??null,this.parameters=new Map,this.compiled=null,this.stylesheetDoc=null,this.outputSettings={},this.declaredOutput={}}setStylesheetLoader(e){this.stylesheetLoader=e}setDocumentLoader(e){this.documentLoader=e}setParameterValue(e,r){this.parameters.set(e,yl(r))}clearParameterValue(e){this.parameters.delete(e)}clearParameterValues(){this.parameters.clear()}parseXmlString(e){return Q(e,K(null,this.stylesheetDoc))}toDocument(e){return typeof e=="string"?this.parseXmlString(e):e}importStylesheet(e,r){this.stylesheetDoc=e.ownerDocument??e,this.compiled=this.xslt3.compileStylesheet(e,{baseUri:r,loadStylesheet:s=>this.stylesheetLoader?.(s),parseXml:s=>this.parseXmlString(s)});let n=this.compiled.output;this.declaredOutput=ln({encoding:"UTF-8",...n}),this.outputSettings={...this.declaredOutput}}run(e){let r=this.documentLoader,n=this.compiled.transform({source:e,params:this.parameters,documentLoader:r&&(s=>this.toDocument(r(s))),onMessage:s=>console.log("XSLT Message:",s.textContent),currentDateTime:this.clock?.()});return{principal:n.principal,params:this.paramsOf(n)}}paramsOf(e){let r=ln(e.output);for(let[n,s]of Object.entries(this.outputSettings))s!==this.declaredOutput[n]&&(r[n]=s);return r}transformToFragment(e,r){let{principal:n,params:s}=this.run(e);return jo(n,s,r,this.xslt3.serialize)}transformToDocument(e){let{principal:r,params:n}=this.run(e),s=vt.createDocument(e);return qo(r,n,s,this.xslt3.serialize)}transformToString(e){let{principal:r,params:n}=this.run(e);return this.xslt3.serialize(r,n)}transformToChunks(e,r={}){let{principal:n,params:s}=this.run(e);return this.xslt3.serializeChunks(n,s,r)}};function Zo(t,e){let r=Go();if(!r)throw new Error(`This XSLT ${pn(t).toFixed(1)} stylesheet needs @tradik/xslt3: call "await XSLTProcessor.preload()" before importStylesheet(), or use importStylesheetAsync() / transformAsync()`);return new hn(r,e)}var Jo=null,re=class{constructor(e={}){this._options={legacyNameTests:e?.legacyNameTests===!0,enableDynamicEvaluate:e?.enableDynamicEvaluate===!0,clock:e?.clock??null,maxTemplateDepth:e?.maxTemplateDepth,xsltVersion:Ko(e?.xsltVersion)},this._engine=null,this._stylesheet=null,this._parameters=new Map,this._stylesheetLoader=null,this._documentLoader=null,this._stylesheetUri=void 0,this._modules=[],this._preloadedDocuments=null}static preload(e="3.0"){if(e!=="2.0"&&e!=="3.0")throw new RangeError(`Invalid XSLT version "${e}": expected "2.0" or "3.0"`);return un().then(()=>{})}get engine(){return this._engine}setStylesheetLoader(e){if(e!=null&&typeof e!="function")throw new TypeError("Failed to execute 'setStylesheetLoader' on 'XSLTProcessor': The loader argument must be a function or null.");return this._stylesheetLoader=e??null,this._engine&&this._engine.setStylesheetLoader(this._stylesheetLoader),this}setDocumentLoader(e){if(e!=null&&typeof e!="function")throw new TypeError("Failed to execute 'setDocumentLoader' on 'XSLTProcessor': The loader argument must be a function or null.");return this._documentLoader=e??null,this._engine&&this._engine.setDocumentLoader(this._engineDocumentLoader()),this}importStylesheet(e,r){if(!e)throw new TypeError("Failed to execute 'importStylesheet' on 'XSLTProcessor': 1 argument required, but only 0 present.");if(e.nodeType!==1&&e.nodeType!==9)throw new TypeError("Failed to execute 'importStylesheet' on 'XSLTProcessor': The node provided is not a Document or Element.");if(ve(e))throw new Error("XSLT stylesheet contains parse errors");this._compile(e,r)}importStylesheetAsync(e,r,n={}){return an(this,e,r,n)}_compile(e,r,n={}){let{stylesheetLoader:s=this._stylesheetLoader,modules:i=[e],documents:o=null}=n,a={legacyNameTests:this._options.legacyNameTests,enableDynamicEvaluate:this._options.enableDynamicEvaluate,clock:this._options.clock,maxTemplateDepth:this._options.maxTemplateDepth,stylesheetLoader:s,documentLoader:this._engineDocumentLoader(o)},c=this._usesXslt3(e)?Zo(e,a):new te(a);for(let[u,f]of this._parameters)c.setParameterValue(u,f);c.importStylesheet(e,r),c.setStylesheetLoader(this._stylesheetLoader),this._engine=c,this._stylesheet=e,this._stylesheetUri=r,this._modules=i,this._preloadedDocuments=o}_usesXslt3(e){return Qo(e,this._options.xsltVersion)}async _prepareEngine(e){this._usesXslt3(e)&&await un()}_engineDocumentLoader(e=this._preloadedDocuments){return e?Xo(e,this._documentLoader):this._documentLoader}_usePreloadedDocuments(e){this._preloadedDocuments=new Map([...this._preloadedDocuments??[],...e]),this._engine.setDocumentLoader(this._engineDocumentLoader())}_requireStylesheet(e){if(!this._engine||!this._stylesheet)throw new Error(`Failed to execute '${e}' on 'XSLTProcessor': No stylesheet has been imported.`)}_checkSource(e,r){if(r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)throw new TypeError(`Failed to execute '${e}' on 'XSLTProcessor': The source is not a valid node type.`)}transformToFragment(e,r){if(!e)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': 2 arguments required, but only 0 present.");if(!r)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': 2 arguments required, but only 1 present.");if(this._requireStylesheet("transformToFragment"),this._checkSource("transformToFragment",e),r.nodeType!==9)throw new TypeError("Failed to execute 'transformToFragment' on 'XSLTProcessor': The output is not a Document.");try{return this._engine.transformToFragment(e,r)}catch(n){return console.error("XSLT transformation error:",n),null}}transformToDocument(e){if(!e)throw new TypeError("Failed to execute 'transformToDocument' on 'XSLTProcessor': 1 argument required, but only 0 present.");this._requireStylesheet("transformToDocument"),this._checkSource("transformToDocument",e);try{return this._engine.transformToDocument(e)}catch(r){return console.error("XSLT transformation error:",r),null}}transformToString(e){if(!e)throw new TypeError("Failed to execute 'transformToString' on 'XSLTProcessor': 1 argument required, but only 0 present.");this._requireStylesheet("transformToString"),this._checkSource("transformToString",e);try{return this._engine.transformToString(e)}catch(r){return console.error("XSLT transformation error:",r),null}}transformAsync(e,r={}){return Yo(this,e,r)}transformToStream(e,r={}){return Wo(this,e,r)}setParameter(e,r,n){if(arguments.length<3)throw new TypeError(`Failed to execute 'setParameter' on 'XSLTProcessor': 3 arguments required, but only ${arguments.length} present.`);if(typeof r!="string"||r==="")throw new TypeError("Failed to execute 'setParameter' on 'XSLTProcessor': The localName argument must be a non-empty string.");let s=e?`{${e}}${r}`:r;this._parameters.set(s,n),this._engine&&this._engine.setParameterValue(s,n)}getParameter(e,r){if(arguments.length<2)throw new TypeError(`Failed to execute 'getParameter' on 'XSLTProcessor': 2 arguments required, but only ${arguments.length} present.`);if(typeof r!="string")throw new TypeError("Failed to execute 'getParameter' on 'XSLTProcessor': The localName argument must be a string.");let n=e?`{${e}}${r}`:r;return this._parameters.has(n)?this._parameters.get(n):""}removeParameter(e,r){if(arguments.length<2)throw new TypeError(`Failed to execute 'removeParameter' on 'XSLTProcessor': 2 arguments required, but only ${arguments.length} present.`);if(typeof r!="string")throw new TypeError("Failed to execute 'removeParameter' on 'XSLTProcessor': The localName argument must be a string.");let n=e?`{${e}}${r}`:r;this._parameters.delete(n),this._engine&&this._engine.clearParameterValue(n)}clearParameters(){this._parameters.clear(),this._engine&&this._engine.clearParameterValues()}reset(){this._engine=null,this._stylesheet=null,this._stylesheetUri=void 0,this._modules=[],this._preloadedDocuments=null,this._parameters.clear()}};function fn(){let t=globalThis.XSLTProcessor,e=t===re?Jo:t;if(typeof e!="function")return!1;try{let r=new e,n=new DOMParser,s=n.parseFromString(`<?xml version="1.0"?>
|
|
2
13
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
3
14
|
<xsl:template match="/"><test/></xsl:template>
|
|
4
|
-
</xsl:stylesheet>`,"application/xml");
|
|
15
|
+
</xsl:stylesheet>`,"application/xml");r.importStylesheet(s);let i=n.parseFromString("<root/>","application/xml"),o=r.transformToFragment(i,document);return o!==null&&o.childNodes.length>0}catch{return!1}}function ea(t=!1){if(!t&&fn())return!1;let e=globalThis.XSLTProcessor;return typeof e=="function"&&e!==re&&(Jo=e),globalThis.XSLTProcessor=re,!0}var ta=re;function mn(t,e,r={}){let n=P(t),s=new v({maxResultSize:r.maxResultSize,maxRecursionDepth:r.maxRecursionDepth,maxStringLength:r.maxStringLength}),i=new _(e,1,1,r.variables||{},r.namespaces||{});return s.evaluate(n,i)}function dn(t,e,r={}){let n=mn(t,e,r);return Array.isArray(n)?n:n&&n.nodeType?[n]:[]}function ra(t,e,r={}){let n=dn(t,e,r);return n.length>0?n[0]:null}var Sl="1.3.0",bl=typeof window<"u"&&typeof document<"u",Al=typeof process<"u"&&process.versions?.node!=null;return pa(wl);})();
|
|
5
16
|
if(typeof window!=='undefined'){XsltProcessorLib.installGlobal();}
|
|
6
17
|
//# sourceMappingURL=xslt-processor.browser.min.js.map
|