lone-format 0.11.2 → 0.11.4

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.
@@ -1,59 +1,59 @@
1
- (function(rt,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(rt=typeof globalThis<"u"?globalThis:rt||self,n(rt.LoneFormat={},rt.Vue))})(this,function(rt,n){"use strict";class Jr{add(t,r,T){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],r&&this[o][T?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(T){T.call(r&&r.context?r.context:r,r)})}}class Qr{constructor(t){this.jsep=t,this.registered={}}register(){for(var t=arguments.length,r=new Array(t),T=0;T<t;T++)r[T]=arguments[T];r.forEach(o=>{if(typeof o!="object"||!o.name||!o.init)throw new Error("Invalid JSEP plugin format");this.registered[o.name]||(o.init(this.jsep),this.registered[o.name]=o)})}}class x{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+x.version}static addUnaryOp(t){return x.max_unop_len=Math.max(t.length,x.max_unop_len),x.unary_ops[t]=1,x}static addBinaryOp(t,r,T){return x.max_binop_len=Math.max(t.length,x.max_binop_len),x.binary_ops[t]=r,T?x.right_associative.add(t):x.right_associative.delete(t),x}static addIdentifierChar(t){return x.additional_identifier_chars.add(t),x}static addLiteral(t,r){return x.literals[t]=r,x}static removeUnaryOp(t){return delete x.unary_ops[t],t.length===x.max_unop_len&&(x.max_unop_len=x.getMaxKeyLen(x.unary_ops)),x}static removeAllUnaryOps(){return x.unary_ops={},x.max_unop_len=0,x}static removeIdentifierChar(t){return x.additional_identifier_chars.delete(t),x}static removeBinaryOp(t){return delete x.binary_ops[t],t.length===x.max_binop_len&&(x.max_binop_len=x.getMaxKeyLen(x.binary_ops)),x.right_associative.delete(t),x}static removeAllBinaryOps(){return x.binary_ops={},x.max_binop_len=0,x}static removeLiteral(t){return delete x.literals[t],x}static removeAllLiterals(){return x.literals={},x}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new x(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(r=>r.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return x.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!x.binary_ops[String.fromCharCode(t)]||x.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return x.isIdentifierStart(t)||x.isDecimalDigit(t)}throwError(t){const r=new Error(t+" at character "+this.index);throw r.index=this.index,r.description=t,r}runHook(t,r){if(x.hooks[t]){const T={context:this,node:r};return x.hooks.run(t,T),T.node}return r}searchHook(t){if(x.hooks[t]){const r={context:this};return x.hooks[t].find(function(T){return T.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let t=this.code;for(;t===x.SPACE_CODE||t===x.TAB_CODE||t===x.LF_CODE||t===x.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const t=this.gobbleExpressions(),r=t.length===1?t[0]:{type:x.COMPOUND,body:t};return this.runHook("after-all",r)}gobbleExpressions(t){let r=[],T,o;for(;this.index<this.expr.length;)if(T=this.code,T===x.SEMCOL_CODE||T===x.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())r.push(o);else if(this.index<this.expr.length){if(T===t)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){const t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,x.max_binop_len),r=t.length;for(;r>0;){if(x.binary_ops.hasOwnProperty(t)&&(!x.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=r,t;t=t.substr(0,--r)}return!1}gobbleBinaryExpression(){let t,r,T,o,a,A,C,I,i;if(A=this.gobbleToken(),!A||(r=this.gobbleBinaryOp(),!r))return A;for(a={value:r,prec:x.binaryPrecedence(r),right_a:x.right_associative.has(r)},C=this.gobbleToken(),C||this.throwError("Expected expression after "+r),o=[A,a,C];r=this.gobbleBinaryOp();){if(T=x.binaryPrecedence(r),T===0){this.index-=r.length;break}a={value:r,prec:T,right_a:x.right_associative.has(r)},i=r;const O=u=>a.right_a&&u.right_a?T>u.prec:T<=u.prec;for(;o.length>2&&O(o[o.length-2]);)C=o.pop(),r=o.pop().value,A=o.pop(),t={type:x.BINARY_EXP,operator:r,left:A,right:C},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+i),o.push(a,t)}for(I=o.length-1,t=o[I];I>1;)t={type:x.BINARY_EXP,operator:o[I-1].value,left:o[I-2],right:t},I-=2;return t}gobbleToken(){let t,r,T,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,x.isDecimalDigit(t)||t===x.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===x.SQUOTE_CODE||t===x.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===x.OBRACK_CODE)o=this.gobbleArray();else{for(r=this.expr.substr(this.index,x.max_unop_len),T=r.length;T>0;){if(x.unary_ops.hasOwnProperty(r)&&(!x.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!x.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=T;const a=this.gobbleToken();return a||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:x.UNARY_EXP,operator:r,argument:a,prefix:!0})}r=r.substr(0,--T)}x.isIdentifierStart(t)?(o=this.gobbleIdentifier(),x.literals.hasOwnProperty(o.name)?o={type:x.LITERAL,value:x.literals[o.name],raw:o.name}:o.name===x.this_str&&(o={type:x.THIS_EXP})):t===x.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let r=this.code;for(;r===x.PERIOD_CODE||r===x.OBRACK_CODE||r===x.OPAREN_CODE||r===x.QUMARK_CODE;){let T;if(r===x.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==x.PERIOD_CODE)break;T=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===x.OBRACK_CODE?(t={type:x.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},t.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==x.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===x.OPAREN_CODE?t={type:x.CALL_EXP,arguments:this.gobbleArguments(x.CPAREN_CODE),callee:t}:(r===x.PERIOD_CODE||T)&&(T&&this.index--,this.gobbleSpaces(),t={type:x.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),T&&(t.optional=!0),this.gobbleSpaces(),r=this.code}return t}gobbleNumericLiteral(){let t="",r,T;for(;x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===x.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(t+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(t+=this.expr.charAt(this.index++));x.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);x.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return T=this.code,x.isIdentifierStart(T)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(T===x.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===x.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:x.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="";const r=this.index,T=this.expr.charAt(this.index++);let o=!1;for(;this.index<this.expr.length;){let a=this.expr.charAt(this.index++);if(a===T){o=!0;break}else if(a==="\\")switch(a=this.expr.charAt(this.index++),a){case"n":t+=`
2
- `;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=a}else t+=a}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:x.LITERAL,value:t,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let t=this.code,r=this.index;for(x.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,x.isIdentifierPart(t));)this.index++;return{type:x.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(t){const r=[];let T=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let a=this.code;if(a===t){T=!0,this.index++,t===x.CPAREN_CODE&&o&&o>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(a===x.COMMA_CODE){if(this.index++,o++,o!==r.length){if(t===x.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===x.CBRACK_CODE)for(let A=r.length;A<o;A++)r.push(null)}}else if(r.length!==o&&o!==0)this.throwError("Expected comma");else{const A=this.gobbleExpression();(!A||A.type===x.COMPOUND)&&this.throwError("Expected comma"),r.push(A)}}return T||this.throwError("Expected "+String.fromCharCode(t)),r}gobbleGroup(){this.index++;let t=this.gobbleExpressions(x.CPAREN_CODE);if(this.code===x.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:x.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:x.ARRAY_EXP,elements:this.gobbleArguments(x.CBRACK_CODE)}}}const Zr=new Jr;Object.assign(x,{hooks:Zr,plugins:new Qr(x),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),x.max_unop_len=x.getMaxKeyLen(x.unary_ops),x.max_binop_len=x.getMaxKeyLen(x.binary_ops);const ot=E=>new x(E).parse(),jr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(x).filter(E=>!jr.includes(E)&&ot[E]===void 0).forEach(E=>{ot[E]=x[E]}),ot.Jsep=x;const zr="ConditionalExpression";var en={name:"ternary",init(E){E.hooks.add("after-expression",function(r){if(r.node&&this.code===E.QUMARK_CODE){this.index++;const T=r.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===E.COLON_CODE){this.index++;const a=this.gobbleExpression();if(a||this.throwError("Expected expression"),r.node={type:zr,test:T,consequent:o,alternate:a},T.operator&&E.binary_ops[T.operator]<=.9){let A=T;for(;A.right.operator&&E.binary_ops[A.right.operator]<=.9;)A=A.right;r.node.test=A.right,A.right=r.node,r.node=T}}else this.throwError("Expected :")}})}};ot.plugins.register(en);const hE=47,tn=92;var En={name:"regex",init(E){E.hooks.add("gobble-token",function(r){if(this.code===hE){const T=++this.index;let o=!1;for(;this.index<this.expr.length;){if(this.code===hE&&!o){const a=this.expr.slice(T,this.index);let A="";for(;++this.index<this.expr.length;){const I=this.code;if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57)A+=this.char;else break}let C;try{C=new RegExp(a,A)}catch(I){this.throwError(I.message)}return r.node={type:E.LITERAL,value:C,raw:this.expr.slice(T-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===E.OBRACK_CODE?o=!0:o&&this.code===E.CBRACK_CODE&&(o=!1),this.index+=this.code===tn?2:1}this.throwError("Unclosed Regex")}})}};const kt=43,dt={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[kt,45],assignmentPrecedence:.9,init(E){const t=[E.IDENTIFIER,E.MEMBER_EXP];dt.assignmentOperators.forEach(T=>E.addBinaryOp(T,dt.assignmentPrecedence,!0)),E.hooks.add("gobble-token",function(o){const a=this.code;dt.updateOperators.some(A=>A===a&&A===this.expr.charCodeAt(this.index+1))&&(this.index+=2,o.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!o.node.argument||!t.includes(o.node.argument.type))&&this.throwError(`Unexpected ${o.node.operator}`))}),E.hooks.add("after-token",function(o){if(o.node){const a=this.code;dt.updateOperators.some(A=>A===a&&A===this.expr.charCodeAt(this.index+1))&&(t.includes(o.node.type)||this.throwError(`Unexpected ${o.node.operator}`),this.index+=2,o.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:o.node,prefix:!1})}}),E.hooks.add("after-expression",function(o){o.node&&r(o.node)});function r(T){dt.assignmentOperators.has(T.operator)?(T.type="AssignmentExpression",r(T.left),r(T.right)):T.operator||Object.values(T).forEach(o=>{o&&typeof o=="object"&&r(o)})}}};ot.plugins.register(En,dt),ot.addUnaryOp("typeof"),ot.addLiteral("null",null),ot.addLiteral("undefined",void 0);const rn=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),ye={evalAst(E,t){switch(E.type){case"BinaryExpression":case"LogicalExpression":return ye.evalBinaryExpression(E,t);case"Compound":return ye.evalCompound(E,t);case"ConditionalExpression":return ye.evalConditionalExpression(E,t);case"Identifier":return ye.evalIdentifier(E,t);case"Literal":return ye.evalLiteral(E,t);case"MemberExpression":return ye.evalMemberExpression(E,t);case"UnaryExpression":return ye.evalUnaryExpression(E,t);case"ArrayExpression":return ye.evalArrayExpression(E,t);case"CallExpression":return ye.evalCallExpression(E,t);case"AssignmentExpression":return ye.evalAssignmentExpression(E,t);default:throw SyntaxError("Unexpected expression",E)}},evalBinaryExpression(E,t){return{"||":(T,o)=>T||o(),"&&":(T,o)=>T&&o(),"|":(T,o)=>T|o(),"^":(T,o)=>T^o(),"&":(T,o)=>T&o(),"==":(T,o)=>T==o(),"!=":(T,o)=>T!=o(),"===":(T,o)=>T===o(),"!==":(T,o)=>T!==o(),"<":(T,o)=>T<o(),">":(T,o)=>T>o(),"<=":(T,o)=>T<=o(),">=":(T,o)=>T>=o(),"<<":(T,o)=>T<<o(),">>":(T,o)=>T>>o(),">>>":(T,o)=>T>>>o(),"+":(T,o)=>T+o(),"-":(T,o)=>T-o(),"*":(T,o)=>T*o(),"/":(T,o)=>T/o(),"%":(T,o)=>T%o()}[E.operator](ye.evalAst(E.left,t),()=>ye.evalAst(E.right,t))},evalCompound(E,t){let r;for(let T=0;T<E.body.length;T++){E.body[T].type==="Identifier"&&["var","let","const"].includes(E.body[T].name)&&E.body[T+1]&&E.body[T+1].type==="AssignmentExpression"&&(T+=1);const o=E.body[T];r=ye.evalAst(o,t)}return r},evalConditionalExpression(E,t){return ye.evalAst(E.test,t)?ye.evalAst(E.consequent,t):ye.evalAst(E.alternate,t)},evalIdentifier(E,t){if(Object.hasOwn(t,E.name))return t[E.name];throw ReferenceError(`${E.name} is not defined`)},evalLiteral(E){return E.value},evalMemberExpression(E,t){const r=String(E.computed?ye.evalAst(E.property):E.property.name),T=ye.evalAst(E.object,t);if(T==null)throw TypeError(`Cannot read properties of ${T} (reading '${r}')`);if(!Object.hasOwn(T,r)&&rn.has(r))throw TypeError(`Cannot read properties of ${T} (reading '${r}')`);const o=T[r];return typeof o=="function"?o.bind(T):o},evalUnaryExpression(E,t){return{"-":T=>-ye.evalAst(T,t),"!":T=>!ye.evalAst(T,t),"~":T=>~ye.evalAst(T,t),"+":T=>+ye.evalAst(T,t),typeof:T=>typeof ye.evalAst(T,t)}[E.operator](E.argument)},evalArrayExpression(E,t){return E.elements.map(r=>ye.evalAst(r,t))},evalCallExpression(E,t){const r=E.arguments.map(o=>ye.evalAst(o,t));return ye.evalAst(E.callee,t)(...r)},evalAssignmentExpression(E,t){if(E.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");const r=E.left.name,T=ye.evalAst(E.right,t);return t[r]=T,t[r]}};class nn{constructor(t){this.code=t,this.ast=ot(this.code)}runInNewContext(t){const r=Object.assign(Object.create(null),t);return ye.evalAst(this.ast,r)}}function St(E,t){return E=E.slice(),E.push(t),E}function $t(E,t){return t=t.slice(),t.unshift(E),t}class sn extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}}function Be(E,t,r,T,o){if(!(this instanceof Be))try{return new Be(E,t,r,T,o)}catch(A){if(!A.avoidNew)throw A;return A.value}typeof E=="string"&&(o=T,T=r,r=t,t=E,E=null);const a=E&&typeof E=="object";if(E=E||{},this.json=E.json||r,this.path=E.path||t,this.resultType=E.resultType||"value",this.flatten=E.flatten||!1,this.wrap=Object.hasOwn(E,"wrap")?E.wrap:!0,this.sandbox=E.sandbox||{},this.eval=E.eval===void 0?"safe":E.eval,this.ignoreEvalErrors=typeof E.ignoreEvalErrors>"u"?!1:E.ignoreEvalErrors,this.parent=E.parent||null,this.parentProperty=E.parentProperty||null,this.callback=E.callback||T||null,this.otherTypeCallback=E.otherTypeCallback||o||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},E.autostart!==!1){const A={path:a?E.path:t};a?"json"in E&&(A.json=E.json):A.json=r;const C=this.evaluate(A);if(!C||typeof C!="object")throw new sn(C);return C}}Be.prototype.evaluate=function(E,t,r,T){let o=this.parent,a=this.parentProperty,{flatten:A,wrap:C}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=T||this.otherTypeCallback,t=t||this.json,E=E||this.path,E&&typeof E=="object"&&!Array.isArray(E)){if(!E.path&&E.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(E,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:t}=E),A=Object.hasOwn(E,"flatten")?E.flatten:A,this.currResultType=Object.hasOwn(E,"resultType")?E.resultType:this.currResultType,this.currSandbox=Object.hasOwn(E,"sandbox")?E.sandbox:this.currSandbox,C=Object.hasOwn(E,"wrap")?E.wrap:C,this.currEval=Object.hasOwn(E,"eval")?E.eval:this.currEval,r=Object.hasOwn(E,"callback")?E.callback:r,this.currOtherTypeCallback=Object.hasOwn(E,"otherTypeCallback")?E.otherTypeCallback:this.currOtherTypeCallback,o=Object.hasOwn(E,"parent")?E.parent:o,a=Object.hasOwn(E,"parentProperty")?E.parentProperty:a,E=E.path}if(o=o||null,a=a||null,Array.isArray(E)&&(E=Be.toPathString(E)),!E&&E!==""||!t)return;const I=Be.toPathArray(E);I[0]==="$"&&I.length>1&&I.shift(),this._hasParentSelector=null;const i=this._trace(I,t,["$"],o,a,r).filter(function(O){return O&&!O.isParentSelector});return i.length?!C&&i.length===1&&!i[0].hasArrExpr?this._getPreferredOutput(i[0]):i.reduce((O,u)=>{const d=this._getPreferredOutput(u);return A&&Array.isArray(d)?O=O.concat(d):O.push(d),O},[]):C?[]:void 0},Be.prototype._getPreferredOutput=function(E){const t=this.currResultType;switch(t){case"all":{const r=Array.isArray(E.path)?E.path:Be.toPathArray(E.path);return E.pointer=Be.toPointer(r),E.path=typeof E.path=="string"?E.path:Be.toPathString(E.path),E}case"value":case"parent":case"parentProperty":return E[t];case"path":return Be.toPathString(E[t]);case"pointer":return Be.toPointer(E.path);default:throw new TypeError("Unknown result type")}},Be.prototype._handleCallback=function(E,t,r){if(t){const T=this._getPreferredOutput(E);E.path=typeof E.path=="string"?E.path:Be.toPathString(E.path),t(T,r,E)}},Be.prototype._trace=function(E,t,r,T,o,a,A,C){let I;if(!E.length)return I={path:r,value:t,parent:T,parentProperty:o,hasArrExpr:A},this._handleCallback(I,a,"value"),I;const i=E[0],O=E.slice(1),u=[];function d(h){Array.isArray(h)?h.forEach(G=>{u.push(G)}):u.push(h)}if((typeof i!="string"||C)&&t&&Object.hasOwn(t,i))d(this._trace(O,t[i],St(r,i),t,i,a,A));else if(i==="*")this._walk(t,h=>{d(this._trace(O,t[h],St(r,h),t,h,a,!0,!0))});else if(i==="..")d(this._trace(O,t,r,T,o,a,A)),this._walk(t,h=>{typeof t[h]=="object"&&d(this._trace(E.slice(),t[h],St(r,h),t,h,a,!0))});else{if(i==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:O,isParentSelector:!0};if(i==="~")return I={path:St(r,i),value:o,parent:T,parentProperty:null},this._handleCallback(I,a,"property"),I;if(i==="$")d(this._trace(O,t,r,null,null,a,A));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(i))d(this._slice(i,O,t,r,T,o,a));else if(i.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const h=i.replace(/^\?\((.*?)\)$/u,"$1"),G=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(h);G?this._walk(t,J=>{const M=[G[2]],Ee=G[1]?t[J][G[1]]:t[J];this._trace(M,Ee,r,T,o,a,!0).length>0&&d(this._trace(O,t[J],St(r,J),t,J,a,!0))}):this._walk(t,J=>{this._eval(h,t[J],J,r,T,o)&&d(this._trace(O,t[J],St(r,J),t,J,a,!0))})}else if(i[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");d(this._trace($t(this._eval(i,t,r.at(-1),r.slice(0,-1),T,o),O),t,r,T,o,a,A))}else if(i[0]==="@"){let h=!1;const G=i.slice(1,-2);switch(G){case"scalar":(!t||!["object","function"].includes(typeof t))&&(h=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===G&&(h=!0);break;case"integer":Number.isFinite(t)&&!(t%1)&&(h=!0);break;case"number":Number.isFinite(t)&&(h=!0);break;case"nonFinite":typeof t=="number"&&!Number.isFinite(t)&&(h=!0);break;case"object":t&&typeof t===G&&(h=!0);break;case"array":Array.isArray(t)&&(h=!0);break;case"other":h=this.currOtherTypeCallback(t,r,T,o);break;case"null":t===null&&(h=!0);break;default:throw new TypeError("Unknown value type "+G)}if(h)return I={path:r,value:t,parent:T,parentProperty:o},this._handleCallback(I,a,"value"),I}else if(i[0]==="`"&&t&&Object.hasOwn(t,i.slice(1))){const h=i.slice(1);d(this._trace(O,t[h],St(r,h),t,h,a,A,!0))}else if(i.includes(",")){const h=i.split(",");for(const G of h)d(this._trace($t(G,O),t,r,T,o,a,!0))}else!C&&t&&Object.hasOwn(t,i)&&d(this._trace(O,t[i],St(r,i),t,i,a,A,!0))}if(this._hasParentSelector)for(let h=0;h<u.length;h++){const G=u[h];if(G&&G.isParentSelector){const J=this._trace(G.expr,t,G.path,T,o,a,A);if(Array.isArray(J)){u[h]=J[0];const M=J.length;for(let Ee=1;Ee<M;Ee++)h++,u.splice(h,0,J[Ee])}else u[h]=J}}return u},Be.prototype._walk=function(E,t){if(Array.isArray(E)){const r=E.length;for(let T=0;T<r;T++)t(T)}else E&&typeof E=="object"&&Object.keys(E).forEach(r=>{t(r)})},Be.prototype._slice=function(E,t,r,T,o,a,A){if(!Array.isArray(r))return;const C=r.length,I=E.split(":"),i=I[2]&&Number.parseInt(I[2])||1;let O=I[0]&&Number.parseInt(I[0])||0,u=I[1]&&Number.parseInt(I[1])||C;O=O<0?Math.max(0,O+C):Math.min(C,O),u=u<0?Math.max(0,u+C):Math.min(C,u);const d=[];for(let h=O;h<u;h+=i)this._trace($t(h,t),r,T,o,a,A,!0).forEach(J=>{d.push(J)});return d},Be.prototype._eval=function(E,t,r,T,o,a){this.currSandbox._$_parentProperty=a,this.currSandbox._$_parent=o,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const A=E.includes("@path");A&&(this.currSandbox._$_path=Be.toPathString(T.concat([r])));const C=this.currEval+"Script:"+E;if(!Be.cache[C]){let I=E.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(A&&(I=I.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Be.cache[C]=new this.safeVm.Script(I);else if(this.currEval==="native")Be.cache[C]=new this.vm.Script(I);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){const i=this.currEval;Be.cache[C]=new i(I)}else if(typeof this.currEval=="function")Be.cache[C]={runInNewContext:i=>this.currEval(I,i)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Be.cache[C].runInNewContext(this.currSandbox)}catch(I){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+I.message+": "+E)}},Be.cache={},Be.toPathString=function(E){const t=E,r=t.length;let T="$";for(let o=1;o<r;o++)/^(~|\^|@.*?\(\))$/u.test(t[o])||(T+=/^[0-9*]+$/u.test(t[o])?"["+t[o]+"]":"['"+t[o]+"']");return T},Be.toPointer=function(E){const t=E,r=t.length;let T="";for(let o=1;o<r;o++)/^(~|\^|@.*?\(\))$/u.test(t[o])||(T+="/"+t[o].toString().replaceAll("~","~0").replaceAll("/","~1"));return T},Be.toPathArray=function(E){const{cache:t}=Be;if(t[E])return t[E].concat();const r=[],o=E.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(a,A){return"[#"+(r.push(A)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(a,A){return"['"+A.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(a,A){return";"+A.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(a){const A=a.match(/#(\d+)/u);return!A||!A[1]?a:r[A[1]]});return t[E]=o,t[E].concat()},Be.prototype.safeVm={Script:nn};const Tn=function(E,t,r){const T=E.length;for(let o=0;o<T;o++){const a=E[o];r(a)&&t.push(E.splice(o--,1)[0])}};class on{constructor(t){this.code=t}runInNewContext(t){let r=this.code;const T=Object.keys(t),o=[];Tn(T,o,i=>typeof t[i]=="function");const a=T.map(i=>t[i]);r=o.reduce((i,O)=>{let u=t[O].toString();return/function/u.test(u)||(u="function "+u),"var "+O+"="+u+";"+i},"")+r,!/(['"])use strict\1/u.test(r)&&!T.includes("arguments")&&(r="var arguments = undefined;"+r),r=r.replace(/;\s*$/u,"");const C=r.lastIndexOf(";"),I=C!==-1?r.slice(0,C+1)+" return "+r.slice(C+1):" return "+r;return new Function(...T,I)(...a)}}Be.prototype.vm={Script:on};const an={class:"json-node"},An={key:0,class:"json-node__container"},Rn={class:"json-node__line"},Sn=["contenteditable","onKeydown"],Nn={key:1,class:"json-node__colon"},In=["title"],ln=["title"],On={key:4,class:"json-node__comma"},un={key:0,class:"json-node__children"},Cn={class:"json-node__children-content"},cn={class:"json-node__line json-node__closing-bracket"},_n={class:"json-node__bracket"},Ln={key:0,class:"json-node__comma"},Dn={key:1,class:"json-node__primitive"},pn=["contenteditable","onKeydown"],dn={key:1,class:"json-node__colon"},Pn=["title"],hn=["contenteditable","onKeydown"],Mn={key:0,class:"json-node__comma"},Un=n.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1},theme:{}},emits:["update:value","toggle-expand","copy","update:key"],setup(E,{emit:t}){n.useCssVars(p=>({"2a18b018":p.level,"58a14b93":p.theme.colors.syntaxKey,"46fe1b3e":p.theme.colors.hoverBackground,fbe2c048:p.theme.colors.syntaxBracket,"4bd524bb":p.theme.colors.collapsedText,"3308d23c":p.theme.colors.collapsedBackground,"36380c60":p.theme.colors.collapsedBackgroundHover,"0892365d":p.theme.colors.syntaxString,"0015b195":p.theme.colors.syntaxNumber,"7db95f5c":p.theme.colors.syntaxBoolean,"88ec825a":p.theme.colors.syntaxNull,"537157f7":p.theme.colors.background,"3cee3331":p.theme.colors.selectionBackground,"81323cee":p.theme.colors.indentLine}));const r=E,T=t,o=n.ref(!1),a=n.ref(!1),A=n.ref(""),C=n.ref(""),I=n.ref("string"),i=n.ref(null),O=n.ref(null),u=p=>p!==null&&typeof p=="object"&&!Array.isArray(p)&&"__protected_number__"in p&&Object.keys(p).length===1,d=p=>u(p)?p.__protected_number__:"",h=n.computed(()=>u(r.value)?!1:r.value!==null&&typeof r.value=="object"),G=n.computed(()=>Array.isArray(r.value)),J=n.computed(()=>r.path?r.path:r.keyName?r.keyName:"root"),M=n.computed(()=>r.expanded.has(J.value)),Ee=n.computed(()=>r.keyName),re=n.computed(()=>G.value?"[":"{"),k=n.computed(()=>G.value?"]":"}"),Ie=n.computed(()=>{if(!r.value)return"";const B=Object.keys(r.value).length;return G.value?B>0?` ${B} items `:" ":B>0?` ${B} keys `:" "}),Ce=n.computed(()=>{const p=typeof r.value;return r.value===null?"json-node__value--null":p==="boolean"?"json-node__value--boolean":p==="number"||u(r.value)?"json-node__value--number":p==="string"?"json-node__value--string":""}),z=n.computed(()=>r.value===null?"null":typeof r.value=="boolean"||typeof r.value=="number"?String(r.value):u(r.value)?d(r.value):typeof r.value=="string"?`"${r.value}"`:String(r.value)),D=n.computed(()=>"Double-click to edit"),Ae=p=>r.level===0?p:J.value?`${J.value}.${p}`:p,b=p=>{const B=Object.keys(r.value);return B.indexOf(p)===B.length-1},U=()=>{T("toggle-expand",J.value)},$=()=>{r.level!==0&&(o.value=!0,A.value=r.keyName,n.nextTick(()=>{if(i.value){i.value.focus();const p=document.createRange();p.selectNodeContents(i.value);const B=window.getSelection();B?.removeAllRanges(),B?.addRange(p)}}))},w=()=>{h.value||(a.value=!0,r.value===null?I.value="null":u(r.value)?I.value="protected-number":typeof r.value=="string"?I.value="string":typeof r.value=="number"?I.value="number":typeof r.value=="boolean"&&(I.value="boolean"),u(r.value)?C.value=d(r.value):typeof r.value=="string"?C.value=r.value:C.value=String(r.value),n.nextTick(()=>{if(O.value){O.value.focus();const p=document.createRange();p.selectNodeContents(O.value);const B=window.getSelection();B?.removeAllRanges(),B?.addRange(p)}}))},K=()=>{if(r.level===0||!o.value)return;const p=i.value?.innerText.trim()||"";if(!p){Oe();return}if(p===r.keyName){o.value=!1;return}o.value=!1,T("update:key",J.value,p)},ae=()=>{if(a.value)try{let p;const B=O.value?.innerText.trim()||"";if(I.value==="string")B==="null"?p=null:B==="true"||B==="false"?p=B==="true":p=B;else if(I.value==="protected-number")p={__protected_number__:B};else if(B==="null")p=null;else if(B==="true"||B==="false")p=B==="true";else if(!isNaN(Number(B))&&B!==""){const Q=Number(B);!Number.isSafeInteger(Q)||B.length>15?p={__protected_number__:B}:p=Q}else p=B;T("update:value",J.value,p),a.value=!1}catch(p){console.error("Failed to parse value:",p),a.value=!1}},Oe=()=>{o.value=!1,A.value=r.keyName},De=()=>{a.value=!1,u(r.value)?C.value=d(r.value):typeof r.value=="string"?C.value=r.value:C.value=String(r.value)};return(p,B)=>{const Q=n.resolveComponent("JsonNode",!0);return n.openBlock(),n.createElementBlock("div",an,[h.value?(n.openBlock(),n.createElementBlock("div",An,[n.createElementVNode("div",Rn,[p.keyName?(n.openBlock(),n.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:o.value,onDblclick:$,onKeydown:[n.withKeys(n.withModifiers(K,["prevent"]),["enter"]),n.withKeys(Oe,["escape"])],onBlur:K,ref_key:"keyRef",ref:i,title:"Double-click to edit key"},n.toDisplayString(o.value?A.value:`"${Ee.value}"`),41,Sn)):n.createCommentVNode("",!0),p.keyName?(n.openBlock(),n.createElementBlock("span",Nn,": ")):n.createCommentVNode("",!0),n.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:U,title:M.value?"Click to collapse":"Click to expand"},n.toDisplayString(re.value),9,In),M.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("span",{key:2,class:"json-node__collapsed-info",onClick:U,title:`Click to expand ${Ie.value.trim()}`},n.toDisplayString(Ie.value),9,ln)),M.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("span",{key:3,class:"json-node__bracket json-node__bracket--clickable",onClick:U,title:"Click to expand"},n.toDisplayString(k.value),1)),!M.value&&!p.isLast?(n.openBlock(),n.createElementBlock("span",On,",")):n.createCommentVNode("",!0)]),M.value?(n.openBlock(),n.createElementBlock("div",un,[n.createElementVNode("div",Cn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(p.value,(ee,Y)=>(n.openBlock(),n.createElementBlock("div",{key:Y,class:"json-node__child"},[n.createVNode(Q,{value:ee,"key-name":G.value?"":String(Y),level:p.level+1,path:Ae(String(Y)),expanded:p.expanded,theme:p.theme,"onUpdate:value":B[0]||(B[0]=(Re,f)=>p.$emit("update:value",Re,f)),onToggleExpand:B[1]||(B[1]=Re=>p.$emit("toggle-expand",Re)),onCopy:B[2]||(B[2]=Re=>p.$emit("copy",Re)),"onUpdate:key":B[3]||(B[3]=(Re,f)=>p.$emit("update:key",Re,f)),"is-last":b(String(Y))},null,8,["value","key-name","level","path","expanded","theme","is-last"])]))),128))]),n.createElementVNode("div",cn,[n.createElementVNode("span",_n,n.toDisplayString(k.value),1),p.isLast?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("span",Ln,","))])])):n.createCommentVNode("",!0)])):(n.openBlock(),n.createElementBlock("div",Dn,[p.keyName?(n.openBlock(),n.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:o.value,onDblclick:$,onKeydown:[n.withKeys(n.withModifiers(K,["prevent"]),["enter"]),n.withKeys(Oe,["escape"])],onBlur:K,ref_key:"keyRef",ref:i,title:"Double-click to edit key"},n.toDisplayString(o.value?A.value:`"${Ee.value}"`),41,pn)):n.createCommentVNode("",!0),p.keyName?(n.openBlock(),n.createElementBlock("span",dn,": ")):n.createCommentVNode("",!0),n.createElementVNode("span",{class:n.normalizeClass(["json-node__value-wrapper",Ce.value]),onDblclick:w,title:D.value},[n.createElementVNode("span",{class:"json-node__value",contenteditable:a.value,onKeydown:[n.withKeys(n.withModifiers(ae,["prevent"]),["enter"]),n.withKeys(De,["escape"])],onBlur:ae,ref_key:"valueRef",ref:O},n.toDisplayString(a.value?C.value:z.value),41,hn),p.isLast?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("span",Mn,","))],42,Pn)]))])}}}),Mt=(E,t)=>{const r=E.__vccOpts||E;for(const[T,o]of t)r[T]=o;return r},mn=Mt(Un,[["__scopeId","data-v-1472a8af"]]),ME={name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#656d76",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#2da44e",buttonPrimaryHover:"#2c974b",success:"#1a7f37",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",syntaxString:"#0a3069",syntaxNumber:"#0969da",syntaxBoolean:"#8250df",syntaxNull:"#656d76",syntaxKey:"#0969da",syntaxBracket:"#24292f",hoverBackground:"#f6f8fa",selectionBackground:"rgba(9, 105, 218, 0.2)",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},Bn={"github-light":ME,"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#e6edf3",textSecondary:"#7d8590",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#e6edf3",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2419",error:"#f85149",errorBackground:"#381921",syntaxString:"#a5d6ff",syntaxNumber:"#79c0ff",syntaxBoolean:"#d2a8ff",syntaxNull:"#7d8590",syntaxKey:"#79c0ff",syntaxBracket:"#e6edf3",hoverBackground:"#161b22",selectionBackground:"rgba(121, 192, 255, 0.2)",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",syntaxString:"#22c55e",syntaxNumber:"#3b82f6",syntaxBoolean:"#8b5cf6",syntaxNull:"#6b7280",syntaxKey:"#1f2937",syntaxBracket:"#374151",hoverBackground:"#f9f9f9",selectionBackground:"rgba(59, 130, 246, 0.2)",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fefbf6",surfaceBackground:"#faf6f0",border:"#e8d5b7",text:"#4a3b2a",textSecondary:"#8b7355",buttonBackground:"#f4ede4",buttonBackgroundHover:"#efe5d8",buttonBorder:"#e8d5b7",buttonText:"#4a3b2a",buttonPrimary:"#ff6b35",buttonPrimaryHover:"#e55a2b",success:"#ff9500",successBackground:"#fff8f0",error:"#d73502",errorBackground:"#ffeee8",syntaxString:"#d73502",syntaxNumber:"#ff6b35",syntaxBoolean:"#b7472a",syntaxNull:"#8b7355",syntaxKey:"#4a3b2a",syntaxBracket:"#6b5444",hoverBackground:"#f8f2eb",selectionBackground:"rgba(255, 107, 53, 0.2)",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}};function gn(E="github-light"){return Bn[E]||ME}const yn={key:0,class:"json-format__toolbar"},Gn={class:"json-format__actions"},Fn=["disabled"],bn=["disabled"],Hn=["disabled"],xn=["disabled"],Yn={class:"json-format__info"},Vn={key:0,class:"json-format__status json-format__status--success"},vn={key:1,class:"json-format__status json-format__status--error"},wn={class:"json-format__content"},Wn={key:0,class:"json-format__error"},Xn={key:1,class:"json-format__error"},Kn={key:2,class:"json-format__viewer"},UE=Mt(n.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},showToolbar:{type:Boolean,default:!0},theme:{default:"github-light"}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress"],setup(E,{expose:t,emit:r}){n.useCssVars(f=>({"4782cf12":d.value.colors.border,"35b95bf9":d.value.colors.background,cda9ff90:d.value.colors.text,"41368ee0":d.value.colors.surfaceBackground,"47674bee":d.value.colors.buttonBorder,"0f08048b":d.value.colors.buttonBackground,cb00036c:d.value.colors.buttonText,"4a92191e":d.value.colors.buttonBackgroundHover,d30c3876:d.value.colors.buttonPrimary,"3d918877":d.value.colors.buttonPrimaryHover,"4f985866":d.value.colors.successBackground,"3847a518":d.value.colors.success,"28f0996b":d.value.colors.errorBackground,e9310f46:d.value.colors.error}));const T=E,o=r,a=n.ref(null),A=n.ref(""),C=n.ref(new Set),I=n.ref(null),i=n.ref(""),O=n.ref(!1),u=n.computed(()=>A.value===""),d=n.computed(()=>gn(T.theme)),h=f=>{if(f==null)return f;if(Array.isArray(f))return f.map(F=>h(F));if(typeof f=="object"){const F={},v=Object.keys(f).sort();for(const q of v)F[q]=h(f[q]);return F}return f},G=n.computed(()=>{const f=I.value!==null?I.value:a.value;return!f||!O.value?f:h(f)}),J=n.computed(()=>i.value?null:G.value),M=f=>{if(!f.trim()){a.value=null,A.value="",I.value=null,i.value="";return}try{let F=f;const v=/(:\s*|,\s*|\[\s*)-?\d{16,}/.test(F),q=/(:\s*|,\s*|\[\s*)-?\d+\.\d*0+\s*[,}\]\s]*/.test(F);if(!v&&!q)try{a.value=JSON.parse(F),A.value="",I.value=null,i.value="",n.nextTick(()=>{J.value!==null&&w()});return}catch{}F=(H=>{let te="",_e=!1,Le=!1,ge=0;for(;ge<H.length;){const He=H[ge];if(_e)Le?Le=!1:He==="\\"?Le=!0:He==='"'&&(_e=!1),te+=He,ge++;else if(He==='"')_e=!0,te+=He,ge++;else{const Ue=H.slice(ge);let Z=Ue.match(/^([:,\[\s]*)(-?\d{16,})(\s*[,\}\]\s]|$)/);if(Z){te+=Z[1]+'{"__protected_number__":"'+Z[2]+'"}'+Z[3],ge+=Z[0].length;continue}if(Z=Ue.match(/^([:,\[\s]*)(-?\d+\.\d*0+)(\s*[,\}\]\s]|$)/),Z){te+=Z[1]+'{"__protected_number__":"'+Z[2]+'"}'+Z[3],ge+=Z[0].length;continue}te+=He,ge++}}return te})(F),a.value=JSON.parse(F),A.value="",I.value=null,i.value="",n.nextTick(()=>{J.value!==null&&w()})}catch(F){A.value=F instanceof Error?F.message:"Unknown parsing error",a.value=null,I.value=null,i.value=""}},Ee=f=>{if(!f||!f.expression.trim()){Ce();return}if(!a.value){i.value="No valid JSON data to filter";return}try{let F;if(f.type==="jsonpath")F=Be({path:f.expression,json:a.value}),F.length===1&&f.expression.includes("$[")===!1&&!f.expression.endsWith("[*]")?I.value=F[0]:I.value=F;else if(f.type==="js"){const{proxyData:v,indexMap:q}=re(a.value),H=new Function("$",`
1
+ (function(rt,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],o):(rt=typeof globalThis<"u"?globalThis:rt||self,o(rt.LoneFormat={},rt.Vue))})(this,function(rt,o){"use strict";class Jr{add(t,r,T){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(s){this[s]=this[s]||[],r&&this[s][T?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(T){T.call(r&&r.context?r.context:r,r)})}}class Qr{constructor(t){this.jsep=t,this.registered={}}register(){for(var t=arguments.length,r=new Array(t),T=0;T<t;T++)r[T]=arguments[T];r.forEach(s=>{if(typeof s!="object"||!s.name||!s.init)throw new Error("Invalid JSEP plugin format");this.registered[s.name]||(s.init(this.jsep),this.registered[s.name]=s)})}}class Y{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+Y.version}static addUnaryOp(t){return Y.max_unop_len=Math.max(t.length,Y.max_unop_len),Y.unary_ops[t]=1,Y}static addBinaryOp(t,r,T){return Y.max_binop_len=Math.max(t.length,Y.max_binop_len),Y.binary_ops[t]=r,T?Y.right_associative.add(t):Y.right_associative.delete(t),Y}static addIdentifierChar(t){return Y.additional_identifier_chars.add(t),Y}static addLiteral(t,r){return Y.literals[t]=r,Y}static removeUnaryOp(t){return delete Y.unary_ops[t],t.length===Y.max_unop_len&&(Y.max_unop_len=Y.getMaxKeyLen(Y.unary_ops)),Y}static removeAllUnaryOps(){return Y.unary_ops={},Y.max_unop_len=0,Y}static removeIdentifierChar(t){return Y.additional_identifier_chars.delete(t),Y}static removeBinaryOp(t){return delete Y.binary_ops[t],t.length===Y.max_binop_len&&(Y.max_binop_len=Y.getMaxKeyLen(Y.binary_ops)),Y.right_associative.delete(t),Y}static removeAllBinaryOps(){return Y.binary_ops={},Y.max_binop_len=0,Y}static removeLiteral(t){return delete Y.literals[t],Y}static removeAllLiterals(){return Y.literals={},Y}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new Y(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(r=>r.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return Y.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!Y.binary_ops[String.fromCharCode(t)]||Y.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return Y.isIdentifierStart(t)||Y.isDecimalDigit(t)}throwError(t){const r=new Error(t+" at character "+this.index);throw r.index=this.index,r.description=t,r}runHook(t,r){if(Y.hooks[t]){const T={context:this,node:r};return Y.hooks.run(t,T),T.node}return r}searchHook(t){if(Y.hooks[t]){const r={context:this};return Y.hooks[t].find(function(T){return T.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let t=this.code;for(;t===Y.SPACE_CODE||t===Y.TAB_CODE||t===Y.LF_CODE||t===Y.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const t=this.gobbleExpressions(),r=t.length===1?t[0]:{type:Y.COMPOUND,body:t};return this.runHook("after-all",r)}gobbleExpressions(t){let r=[],T,s;for(;this.index<this.expr.length;)if(T=this.code,T===Y.SEMCOL_CODE||T===Y.COMMA_CODE)this.index++;else if(s=this.gobbleExpression())r.push(s);else if(this.index<this.expr.length){if(T===t)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){const t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,Y.max_binop_len),r=t.length;for(;r>0;){if(Y.binary_ops.hasOwnProperty(t)&&(!Y.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!Y.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=r,t;t=t.substr(0,--r)}return!1}gobbleBinaryExpression(){let t,r,T,s,a,R,C,I,A;if(R=this.gobbleToken(),!R||(r=this.gobbleBinaryOp(),!r))return R;for(a={value:r,prec:Y.binaryPrecedence(r),right_a:Y.right_associative.has(r)},C=this.gobbleToken(),C||this.throwError("Expected expression after "+r),s=[R,a,C];r=this.gobbleBinaryOp();){if(T=Y.binaryPrecedence(r),T===0){this.index-=r.length;break}a={value:r,prec:T,right_a:Y.right_associative.has(r)},A=r;const u=l=>a.right_a&&l.right_a?T>l.prec:T<=l.prec;for(;s.length>2&&u(s[s.length-2]);)C=s.pop(),r=s.pop().value,R=s.pop(),t={type:Y.BINARY_EXP,operator:r,left:R,right:C},s.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+A),s.push(a,t)}for(I=s.length-1,t=s[I];I>1;)t={type:Y.BINARY_EXP,operator:s[I-1].value,left:s[I-2],right:t},I-=2;return t}gobbleToken(){let t,r,T,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(t=this.code,Y.isDecimalDigit(t)||t===Y.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===Y.SQUOTE_CODE||t===Y.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(t===Y.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,Y.max_unop_len),T=r.length;T>0;){if(Y.unary_ops.hasOwnProperty(r)&&(!Y.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!Y.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=T;const a=this.gobbleToken();return a||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:Y.UNARY_EXP,operator:r,argument:a,prefix:!0})}r=r.substr(0,--T)}Y.isIdentifierStart(t)?(s=this.gobbleIdentifier(),Y.literals.hasOwnProperty(s.name)?s={type:Y.LITERAL,value:Y.literals[s.name],raw:s.name}:s.name===Y.this_str&&(s={type:Y.THIS_EXP})):t===Y.OPAREN_CODE&&(s=this.gobbleGroup())}return s?(s=this.gobbleTokenProperty(s),this.runHook("after-token",s)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let r=this.code;for(;r===Y.PERIOD_CODE||r===Y.OBRACK_CODE||r===Y.OPAREN_CODE||r===Y.QUMARK_CODE;){let T;if(r===Y.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==Y.PERIOD_CODE)break;T=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===Y.OBRACK_CODE?(t={type:Y.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},t.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==Y.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===Y.OPAREN_CODE?t={type:Y.CALL_EXP,arguments:this.gobbleArguments(Y.CPAREN_CODE),callee:t}:(r===Y.PERIOD_CODE||T)&&(T&&this.index--,this.gobbleSpaces(),t={type:Y.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),T&&(t.optional=!0),this.gobbleSpaces(),r=this.code}return t}gobbleNumericLiteral(){let t="",r,T;for(;Y.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===Y.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);Y.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(t+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(t+=this.expr.charAt(this.index++));Y.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);Y.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return T=this.code,Y.isIdentifierStart(T)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(T===Y.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===Y.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:Y.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="";const r=this.index,T=this.expr.charAt(this.index++);let s=!1;for(;this.index<this.expr.length;){let a=this.expr.charAt(this.index++);if(a===T){s=!0;break}else if(a==="\\")switch(a=this.expr.charAt(this.index++),a){case"n":t+=`
2
+ `;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=a}else t+=a}return s||this.throwError('Unclosed quote after "'+t+'"'),{type:Y.LITERAL,value:t,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let t=this.code,r=this.index;for(Y.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,Y.isIdentifierPart(t));)this.index++;return{type:Y.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(t){const r=[];let T=!1,s=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let a=this.code;if(a===t){T=!0,this.index++,t===Y.CPAREN_CODE&&s&&s>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(a===Y.COMMA_CODE){if(this.index++,s++,s!==r.length){if(t===Y.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===Y.CBRACK_CODE)for(let R=r.length;R<s;R++)r.push(null)}}else if(r.length!==s&&s!==0)this.throwError("Expected comma");else{const R=this.gobbleExpression();(!R||R.type===Y.COMPOUND)&&this.throwError("Expected comma"),r.push(R)}}return T||this.throwError("Expected "+String.fromCharCode(t)),r}gobbleGroup(){this.index++;let t=this.gobbleExpressions(Y.CPAREN_CODE);if(this.code===Y.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:Y.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:Y.ARRAY_EXP,elements:this.gobbleArguments(Y.CBRACK_CODE)}}}const Zr=new Jr;Object.assign(Y,{hooks:Zr,plugins:new Qr(Y),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),Y.max_unop_len=Y.getMaxKeyLen(Y.unary_ops),Y.max_binop_len=Y.getMaxKeyLen(Y.binary_ops);const ot=E=>new Y(E).parse(),jr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(Y).filter(E=>!jr.includes(E)&&ot[E]===void 0).forEach(E=>{ot[E]=Y[E]}),ot.Jsep=Y;const zr="ConditionalExpression";var en={name:"ternary",init(E){E.hooks.add("after-expression",function(r){if(r.node&&this.code===E.QUMARK_CODE){this.index++;const T=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===E.COLON_CODE){this.index++;const a=this.gobbleExpression();if(a||this.throwError("Expected expression"),r.node={type:zr,test:T,consequent:s,alternate:a},T.operator&&E.binary_ops[T.operator]<=.9){let R=T;for(;R.right.operator&&E.binary_ops[R.right.operator]<=.9;)R=R.right;r.node.test=R.right,R.right=r.node,r.node=T}}else this.throwError("Expected :")}})}};ot.plugins.register(en);const hE=47,tn=92;var En={name:"regex",init(E){E.hooks.add("gobble-token",function(r){if(this.code===hE){const T=++this.index;let s=!1;for(;this.index<this.expr.length;){if(this.code===hE&&!s){const a=this.expr.slice(T,this.index);let R="";for(;++this.index<this.expr.length;){const I=this.code;if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57)R+=this.char;else break}let C;try{C=new RegExp(a,R)}catch(I){this.throwError(I.message)}return r.node={type:E.LITERAL,value:C,raw:this.expr.slice(T-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===E.OBRACK_CODE?s=!0:s&&this.code===E.CBRACK_CODE&&(s=!1),this.index+=this.code===tn?2:1}this.throwError("Unclosed Regex")}})}};const kt=43,dt={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[kt,45],assignmentPrecedence:.9,init(E){const t=[E.IDENTIFIER,E.MEMBER_EXP];dt.assignmentOperators.forEach(T=>E.addBinaryOp(T,dt.assignmentPrecedence,!0)),E.hooks.add("gobble-token",function(s){const a=this.code;dt.updateOperators.some(R=>R===a&&R===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!t.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),E.hooks.add("after-token",function(s){if(s.node){const a=this.code;dt.updateOperators.some(R=>R===a&&R===this.expr.charCodeAt(this.index+1))&&(t.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:a===kt?"++":"--",argument:s.node,prefix:!1})}}),E.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(T){dt.assignmentOperators.has(T.operator)?(T.type="AssignmentExpression",r(T.left),r(T.right)):T.operator||Object.values(T).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};ot.plugins.register(En,dt),ot.addUnaryOp("typeof"),ot.addLiteral("null",null),ot.addLiteral("undefined",void 0);const rn=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),Fe={evalAst(E,t){switch(E.type){case"BinaryExpression":case"LogicalExpression":return Fe.evalBinaryExpression(E,t);case"Compound":return Fe.evalCompound(E,t);case"ConditionalExpression":return Fe.evalConditionalExpression(E,t);case"Identifier":return Fe.evalIdentifier(E,t);case"Literal":return Fe.evalLiteral(E,t);case"MemberExpression":return Fe.evalMemberExpression(E,t);case"UnaryExpression":return Fe.evalUnaryExpression(E,t);case"ArrayExpression":return Fe.evalArrayExpression(E,t);case"CallExpression":return Fe.evalCallExpression(E,t);case"AssignmentExpression":return Fe.evalAssignmentExpression(E,t);default:throw SyntaxError("Unexpected expression",E)}},evalBinaryExpression(E,t){return{"||":(T,s)=>T||s(),"&&":(T,s)=>T&&s(),"|":(T,s)=>T|s(),"^":(T,s)=>T^s(),"&":(T,s)=>T&s(),"==":(T,s)=>T==s(),"!=":(T,s)=>T!=s(),"===":(T,s)=>T===s(),"!==":(T,s)=>T!==s(),"<":(T,s)=>T<s(),">":(T,s)=>T>s(),"<=":(T,s)=>T<=s(),">=":(T,s)=>T>=s(),"<<":(T,s)=>T<<s(),">>":(T,s)=>T>>s(),">>>":(T,s)=>T>>>s(),"+":(T,s)=>T+s(),"-":(T,s)=>T-s(),"*":(T,s)=>T*s(),"/":(T,s)=>T/s(),"%":(T,s)=>T%s()}[E.operator](Fe.evalAst(E.left,t),()=>Fe.evalAst(E.right,t))},evalCompound(E,t){let r;for(let T=0;T<E.body.length;T++){E.body[T].type==="Identifier"&&["var","let","const"].includes(E.body[T].name)&&E.body[T+1]&&E.body[T+1].type==="AssignmentExpression"&&(T+=1);const s=E.body[T];r=Fe.evalAst(s,t)}return r},evalConditionalExpression(E,t){return Fe.evalAst(E.test,t)?Fe.evalAst(E.consequent,t):Fe.evalAst(E.alternate,t)},evalIdentifier(E,t){if(Object.hasOwn(t,E.name))return t[E.name];throw ReferenceError(`${E.name} is not defined`)},evalLiteral(E){return E.value},evalMemberExpression(E,t){const r=String(E.computed?Fe.evalAst(E.property):E.property.name),T=Fe.evalAst(E.object,t);if(T==null)throw TypeError(`Cannot read properties of ${T} (reading '${r}')`);if(!Object.hasOwn(T,r)&&rn.has(r))throw TypeError(`Cannot read properties of ${T} (reading '${r}')`);const s=T[r];return typeof s=="function"?s.bind(T):s},evalUnaryExpression(E,t){return{"-":T=>-Fe.evalAst(T,t),"!":T=>!Fe.evalAst(T,t),"~":T=>~Fe.evalAst(T,t),"+":T=>+Fe.evalAst(T,t),typeof:T=>typeof Fe.evalAst(T,t)}[E.operator](E.argument)},evalArrayExpression(E,t){return E.elements.map(r=>Fe.evalAst(r,t))},evalCallExpression(E,t){const r=E.arguments.map(s=>Fe.evalAst(s,t));return Fe.evalAst(E.callee,t)(...r)},evalAssignmentExpression(E,t){if(E.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");const r=E.left.name,T=Fe.evalAst(E.right,t);return t[r]=T,t[r]}};class nn{constructor(t){this.code=t,this.ast=ot(this.code)}runInNewContext(t){const r=Object.assign(Object.create(null),t);return Fe.evalAst(this.ast,r)}}function St(E,t){return E=E.slice(),E.push(t),E}function $t(E,t){return t=t.slice(),t.unshift(E),t}class Tn extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}}function Ge(E,t,r,T,s){if(!(this instanceof Ge))try{return new Ge(E,t,r,T,s)}catch(R){if(!R.avoidNew)throw R;return R.value}typeof E=="string"&&(s=T,T=r,r=t,t=E,E=null);const a=E&&typeof E=="object";if(E=E||{},this.json=E.json||r,this.path=E.path||t,this.resultType=E.resultType||"value",this.flatten=E.flatten||!1,this.wrap=Object.hasOwn(E,"wrap")?E.wrap:!0,this.sandbox=E.sandbox||{},this.eval=E.eval===void 0?"safe":E.eval,this.ignoreEvalErrors=typeof E.ignoreEvalErrors>"u"?!1:E.ignoreEvalErrors,this.parent=E.parent||null,this.parentProperty=E.parentProperty||null,this.callback=E.callback||T||null,this.otherTypeCallback=E.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},E.autostart!==!1){const R={path:a?E.path:t};a?"json"in E&&(R.json=E.json):R.json=r;const C=this.evaluate(R);if(!C||typeof C!="object")throw new Tn(C);return C}}Ge.prototype.evaluate=function(E,t,r,T){let s=this.parent,a=this.parentProperty,{flatten:R,wrap:C}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=T||this.otherTypeCallback,t=t||this.json,E=E||this.path,E&&typeof E=="object"&&!Array.isArray(E)){if(!E.path&&E.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(E,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:t}=E),R=Object.hasOwn(E,"flatten")?E.flatten:R,this.currResultType=Object.hasOwn(E,"resultType")?E.resultType:this.currResultType,this.currSandbox=Object.hasOwn(E,"sandbox")?E.sandbox:this.currSandbox,C=Object.hasOwn(E,"wrap")?E.wrap:C,this.currEval=Object.hasOwn(E,"eval")?E.eval:this.currEval,r=Object.hasOwn(E,"callback")?E.callback:r,this.currOtherTypeCallback=Object.hasOwn(E,"otherTypeCallback")?E.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(E,"parent")?E.parent:s,a=Object.hasOwn(E,"parentProperty")?E.parentProperty:a,E=E.path}if(s=s||null,a=a||null,Array.isArray(E)&&(E=Ge.toPathString(E)),!E&&E!==""||!t)return;const I=Ge.toPathArray(E);I[0]==="$"&&I.length>1&&I.shift(),this._hasParentSelector=null;const A=this._trace(I,t,["$"],s,a,r).filter(function(u){return u&&!u.isParentSelector});return A.length?!C&&A.length===1&&!A[0].hasArrExpr?this._getPreferredOutput(A[0]):A.reduce((u,l)=>{const f=this._getPreferredOutput(l);return R&&Array.isArray(f)?u=u.concat(f):u.push(f),u},[]):C?[]:void 0},Ge.prototype._getPreferredOutput=function(E){const t=this.currResultType;switch(t){case"all":{const r=Array.isArray(E.path)?E.path:Ge.toPathArray(E.path);return E.pointer=Ge.toPointer(r),E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),E}case"value":case"parent":case"parentProperty":return E[t];case"path":return Ge.toPathString(E[t]);case"pointer":return Ge.toPointer(E.path);default:throw new TypeError("Unknown result type")}},Ge.prototype._handleCallback=function(E,t,r){if(t){const T=this._getPreferredOutput(E);E.path=typeof E.path=="string"?E.path:Ge.toPathString(E.path),t(T,r,E)}},Ge.prototype._trace=function(E,t,r,T,s,a,R,C){let I;if(!E.length)return I={path:r,value:t,parent:T,parentProperty:s,hasArrExpr:R},this._handleCallback(I,a,"value"),I;const A=E[0],u=E.slice(1),l=[];function f(M){Array.isArray(M)?M.forEach(b=>{l.push(b)}):l.push(M)}if((typeof A!="string"||C)&&t&&Object.hasOwn(t,A))f(this._trace(u,t[A],St(r,A),t,A,a,R));else if(A==="*")this._walk(t,M=>{f(this._trace(u,t[M],St(r,M),t,M,a,!0,!0))});else if(A==="..")f(this._trace(u,t,r,T,s,a,R)),this._walk(t,M=>{typeof t[M]=="object"&&f(this._trace(E.slice(),t[M],St(r,M),t,M,a,!0))});else{if(A==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:u,isParentSelector:!0};if(A==="~")return I={path:St(r,A),value:s,parent:T,parentProperty:null},this._handleCallback(I,a,"property"),I;if(A==="$")f(this._trace(u,t,r,null,null,a,R));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(A))f(this._slice(A,u,t,r,T,s,a));else if(A.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const M=A.replace(/^\?\((.*?)\)$/u,"$1"),b=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(M);b?this._walk(t,J=>{const U=[b[2]],ee=b[1]?t[J][b[1]]:t[J];this._trace(U,ee,r,T,s,a,!0).length>0&&f(this._trace(u,t[J],St(r,J),t,J,a,!0))}):this._walk(t,J=>{this._eval(M,t[J],J,r,T,s)&&f(this._trace(u,t[J],St(r,J),t,J,a,!0))})}else if(A[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace($t(this._eval(A,t,r.at(-1),r.slice(0,-1),T,s),u),t,r,T,s,a,R))}else if(A[0]==="@"){let M=!1;const b=A.slice(1,-2);switch(b){case"scalar":(!t||!["object","function"].includes(typeof t))&&(M=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===b&&(M=!0);break;case"integer":Number.isFinite(t)&&!(t%1)&&(M=!0);break;case"number":Number.isFinite(t)&&(M=!0);break;case"nonFinite":typeof t=="number"&&!Number.isFinite(t)&&(M=!0);break;case"object":t&&typeof t===b&&(M=!0);break;case"array":Array.isArray(t)&&(M=!0);break;case"other":M=this.currOtherTypeCallback(t,r,T,s);break;case"null":t===null&&(M=!0);break;default:throw new TypeError("Unknown value type "+b)}if(M)return I={path:r,value:t,parent:T,parentProperty:s},this._handleCallback(I,a,"value"),I}else if(A[0]==="`"&&t&&Object.hasOwn(t,A.slice(1))){const M=A.slice(1);f(this._trace(u,t[M],St(r,M),t,M,a,R,!0))}else if(A.includes(",")){const M=A.split(",");for(const b of M)f(this._trace($t(b,u),t,r,T,s,a,!0))}else!C&&t&&Object.hasOwn(t,A)&&f(this._trace(u,t[A],St(r,A),t,A,a,R,!0))}if(this._hasParentSelector)for(let M=0;M<l.length;M++){const b=l[M];if(b&&b.isParentSelector){const J=this._trace(b.expr,t,b.path,T,s,a,R);if(Array.isArray(J)){l[M]=J[0];const U=J.length;for(let ee=1;ee<U;ee++)M++,l.splice(M,0,J[ee])}else l[M]=J}}return l},Ge.prototype._walk=function(E,t){if(Array.isArray(E)){const r=E.length;for(let T=0;T<r;T++)t(T)}else E&&typeof E=="object"&&Object.keys(E).forEach(r=>{t(r)})},Ge.prototype._slice=function(E,t,r,T,s,a,R){if(!Array.isArray(r))return;const C=r.length,I=E.split(":"),A=I[2]&&Number.parseInt(I[2])||1;let u=I[0]&&Number.parseInt(I[0])||0,l=I[1]&&Number.parseInt(I[1])||C;u=u<0?Math.max(0,u+C):Math.min(C,u),l=l<0?Math.max(0,l+C):Math.min(C,l);const f=[];for(let M=u;M<l;M+=A)this._trace($t(M,t),r,T,s,a,R,!0).forEach(J=>{f.push(J)});return f},Ge.prototype._eval=function(E,t,r,T,s,a){this.currSandbox._$_parentProperty=a,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const R=E.includes("@path");R&&(this.currSandbox._$_path=Ge.toPathString(T.concat([r])));const C=this.currEval+"Script:"+E;if(!Ge.cache[C]){let I=E.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(R&&(I=I.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ge.cache[C]=new this.safeVm.Script(I);else if(this.currEval==="native")Ge.cache[C]=new this.vm.Script(I);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){const A=this.currEval;Ge.cache[C]=new A(I)}else if(typeof this.currEval=="function")Ge.cache[C]={runInNewContext:A=>this.currEval(I,A)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ge.cache[C].runInNewContext(this.currSandbox)}catch(I){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+I.message+": "+E)}},Ge.cache={},Ge.toPathString=function(E){const t=E,r=t.length;let T="$";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(t[s])||(T+=/^[0-9*]+$/u.test(t[s])?"["+t[s]+"]":"['"+t[s]+"']");return T},Ge.toPointer=function(E){const t=E,r=t.length;let T="";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(t[s])||(T+="/"+t[s].toString().replaceAll("~","~0").replaceAll("/","~1"));return T},Ge.toPathArray=function(E){const{cache:t}=Ge;if(t[E])return t[E].concat();const r=[],s=E.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(a,R){return"[#"+(r.push(R)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(a,R){return"['"+R.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(a,R){return";"+R.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(a){const R=a.match(/#(\d+)/u);return!R||!R[1]?a:r[R[1]]});return t[E]=s,t[E].concat()},Ge.prototype.safeVm={Script:nn};const sn=function(E,t,r){const T=E.length;for(let s=0;s<T;s++){const a=E[s];r(a)&&t.push(E.splice(s--,1)[0])}};class on{constructor(t){this.code=t}runInNewContext(t){let r=this.code;const T=Object.keys(t),s=[];sn(T,s,A=>typeof t[A]=="function");const a=T.map(A=>t[A]);r=s.reduce((A,u)=>{let l=t[u].toString();return/function/u.test(l)||(l="function "+l),"var "+u+"="+l+";"+A},"")+r,!/(['"])use strict\1/u.test(r)&&!T.includes("arguments")&&(r="var arguments = undefined;"+r),r=r.replace(/;\s*$/u,"");const C=r.lastIndexOf(";"),I=C!==-1?r.slice(0,C+1)+" return "+r.slice(C+1):" return "+r;return new Function(...T,I)(...a)}}Ge.prototype.vm={Script:on};const an={class:"json-node"},An={key:0,class:"json-node__container"},Rn={class:"json-node__line"},Sn=["contenteditable","onKeydown"],Nn={key:1,class:"json-node__colon"},In=["title"],On=["title"],un={key:4,class:"json-node__comma"},ln={key:0,class:"json-node__children"},Cn={class:"json-node__children-content"},cn={class:"json-node__line json-node__closing-bracket"},_n={class:"json-node__bracket"},Ln={key:0,class:"json-node__comma"},Dn={key:1,class:"json-node__primitive"},pn=["contenteditable","onKeydown"],dn={key:1,class:"json-node__colon"},Pn=["title"],hn=["contenteditable","onKeydown"],Mn={key:0,class:"json-node__comma"},Un=o.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1},theme:{}},emits:["update:value","toggle-expand","copy","update:key"],setup(E,{emit:t}){o.useCssVars(x=>({"2a18b018":x.level,"58a14b93":x.theme.colors.syntaxKey,"46fe1b3e":x.theme.colors.hoverBackground,fbe2c048:x.theme.colors.syntaxBracket,"4bd524bb":x.theme.colors.collapsedText,"3308d23c":x.theme.colors.collapsedBackground,"36380c60":x.theme.colors.collapsedBackgroundHover,"0892365d":x.theme.colors.syntaxString,"0015b195":x.theme.colors.syntaxNumber,"7db95f5c":x.theme.colors.syntaxBoolean,"88ec825a":x.theme.colors.syntaxNull,"537157f7":x.theme.colors.background,"3cee3331":x.theme.colors.selectionBackground,"81323cee":x.theme.colors.indentLine}));const r=E,T=t,s=o.ref(!1),a=o.ref(!1),R=o.ref(""),C=o.ref(""),I=o.ref("string"),A=o.ref(null),u=o.ref(null),l=x=>x!==null&&typeof x=="object"&&!Array.isArray(x)&&"__protected_number__"in x&&Object.keys(x).length===1,f=x=>l(x)?x.__protected_number__:"",M=o.computed(()=>l(r.value)?!1:r.value!==null&&typeof r.value=="object"),b=o.computed(()=>Array.isArray(r.value)),J=o.computed(()=>r.path?r.path:r.keyName?r.keyName:"root"),U=o.computed(()=>r.expanded.has(J.value)),ee=o.computed(()=>r.keyName),te=o.computed(()=>b.value?"[":"{"),k=o.computed(()=>b.value?"]":"}"),le=o.computed(()=>{if(!r.value)return"";const Z=Object.keys(r.value).length;return b.value?Z>0?` ${Z} items `:" ":Z>0?` ${Z} keys `:" "}),_e=o.computed(()=>{const x=typeof r.value;return r.value===null?"json-node__value--null":x==="boolean"?"json-node__value--boolean":x==="number"||l(r.value)?"json-node__value--number":x==="string"?"json-node__value--string":""}),j=o.computed(()=>r.value===null?"null":typeof r.value=="boolean"||typeof r.value=="number"?String(r.value):l(r.value)?f(r.value):typeof r.value=="string"?`"${r.value}"`:String(r.value)),D=o.computed(()=>"Double-click to edit"),Ae=x=>r.level===0?x:J.value?`${J.value}.${x}`:x,H=x=>{const Z=Object.keys(r.value);return Z.indexOf(x)===Z.length-1},B=()=>{T("toggle-expand",J.value)},Q=()=>{r.level!==0&&(s.value=!0,R.value=r.keyName,o.nextTick(()=>{if(A.value){A.value.focus();const x=document.createRange();x.selectNodeContents(A.value);const Z=window.getSelection();Z?.removeAllRanges(),Z?.addRange(x)}}))},X=()=>{M.value||(a.value=!0,r.value===null?I.value="null":l(r.value)?I.value="protected-number":typeof r.value=="string"?I.value="string":typeof r.value=="number"?I.value="number":typeof r.value=="boolean"&&(I.value="boolean"),l(r.value)?C.value=f(r.value):typeof r.value=="string"?C.value=r.value:C.value=String(r.value),o.nextTick(()=>{if(u.value){u.value.focus();const x=document.createRange();x.selectNodeContents(u.value);const Z=window.getSelection();Z?.removeAllRanges(),Z?.addRange(x)}}))},K=()=>{if(r.level===0||!s.value)return;const x=A.value?.innerText.trim()||"";if(!x){ue();return}if(x===r.keyName){s.value=!1;return}s.value=!1,T("update:key",J.value,x)},oe=()=>{if(a.value)try{let x;const Z=u.value?.innerText.trim()||"";if(I.value==="string")Z==="null"?x=null:Z==="true"||Z==="false"?x=Z==="true":x=Z;else if(I.value==="protected-number")x={__protected_number__:Z};else if(Z==="null")x=null;else if(Z==="true"||Z==="false")x=Z==="true";else if(!isNaN(Number(Z))&&Z!==""){const Ne=Number(Z);!Number.isSafeInteger(Ne)||Z.length>15?x={__protected_number__:Z}:x=Ne}else x=Z;T("update:value",J.value,x),a.value=!1}catch(x){console.error("Failed to parse value:",x),a.value=!1}},ue=()=>{s.value=!1,R.value=r.keyName},pe=()=>{a.value=!1,l(r.value)?C.value=f(r.value):typeof r.value=="string"?C.value=r.value:C.value=String(r.value)};return(x,Z)=>{const Ne=o.resolveComponent("JsonNode",!0);return o.openBlock(),o.createElementBlock("div",an,[M.value?(o.openBlock(),o.createElementBlock("div",An,[o.createElementVNode("div",Rn,[x.keyName?(o.openBlock(),o.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:s.value,onDblclick:Q,onKeydown:[o.withKeys(o.withModifiers(K,["prevent"]),["enter"]),o.withKeys(ue,["escape"])],onBlur:K,ref_key:"keyRef",ref:A,title:"Double-click to edit key"},o.toDisplayString(s.value?R.value:`"${ee.value}"`),41,Sn)):o.createCommentVNode("",!0),x.keyName?(o.openBlock(),o.createElementBlock("span",Nn,": ")):o.createCommentVNode("",!0),o.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:B,title:U.value?"Click to collapse":"Click to expand"},o.toDisplayString(te.value),9,In),U.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",{key:2,class:"json-node__collapsed-info",onClick:B,title:`Click to expand ${le.value.trim()}`},o.toDisplayString(le.value),9,On)),U.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",{key:3,class:"json-node__bracket json-node__bracket--clickable",onClick:B,title:"Click to expand"},o.toDisplayString(k.value),1)),!U.value&&!x.isLast?(o.openBlock(),o.createElementBlock("span",un,",")):o.createCommentVNode("",!0)]),U.value?(o.openBlock(),o.createElementBlock("div",ln,[o.createElementVNode("div",Cn,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(x.value,(Ue,Te)=>(o.openBlock(),o.createElementBlock("div",{key:Te,class:"json-node__child"},[o.createVNode(Ne,{value:Ue,"key-name":b.value?"":String(Te),level:x.level+1,path:Ae(String(Te)),expanded:x.expanded,theme:x.theme,"onUpdate:value":Z[0]||(Z[0]=(v,p)=>x.$emit("update:value",v,p)),onToggleExpand:Z[1]||(Z[1]=v=>x.$emit("toggle-expand",v)),onCopy:Z[2]||(Z[2]=v=>x.$emit("copy",v)),"onUpdate:key":Z[3]||(Z[3]=(v,p)=>x.$emit("update:key",v,p)),"is-last":H(String(Te))},null,8,["value","key-name","level","path","expanded","theme","is-last"])]))),128))]),o.createElementVNode("div",cn,[o.createElementVNode("span",_n,o.toDisplayString(k.value),1),x.isLast?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Ln,","))])])):o.createCommentVNode("",!0)])):(o.openBlock(),o.createElementBlock("div",Dn,[x.keyName?(o.openBlock(),o.createElementBlock("span",{key:0,class:"json-node__key",contenteditable:s.value,onDblclick:Q,onKeydown:[o.withKeys(o.withModifiers(K,["prevent"]),["enter"]),o.withKeys(ue,["escape"])],onBlur:K,ref_key:"keyRef",ref:A,title:"Double-click to edit key"},o.toDisplayString(s.value?R.value:`"${ee.value}"`),41,pn)):o.createCommentVNode("",!0),x.keyName?(o.openBlock(),o.createElementBlock("span",dn,": ")):o.createCommentVNode("",!0),o.createElementVNode("span",{class:o.normalizeClass(["json-node__value-wrapper",_e.value]),onDblclick:X,title:D.value},[o.createElementVNode("span",{class:"json-node__value",contenteditable:a.value,onKeydown:[o.withKeys(o.withModifiers(oe,["prevent"]),["enter"]),o.withKeys(pe,["escape"])],onBlur:oe,ref_key:"valueRef",ref:u},o.toDisplayString(a.value?C.value:j.value),41,hn),x.isLast?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Mn,","))],42,Pn)]))])}}}),Mt=(E,t)=>{const r=E.__vccOpts||E;for(const[T,s]of t)r[T]=s;return r},mn=Mt(Un,[["__scopeId","data-v-1472a8af"]]),ME={name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#656d76",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#2da44e",buttonPrimaryHover:"#2c974b",success:"#1a7f37",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",syntaxString:"#0a3069",syntaxNumber:"#0969da",syntaxBoolean:"#8250df",syntaxNull:"#656d76",syntaxKey:"#0969da",syntaxBracket:"#24292f",hoverBackground:"#f6f8fa",selectionBackground:"rgba(9, 105, 218, 0.2)",collapsedBackground:"#ddf4ff",collapsedBackgroundHover:"#b6e3ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},Bn={"github-light":ME,"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#e6edf3",textSecondary:"#7d8590",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#e6edf3",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2419",error:"#f85149",errorBackground:"#381921",syntaxString:"#a5d6ff",syntaxNumber:"#79c0ff",syntaxBoolean:"#d2a8ff",syntaxNull:"#7d8590",syntaxKey:"#79c0ff",syntaxBracket:"#e6edf3",hoverBackground:"#161b22",selectionBackground:"rgba(121, 192, 255, 0.2)",collapsedBackground:"#1c2128",collapsedBackgroundHover:"#2d333b",collapsedText:"#79c0ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",syntaxString:"#22c55e",syntaxNumber:"#3b82f6",syntaxBoolean:"#8b5cf6",syntaxNull:"#6b7280",syntaxKey:"#1f2937",syntaxBracket:"#374151",hoverBackground:"#f9f9f9",selectionBackground:"rgba(59, 130, 246, 0.2)",collapsedBackground:"#e0f2fe",collapsedBackgroundHover:"#bae6fd",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fefbf6",surfaceBackground:"#faf6f0",border:"#e8d5b7",text:"#4a3b2a",textSecondary:"#8b7355",buttonBackground:"#f4ede4",buttonBackgroundHover:"#efe5d8",buttonBorder:"#e8d5b7",buttonText:"#4a3b2a",buttonPrimary:"#ff6b35",buttonPrimaryHover:"#e55a2b",success:"#ff9500",successBackground:"#fff8f0",error:"#d73502",errorBackground:"#ffeee8",syntaxString:"#d73502",syntaxNumber:"#ff6b35",syntaxBoolean:"#b7472a",syntaxNull:"#8b7355",syntaxKey:"#4a3b2a",syntaxBracket:"#6b5444",hoverBackground:"#f8f2eb",selectionBackground:"rgba(255, 107, 53, 0.2)",collapsedBackground:"#ffe8d6",collapsedBackgroundHover:"#ffd4b0",collapsedText:"#d73502",indentLine:"#e8d5b7"}}};function gn(E="github-light"){return Bn[E]||ME}const yn={class:"json-format__content"},Gn={key:0,class:"json-format__error"},Fn={key:1,class:"json-format__error"},Hn={key:2,class:"json-format__viewer"},UE=Mt(o.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress"],setup(E,{expose:t,emit:r}){o.useCssVars(p=>({cfa7bc40:f.value.colors.background,"39f40142":f.value.colors.text,"7cec5e16":f.value.colors.error,"32a06be4":f.value.colors.errorBackground}));const T=E,s=r,a=o.ref(null),R=o.ref(""),C=o.ref(new Set),I=o.ref(null),A=o.ref(""),u=o.ref(!1),l=o.computed(()=>R.value===""),f=o.computed(()=>gn(T.theme)),M=p=>{if(p==null)return p;if(Array.isArray(p))return p.map(m=>M(m));if(typeof p=="object"){const m={},P=Object.keys(p).sort();for(const g of P)m[g]=M(p[g]);return m}return p},b=o.computed(()=>{const p=I.value!==null?I.value:a.value;return!p||!u.value?p:M(p)}),J=o.computed(()=>A.value?null:b.value),U=p=>{if(!p.trim()){a.value=null,R.value="",I.value=null,A.value="";return}try{let m=p;const P=/(:\s*|,\s*|\[\s*)-?\d{16,}/.test(m),g=/(:\s*|,\s*|\[\s*)-?\d+\.\d*0+\s*[,}\]\s]*/.test(m);if(!P&&!g)try{a.value=JSON.parse(m),R.value="",I.value=null,A.value="",o.nextTick(()=>{J.value!==null&&X()});return}catch{}m=(h=>{let z="",ie=!1,Ce=!1,De=0;for(;De<h.length;){const Be=h[De];if(ie)Ce?Ce=!1:Be==="\\"?Ce=!0:Be==='"'&&(ie=!1),z+=Be,De++;else if(Be==='"')ie=!0,z+=Be,De++;else{const ce=h.slice(De);let q=ce.match(/^([:,\[\s]*)(-?\d{16,})(\s*[,\}\]\s]|$)/);if(q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],De+=q[0].length;continue}if(q=ce.match(/^([:,\[\s]*)(-?\d+\.\d*0+)(\s*[,\}\]\s]|$)/),q){z+=q[1]+'{"__protected_number__":"'+q[2]+'"}'+q[3],De+=q[0].length;continue}z+=Be,De++}}return z})(m),a.value=JSON.parse(m),R.value="",I.value=null,A.value="",o.nextTick(()=>{J.value!==null&&X()})}catch(m){R.value=m instanceof Error?m.message:"Unknown parsing error",a.value=null,I.value=null,A.value=""}},ee=p=>{if(!p||!p.expression.trim()){_e();return}if(!a.value){A.value="No valid JSON data to filter";return}try{let m;if(p.type==="jsonpath")m=Ge({path:p.expression,json:a.value}),m.length===1&&p.expression.includes("$[")===!1&&!p.expression.endsWith("[*]")?I.value=m[0]:I.value=m;else if(p.type==="js"){const{proxyData:P,indexMap:g}=te(a.value),h=new Function("$",`
3
3
  try {
4
- return ${f.expression};
4
+ return ${p.expression};
5
5
  } catch (error) {
6
6
  throw new Error('JavaScript expression error: ' + error.message);
7
7
  }
8
- `)(v);F=k(a.value,H,q),I.value=F}else throw new Error(`Unsupported filter type: ${f.type}`);i.value="",n.nextTick(()=>{w()})}catch(F){i.value=F instanceof Error?F.message:"Filter execution error",I.value=null}},re=(f,F="root")=>{const v=new Map,q=(H,te)=>{if(H==null)return H;if(typeof H=="object"&&H.__protected_number__!==void 0){const _e=parseFloat(H.__protected_number__);return v.set(_e,te),_e}if(Array.isArray(H)){const _e=H.map((Le,ge)=>{const He=`${te}[${ge}]`,Ue=q(Le,He);return v.set(Ue,He),Ue});return v.set(_e,te),_e}if(typeof H=="object"){const _e={};for(const Le in H)if(Object.prototype.hasOwnProperty.call(H,Le)){const ge=te==="root"?Le:`${te}.${Le}`;_e[Le]=q(H[Le],ge)}return v.set(_e,te),_e}return H};return{proxyData:q(f,F),indexMap:v}},k=(f,F,v)=>{if(F===null||typeof F!="object")return F;if(Array.isArray(F))return F.map(H=>{const te=v.get(H);if(te){const _e=Ie(f,te);if(_e!==void 0)return _e}return k(f,H,v)});const q=v.get(F);if(q){const H=Ie(f,q);if(H!==void 0)return H}const j={};for(const H in F)Object.prototype.hasOwnProperty.call(F,H)&&(j[H]=k(f,F[H],v));return j},Ie=(f,F)=>{if(F==="root")return f;const v=[];let q=F.replace(/^root\.?/,"");const j=/([^\[\].]+)|\[(\d+)\]/g;let H;for(;(H=j.exec(q))!==null;)H[1]?v.push(H[1]):H[2]!==void 0&&v.push(parseInt(H[2]));let te=f;for(const _e of v){if(te==null)return;te=te[_e]}return te},Ce=()=>{I.value=null,i.value=""},z=()=>{O.value=!0},D=()=>{O.value=!1};n.watch(()=>T.modelValue,f=>{M(f)},{immediate:!0});const Ae=(f,F,v)=>{const q=te=>{if(te===null||typeof te!="object")return te;if(!Array.isArray(te)&&"__protected_number__"in te&&Object.keys(te).length===1)return`__PROTECTED_NUMBER_${te.__protected_number__}_PROTECTED_NUMBER__`;if(Array.isArray(te))return te.map(Le=>q(Le));const _e={};for(const[Le,ge]of Object.entries(te))_e[Le]=q(ge);return _e},j=q(f);return JSON.stringify(j,F,v).replace(/"__PROTECTED_NUMBER_(.+?)_PROTECTED_NUMBER__"/g,"$1")},b=(f,F)=>{if(!T.readonly)try{const v=U(a.value,f,F),q=Ae(v,null,2);o("update:modelValue",q)}catch(v){console.error("Failed to update JSON:",v)}},U=(f,F,v)=>{if(!F||F==="root")return v;const q=F.split("."),j=Q(f,q.slice(0,-1));let H=j;for(let _e=0;_e<q.length-1;_e++){const Le=q[_e];Le!=="root"&&(Array.isArray(H)?H=H[parseInt(Le)]:H=H[Le])}const te=q[q.length-1];return te==="root"?v:(Array.isArray(H)?H[parseInt(te)]=v:H[te]=v,j)},$=f=>{C.value.has(f)?C.value.delete(f):C.value.add(f)},w=()=>{const f=new Set,F=(v,q="")=>{v!==null&&typeof v=="object"&&(f.add(q||"root"),Array.isArray(v)?v.forEach((j,H)=>{const te=q?`${q}.${H}`:`${H}`;F(j,te)}):Object.keys(v).forEach(j=>{const H=q?`${q}.${j}`:j;F(v[j],H)}))};F(J.value),C.value=f,o("expand-all")},K=()=>{C.value=new Set(["root"]),o("collapse-all")},ae=async()=>{if(u.value)try{const f=J.value,F=Ae(f,null,2);await navigator.clipboard.writeText(F),o("copy-success",F)}catch(f){console.error("Failed to copy JSON:",f),o("copy-error",f instanceof Error?f:new Error("Failed to copy JSON"))}},Oe=()=>{if(u.value)try{const f=J.value,F=Ae(f);o("update:modelValue",F),o("compress",F)}catch(f){console.error("Failed to compress JSON:",f)}},De=async f=>{try{let F;typeof f=="object"&&f!==null&&!Array.isArray(f)&&"__protected_number__"in f&&Object.keys(f).length===1?F=f.__protected_number__:typeof f=="string"?F=`"${f}"`:F=JSON.stringify(f),await navigator.clipboard.writeText(F)}catch(F){console.error("Failed to copy value:",F)}},p=(f,F)=>{if(!T.readonly)try{const v=B(a.value,f,F),q=Ae(v,null,2);o("update:modelValue",q),Re(f,F)}catch(v){console.error("Failed to rename key:",v)}},B=(f,F,v)=>{if(!F||F==="root")return f;const q=F.split("."),j=Q(f,q.slice(0,-1));if(q.length===1){const _e=q[0];return j&&typeof j=="object"&&!Array.isArray(j)?ee(j,_e,v):j}let H=j;for(let _e=0;_e<q.length-1;_e++){const Le=q[_e];Array.isArray(H)?H=H[parseInt(Le)]:H=H[Le]}const te=q[q.length-1];if(!Array.isArray(H)&&H&&typeof H=="object"){const _e=ee(H,te,v),Le=q.slice(0,-1);Le.length>0&&Y(j,Le,_e)}return j},Q=(f,F)=>{if(F.length===0)return f;if(Array.isArray(f)){const v=[...f],q=F[0],j=parseInt(q);return F.length===1||(v[j]=Q(f[j],F.slice(1))),v}else if(f&&typeof f=="object"){const v={...f},q=F[0];return F.length===1||(v[q]=Q(f[q],F.slice(1))),v}return f},ee=(f,F,v)=>{if(!f||typeof f!="object"||Array.isArray(f))return f;const q=Object.keys(f),j={};for(const H of q)H===F?j[v]=f[H]:j[H]=f[H];return j},Y=(f,F,v)=>{let q=f;for(let H=0;H<F.length-1;H++){const te=F[H];Array.isArray(q)?q=q[parseInt(te)]:q=q[te]}const j=F[F.length-1];Array.isArray(q)?q[parseInt(j)]=v:q[j]=v},Re=(f,F)=>{const v=new Set;C.value.forEach(q=>{if(q===f){const j=f.split(".");j[j.length-1]=F,v.add(j.join("."))}else if(q.startsWith(f+".")){const j=f.split(".");j[j.length-1]=F;const H=j.join("."),te=q.substring(f.length);v.add(H+te)}else v.add(q)}),C.value=v};return t({copyJson:ae,compressSource:Oe,expandAll:w,collapseAll:K,toggleExpand:$,updateValue:b,updateKey:p,filter:Ee,clearFilter:Ce,sortKeys:z,clearSortKeys:D,isSorted:()=>O.value,isValidJson:()=>u.value,getParsedJson:()=>a.value,getFilteredJson:()=>I.value,getExpandedNodes:()=>C.value,getParseError:()=>A.value,getFilterError:()=>i.value,parseJson:f=>M(f),copyValue:f=>De(f)}),(f,F)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["json-format",`json-format--${d.value.name}`])},[f.showToolbar?(n.openBlock(),n.createElementBlock("div",yn,[n.createElementVNode("div",Gn,[n.createElementVNode("button",{class:"json-format__btn json-format__btn--primary",onClick:ae,disabled:!u.value,title:"Copy JSON"}," 📋 Copy ",8,Fn),n.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:w,disabled:!u.value,title:"Expand All"}," ⬇️ Expand All ",8,bn),n.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:K,disabled:!u.value,title:"Collapse All"}," ➡️ Collapse All ",8,Hn),n.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:Oe,disabled:!u.value,title:"Compress JSON"}," 📦 Compress ",8,xn)]),n.createElementVNode("div",Yn,[u.value?(n.openBlock(),n.createElementBlock("span",Vn," ✅ Valid JSON ")):(n.openBlock(),n.createElementBlock("span",vn," ❌ Invalid JSON "))])])):n.createCommentVNode("",!0),n.createElementVNode("div",wn,[u.value?i.value?(n.openBlock(),n.createElementBlock("div",Xn,[F[1]||(F[1]=n.createElementVNode("h4",null,"Filter Error:",-1)),n.createElementVNode("pre",null,n.toDisplayString(i.value),1)])):(n.openBlock(),n.createElementBlock("div",Kn,[n.createVNode(mn,{value:J.value,"key-name":"",level:0,expanded:C.value,"is-last":!0,theme:d.value,"onUpdate:value":b,onToggleExpand:$,onCopy:De,"onUpdate:key":p},null,8,["value","expanded","theme"])])):(n.openBlock(),n.createElementBlock("div",Wn,[F[0]||(F[0]=n.createElementVNode("h4",null,"JSON Parse Error:",-1)),n.createElementVNode("pre",null,n.toDisplayString(A.value),1)]))])],2))}}),[["__scopeId","data-v-030f8e3b"]]);function mE(E){return E&&E.__esModule&&Object.prototype.hasOwnProperty.call(E,"default")?E.default:E}var qt={},BE;function kn(){return BE||(BE=1,function(E){var t=E;(function(r){var T="__namespace",o=function(e){return e==null},a=function(e){return e===T||Number.isInteger(e)&&e>=1&&e<=11},A=function(e){return e&&a(e.nodeType)&&typeof e.nodeName=="string"};function C(e){var s=Array.prototype.slice,N=e.length,_=function(P,Te){return function(){return Te.apply(this,P.concat(s.call(arguments)))}},l=function(){var P=s.call(arguments);return P.length<N?_(P,l):e.apply(this,s.apply(arguments,[0,N]))};return l}var I=function(e,s){for(var N=0;N<s.length;N+=1)e(s[N],N,s)},i=function(e,s,N){var _=s;return I(function(l,P){_=e(_,l,P)},N),_},O=function(e,s){var N=new Array(s.length);return I(function(_,l){N[l]=e(_)},s),N},u=function(e,s){var N=[];return I(function(_,l){e(_,l)&&N.push(_)},s),N},d=function(e,s){for(var N=0;N<e.length;N+=1)if(e[N]===s)return!0;return!1};function h(e){return function(){return e}}function G(e){return e.toString()}var J=function(e,s){return s.join(e)},M=function(e,s,N){return e+N+s},Ee=Array.prototype.concat,re=function(e,s){var N=new ie;N.addArray(e);var _=N.toArray();return s?_.reverse():_},k=32767;function Ie(e){for(var s=[],N=0;N<e.length;N+=k){var _=e.slice(N,N+k);s=Ee.apply(s,_)}return s}function Ce(e,s){for(var N=Object(e),_=1;_<arguments.length;_++){var l=arguments[_];if(l!=null)for(var P in l)Object.prototype.hasOwnProperty.call(l,P)&&(N[P]=l[P])}return N}var z={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NAMESPACE_NODE:T};D.prototype=new Object,D.prototype.constructor=D,D.superclass=Object.prototype;function D(){this.init()}D.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(e){return new ae(e[0],e[2])},this.reduceActions[5]=function(e){return new Oe(e[0],e[2])},this.reduceActions[7]=function(e){return new De(e[0],e[2])},this.reduceActions[8]=function(e){return new p(e[0],e[2])},this.reduceActions[10]=function(e){return new B(e[0],e[2])},this.reduceActions[11]=function(e){return new Q(e[0],e[2])},this.reduceActions[12]=function(e){return new ee(e[0],e[2])},this.reduceActions[13]=function(e){return new Y(e[0],e[2])},this.reduceActions[15]=function(e){return new Re(e[0],e[2])},this.reduceActions[16]=function(e){return new f(e[0],e[2])},this.reduceActions[18]=function(e){return new F(e[0],e[2])},this.reduceActions[19]=function(e){return new v(e[0],e[2])},this.reduceActions[20]=function(e){return new q(e[0],e[2])},this.reduceActions[22]=function(e){return new w(e[1])},this.reduceActions[24]=function(e){return new j(e[0],e[2])},this.reduceActions[25]=function(e){return new H(void 0,void 0,e[0])},this.reduceActions[27]=function(e){return e[0].locationPath=e[2],e[0]},this.reduceActions[28]=function(e){return e[0].locationPath=e[2],e[0].locationPath.steps.unshift(new Z(Z.DESCENDANTORSELF,L.nodeTest,[])),e[0]},this.reduceActions[29]=function(e){return new H(e[0],[],void 0)},this.reduceActions[30]=function(e){return Ne.instance_of(e[0],H)?(e[0].filterPredicates==null&&(e[0].filterPredicates=[]),e[0].filterPredicates.push(e[1]),e[0]):new H(e[0],[e[1]],void 0)},this.reduceActions[32]=function(e){return e[1]},this.reduceActions[33]=function(e){return new y(e[0])},this.reduceActions[34]=function(e){return new V(e[0])},this.reduceActions[36]=function(e){return new Me(e[0],[])},this.reduceActions[37]=function(e){return new Me(e[0],e[2])},this.reduceActions[38]=function(e){return[e[0]]},this.reduceActions[39]=function(e){return e[2].unshift(e[0]),e[2]},this.reduceActions[43]=function(e){return new Ue(!0,[])},this.reduceActions[44]=function(e){return e[1].absolute=!0,e[1]},this.reduceActions[46]=function(e){return new Ue(!1,[e[0]])},this.reduceActions[47]=function(e){return e[0].steps.push(e[2]),e[0]},this.reduceActions[49]=function(e){return new Z(e[0],e[1],[])},this.reduceActions[50]=function(e){return new Z(Z.CHILD,e[0],[])},this.reduceActions[51]=function(e){return new Z(e[0],e[1],e[2])},this.reduceActions[52]=function(e){return new Z(Z.CHILD,e[0],e[1])},this.reduceActions[54]=function(e){return[e[0]]},this.reduceActions[55]=function(e){return e[1].unshift(e[0]),e[1]},this.reduceActions[56]=function(e){return e[0]=="ancestor"?Z.ANCESTOR:e[0]=="ancestor-or-self"?Z.ANCESTORORSELF:e[0]=="attribute"?Z.ATTRIBUTE:e[0]=="child"?Z.CHILD:e[0]=="descendant"?Z.DESCENDANT:e[0]=="descendant-or-self"?Z.DESCENDANTORSELF:e[0]=="following"?Z.FOLLOWING:e[0]=="following-sibling"?Z.FOLLOWINGSIBLING:e[0]=="namespace"?Z.NAMESPACE:e[0]=="parent"?Z.PARENT:e[0]=="preceding"?Z.PRECEDING:e[0]=="preceding-sibling"?Z.PRECEDINGSIBLING:e[0]=="self"?Z.SELF:-1},this.reduceActions[57]=function(e){return Z.ATTRIBUTE},this.reduceActions[59]=function(e){return e[0]=="comment"?L.commentTest:e[0]=="text"?L.textTest:e[0]=="processing-instruction"?L.anyPiTest:e[0]=="node"?L.nodeTest:new L(-1,void 0)},this.reduceActions[60]=function(e){return new L.PITest(e[2])},this.reduceActions[61]=function(e){return e[1]},this.reduceActions[63]=function(e){return e[1].absolute=!0,e[1].steps.unshift(new Z(Z.DESCENDANTORSELF,L.nodeTest,[])),e[1]},this.reduceActions[64]=function(e){return e[0].steps.push(new Z(Z.DESCENDANTORSELF,L.nodeTest,[])),e[0].steps.push(e[2]),e[0]},this.reduceActions[65]=function(e){return new Z(Z.SELF,L.nodeTest,[])},this.reduceActions[66]=function(e){return new Z(Z.PARENT,L.nodeTest,[])},this.reduceActions[67]=function(e){return new se(e[1])},this.reduceActions[68]=function(e){return L.nameTestAny},this.reduceActions[69]=function(e){return new L.NameTestPrefixAny(e[0].split(":")[0])},this.reduceActions[70]=function(e){return new L.NameTestQName(e[0])}},D.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],D.actionTableNumber=[` 1 0 /.-,+*)(' & %$ # "!`," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY ",` 1 0 /.-,+*)(' & %$ # "!`,`K1 KKKKKKKK . +*)('KKKKKK KK# K" `,` 1 0 /.-,+*)(' & %$ # "!`," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q ",` 1 . +*)(' # " `,"b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX ",` 1 0 /.-,+*)(' & %$m # "!`,"_ f________ ______e __ _ ",` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 . +*)(' # " `,` 1 . +*)(' # " `,"> >>>>>>>>> >>>>>>> >> >> ",` 1 . +*)(' # " `,` 1 . +*)(' # " `,"Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ‡ ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," ˆ "," F‰ ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," Š ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE ",` 1 0 /.-,+*)(' & %$ # "!`,"] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],D.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","€456789:;<=>?@ AB CDEFGH IJ"," ‚ EFGH IJ "," ƒ EFGH IJ "," "," „ GH IJ "," … GH IJ "," i † "," i ‡ "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABŒqCDEFGH IJ "," "," "],D.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],D.DOUBLEDOT=2,D.DOUBLECOLON=3,D.DOUBLESLASH=4,D.NOTEQUAL=5,D.LESSTHANOREQUAL=6,D.GREATERTHANOREQUAL=7,D.AND=8,D.OR=9,D.MOD=10,D.DIV=11,D.MULTIPLYOPERATOR=12,D.FUNCTIONNAME=13,D.AXISNAME=14,D.LITERAL=15,D.NUMBER=16,D.ASTERISKNAMETEST=17,D.QNAME=18,D.NCNAMECOLONASTERISK=19,D.NODETYPE=20,D.PROCESSINGINSTRUCTIONWITHLITERAL=21,D.EQUALS=22,D.LESSTHAN=23,D.GREATERTHAN=24,D.PLUS=25,D.MINUS=26,D.BAR=27,D.SLASH=28,D.LEFTPARENTHESIS=29,D.RIGHTPARENTHESIS=30,D.COMMA=31,D.AT=32,D.LEFTBRACKET=33,D.RIGHTBRACKET=34,D.DOT=35,D.DOLLAR=36,D.prototype.tokenize=function(e){for(var s=[],N=[],_=e+"\0",l=0,P=_.charAt(l++);;){for(;P==" "||P==" "||P=="\r"||P==`
9
- `;)P=_.charAt(l++);if(P=="\0"||l>=_.length)break;if(P=="("){s.push(D.LEFTPARENTHESIS),N.push(P),P=_.charAt(l++);continue}if(P==")"){s.push(D.RIGHTPARENTHESIS),N.push(P),P=_.charAt(l++);continue}if(P=="["){s.push(D.LEFTBRACKET),N.push(P),P=_.charAt(l++);continue}if(P=="]"){s.push(D.RIGHTBRACKET),N.push(P),P=_.charAt(l++);continue}if(P=="@"){s.push(D.AT),N.push(P),P=_.charAt(l++);continue}if(P==","){s.push(D.COMMA),N.push(P),P=_.charAt(l++);continue}if(P=="|"){s.push(D.BAR),N.push(P),P=_.charAt(l++);continue}if(P=="+"){s.push(D.PLUS),N.push(P),P=_.charAt(l++);continue}if(P=="-"){s.push(D.MINUS),N.push(P),P=_.charAt(l++);continue}if(P=="="){s.push(D.EQUALS),N.push(P),P=_.charAt(l++);continue}if(P=="$"){s.push(D.DOLLAR),N.push(P),P=_.charAt(l++);continue}if(P=="."){if(P=_.charAt(l++),P=="."){s.push(D.DOUBLEDOT),N.push(".."),P=_.charAt(l++);continue}if(P>="0"&&P<="9"){var Te="."+P;for(P=_.charAt(l++);P>="0"&&P<="9";)Te+=P,P=_.charAt(l++);s.push(D.NUMBER),N.push(Te);continue}s.push(D.DOT),N.push(".");continue}if(P=="'"||P=='"'){for(var fe=P,he="";l<_.length&&(P=_.charAt(l))!==fe;)he+=P,l+=1;if(P!==fe)throw qe.fromMessage("Unterminated string literal: "+fe+he);l+=1,s.push(D.LITERAL),N.push(he),P=_.charAt(l++);continue}if(P>="0"&&P<="9"){var Te=P;for(P=_.charAt(l++);P>="0"&&P<="9";)Te+=P,P=_.charAt(l++);if(P=="."&&_.charAt(l)>="0"&&_.charAt(l)<="9")for(Te+=P,Te+=_.charAt(l++),P=_.charAt(l++);P>="0"&&P<="9";)Te+=P,P=_.charAt(l++);s.push(D.NUMBER),N.push(Te);continue}if(P=="*"){if(s.length>0){var oe=s[s.length-1];if(oe!=D.AT&&oe!=D.DOUBLECOLON&&oe!=D.LEFTPARENTHESIS&&oe!=D.LEFTBRACKET&&oe!=D.AND&&oe!=D.OR&&oe!=D.MOD&&oe!=D.DIV&&oe!=D.MULTIPLYOPERATOR&&oe!=D.SLASH&&oe!=D.DOUBLESLASH&&oe!=D.BAR&&oe!=D.PLUS&&oe!=D.MINUS&&oe!=D.EQUALS&&oe!=D.NOTEQUAL&&oe!=D.LESSTHAN&&oe!=D.LESSTHANOREQUAL&&oe!=D.GREATERTHAN&&oe!=D.GREATERTHANOREQUAL){s.push(D.MULTIPLYOPERATOR),N.push(P),P=_.charAt(l++);continue}}s.push(D.ASTERISKNAMETEST),N.push(P),P=_.charAt(l++);continue}if(P==":"&&_.charAt(l)==":"){s.push(D.DOUBLECOLON),N.push("::"),l++,P=_.charAt(l++);continue}if(P=="/"){if(P=_.charAt(l++),P=="/"){s.push(D.DOUBLESLASH),N.push("//"),P=_.charAt(l++);continue}s.push(D.SLASH),N.push("/");continue}if(P=="!"&&_.charAt(l)=="="){s.push(D.NOTEQUAL),N.push("!="),l++,P=_.charAt(l++);continue}if(P=="<"){if(_.charAt(l)=="="){s.push(D.LESSTHANOREQUAL),N.push("<="),l++,P=_.charAt(l++);continue}s.push(D.LESSTHAN),N.push("<"),P=_.charAt(l++);continue}if(P==">"){if(_.charAt(l)=="="){s.push(D.GREATERTHANOREQUAL),N.push(">="),l++,P=_.charAt(l++);continue}s.push(D.GREATERTHAN),N.push(">"),P=_.charAt(l++);continue}if(P=="_"||Ne.isLetter(P.charCodeAt(0))){var Se=P;for(P=_.charAt(l++);Ne.isNCNameChar(P.charCodeAt(0));)Se+=P,P=_.charAt(l++);if(s.length>0){var oe=s[s.length-1];if(oe!=D.AT&&oe!=D.DOUBLECOLON&&oe!=D.LEFTPARENTHESIS&&oe!=D.LEFTBRACKET&&oe!=D.AND&&oe!=D.OR&&oe!=D.MOD&&oe!=D.DIV&&oe!=D.MULTIPLYOPERATOR&&oe!=D.SLASH&&oe!=D.DOUBLESLASH&&oe!=D.BAR&&oe!=D.PLUS&&oe!=D.MINUS&&oe!=D.EQUALS&&oe!=D.NOTEQUAL&&oe!=D.LESSTHAN&&oe!=D.LESSTHANOREQUAL&&oe!=D.GREATERTHAN&&oe!=D.GREATERTHANOREQUAL){if(Se=="and"){s.push(D.AND),N.push(Se);continue}if(Se=="or"){s.push(D.OR),N.push(Se);continue}if(Se=="mod"){s.push(D.MOD),N.push(Se);continue}if(Se=="div"){s.push(D.DIV),N.push(Se);continue}}}if(P==":"){if(_.charAt(l)=="*"){s.push(D.NCNAMECOLONASTERISK),N.push(Se+":*"),l++,P=_.charAt(l++);continue}if(_.charAt(l)=="_"||Ne.isLetter(_.charCodeAt(l))){for(Se+=":",P=_.charAt(l++);Ne.isNCNameChar(P.charCodeAt(0));)Se+=P,P=_.charAt(l++);if(P=="("){s.push(D.FUNCTIONNAME),N.push(Se);continue}s.push(D.QNAME),N.push(Se);continue}if(_.charAt(l)==":"){s.push(D.AXISNAME),N.push(Se);continue}}if(P=="("){if(Se=="comment"||Se=="text"||Se=="node"){s.push(D.NODETYPE),N.push(Se);continue}if(Se=="processing-instruction"){_.charAt(l)==")"?s.push(D.NODETYPE):s.push(D.PROCESSINGINSTRUCTIONWITHLITERAL),N.push(Se);continue}s.push(D.FUNCTIONNAME),N.push(Se);continue}s.push(D.QNAME),N.push(Se);continue}throw new Error("Unexpected character "+P)}return s.push(1),N.push("[EOF]"),[s,N]},D.SHIFT="s",D.REDUCE="r",D.ACCEPT="a",D.prototype.parse=function(he){if(!he)throw new Error("XPath expression unspecified.");if(typeof he!="string")throw new Error("XPath expression must be a string.");var s,N,_=this.tokenize(he);if(_!=null){s=_[0],N=_[1];var l=0,P=[],Te=[],fe=[],he,oe,Se;for(P.push(0),Te.push(1),fe.push("_S"),oe=s[l],Se=N[l++];;)switch(he=P[P.length-1],D.actionTable[he].charAt(oe-1)){case D.SHIFT:Te.push(-oe),fe.push(Se),P.push(D.actionTableNumber[he].charCodeAt(oe-1)-32),oe=s[l],Se=N[l++];break;case D.REDUCE:for(var Ke=D.productions[D.actionTableNumber[he].charCodeAt(oe-1)-32][1],ze=[],Fe=0;Fe<Ke;Fe++)Te.pop(),ze.unshift(fe.pop()),P.pop();var Tt=P[P.length-1];Te.push(D.productions[D.actionTableNumber[he].charCodeAt(oe-1)-32][0]),this.reduceActions[D.actionTableNumber[he].charCodeAt(oe-1)-32]==null?fe.push(ze[0]):fe.push(this.reduceActions[D.actionTableNumber[he].charCodeAt(oe-1)-32](ze)),P.push(D.gotoTable[Tt].charCodeAt(D.productions[D.actionTableNumber[he].charCodeAt(oe-1)-32][0]-2)-33);break;case D.ACCEPT:return new Ae(fe.pop());default:throw new Error("XPath parse error")}}},Ae.prototype=new Object,Ae.prototype.constructor=Ae,Ae.superclass=Object.prototype;function Ae(e){this.expression=e}Ae.prototype.toString=function(){return this.expression.toString()};function b(e,s,N){s in e||(e[s]=N)}Ae.prototype.evaluate=function(e){var s=e.expressionContextNode;if(!(o(s)||A(s)))throw new Error("Context node does not appear to be a valid DOM node.");return e.contextNode=e.expressionContextNode,e.contextSize=1,e.contextPosition=1,e.isHtml&&(b(e,"caseInsensitive",!0),b(e,"allowAnyNamespaceForNoPrefix",!0)),b(e,"caseInsensitive",!1),this.expression.evaluate(e)},Ae.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",Ae.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",U.prototype=new Object,U.prototype.constructor=U,U.superclass=Object.prototype;function U(){}U.prototype.init=function(){},U.prototype.toString=function(){return"<Expression>"},U.prototype.evaluate=function(e){throw new Error("Could not evaluate expression.")},$.prototype=new U,$.prototype.constructor=$,$.superclass=U.prototype;function $(e){arguments.length>0&&this.init(e)}$.prototype.init=function(e){this.rhs=e},w.prototype=new $,w.prototype.constructor=w,w.superclass=$.prototype;function w(e){arguments.length>0&&this.init(e)}w.prototype.init=function(e){w.superclass.init.call(this,e)},w.prototype.evaluate=function(e){return this.rhs.evaluate(e).number().negate()},w.prototype.toString=function(){return"-"+this.rhs.toString()},K.prototype=new U,K.prototype.constructor=K,K.superclass=U.prototype;function K(e,s){arguments.length>0&&this.init(e,s)}K.prototype.init=function(e,s){this.lhs=e,this.rhs=s},ae.prototype=new K,ae.prototype.constructor=ae,ae.superclass=K.prototype;function ae(e,s){arguments.length>0&&this.init(e,s)}ae.prototype.init=function(e,s){ae.superclass.init.call(this,e,s)},ae.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},ae.prototype.evaluate=function(e){var s=this.lhs.evaluate(e).bool();return s.booleanValue()?s:this.rhs.evaluate(e).bool()},Oe.prototype=new K,Oe.prototype.constructor=Oe,Oe.superclass=K.prototype;function Oe(e,s){arguments.length>0&&this.init(e,s)}Oe.prototype.init=function(e,s){Oe.superclass.init.call(this,e,s)},Oe.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},Oe.prototype.evaluate=function(e){var s=this.lhs.evaluate(e).bool();return s.booleanValue()?this.rhs.evaluate(e).bool():s},De.prototype=new K,De.prototype.constructor=De,De.superclass=K.prototype;function De(e,s){arguments.length>0&&this.init(e,s)}De.prototype.init=function(e,s){De.superclass.init.call(this,e,s)},De.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},De.prototype.evaluate=function(e){return this.lhs.evaluate(e).equals(this.rhs.evaluate(e))},p.prototype=new K,p.prototype.constructor=p,p.superclass=K.prototype;function p(e,s){arguments.length>0&&this.init(e,s)}p.prototype.init=function(e,s){p.superclass.init.call(this,e,s)},p.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},p.prototype.evaluate=function(e){return this.lhs.evaluate(e).notequal(this.rhs.evaluate(e))},B.prototype=new K,B.prototype.constructor=B,B.superclass=K.prototype;function B(e,s){arguments.length>0&&this.init(e,s)}B.prototype.init=function(e,s){B.superclass.init.call(this,e,s)},B.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthan(this.rhs.evaluate(e))},B.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},Q.prototype=new K,Q.prototype.constructor=Q,Q.superclass=K.prototype;function Q(e,s){arguments.length>0&&this.init(e,s)}Q.prototype.init=function(e,s){Q.superclass.init.call(this,e,s)},Q.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthan(this.rhs.evaluate(e))},Q.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},ee.prototype=new K,ee.prototype.constructor=ee,ee.superclass=K.prototype;function ee(e,s){arguments.length>0&&this.init(e,s)}ee.prototype.init=function(e,s){ee.superclass.init.call(this,e,s)},ee.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthanorequal(this.rhs.evaluate(e))},ee.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},Y.prototype=new K,Y.prototype.constructor=Y,Y.superclass=K.prototype;function Y(e,s){arguments.length>0&&this.init(e,s)}Y.prototype.init=function(e,s){Y.superclass.init.call(this,e,s)},Y.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthanorequal(this.rhs.evaluate(e))},Y.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},Re.prototype=new K,Re.prototype.constructor=Re,Re.superclass=K.prototype;function Re(e,s){arguments.length>0&&this.init(e,s)}Re.prototype.init=function(e,s){Re.superclass.init.call(this,e,s)},Re.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().plus(this.rhs.evaluate(e).number())},Re.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},f.prototype=new K,f.prototype.constructor=f,f.superclass=K.prototype;function f(e,s){arguments.length>0&&this.init(e,s)}f.prototype.init=function(e,s){f.superclass.init.call(this,e,s)},f.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().minus(this.rhs.evaluate(e).number())},f.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},F.prototype=new K,F.prototype.constructor=F,F.superclass=K.prototype;function F(e,s){arguments.length>0&&this.init(e,s)}F.prototype.init=function(e,s){F.superclass.init.call(this,e,s)},F.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().multiply(this.rhs.evaluate(e).number())},F.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},v.prototype=new K,v.prototype.constructor=v,v.superclass=K.prototype;function v(e,s){arguments.length>0&&this.init(e,s)}v.prototype.init=function(e,s){v.superclass.init.call(this,e,s)},v.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().div(this.rhs.evaluate(e).number())},v.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},q.prototype=new K,q.prototype.constructor=q,q.superclass=K.prototype;function q(e,s){arguments.length>0&&this.init(e,s)}q.prototype.init=function(e,s){q.superclass.init.call(this,e,s)},q.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().mod(this.rhs.evaluate(e).number())},q.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},j.prototype=new K,j.prototype.constructor=j,j.superclass=K.prototype;function j(e,s){arguments.length>0&&this.init(e,s)}j.prototype.init=function(e,s){j.superclass.init.call(this,e,s)},j.prototype.evaluate=function(e){return this.lhs.evaluate(e).nodeset().union(this.rhs.evaluate(e).nodeset())},j.prototype.toString=function(){return O(G,[this.lhs,this.rhs]).join(" | ")},H.prototype=new U,H.prototype.constructor=H,H.superclass=U.prototype;function H(e,s,N){arguments.length>0&&this.init(e,s,N)}H.prototype.init=function(e,s,N){H.superclass.init.call(this),this.filter=e,this.filterPredicates=s,this.locationPath=N};function te(e){for(;e&&e.parentNode;)e=e.parentNode;return e}var _e=function(e,s,N,_){if(e.length===0)return N;var l=s.extend({});return i(function(P,Te){return l.contextSize=P.length,u(function(fe,he){return l.contextNode=fe,l.contextPosition=he+1,H.predicateMatches(Te,l)},P)},re(N,_),e)};H.getRoot=function(e,s){var N=s[0];if(N&&N.nodeType===z.DOCUMENT_NODE)return N;if(e.virtualRoot)return e.virtualRoot;if(!N)throw new Error("Context node not found when determining document root.");var _=N.ownerDocument;if(_)return _;for(var l=N;l.parentNode!=null;)l=l.parentNode;return l};var Le=function(e){var s=String(e.name);return s==="xmlns"?"":s.substring(0,6)==="xmlns:"?s.substring(6,s.length):null};H.applyStep=function(e,s,N){if(!N)throw new Error("Context node not found when evaluating XPath step: "+e);var _=[];switch(s.contextNode=N,e.axis){case Z.ANCESTOR:if(s.contextNode===s.virtualRoot)break;var l;for(s.contextNode.nodeType==z.ATTRIBUTE_NODE?l=H.getOwnerElement(s.contextNode):l=s.contextNode.parentNode;l!=null&&(e.nodeTest.matches(l,s)&&_.push(l),l!==s.virtualRoot);)l=l.parentNode;break;case Z.ANCESTORORSELF:for(var l=s.contextNode;l!=null&&(e.nodeTest.matches(l,s)&&_.push(l),l!==s.virtualRoot);l=l.nodeType==z.ATTRIBUTE_NODE?H.getOwnerElement(l):l.parentNode);break;case Z.ATTRIBUTE:var P=s.contextNode.attributes;if(P!=null)for(var Te=0;Te<P.length;Te++){var l=P.item(Te);e.nodeTest.matches(l,s)&&_.push(l)}break;case Z.CHILD:for(var l=s.contextNode.firstChild;l!=null;l=l.nextSibling)e.nodeTest.matches(l,s)&&_.push(l);break;case Z.DESCENDANT:for(var Se=[s.contextNode.firstChild];Se.length>0;)for(var l=Se.pop();l!=null;)e.nodeTest.matches(l,s)&&_.push(l),l.firstChild!=null?(Se.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;break;case Z.DESCENDANTORSELF:e.nodeTest.matches(s.contextNode,s)&&_.push(s.contextNode);for(var Se=[s.contextNode.firstChild];Se.length>0;)for(var l=Se.pop();l!=null;)e.nodeTest.matches(l,s)&&_.push(l),l.firstChild!=null?(Se.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;break;case Z.FOLLOWING:if(s.contextNode===s.virtualRoot)break;var Se=[];s.contextNode.firstChild!=null?Se.unshift(s.contextNode.firstChild):Se.unshift(s.contextNode.nextSibling);for(var l=s.contextNode.parentNode;l!=null&&l.nodeType!=z.DOCUMENT_NODE&&l!==s.virtualRoot;l=l.parentNode)Se.unshift(l.nextSibling);do for(var l=Se.pop();l!=null;)e.nodeTest.matches(l,s)&&_.push(l),l.firstChild!=null?(Se.push(l.nextSibling),l=l.firstChild):l=l.nextSibling;while(Se.length>0);break;case Z.FOLLOWINGSIBLING:if(s.contextNode===s.virtualRoot)break;for(var l=s.contextNode.nextSibling;l!=null;l=l.nextSibling)e.nodeTest.matches(l,s)&&_.push(l);break;case Z.NAMESPACE:var fe={};if(s.contextNode.nodeType==z.ELEMENT_NODE){fe.xml=new nt("xml",null,Ae.XML_NAMESPACE_URI,s.contextNode);for(var l=s.contextNode;l!=null&&l.nodeType==z.ELEMENT_NODE;l=l.parentNode)for(var Te=0;Te<l.attributes.length;Te++){var he=l.attributes.item(Te),oe=Le(he);oe!=null&&fe[oe]==null&&(fe[oe]=new nt(oe,he,he.value,s.contextNode))}for(var oe in fe){var N=fe[oe];e.nodeTest.matches(N,s)&&_.push(N)}}break;case Z.PARENT:l=null,s.contextNode!==s.virtualRoot&&(s.contextNode.nodeType==z.ATTRIBUTE_NODE?l=H.getOwnerElement(s.contextNode):l=s.contextNode.parentNode),l!=null&&e.nodeTest.matches(l,s)&&_.push(l);break;case Z.PRECEDING:var Se;s.virtualRoot!=null?Se=[s.virtualRoot]:Se=[te(s.contextNode)];e:for(;Se.length>0;)for(var l=Se.pop();l!=null;){if(l==s.contextNode)break e;e.nodeTest.matches(l,s)&&_.unshift(l),l.firstChild!=null?(Se.push(l.nextSibling),l=l.firstChild):l=l.nextSibling}break;case Z.PRECEDINGSIBLING:if(s.contextNode===s.virtualRoot)break;for(var l=s.contextNode.previousSibling;l!=null;l=l.previousSibling)e.nodeTest.matches(l,s)&&_.push(l);break;case Z.SELF:e.nodeTest.matches(s.contextNode,s)&&_.push(s.contextNode);break}return _};function ge(e,s,N){return _e(e.predicates,s,H.applyStep(e,s,N),d(Ge,e.axis))}function He(e,s,N){return Ie(O(ge.bind(null,N,e),s))}H.applySteps=function(e,s,N){return i(He.bind(null,s),N,e)},H.prototype.applyFilter=function(e,s){if(!this.filter)return{nodes:[e.contextNode]};var N=this.filter.evaluate(e);if(!Ne.instance_of(N,ie)){if(this.filterPredicates!=null&&this.filterPredicates.length>0||this.locationPath!=null)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:N}}return{nodes:_e(this.filterPredicates||[],s,N.toUnsortedArray(),!1)}},H.applyLocationPath=function(e,s,N){if(!e)return N;var _=e.absolute?[H.getRoot(s,N)]:N;return H.applySteps(e.steps,s,_)},H.prototype.evaluate=function(e){var s=Ce(new Ze,e),N=this.applyFilter(e,s);if("nonNodes"in N)return N.nonNodes;var _=new ie;return _.addArray(H.applyLocationPath(this.locationPath,s,N.nodes)),_},H.predicateMatches=function(e,s){var N=e.evaluate(s);return Ne.instance_of(N,V)?s.contextPosition===N.numberValue():N.booleanValue()},H.predicateString=function(e){return M("[","]",e.toString())},H.predicatesString=function(e){return J("",O(H.predicateString,e))},H.prototype.toString=function(){if(this.filter!=null){var e=G(this.filter);return Ne.instance_of(this.filter,y)?M("'","'",e):this.filterPredicates!=null&&this.filterPredicates.length?M("(",")",e)+H.predicatesString(this.filterPredicates):this.locationPath!=null?e+(this.locationPath.absolute?"":"/")+G(this.locationPath):e}return G(this.locationPath)},H.getOwnerElement=function(e){if(e.ownerElement)return e.ownerElement;try{if(e.selectSingleNode)return e.selectSingleNode("..")}catch{}for(var s=e.nodeType==z.DOCUMENT_NODE?e:e.ownerDocument,N=s.getElementsByTagName("*"),_=0;_<N.length;_++)for(var l=N.item(_),P=l.attributes,Te=0;Te<P.length;Te++){var fe=P.item(Te);if(fe===e)return l}return null},Ue.prototype=new Object,Ue.prototype.constructor=Ue,Ue.superclass=Object.prototype;function Ue(e,s){arguments.length>0&&this.init(e,s)}Ue.prototype.init=function(e,s){this.absolute=e,this.steps=s},Ue.prototype.toString=function(){return(this.absolute?"/":"")+O(G,this.steps).join("/")},Z.prototype=new Object,Z.prototype.constructor=Z,Z.superclass=Object.prototype;function Z(e,s,N){arguments.length>0&&this.init(e,s,N)}Z.prototype.init=function(e,s,N){this.axis=e,this.nodeTest=s,this.predicates=N},Z.prototype.toString=function(){return Z.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+H.predicatesString(this.predicates)},Z.ANCESTOR=0,Z.ANCESTORORSELF=1,Z.ATTRIBUTE=2,Z.CHILD=3,Z.DESCENDANT=4,Z.DESCENDANTORSELF=5,Z.FOLLOWING=6,Z.FOLLOWINGSIBLING=7,Z.NAMESPACE=8,Z.PARENT=9,Z.PRECEDING=10,Z.PRECEDINGSIBLING=11,Z.SELF=12,Z.STEPNAMES=i(function(e,s){return e[s[0]]=s[1],e},{},[[Z.ANCESTOR,"ancestor"],[Z.ANCESTORORSELF,"ancestor-or-self"],[Z.ATTRIBUTE,"attribute"],[Z.CHILD,"child"],[Z.DESCENDANT,"descendant"],[Z.DESCENDANTORSELF,"descendant-or-self"],[Z.FOLLOWING,"following"],[Z.FOLLOWINGSIBLING,"following-sibling"],[Z.NAMESPACE,"namespace"],[Z.PARENT,"parent"],[Z.PRECEDING,"preceding"],[Z.PRECEDINGSIBLING,"preceding-sibling"],[Z.SELF,"self"]]);var Ge=[Z.ANCESTOR,Z.ANCESTORORSELF,Z.PARENT,Z.PRECEDING,Z.PRECEDINGSIBLING];L.prototype=new Object,L.prototype.constructor=L,L.superclass=Object.prototype;function L(e,s){arguments.length>0&&this.init(e,s)}L.prototype.init=function(e,s){this.type=e,this.value=s},L.prototype.toString=function(){return"<unknown nodetest type>"},L.prototype.matches=function(e,s){console.warn("unknown node test type")},L.NAMETESTANY=0,L.NAMETESTPREFIXANY=1,L.NAMETESTQNAME=2,L.COMMENT=3,L.TEXT=4,L.PI=5,L.NODE=6,L.isNodeType=function(e){return function(s){return d(e,s.nodeType)}},L.makeNodeTestType=function(e,s,N){var _=N||function(){};return _.prototype=new L(e),_.prototype.constructor=_,Ce(_.prototype,s),_},L.makeNodeTypeTest=function(e,s,N){return new(L.makeNodeTestType(e,{matches:L.isNodeType(s),toString:h(N)}))},L.hasPrefix=function(e){return e.prefix||(e.nodeName||e.tagName).indexOf(":")!==-1},L.isElementOrAttribute=L.isNodeType([1,2]),L.nameSpaceMatches=function(e,s,N){var _=N.namespaceURI||"";if(!e)return!_||s.allowAnyNamespaceForNoPrefix&&!L.hasPrefix(N);var l=s.namespaceResolver.getNamespace(e,s.expressionContextNode);if(l==null)throw new Error("Cannot resolve QName "+e);return l===_},L.localNameMatches=function(e,s,N){var _=N.localName||N.nodeName;return s.caseInsensitive?e.toLowerCase()===_.toLowerCase():e===_},L.NameTestPrefixAny=L.makeNodeTestType(L.NAMETESTPREFIXANY,{matches:function(e,s){return L.isElementOrAttribute(e)&&L.nameSpaceMatches(this.prefix,s,e)},toString:function(){return this.prefix+":*"}},function(s){this.prefix=s}),L.NameTestQName=L.makeNodeTestType(L.NAMETESTQNAME,{matches:function(e,s){return L.isNodeType([z.ELEMENT_NODE,z.ATTRIBUTE_NODE,z.NAMESPACE_NODE])(e)&&L.nameSpaceMatches(this.prefix,s,e)&&L.localNameMatches(this.localName,s,e)},toString:function(){return this.name}},function(s){var N=s.split(":");this.name=s,this.prefix=N.length>1?N[0]:null,this.localName=N[N.length>1?1:0]}),L.PITest=L.makeNodeTestType(L.PI,{matches:function(e,s){return L.isNodeType([z.PROCESSING_INSTRUCTION_NODE])(e)&&(e.target||e.nodeName)===this.name},toString:function(){return M('processing-instruction("','")',this.name)}},function(e){this.name=e}),L.nameTestAny=L.makeNodeTypeTest(L.NAMETESTANY,[z.ELEMENT_NODE,z.ATTRIBUTE_NODE,z.NAMESPACE_NODE],"*"),L.textTest=L.makeNodeTypeTest(L.TEXT,[z.TEXT_NODE,z.CDATA_SECTION_NODE],"text()"),L.commentTest=L.makeNodeTypeTest(L.COMMENT,[z.COMMENT_NODE],"comment()"),L.nodeTest=L.makeNodeTypeTest(L.NODE,[z.ELEMENT_NODE,z.ATTRIBUTE_NODE,z.TEXT_NODE,z.CDATA_SECTION_NODE,z.PROCESSING_INSTRUCTION_NODE,z.COMMENT_NODE,z.DOCUMENT_NODE],"node()"),L.anyPiTest=L.makeNodeTypeTest(L.PI,[z.PROCESSING_INSTRUCTION_NODE],"processing-instruction()"),se.prototype=new U,se.prototype.constructor=se,se.superclass=U.prototype;function se(e){arguments.length>0&&this.init(e)}se.prototype.init=function(e){this.variable=e},se.prototype.toString=function(){return"$"+this.variable},se.prototype.evaluate=function(e){var s=Ne.resolveQName(this.variable,e.namespaceResolver,e.contextNode,!1);if(s[0]==null)throw new Error("Cannot resolve QName "+fn);var N=e.variableResolver.getVariable(s[1],s[0]);if(!N)throw qe.fromMessage("Undeclared variable: "+this.toString());return N},Me.prototype=new U,Me.prototype.constructor=Me,Me.superclass=U.prototype;function Me(e,s){arguments.length>0&&this.init(e,s)}Me.prototype.init=function(e,s){this.functionName=e,this.arguments=s},Me.prototype.toString=function(){for(var e=this.functionName+"(",s=0;s<this.arguments.length;s++)s>0&&(e+=", "),e+=this.arguments[s].toString();return e+")"},Me.prototype.evaluate=function(e){var s=Xe.getFunctionFromContext(this.functionName,e);if(!s)throw new Error("Unknown function "+this.functionName);var N=[e].concat(this.arguments);return s.apply(e.functionResolver.thisArg,N)};var pe=new Object;pe.equals=function(e,s){return e.equals(s)},pe.notequal=function(e,s){return e.notequal(s)},pe.lessthan=function(e,s){return e.lessthan(s)},pe.greaterthan=function(e,s){return e.greaterthan(s)},pe.lessthanorequal=function(e,s){return e.lessthanorequal(s)},pe.greaterthanorequal=function(e,s){return e.greaterthanorequal(s)},y.prototype=new U,y.prototype.constructor=y,y.superclass=U.prototype;function y(e){arguments.length>0&&this.init(e)}y.prototype.init=function(e){this.str=String(e)},y.prototype.toString=function(){return this.str},y.prototype.evaluate=function(e){return this},y.prototype.string=function(){return this},y.prototype.number=function(){return new V(this.str)},y.prototype.bool=function(){return new le(this.str)},y.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},y.prototype.stringValue=function(){return this.str},y.prototype.numberValue=function(){return this.number().numberValue()},y.prototype.booleanValue=function(){return this.bool().booleanValue()},y.prototype.equals=function(e){return Ne.instance_of(e,le)?this.bool().equals(e):Ne.instance_of(e,V)?this.number().equals(e):Ne.instance_of(e,ie)?e.compareWithString(this,pe.equals):new le(this.str==e.str)},y.prototype.notequal=function(e){return Ne.instance_of(e,le)?this.bool().notequal(e):Ne.instance_of(e,V)?this.number().notequal(e):Ne.instance_of(e,ie)?e.compareWithString(this,pe.notequal):new le(this.str!=e.str)},y.prototype.lessthan=function(e){return this.number().lessthan(e)},y.prototype.greaterthan=function(e){return this.number().greaterthan(e)},y.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},y.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},V.prototype=new U,V.prototype.constructor=V,V.superclass=U.prototype;function V(e){arguments.length>0&&this.init(e)}V.prototype.init=function(e){this.num=typeof e=="string"?this.parse(e):Number(e)},V.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,V.prototype.parse=function(e){return this.numberFormat.test(e)?parseFloat(e):Number.NaN};function ve(e){for(var s=e.split("e-"),N=s[0].replace(".",""),_=Number(s[1]),l=0;l<_-1;l+=1)N="0"+N;return"0."+N}function Qe(e){for(var s=e.split("e"),N=s[0].replace(".",""),_=Number(s[1]),l=_+1-N.length,P=0;P<l;P+=1)N+="0";return N}V.prototype.toString=function(){var e=this.num.toString();return e.indexOf("e-")!==-1?ve(e):e.indexOf("e")!==-1?Qe(e):e},V.prototype.evaluate=function(e){return this},V.prototype.string=function(){return new y(this.toString())},V.prototype.number=function(){return this},V.prototype.bool=function(){return new le(this.num)},V.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},V.prototype.stringValue=function(){return this.string().stringValue()},V.prototype.numberValue=function(){return this.num},V.prototype.booleanValue=function(){return this.bool().booleanValue()},V.prototype.negate=function(){return new V(-this.num)},V.prototype.equals=function(e){return Ne.instance_of(e,le)?this.bool().equals(e):Ne.instance_of(e,y)?this.equals(e.number()):Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.equals):new le(this.num==e.num)},V.prototype.notequal=function(e){return Ne.instance_of(e,le)?this.bool().notequal(e):Ne.instance_of(e,y)?this.notequal(e.number()):Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.notequal):new le(this.num!=e.num)},V.prototype.lessthan=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.greaterthan):Ne.instance_of(e,le)||Ne.instance_of(e,y)?this.lessthan(e.number()):new le(this.num<e.num)},V.prototype.greaterthan=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.lessthan):Ne.instance_of(e,le)||Ne.instance_of(e,y)?this.greaterthan(e.number()):new le(this.num>e.num)},V.prototype.lessthanorequal=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.greaterthanorequal):Ne.instance_of(e,le)||Ne.instance_of(e,y)?this.lessthanorequal(e.number()):new le(this.num<=e.num)},V.prototype.greaterthanorequal=function(e){return Ne.instance_of(e,ie)?e.compareWithNumber(this,pe.lessthanorequal):Ne.instance_of(e,le)||Ne.instance_of(e,y)?this.greaterthanorequal(e.number()):new le(this.num>=e.num)},V.prototype.plus=function(e){return new V(this.num+e.num)},V.prototype.minus=function(e){return new V(this.num-e.num)},V.prototype.multiply=function(e){return new V(this.num*e.num)},V.prototype.div=function(e){return new V(this.num/e.num)},V.prototype.mod=function(e){return new V(this.num%e.num)},le.prototype=new U,le.prototype.constructor=le,le.superclass=U.prototype;function le(e){arguments.length>0&&this.init(e)}le.prototype.init=function(e){this.b=!!e},le.prototype.toString=function(){return this.b.toString()},le.prototype.evaluate=function(e){return this},le.prototype.string=function(){return new y(this.b)},le.prototype.number=function(){return new V(this.b)},le.prototype.bool=function(){return this},le.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},le.prototype.stringValue=function(){return this.string().stringValue()},le.prototype.numberValue=function(){return this.number().numberValue()},le.prototype.booleanValue=function(){return this.b},le.prototype.not=function(){return new le(!this.b)},le.prototype.equals=function(e){return Ne.instance_of(e,y)||Ne.instance_of(e,V)?this.equals(e.bool()):Ne.instance_of(e,ie)?e.compareWithBoolean(this,pe.equals):new le(this.b==e.b)},le.prototype.notequal=function(e){return Ne.instance_of(e,y)||Ne.instance_of(e,V)?this.notequal(e.bool()):Ne.instance_of(e,ie)?e.compareWithBoolean(this,pe.notequal):new le(this.b!=e.b)},le.prototype.lessthan=function(e){return this.number().lessthan(e)},le.prototype.greaterthan=function(e){return this.number().greaterthan(e)},le.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},le.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},le.true_=new le(!0),le.false_=new le(!1),we.prototype=new Object,we.prototype.constructor=we,we.superclass=Object.prototype;function we(e){this.init(e)}we.prototype.init=function(e){this.left=null,this.right=null,this.node=e,this.depth=1},we.prototype.balance=function(){var e=this.left==null?0:this.left.depth,s=this.right==null?0:this.right.depth;if(e>s+1){var N=this.left.left==null?0:this.left.left.depth,_=this.left.right==null?0:this.left.right.depth;N<_&&this.left.rotateRR(),this.rotateLL()}else if(e+1<s){var l=this.right.right==null?0:this.right.right.depth,P=this.right.left==null?0:this.right.left.depth;P>l&&this.right.rotateLL(),this.rotateRR()}},we.prototype.rotateLL=function(){var e=this.node,s=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=s,this.right.node=e,this.right.updateInNewLocation(),this.updateInNewLocation()},we.prototype.rotateRR=function(){var e=this.node,s=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=s,this.left.node=e,this.left.updateInNewLocation(),this.updateInNewLocation()},we.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},we.prototype.getDepthFromChildren=function(){this.depth=this.node==null?0:1,this.left!=null&&(this.depth=this.left.depth+1),this.right!=null&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)};function Gt(e,s){if(e===s)return 0;if(e.compareDocumentPosition){var N=e.compareDocumentPosition(s);return N&1||N&10?1:N&20?-1:0}for(var _=0,l=0,P=e;P!=null;P=P.parentNode||P.ownerElement)_++;for(var Te=s;Te!=null;Te=Te.parentNode||Te.ownerElement)l++;if(_>l){for(;_>l;)e=e.parentNode||e.ownerElement,_--;if(e===s)return 1}else if(l>_){for(;l>_;)s=s.parentNode||s.ownerElement,l--;if(e===s)return-1}for(var fe=e.parentNode||e.ownerElement,he=s.parentNode||s.ownerElement;fe!==he;)e=fe,s=he,fe=e.parentNode||e.ownerElement,he=s.parentNode||s.ownerElement;var oe=Ft(e),Se=Ft(s);if(oe&&!Se)return-1;if(!oe&&Se)return 1;if(e.isXPathNamespace){if(e.nodeValue===Ae.XML_NAMESPACE_URI||!s.isXPathNamespace)return-1;if(s.nodeValue===Ae.XML_NAMESPACE_URI)return 1}else if(s.isXPathNamespace)return 1;if(fe)for(var Ke=oe?fe.attributes:fe.childNodes,ze=Ke.length,Fe=e.baseNode||e,Tt=s.baseNode||s,tt=0;tt<ze;tt+=1){var Ot=Ke[tt];if(Ot===Fe)return-1;if(Ot===Tt)return 1}throw new Error("Unexpected: could not determine node order")}we.prototype.add=function(e){if(e===this.node)return!1;var s=Gt(e,this.node),N=!1;return s==-1?this.left==null?(this.left=new we(e),N=!0):(N=this.left.add(e),N&&this.balance()):s==1&&(this.right==null?(this.right=new we(e),N=!0):(N=this.right.add(e),N&&this.balance())),N&&this.getDepthFromChildren(),N},ie.prototype=new U,ie.prototype.constructor=ie,ie.superclass=U.prototype;function ie(){this.init()}ie.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},ie.prototype.toString=function(){var e=this.first();return e==null?"":this.stringForNode(e)},ie.prototype.evaluate=function(e){return this},ie.prototype.string=function(){return new y(this.toString())},ie.prototype.stringValue=function(){return this.toString()},ie.prototype.number=function(){return new V(this.string())},ie.prototype.numberValue=function(){return Number(this.string())},ie.prototype.bool=function(){return new le(this.booleanValue())},ie.prototype.booleanValue=function(){return!!this.size},ie.prototype.nodeset=function(){return this},ie.prototype.stringForNode=function(e){return e.nodeType==z.DOCUMENT_NODE||e.nodeType==z.ELEMENT_NODE||e.nodeType===z.DOCUMENT_FRAGMENT_NODE?this.stringForContainerNode(e):e.nodeType===z.ATTRIBUTE_NODE?e.value||e.nodeValue:e.isNamespaceNode?e.namespace:e.nodeValue},ie.prototype.stringForContainerNode=function(e){for(var s="",N=e.firstChild;N!=null;N=N.nextSibling){var _=N.nodeType;(_===1||_===3||_===4||_===9||_===11)&&(s+=this.stringForNode(N))}return s},ie.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new we(this.nodes[0]);for(var e=1;e<this.nodes.length;e+=1)this.tree.add(this.nodes[e])}return this.tree},ie.prototype.first=function(){var e=this.buildTree();if(e==null)return null;for(;e.left!=null;)e=e.left;return e.node},ie.prototype.add=function(e){for(var s=0;s<this.nodes.length;s+=1)if(e===this.nodes[s])return;this.tree=null,this.nodes.push(e),this.size+=1},ie.prototype.addArray=function(e){var s=this;I(function(N){s.add(N)},e)},ie.prototype.toArray=function(){var e=[];return this.toArrayRec(this.buildTree(),e),e},ie.prototype.toArrayRec=function(e,s){e!=null&&(this.toArrayRec(e.left,s),s.push(e.node),this.toArrayRec(e.right,s))},ie.prototype.toUnsortedArray=function(){return this.nodes.slice()},ie.prototype.compareWithString=function(e,s){for(var N=this.toUnsortedArray(),_=0;_<N.length;_++){var l=N[_],P=new y(this.stringForNode(l)),Te=s(P,e);if(Te.booleanValue())return Te}return new le(!1)},ie.prototype.compareWithNumber=function(e,s){for(var N=this.toUnsortedArray(),_=0;_<N.length;_++){var l=N[_],P=new V(this.stringForNode(l)),Te=s(P,e);if(Te.booleanValue())return Te}return new le(!1)},ie.prototype.compareWithBoolean=function(e,s){return s(this.bool(),e)},ie.prototype.compareWithNodeSet=function(e,s){for(var N=this.toUnsortedArray(),_=function(fe,he){return s(he,fe)},l=0;l<N.length;l++){var P=new y(this.stringForNode(N[l])),Te=e.compareWithString(P,_);if(Te.booleanValue())return Te}return new le(!1)},ie.compareWith=C(function(e,s){return Ne.instance_of(s,y)?this.compareWithString(s,e):Ne.instance_of(s,V)?this.compareWithNumber(s,e):Ne.instance_of(s,le)?this.compareWithBoolean(s,e):this.compareWithNodeSet(s,e)}),ie.prototype.equals=ie.compareWith(pe.equals),ie.prototype.notequal=ie.compareWith(pe.notequal),ie.prototype.lessthan=ie.compareWith(pe.lessthan),ie.prototype.greaterthan=ie.compareWith(pe.greaterthan),ie.prototype.lessthanorequal=ie.compareWith(pe.lessthanorequal),ie.prototype.greaterthanorequal=ie.compareWith(pe.greaterthanorequal),ie.prototype.union=function(e){var s=new ie;return s.addArray(this.toUnsortedArray()),s.addArray(e.toUnsortedArray()),s},nt.prototype=new Object,nt.prototype.constructor=nt,nt.superclass=Object.prototype;function nt(e,s,N,_){this.isXPathNamespace=!0,this.baseNode=s,this.ownerDocument=_.ownerDocument,this.nodeName=e,this.prefix=e,this.localName=e,this.namespaceURI=null,this.nodeValue=N,this.ownerElement=_,this.nodeType=z.NAMESPACE_NODE}nt.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},Ze.prototype=new Object,Ze.prototype.constructor=Ze,Ze.superclass=Object.prototype;function Ze(e,s,N){this.variableResolver=e??new et,this.namespaceResolver=s??new je,this.functionResolver=N??new Xe}Ze.prototype.extend=function(e){return Ce(new Ze,this,e)},et.prototype=new Object,et.prototype.constructor=et,et.superclass=Object.prototype;function et(){}et.prototype.getVariable=function(e,s){return null},Xe.prototype=new Object,Xe.prototype.constructor=Xe,Xe.superclass=Object.prototype;function Xe(e){this.thisArg=e??ce,this.functions=new Object,this.addStandardFunctions()}Xe.prototype.addStandardFunctions=function(){this.functions["{}last"]=ce.last,this.functions["{}position"]=ce.position,this.functions["{}count"]=ce.count,this.functions["{}id"]=ce.id,this.functions["{}local-name"]=ce.localName,this.functions["{}namespace-uri"]=ce.namespaceURI,this.functions["{}name"]=ce.name,this.functions["{}string"]=ce.string,this.functions["{}concat"]=ce.concat,this.functions["{}starts-with"]=ce.startsWith,this.functions["{}contains"]=ce.contains,this.functions["{}substring-before"]=ce.substringBefore,this.functions["{}substring-after"]=ce.substringAfter,this.functions["{}substring"]=ce.substring,this.functions["{}string-length"]=ce.stringLength,this.functions["{}normalize-space"]=ce.normalizeSpace,this.functions["{}translate"]=ce.translate,this.functions["{}boolean"]=ce.boolean_,this.functions["{}not"]=ce.not,this.functions["{}true"]=ce.true_,this.functions["{}false"]=ce.false_,this.functions["{}lang"]=ce.lang,this.functions["{}number"]=ce.number,this.functions["{}sum"]=ce.sum,this.functions["{}floor"]=ce.floor,this.functions["{}ceiling"]=ce.ceiling,this.functions["{}round"]=ce.round},Xe.prototype.addFunction=function(e,s,N){this.functions["{"+e+"}"+s]=N},Xe.getFunctionFromContext=function(e,s){var N=Ne.resolveQName(e,s.namespaceResolver,s.contextNode,!1);if(N[0]===null)throw new Error("Cannot resolve QName "+name);return s.functionResolver.getFunction(N[1],N[0])},Xe.prototype.getFunction=function(e,s){return this.functions["{"+s+"}"+e]},je.prototype=new Object,je.prototype.constructor=je,je.superclass=Object.prototype;function je(){}je.prototype.getNamespace=function(e,s){if(e=="xml")return Ae.XML_NAMESPACE_URI;if(e=="xmlns")return Ae.XMLNS_NAMESPACE_URI;for(s.nodeType==z.DOCUMENT_NODE?s=s.documentElement:s.nodeType==z.ATTRIBUTE_NODE?s=H.getOwnerElement(s):s.nodeType!=z.ELEMENT_NODE&&(s=s.parentNode);s!=null&&s.nodeType==z.ELEMENT_NODE;){for(var N=s.attributes,_=0;_<N.length;_++){var l=N.item(_),P=l.name||l.nodeName;if(P==="xmlns"&&e===""||P==="xmlns:"+e)return String(l.value||l.nodeValue)}s=s.parentNode}return null};var ce=new Object;ce.last=function(e){if(arguments.length!=1)throw new Error("Function last expects ()");return new V(e.contextSize)},ce.position=function(e){if(arguments.length!=1)throw new Error("Function position expects ()");return new V(e.contextPosition)},ce.count=function(){var e=arguments[0],s;if(arguments.length!=2||!Ne.instance_of(s=arguments[1].evaluate(e),ie))throw new Error("Function count expects (node-set)");return new V(s.size)},ce.id=function(){var e=arguments[0],s;if(arguments.length!=2)throw new Error("Function id expects (object)");s=arguments[1].evaluate(e),Ne.instance_of(s,ie)?s=s.toArray().join(" "):s=s.stringValue();for(var N=s.split(/[\x0d\x0a\x09\x20]+/),_=new ie,l=e.contextNode.nodeType==z.DOCUMENT_NODE?e.contextNode:e.contextNode.ownerDocument,P=0;P<N.length;P++){var Te;l.getElementById?Te=l.getElementById(N[P]):Te=Ne.getElementById(l,N[P]),Te!=null&&_.add(Te)}return _},ce.localName=function(e,s){var N;if(arguments.length==1)N=e.contextNode;else if(arguments.length==2)N=s.evaluate(e).first();else throw new Error("Function local-name expects (node-set?)");return N==null?new y(""):new y(N.localName||N.baseName||N.target||N.nodeName||"")},ce.namespaceURI=function(){var e=arguments[0],s;if(arguments.length==1)s=e.contextNode;else if(arguments.length==2)s=arguments[1].evaluate(e).first();else throw new Error("Function namespace-uri expects (node-set?)");return s==null?new y(""):new y(s.namespaceURI||"")},ce.name=function(){var e=arguments[0],s;if(arguments.length==1)s=e.contextNode;else if(arguments.length==2)s=arguments[1].evaluate(e).first();else throw new Error("Function name expects (node-set?)");return s==null?new y(""):s.nodeType==z.ELEMENT_NODE?new y(s.nodeName):s.nodeType==z.ATTRIBUTE_NODE?new y(s.name||s.nodeName):s.nodeType===z.PROCESSING_INSTRUCTION_NODE?new y(s.target||s.nodeName):s.localName==null?new y(""):new y(s.localName)},ce.string=function(){var e=arguments[0];if(arguments.length==1)return new y(ie.prototype.stringForNode(e.contextNode));if(arguments.length==2)return arguments[1].evaluate(e).string();throw new Error("Function string expects (object?)")},ce.concat=function(e){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var s="",N=1;N<arguments.length;N++)s+=arguments[N].evaluate(e).stringValue();return new y(s)},ce.startsWith=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function startsWith expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new le(s.substring(0,N.length)==N)},ce.contains=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function contains expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new le(s.indexOf(N)!==-1)},ce.substringBefore=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-before expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new y(s.substring(0,s.indexOf(N)))},ce.substringAfter=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-after expects (string, string)");var s=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();if(N.length==0)return new y(s);var _=s.indexOf(N);return _==-1?new y(""):new y(s.substring(_+N.length))},ce.substring=function(){var e=arguments[0];if(!(arguments.length==3||arguments.length==4))throw new Error("Function substring expects (string, number, number?)");var s=arguments[1].evaluate(e).stringValue(),N=Math.round(arguments[2].evaluate(e).numberValue())-1,_=arguments.length==4?N+Math.round(arguments[3].evaluate(e).numberValue()):void 0;return new y(s.substring(N,_))},ce.stringLength=function(){var e=arguments[0],s;if(arguments.length==1)s=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)s=arguments[1].evaluate(e).stringValue();else throw new Error("Function string-length expects (string?)");return new V(s.length)},ce.normalizeSpace=function(){var e=arguments[0],s;if(arguments.length==1)s=ie.prototype.stringForNode(e.contextNode);else if(arguments.length==2)s=arguments[1].evaluate(e).stringValue();else throw new Error("Function normalize-space expects (string?)");for(var N=0,_=s.length-1;Ne.isSpace(s.charCodeAt(_));)_--;for(var l="";N<=_&&Ne.isSpace(s.charCodeAt(N));)N++;for(;N<=_;)if(Ne.isSpace(s.charCodeAt(N)))for(l+=" ";N<=_&&Ne.isSpace(s.charCodeAt(N));)N++;else l+=s.charAt(N),N++;return new y(l)},ce.translate=function(e,s,N,_){if(arguments.length!=4)throw new Error("Function translate expects (string, string, string)");var l=s.evaluate(e).stringValue(),P=N.evaluate(e).stringValue(),Te=_.evaluate(e).stringValue(),fe=i(function(oe,Se,Ke){return Se in oe||(oe[Se]=Ke>Te.length?"":Te[Ke]),oe},{},P),he=J("",O(function(oe){return oe in fe?fe[oe]:oe},l));return new y(he)},ce.boolean_=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(e).bool()},ce.not=function(e,s){if(arguments.length!=2)throw new Error("Function not expects (object)");return s.evaluate(e).bool().not()},ce.true_=function(){if(arguments.length!=1)throw new Error("Function true expects ()");return le.true_},ce.false_=function(){if(arguments.length!=1)throw new Error("Function false expects ()");return le.false_},ce.lang=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function lang expects (string)");for(var s,N=e.contextNode;N!=null&&N.nodeType!=z.DOCUMENT_NODE;N=N.parentNode){var _=N.getAttributeNS(Ae.XML_NAMESPACE_URI,"lang");if(_!=null){s=String(_);break}}if(s==null)return le.false_;var l=arguments[1].evaluate(e).stringValue();return new le(s.substring(0,l.length)==l&&(s.length==l.length||s.charAt(l.length)=="-"))},ce.number=function(){var e=arguments[0];if(!(arguments.length==1||arguments.length==2))throw new Error("Function number expects (object?)");return arguments.length==1?new V(ie.prototype.stringForNode(e.contextNode)):arguments[1].evaluate(e).number()},ce.sum=function(){var e=arguments[0],s;if(arguments.length!=2||!Ne.instance_of(s=arguments[1].evaluate(e),ie))throw new Error("Function sum expects (node-set)");s=s.toUnsortedArray();for(var N=0,_=0;_<s.length;_++)N+=new V(ie.prototype.stringForNode(s[_])).numberValue();return new V(N)},ce.floor=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function floor expects (number)");return new V(Math.floor(arguments[1].evaluate(e).numberValue()))},ce.ceiling=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function ceiling expects (number)");return new V(Math.ceil(arguments[1].evaluate(e).numberValue()))},ce.round=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function round expects (number)");return new V(Math.round(arguments[1].evaluate(e).numberValue()))};var Ne=new Object,Ft=function(e){return e&&(e.nodeType===z.ATTRIBUTE_NODE||e.ownerElement||e.isXPathNamespace)};Ne.splitQName=function(e){var s=e.indexOf(":");return s==-1?[null,e]:[e.substring(0,s),e.substring(s+1)]},Ne.resolveQName=function(e,s,N,_){var l=Ne.splitQName(e);return l[0]!=null?l[0]=s.getNamespace(l[0],N):_?(l[0]=s.getNamespace("",N),l[0]==null&&(l[0]="")):l[0]="",l},Ne.isSpace=function(e){return e==9||e==13||e==10||e==32},Ne.isLetter=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=255||e>=256&&e<=305||e>=308&&e<=318||e>=321&&e<=328||e>=330&&e<=382||e>=384&&e<=451||e>=461&&e<=496||e>=500&&e<=501||e>=506&&e<=535||e>=592&&e<=680||e>=699&&e<=705||e==902||e>=904&&e<=906||e==908||e>=910&&e<=929||e>=931&&e<=974||e>=976&&e<=982||e==986||e==988||e==990||e==992||e>=994&&e<=1011||e>=1025&&e<=1036||e>=1038&&e<=1103||e>=1105&&e<=1116||e>=1118&&e<=1153||e>=1168&&e<=1220||e>=1223&&e<=1224||e>=1227&&e<=1228||e>=1232&&e<=1259||e>=1262&&e<=1269||e>=1272&&e<=1273||e>=1329&&e<=1366||e==1369||e>=1377&&e<=1414||e>=1488&&e<=1514||e>=1520&&e<=1522||e>=1569&&e<=1594||e>=1601&&e<=1610||e>=1649&&e<=1719||e>=1722&&e<=1726||e>=1728&&e<=1742||e>=1744&&e<=1747||e==1749||e>=1765&&e<=1766||e>=2309&&e<=2361||e==2365||e>=2392&&e<=2401||e>=2437&&e<=2444||e>=2447&&e<=2448||e>=2451&&e<=2472||e>=2474&&e<=2480||e==2482||e>=2486&&e<=2489||e>=2524&&e<=2525||e>=2527&&e<=2529||e>=2544&&e<=2545||e>=2565&&e<=2570||e>=2575&&e<=2576||e>=2579&&e<=2600||e>=2602&&e<=2608||e>=2610&&e<=2611||e>=2613&&e<=2614||e>=2616&&e<=2617||e>=2649&&e<=2652||e==2654||e>=2674&&e<=2676||e>=2693&&e<=2699||e==2701||e>=2703&&e<=2705||e>=2707&&e<=2728||e>=2730&&e<=2736||e>=2738&&e<=2739||e>=2741&&e<=2745||e==2749||e==2784||e>=2821&&e<=2828||e>=2831&&e<=2832||e>=2835&&e<=2856||e>=2858&&e<=2864||e>=2866&&e<=2867||e>=2870&&e<=2873||e==2877||e>=2908&&e<=2909||e>=2911&&e<=2913||e>=2949&&e<=2954||e>=2958&&e<=2960||e>=2962&&e<=2965||e>=2969&&e<=2970||e==2972||e>=2974&&e<=2975||e>=2979&&e<=2980||e>=2984&&e<=2986||e>=2990&&e<=2997||e>=2999&&e<=3001||e>=3077&&e<=3084||e>=3086&&e<=3088||e>=3090&&e<=3112||e>=3114&&e<=3123||e>=3125&&e<=3129||e>=3168&&e<=3169||e>=3205&&e<=3212||e>=3214&&e<=3216||e>=3218&&e<=3240||e>=3242&&e<=3251||e>=3253&&e<=3257||e==3294||e>=3296&&e<=3297||e>=3333&&e<=3340||e>=3342&&e<=3344||e>=3346&&e<=3368||e>=3370&&e<=3385||e>=3424&&e<=3425||e>=3585&&e<=3630||e==3632||e>=3634&&e<=3635||e>=3648&&e<=3653||e>=3713&&e<=3714||e==3716||e>=3719&&e<=3720||e==3722||e==3725||e>=3732&&e<=3735||e>=3737&&e<=3743||e>=3745&&e<=3747||e==3749||e==3751||e>=3754&&e<=3755||e>=3757&&e<=3758||e==3760||e>=3762&&e<=3763||e==3773||e>=3776&&e<=3780||e>=3904&&e<=3911||e>=3913&&e<=3945||e>=4256&&e<=4293||e>=4304&&e<=4342||e==4352||e>=4354&&e<=4355||e>=4357&&e<=4359||e==4361||e>=4363&&e<=4364||e>=4366&&e<=4370||e==4412||e==4414||e==4416||e==4428||e==4430||e==4432||e>=4436&&e<=4437||e==4441||e>=4447&&e<=4449||e==4451||e==4453||e==4455||e==4457||e>=4461&&e<=4462||e>=4466&&e<=4467||e==4469||e==4510||e==4520||e==4523||e>=4526&&e<=4527||e>=4535&&e<=4536||e==4538||e>=4540&&e<=4546||e==4587||e==4592||e==4601||e>=7680&&e<=7835||e>=7840&&e<=7929||e>=7936&&e<=7957||e>=7960&&e<=7965||e>=7968&&e<=8005||e>=8008&&e<=8013||e>=8016&&e<=8023||e==8025||e==8027||e==8029||e>=8031&&e<=8061||e>=8064&&e<=8116||e>=8118&&e<=8124||e==8126||e>=8130&&e<=8132||e>=8134&&e<=8140||e>=8144&&e<=8147||e>=8150&&e<=8155||e>=8160&&e<=8172||e>=8178&&e<=8180||e>=8182&&e<=8188||e==8486||e>=8490&&e<=8491||e==8494||e>=8576&&e<=8578||e>=12353&&e<=12436||e>=12449&&e<=12538||e>=12549&&e<=12588||e>=44032&&e<=55203||e>=19968&&e<=40869||e==12295||e>=12321&&e<=12329},Ne.isNCNameChar=function(e){return e>=48&&e<=57||e>=1632&&e<=1641||e>=1776&&e<=1785||e>=2406&&e<=2415||e>=2534&&e<=2543||e>=2662&&e<=2671||e>=2790&&e<=2799||e>=2918&&e<=2927||e>=3047&&e<=3055||e>=3174&&e<=3183||e>=3302&&e<=3311||e>=3430&&e<=3439||e>=3664&&e<=3673||e>=3792&&e<=3801||e>=3872&&e<=3881||e==46||e==45||e==95||Ne.isLetter(e)||e>=768&&e<=837||e>=864&&e<=865||e>=1155&&e<=1158||e>=1425&&e<=1441||e>=1443&&e<=1465||e>=1467&&e<=1469||e==1471||e>=1473&&e<=1474||e==1476||e>=1611&&e<=1618||e==1648||e>=1750&&e<=1756||e>=1757&&e<=1759||e>=1760&&e<=1764||e>=1767&&e<=1768||e>=1770&&e<=1773||e>=2305&&e<=2307||e==2364||e>=2366&&e<=2380||e==2381||e>=2385&&e<=2388||e>=2402&&e<=2403||e>=2433&&e<=2435||e==2492||e==2494||e==2495||e>=2496&&e<=2500||e>=2503&&e<=2504||e>=2507&&e<=2509||e==2519||e>=2530&&e<=2531||e==2562||e==2620||e==2622||e==2623||e>=2624&&e<=2626||e>=2631&&e<=2632||e>=2635&&e<=2637||e>=2672&&e<=2673||e>=2689&&e<=2691||e==2748||e>=2750&&e<=2757||e>=2759&&e<=2761||e>=2763&&e<=2765||e>=2817&&e<=2819||e==2876||e>=2878&&e<=2883||e>=2887&&e<=2888||e>=2891&&e<=2893||e>=2902&&e<=2903||e>=2946&&e<=2947||e>=3006&&e<=3010||e>=3014&&e<=3016||e>=3018&&e<=3021||e==3031||e>=3073&&e<=3075||e>=3134&&e<=3140||e>=3142&&e<=3144||e>=3146&&e<=3149||e>=3157&&e<=3158||e>=3202&&e<=3203||e>=3262&&e<=3268||e>=3270&&e<=3272||e>=3274&&e<=3277||e>=3285&&e<=3286||e>=3330&&e<=3331||e>=3390&&e<=3395||e>=3398&&e<=3400||e>=3402&&e<=3405||e==3415||e==3633||e>=3636&&e<=3642||e>=3655&&e<=3662||e==3761||e>=3764&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=3864&&e<=3865||e==3893||e==3895||e==3897||e==3902||e==3903||e>=3953&&e<=3972||e>=3974&&e<=3979||e>=3984&&e<=3989||e==3991||e>=3993&&e<=4013||e>=4017&&e<=4023||e==4025||e>=8400&&e<=8412||e==8417||e>=12330&&e<=12335||e==12441||e==12442||e==183||e==720||e==721||e==903||e==1600||e==3654||e==3782||e==12293||e>=12337&&e<=12341||e>=12445&&e<=12446||e>=12540&&e<=12542},Ne.coalesceText=function(e){for(var s=e.firstChild;s!=null;s=s.nextSibling)if(s.nodeType==z.TEXT_NODE||s.nodeType==z.CDATA_SECTION_NODE){var N=s.nodeValue,_=s;for(s=s.nextSibling;s!=null&&(s.nodeType==z.TEXT_NODE||s.nodeType==z.CDATA_SECTION_NODE);){N+=s.nodeValue;var l=s;s=s.nextSibling,l.parentNode.removeChild(l)}if(_.nodeType==z.CDATA_SECTION_NODE){var P=_.parentNode;if(_.nextSibling==null)P.removeChild(_),P.appendChild(P.ownerDocument.createTextNode(N));else{var Te=_.nextSibling;P.removeChild(_),P.insertBefore(P.ownerDocument.createTextNode(N),Te)}}else _.nodeValue=N;if(s==null)break}else s.nodeType==z.ELEMENT_NODE&&Ne.coalesceText(s)},Ne.instance_of=function(e,s){for(;e!=null;){if(e.constructor===s)return!0;if(e===Object)return!1;e=e.constructor.superclass}return!1},Ne.getElementById=function(e,s){if(e.nodeType==z.ELEMENT_NODE&&(e.getAttribute("id")==s||e.getAttributeNS(null,"id")==s))return e;for(var N=e.firstChild;N!=null;N=N.nextSibling){var _=Ne.getElementById(N,s);if(_!=null)return _}return null};var qe=function(){function e(N,_){var l=_?": "+_.toString():"";switch(N){case s.INVALID_EXPRESSION_ERR:return"Invalid expression"+l;case s.TYPE_ERR:return"Type error"+l}return null}function s(N,_,l){var P=Error.call(this,e(N,_)||l);return P.code=N,P.exception=_,P}return s.prototype=Object.create(Error.prototype),s.prototype.constructor=s,s.superclass=Error,s.prototype.toString=function(){return this.message},s.fromMessage=function(N,_){return new s(null,_,N)},s.INVALID_EXPRESSION_ERR=51,s.TYPE_ERR=52,s}();We.prototype={},We.prototype.constructor=We,We.superclass=Object.prototype;function We(e,s,N){this.xpath=N.parse(e),this.context=new Ze,this.context.namespaceResolver=new Rt(s)}We.getOwnerDocument=function(e){return e.nodeType===z.DOCUMENT_NODE?e:e.ownerDocument},We.detectHtmlDom=function(e){if(!e)return!1;var s=We.getOwnerDocument(e);try{return s.implementation.hasFeature("HTML","2.0")}catch{return!0}},We.prototype.evaluate=function(e,s,N){this.context.expressionContextNode=e,this.context.caseInsensitive=We.detectHtmlDom(e);var _=this.xpath.evaluate(this.context);return new Pe(_,s)},Rt.prototype={},Rt.prototype.constructor=Rt,Rt.superclass=Object.prototype;function Rt(e){this.xpathNSResolver=e}Rt.prototype.getNamespace=function(e,s){return this.xpathNSResolver==null?null:this.xpathNSResolver.lookupNamespaceURI(e)},st.prototype={},st.prototype.constructor=st,st.superclass=Object.prototype;function st(e){this.node=e,this.namespaceResolver=new je}st.prototype.lookupNamespaceURI=function(e){return this.namespaceResolver.getNamespace(e,this.node)},Pe.prototype={},Pe.prototype.constructor=Pe,Pe.superclass=Object.prototype;function Pe(e,s){switch(s==Pe.ANY_TYPE&&(e.constructor===y?s=Pe.STRING_TYPE:e.constructor===V?s=Pe.NUMBER_TYPE:e.constructor===le?s=Pe.BOOLEAN_TYPE:e.constructor===ie&&(s=Pe.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=s,s){case Pe.NUMBER_TYPE:this.numberValue=e.numberValue();return;case Pe.STRING_TYPE:this.stringValue=e.stringValue();return;case Pe.BOOLEAN_TYPE:this.booleanValue=e.booleanValue();return;case Pe.ANY_UNORDERED_NODE_TYPE:case Pe.FIRST_ORDERED_NODE_TYPE:if(e.constructor===ie){this.singleNodeValue=e.first();return}break;case Pe.UNORDERED_NODE_ITERATOR_TYPE:case Pe.ORDERED_NODE_ITERATOR_TYPE:if(e.constructor===ie){this.invalidIteratorState=!1,this.nodes=e.toArray(),this.iteratorIndex=0;return}break;case Pe.UNORDERED_NODE_SNAPSHOT_TYPE:case Pe.ORDERED_NODE_SNAPSHOT_TYPE:if(e.constructor===ie){this.nodes=e.toArray(),this.snapshotLength=this.nodes.length;return}break}throw new qe(qe.TYPE_ERR)}Pe.prototype.iterateNext=function(){if(this.resultType!=Pe.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=Pe.ORDERED_NODE_ITERATOR_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[this.iteratorIndex++]},Pe.prototype.snapshotItem=function(e){if(this.resultType!=Pe.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=Pe.ORDERED_NODE_SNAPSHOT_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[e]},Pe.ANY_TYPE=0,Pe.NUMBER_TYPE=1,Pe.STRING_TYPE=2,Pe.BOOLEAN_TYPE=3,Pe.UNORDERED_NODE_ITERATOR_TYPE=4,Pe.ORDERED_NODE_ITERATOR_TYPE=5,Pe.UNORDERED_NODE_SNAPSHOT_TYPE=6,Pe.ORDERED_NODE_SNAPSHOT_TYPE=7,Pe.ANY_UNORDERED_NODE_TYPE=8,Pe.FIRST_ORDERED_NODE_TYPE=9;function R(e,s){e.createExpression=function(N,_){try{return new We(N,_,s)}catch(l){throw new qe(qe.INVALID_EXPRESSION_ERR,l)}},e.createNSResolver=function(N){return new st(N)},e.evaluate=function(N,_,l,P,Te){if(P<0||P>9)throw{code:0,toString:function(){return"Request type not supported"}};return e.createExpression(N,l,s).evaluate(_,P,Te)}}try{var S=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(S=!1)}catch{}S&&R(document,new D)}catch{}R(r,new D),function(){var e=new D,s=new je,N=new Xe,_=new et;function l(ne){return{getNamespace:function(me,Je){var ut=ne(me,Je);return ut||s.getNamespace(me,Je)}}}function P(ne){return l(ne.getNamespace.bind(ne))}function Te(ne){return l(function(me){return ne[me]})}function fe(ne){return ne&&typeof ne.getNamespace=="function"?P(ne):typeof ne=="function"?l(ne):typeof ne=="object"?Te(ne):s}function he(ne){if(ne===null||typeof ne>"u"||ne instanceof y||ne instanceof le||ne instanceof V||ne instanceof ie)return ne;switch(typeof ne){case"string":return new y(ne);case"boolean":return new le(ne);case"number":return new V(ne)}var me=new ie;return me.addArray([].concat(ne)),me}function oe(ne){return function(me){var Je=Array.prototype.slice.call(arguments,1).map(function(xS){return xS.evaluate(me)}),ut=ne.apply(this,[].concat(me,Je));return he(ut)}}function Se(ne){return{getFunction:function(me,Je){var ut=ne(me,Je);return ut?oe(ut):N.getFunction(me,Je)}}}function Ke(ne){return Se(ne.getFunction.bind(ne))}function ze(ne){return Se(function(me){return ne[me]})}function Fe(ne){return ne&&typeof ne.getFunction=="function"?Ke(ne):typeof ne=="function"?Se(ne):typeof ne=="object"?ze(ne):N}function Tt(ne){return{getVariable:function(me,Je){var ut=ne(me,Je);return he(ut)}}}function tt(ne){if(ne){if(typeof ne.getVariable=="function")return Tt(ne.getVariable.bind(ne));if(typeof ne=="function")return Tt(ne);if(typeof ne=="object")return Tt(function(me){return ne[me]})}return _}function Ot(ne,me,Je){ne in Je&&(me[ne]=Je[ne])}function GS(ne){var me=new Ze;return ne?(me.namespaceResolver=fe(ne.namespaces),me.functionResolver=Fe(ne.functions),me.variableResolver=tt(ne.variables),me.expressionContextNode=ne.node,Ot("allowAnyNamespaceForNoPrefix",me,ne),Ot("isHtml",me,ne)):me.namespaceResolver=s,me}function FS(ne,me){var Je=GS(me);return ne.evaluate(Je)}var bS={evaluate:function(ne){return FS(this.expression,ne)},evaluateNumber:function(ne){return this.evaluate(ne).numberValue()},evaluateString:function(ne){return this.evaluate(ne).stringValue()},evaluateBoolean:function(ne){return this.evaluate(ne).booleanValue()},evaluateNodeSet:function(ne){return this.evaluate(ne).nodeset()},select:function(ne){return this.evaluateNodeSet(ne).toArray()},select1:function(ne){return this.select(ne)[0]}};function HS(ne){var me=e.parse(ne);return Object.create(bS,{expression:{value:me}})}r.parse=HS}(),Ce(r,{XPath:Ae,XPathParser:D,XPathResult:Pe,Step:Z,PathExpr:H,NodeTest:L,LocationPath:Ue,OrOperation:ae,AndOperation:Oe,BarOperation:j,EqualsOperation:De,NotEqualOperation:p,LessThanOperation:B,GreaterThanOperation:Q,LessThanOrEqualOperation:ee,GreaterThanOrEqualOperation:Y,PlusOperation:Re,MinusOperation:f,MultiplyOperation:F,DivOperation:v,ModOperation:q,UnaryMinusOperation:w,FunctionCall:Me,VariableReference:se,XPathContext:Ze,XNodeSet:ie,XBoolean:le,XString:y,XNumber:V,NamespaceResolver:je,FunctionResolver:Xe,VariableResolver:et,Utilities:Ne}),r.select=function(e,s,N){return r.selectWithResolver(e,s,null,N)},r.useNamespaces=function(e){var s={mappings:e||{},lookupNamespaceURI:function(N){return this.mappings[N]}};return function(N,_,l){return r.selectWithResolver(N,_,s,l)}},r.selectWithResolver=function(e,s,N,_){var l=new We(e,N,new D),P=Pe.ANY_TYPE,Te=l.evaluate(s,P,null);return Te.resultType==Pe.STRING_TYPE?Te=Te.stringValue:Te.resultType==Pe.NUMBER_TYPE?Te=Te.numberValue:Te.resultType==Pe.BOOLEAN_TYPE?Te=Te.booleanValue:(Te=Te.nodes,_&&(Te=Te[0])),Te},r.select1=function(e,s){return r.select(e,s,!0)};var c=function(e){return Array.isArray(e)&&e.every(A)},g=function(e){return function(s){return A(s)&&s.nodeType===e}};Ce(r,{isNodeLike:A,isArrayOfNodes:c,isElement:g(z.ELEMENT_NODE),isAttribute:g(z.ATTRIBUTE_NODE),isTextNode:g(z.TEXT_NODE),isCDATASection:g(z.CDATA_SECTION_NODE),isProcessingInstruction:g(z.PROCESSING_INSTRUCTION_NODE),isComment:g(z.COMMENT_NODE),isDocumentNode:g(z.DOCUMENT_NODE),isDocumentTypeNode:g(z.DOCUMENT_TYPE_NODE),isDocumentFragment:g(z.DOCUMENT_FRAGMENT_NODE)})})(t)}(qt)),qt}var $n=kn();const qn=mE($n);var Ut={},at={},Ct={},gE;function bt(){if(gE)return Ct;gE=1;function E(a,A,C){if(C===void 0&&(C=Array.prototype),a&&typeof C.find=="function")return C.find.call(a,A);for(var I=0;I<a.length;I++)if(Object.prototype.hasOwnProperty.call(a,I)){var i=a[I];if(A.call(void 0,i,I,a))return i}}function t(a,A){return A===void 0&&(A=Object),A&&typeof A.freeze=="function"?A.freeze(a):a}function r(a,A){if(a===null||typeof a!="object")throw new TypeError("target is not an object");for(var C in A)Object.prototype.hasOwnProperty.call(A,C)&&(a[C]=A[C]);return a}var T=t({HTML:"text/html",isHTML:function(a){return a===T.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),o=t({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(a){return a===o.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return Ct.assign=r,Ct.find=E,Ct.freeze=t,Ct.MIME_TYPE=T,Ct.NAMESPACE=o,Ct}var yE;function GE(){if(yE)return at;yE=1;var E=bt(),t=E.find,r=E.NAMESPACE;function T(R){return R!==""}function o(R){return R?R.split(/[\t\n\f\r ]+/).filter(T):[]}function a(R,S){return R.hasOwnProperty(S)||(R[S]=!0),R}function A(R){if(!R)return[];var S=o(R);return Object.keys(S.reduce(a,{}))}function C(R){return function(S){return R&&R.indexOf(S)!==-1}}function I(R,S){for(var c in R)Object.prototype.hasOwnProperty.call(R,c)&&(S[c]=R[c])}function i(R,S){var c=R.prototype;if(!(c instanceof S)){let g=function(){};g.prototype=S.prototype,g=new g,I(c,g),R.prototype=c=g}c.constructor!=R&&(typeof R!="function"&&console.error("unknown Class:"+R),c.constructor=R)}var O={},u=O.ELEMENT_NODE=1,d=O.ATTRIBUTE_NODE=2,h=O.TEXT_NODE=3,G=O.CDATA_SECTION_NODE=4,J=O.ENTITY_REFERENCE_NODE=5,M=O.ENTITY_NODE=6,Ee=O.PROCESSING_INSTRUCTION_NODE=7,re=O.COMMENT_NODE=8,k=O.DOCUMENT_NODE=9,Ie=O.DOCUMENT_TYPE_NODE=10,Ce=O.DOCUMENT_FRAGMENT_NODE=11,z=O.NOTATION_NODE=12,D={},Ae={};D.INDEX_SIZE_ERR=(Ae[1]="Index size error",1),D.DOMSTRING_SIZE_ERR=(Ae[2]="DOMString size error",2);var b=D.HIERARCHY_REQUEST_ERR=(Ae[3]="Hierarchy request error",3);D.WRONG_DOCUMENT_ERR=(Ae[4]="Wrong document",4),D.INVALID_CHARACTER_ERR=(Ae[5]="Invalid character",5),D.NO_DATA_ALLOWED_ERR=(Ae[6]="No data allowed",6),D.NO_MODIFICATION_ALLOWED_ERR=(Ae[7]="No modification allowed",7);var U=D.NOT_FOUND_ERR=(Ae[8]="Not found",8);D.NOT_SUPPORTED_ERR=(Ae[9]="Not supported",9);var $=D.INUSE_ATTRIBUTE_ERR=(Ae[10]="Attribute in use",10);D.INVALID_STATE_ERR=(Ae[11]="Invalid state",11),D.SYNTAX_ERR=(Ae[12]="Syntax error",12),D.INVALID_MODIFICATION_ERR=(Ae[13]="Invalid modification",13),D.NAMESPACE_ERR=(Ae[14]="Invalid namespace",14),D.INVALID_ACCESS_ERR=(Ae[15]="Invalid access",15);function w(R,S){if(S instanceof Error)var c=S;else c=this,Error.call(this,Ae[R]),this.message=Ae[R],Error.captureStackTrace&&Error.captureStackTrace(this,w);return c.code=R,S&&(this.message=this.message+": "+S),c}w.prototype=Error.prototype,I(D,w);function K(){}K.prototype={length:0,item:function(R){return R>=0&&R<this.length?this[R]:null},toString:function(R,S){for(var c=[],g=0;g<this.length;g++)We(this[g],c,R,S);return c.join("")},filter:function(R){return Array.prototype.filter.call(this,R)},indexOf:function(R){return Array.prototype.indexOf.call(this,R)}};function ae(R,S){this._node=R,this._refresh=S,Oe(this)}function Oe(R){var S=R._node._inc||R._node.ownerDocument._inc;if(R._inc!==S){var c=R._refresh(R._node);if(Pe(R,"length",c.length),!R.$$length||c.length<R.$$length)for(var g=c.length;g in R;g++)Object.prototype.hasOwnProperty.call(R,g)&&delete R[g];I(c,R),R._inc=S}}ae.prototype.item=function(R){return Oe(this),this[R]||null},i(ae,K);function De(){}function p(R,S){for(var c=R.length;c--;)if(R[c]===S)return c}function B(R,S,c,g){if(g?S[p(S,g)]=c:S[S.length++]=c,R){c.ownerElement=R;var e=R.ownerDocument;e&&(g&&q(e,R,g),v(e,R,c))}}function Q(R,S,c){var g=p(S,c);if(g>=0){for(var e=S.length-1;g<e;)S[g]=S[++g];if(S.length=e,R){var s=R.ownerDocument;s&&(q(s,R,c),c.ownerElement=null)}}else throw new w(U,new Error(R.tagName+"@"+c))}De.prototype={length:0,item:K.prototype.item,getNamedItem:function(R){for(var S=this.length;S--;){var c=this[S];if(c.nodeName==R)return c}},setNamedItem:function(R){var S=R.ownerElement;if(S&&S!=this._ownerElement)throw new w($);var c=this.getNamedItem(R.nodeName);return B(this._ownerElement,this,R,c),c},setNamedItemNS:function(R){var S=R.ownerElement,c;if(S&&S!=this._ownerElement)throw new w($);return c=this.getNamedItemNS(R.namespaceURI,R.localName),B(this._ownerElement,this,R,c),c},removeNamedItem:function(R){var S=this.getNamedItem(R);return Q(this._ownerElement,this,S),S},removeNamedItemNS:function(R,S){var c=this.getNamedItemNS(R,S);return Q(this._ownerElement,this,c),c},getNamedItemNS:function(R,S){for(var c=this.length;c--;){var g=this[c];if(g.localName==S&&g.namespaceURI==R)return g}return null}};function ee(){}ee.prototype={hasFeature:function(R,S){return!0},createDocument:function(R,S,c){var g=new F;if(g.implementation=this,g.childNodes=new K,g.doctype=c||null,c&&g.appendChild(c),S){var e=g.createElementNS(R,S);g.appendChild(e)}return g},createDocumentType:function(R,S,c){var g=new ie;return g.name=R,g.nodeName=R,g.publicId=S||"",g.systemId=c||"",g}};function Y(){}Y.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(R,S){return Me(this,R,S)},replaceChild:function(R,S){Me(this,R,S,se),S&&this.removeChild(S)},removeChild:function(R){return H(this,R)},appendChild:function(R){return this.insertBefore(R,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(R){return st(this.ownerDocument||this,this,R)},normalize:function(){for(var R=this.firstChild;R;){var S=R.nextSibling;S&&S.nodeType==h&&R.nodeType==h?(this.removeChild(S),R.appendData(S.data)):(R.normalize(),R=S)}},isSupported:function(R,S){return this.ownerDocument.implementation.hasFeature(R,S)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(R){for(var S=this;S;){var c=S._nsMap;if(c){for(var g in c)if(Object.prototype.hasOwnProperty.call(c,g)&&c[g]===R)return g}S=S.nodeType==d?S.ownerDocument:S.parentNode}return null},lookupNamespaceURI:function(R){for(var S=this;S;){var c=S._nsMap;if(c&&Object.prototype.hasOwnProperty.call(c,R))return c[R];S=S.nodeType==d?S.ownerDocument:S.parentNode}return null},isDefaultNamespace:function(R){var S=this.lookupPrefix(R);return S==null}};function Re(R){return R=="<"&&"&lt;"||R==">"&&"&gt;"||R=="&"&&"&amp;"||R=='"'&&"&quot;"||"&#"+R.charCodeAt()+";"}I(O,Y),I(O,Y.prototype);function f(R,S){if(S(R))return!0;if(R=R.firstChild)do if(f(R,S))return!0;while(R=R.nextSibling)}function F(){this.ownerDocument=this}function v(R,S,c){R&&R._inc++;var g=c.namespaceURI;g===r.XMLNS&&(S._nsMap[c.prefix?c.localName:""]=c.value)}function q(R,S,c,g){R&&R._inc++;var e=c.namespaceURI;e===r.XMLNS&&delete S._nsMap[c.prefix?c.localName:""]}function j(R,S,c){if(R&&R._inc){R._inc++;var g=S.childNodes;if(c)g[g.length++]=c;else{for(var e=S.firstChild,s=0;e;)g[s++]=e,e=e.nextSibling;g.length=s,delete g[g.length]}}}function H(R,S){var c=S.previousSibling,g=S.nextSibling;return c?c.nextSibling=g:R.firstChild=g,g?g.previousSibling=c:R.lastChild=c,S.parentNode=null,S.previousSibling=null,S.nextSibling=null,j(R.ownerDocument,R),S}function te(R){return R&&(R.nodeType===Y.DOCUMENT_NODE||R.nodeType===Y.DOCUMENT_FRAGMENT_NODE||R.nodeType===Y.ELEMENT_NODE)}function _e(R){return R&&(ge(R)||He(R)||Le(R)||R.nodeType===Y.DOCUMENT_FRAGMENT_NODE||R.nodeType===Y.COMMENT_NODE||R.nodeType===Y.PROCESSING_INSTRUCTION_NODE)}function Le(R){return R&&R.nodeType===Y.DOCUMENT_TYPE_NODE}function ge(R){return R&&R.nodeType===Y.ELEMENT_NODE}function He(R){return R&&R.nodeType===Y.TEXT_NODE}function Ue(R,S){var c=R.childNodes||[];if(t(c,ge)||Le(S))return!1;var g=t(c,Le);return!(S&&g&&c.indexOf(g)>c.indexOf(S))}function Z(R,S){var c=R.childNodes||[];function g(s){return ge(s)&&s!==S}if(t(c,g))return!1;var e=t(c,Le);return!(S&&e&&c.indexOf(e)>c.indexOf(S))}function Ge(R,S,c){if(!te(R))throw new w(b,"Unexpected parent node type "+R.nodeType);if(c&&c.parentNode!==R)throw new w(U,"child not in parent");if(!_e(S)||Le(S)&&R.nodeType!==Y.DOCUMENT_NODE)throw new w(b,"Unexpected node type "+S.nodeType+" for parent node type "+R.nodeType)}function L(R,S,c){var g=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===Y.DOCUMENT_FRAGMENT_NODE){var s=e.filter(ge);if(s.length>1||t(e,He))throw new w(b,"More than one element or text in fragment");if(s.length===1&&!Ue(R,c))throw new w(b,"Element in fragment can not be inserted before doctype")}if(ge(S)&&!Ue(R,c))throw new w(b,"Only one element can be added and only after doctype");if(Le(S)){if(t(g,Le))throw new w(b,"Only one doctype is allowed");var N=t(g,ge);if(c&&g.indexOf(N)<g.indexOf(c))throw new w(b,"Doctype can only be inserted before an element");if(!c&&N)throw new w(b,"Doctype can not be appended since element is present")}}function se(R,S,c){var g=R.childNodes||[],e=S.childNodes||[];if(S.nodeType===Y.DOCUMENT_FRAGMENT_NODE){var s=e.filter(ge);if(s.length>1||t(e,He))throw new w(b,"More than one element or text in fragment");if(s.length===1&&!Z(R,c))throw new w(b,"Element in fragment can not be inserted before doctype")}if(ge(S)&&!Z(R,c))throw new w(b,"Only one element can be added and only after doctype");if(Le(S)){if(t(g,function(l){return Le(l)&&l!==c}))throw new w(b,"Only one doctype is allowed");var N=t(g,ge);if(c&&g.indexOf(N)<g.indexOf(c))throw new w(b,"Doctype can only be inserted before an element")}}function Me(R,S,c,g){Ge(R,S,c),R.nodeType===Y.DOCUMENT_NODE&&(g||L)(R,S,c);var e=S.parentNode;if(e&&e.removeChild(S),S.nodeType===Ce){var s=S.firstChild;if(s==null)return S;var N=S.lastChild}else s=N=S;var _=c?c.previousSibling:R.lastChild;s.previousSibling=_,N.nextSibling=c,_?_.nextSibling=s:R.firstChild=s,c==null?R.lastChild=N:c.previousSibling=N;do{s.parentNode=R;var l=R.ownerDocument||R;pe(s,l)}while(s!==N&&(s=s.nextSibling));return j(R.ownerDocument||R,R),S.nodeType==Ce&&(S.firstChild=S.lastChild=null),S}function pe(R,S){if(R.ownerDocument!==S){if(R.ownerDocument=S,R.nodeType===u&&R.attributes)for(var c=0;c<R.attributes.length;c++){var g=R.attributes.item(c);g&&(g.ownerDocument=S)}for(var e=R.firstChild;e;)pe(e,S),e=e.nextSibling}}function y(R,S){S.parentNode&&S.parentNode.removeChild(S),S.parentNode=R,S.previousSibling=R.lastChild,S.nextSibling=null,S.previousSibling?S.previousSibling.nextSibling=S:R.firstChild=S,R.lastChild=S,j(R.ownerDocument,R,S);var c=R.ownerDocument||R;return pe(S,c),S}F.prototype={nodeName:"#document",nodeType:k,doctype:null,documentElement:null,_inc:1,insertBefore:function(R,S){if(R.nodeType==Ce){for(var c=R.firstChild;c;){var g=c.nextSibling;this.insertBefore(c,S),c=g}return R}return Me(this,R,S),pe(R,this),this.documentElement===null&&R.nodeType===u&&(this.documentElement=R),R},removeChild:function(R){return this.documentElement==R&&(this.documentElement=null),H(this,R)},replaceChild:function(R,S){Me(this,R,S,se),pe(R,this),S&&this.removeChild(S),ge(R)&&(this.documentElement=R)},importNode:function(R,S){return Rt(this,R,S)},getElementById:function(R){var S=null;return f(this.documentElement,function(c){if(c.nodeType==u&&c.getAttribute("id")==R)return S=c,!0}),S},getElementsByClassName:function(R){var S=A(R);return new ae(this,function(c){var g=[];return S.length>0&&f(c.documentElement,function(e){if(e!==c&&e.nodeType===u){var s=e.getAttribute("class");if(s){var N=R===s;if(!N){var _=A(s);N=S.every(C(_))}N&&g.push(e)}}}),g})},createElement:function(R){var S=new V;S.ownerDocument=this,S.nodeName=R,S.tagName=R,S.localName=R,S.childNodes=new K;var c=S.attributes=new De;return c._ownerElement=S,S},createDocumentFragment:function(){var R=new Xe;return R.ownerDocument=this,R.childNodes=new K,R},createTextNode:function(R){var S=new le;return S.ownerDocument=this,S.appendData(R),S},createComment:function(R){var S=new we;return S.ownerDocument=this,S.appendData(R),S},createCDATASection:function(R){var S=new Gt;return S.ownerDocument=this,S.appendData(R),S},createProcessingInstruction:function(R,S){var c=new je;return c.ownerDocument=this,c.tagName=c.nodeName=c.target=R,c.nodeValue=c.data=S,c},createAttribute:function(R){var S=new ve;return S.ownerDocument=this,S.name=R,S.nodeName=R,S.localName=R,S.specified=!0,S},createEntityReference:function(R){var S=new et;return S.ownerDocument=this,S.nodeName=R,S},createElementNS:function(R,S){var c=new V,g=S.split(":"),e=c.attributes=new De;return c.childNodes=new K,c.ownerDocument=this,c.nodeName=S,c.tagName=S,c.namespaceURI=R,g.length==2?(c.prefix=g[0],c.localName=g[1]):c.localName=S,e._ownerElement=c,c},createAttributeNS:function(R,S){var c=new ve,g=S.split(":");return c.ownerDocument=this,c.nodeName=S,c.name=S,c.namespaceURI=R,c.specified=!0,g.length==2?(c.prefix=g[0],c.localName=g[1]):c.localName=S,c}},i(F,Y);function V(){this._nsMap={}}V.prototype={nodeType:u,hasAttribute:function(R){return this.getAttributeNode(R)!=null},getAttribute:function(R){var S=this.getAttributeNode(R);return S&&S.value||""},getAttributeNode:function(R){return this.attributes.getNamedItem(R)},setAttribute:function(R,S){var c=this.ownerDocument.createAttribute(R);c.value=c.nodeValue=""+S,this.setAttributeNode(c)},removeAttribute:function(R){var S=this.getAttributeNode(R);S&&this.removeAttributeNode(S)},appendChild:function(R){return R.nodeType===Ce?this.insertBefore(R,null):y(this,R)},setAttributeNode:function(R){return this.attributes.setNamedItem(R)},setAttributeNodeNS:function(R){return this.attributes.setNamedItemNS(R)},removeAttributeNode:function(R){return this.attributes.removeNamedItem(R.nodeName)},removeAttributeNS:function(R,S){var c=this.getAttributeNodeNS(R,S);c&&this.removeAttributeNode(c)},hasAttributeNS:function(R,S){return this.getAttributeNodeNS(R,S)!=null},getAttributeNS:function(R,S){var c=this.getAttributeNodeNS(R,S);return c&&c.value||""},setAttributeNS:function(R,S,c){var g=this.ownerDocument.createAttributeNS(R,S);g.value=g.nodeValue=""+c,this.setAttributeNode(g)},getAttributeNodeNS:function(R,S){return this.attributes.getNamedItemNS(R,S)},getElementsByTagName:function(R){return new ae(this,function(S){var c=[];return f(S,function(g){g!==S&&g.nodeType==u&&(R==="*"||g.tagName==R)&&c.push(g)}),c})},getElementsByTagNameNS:function(R,S){return new ae(this,function(c){var g=[];return f(c,function(e){e!==c&&e.nodeType===u&&(R==="*"||e.namespaceURI===R)&&(S==="*"||e.localName==S)&&g.push(e)}),g})}},F.prototype.getElementsByTagName=V.prototype.getElementsByTagName,F.prototype.getElementsByTagNameNS=V.prototype.getElementsByTagNameNS,i(V,Y);function ve(){}ve.prototype.nodeType=d,i(ve,Y);function Qe(){}Qe.prototype={data:"",substringData:function(R,S){return this.data.substring(R,R+S)},appendData:function(R){R=this.data+R,this.nodeValue=this.data=R,this.length=R.length},insertData:function(R,S){this.replaceData(R,0,S)},appendChild:function(R){throw new Error(Ae[b])},deleteData:function(R,S){this.replaceData(R,S,"")},replaceData:function(R,S,c){var g=this.data.substring(0,R),e=this.data.substring(R+S);c=g+c+e,this.nodeValue=this.data=c,this.length=c.length}},i(Qe,Y);function le(){}le.prototype={nodeName:"#text",nodeType:h,splitText:function(R){var S=this.data,c=S.substring(R);S=S.substring(0,R),this.data=this.nodeValue=S,this.length=S.length;var g=this.ownerDocument.createTextNode(c);return this.parentNode&&this.parentNode.insertBefore(g,this.nextSibling),g}},i(le,Qe);function we(){}we.prototype={nodeName:"#comment",nodeType:re},i(we,Qe);function Gt(){}Gt.prototype={nodeName:"#cdata-section",nodeType:G},i(Gt,Qe);function ie(){}ie.prototype.nodeType=Ie,i(ie,Y);function nt(){}nt.prototype.nodeType=z,i(nt,Y);function Ze(){}Ze.prototype.nodeType=M,i(Ze,Y);function et(){}et.prototype.nodeType=J,i(et,Y);function Xe(){}Xe.prototype.nodeName="#document-fragment",Xe.prototype.nodeType=Ce,i(Xe,Y);function je(){}je.prototype.nodeType=Ee,i(je,Y);function ce(){}ce.prototype.serializeToString=function(R,S,c){return Ne.call(R,S,c)},Y.prototype.toString=Ne;function Ne(R,S){var c=[],g=this.nodeType==9&&this.documentElement||this,e=g.prefix,s=g.namespaceURI;if(s&&e==null){var e=g.lookupPrefix(s);if(e==null)var N=[{namespace:s,prefix:null}]}return We(this,c,R,S,N),c.join("")}function Ft(R,S,c){var g=R.prefix||"",e=R.namespaceURI;if(!e||g==="xml"&&e===r.XML||e===r.XMLNS)return!1;for(var s=c.length;s--;){var N=c[s];if(N.prefix===g)return N.namespace!==e}return!0}function qe(R,S,c){R.push(" ",S,'="',c.replace(/[<>&"\t\n\r]/g,Re),'"')}function We(R,S,c,g,e){if(e||(e=[]),g)if(R=g(R),R){if(typeof R=="string"){S.push(R);return}}else return;switch(R.nodeType){case u:var s=R.attributes,N=s.length,Fe=R.firstChild,_=R.tagName;c=r.isHTML(R.namespaceURI)||c;var l=_;if(!c&&!R.prefix&&R.namespaceURI){for(var P,Te=0;Te<s.length;Te++)if(s.item(Te).name==="xmlns"){P=s.item(Te).value;break}if(!P)for(var fe=e.length-1;fe>=0;fe--){var he=e[fe];if(he.prefix===""&&he.namespace===R.namespaceURI){P=he.namespace;break}}if(P!==R.namespaceURI)for(var fe=e.length-1;fe>=0;fe--){var he=e[fe];if(he.namespace===R.namespaceURI){he.prefix&&(l=he.prefix+":"+_);break}}}S.push("<",l);for(var oe=0;oe<N;oe++){var Se=s.item(oe);Se.prefix=="xmlns"?e.push({prefix:Se.localName,namespace:Se.value}):Se.nodeName=="xmlns"&&e.push({prefix:"",namespace:Se.value})}for(var oe=0;oe<N;oe++){var Se=s.item(oe);if(Ft(Se,c,e)){var Ke=Se.prefix||"",ze=Se.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}We(Se,S,c,g,e)}if(_===l&&Ft(R,c,e)){var Ke=R.prefix||"",ze=R.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}if(Fe||c&&!/^(?:meta|link|img|br|hr|input)$/i.test(_)){if(S.push(">"),c&&/^script$/i.test(_))for(;Fe;)Fe.data?S.push(Fe.data):We(Fe,S,c,g,e.slice()),Fe=Fe.nextSibling;else for(;Fe;)We(Fe,S,c,g,e.slice()),Fe=Fe.nextSibling;S.push("</",l,">")}else S.push("/>");return;case k:case Ce:for(var Fe=R.firstChild;Fe;)We(Fe,S,c,g,e.slice()),Fe=Fe.nextSibling;return;case d:return qe(S,R.name,R.value);case h:return S.push(R.data.replace(/[<&>]/g,Re));case G:return S.push("<![CDATA[",R.data,"]]>");case re:return S.push("<!--",R.data,"-->");case Ie:var Tt=R.publicId,tt=R.systemId;if(S.push("<!DOCTYPE ",R.name),Tt)S.push(" PUBLIC ",Tt),tt&&tt!="."&&S.push(" ",tt),S.push(">");else if(tt&&tt!=".")S.push(" SYSTEM ",tt,">");else{var Ot=R.internalSubset;Ot&&S.push(" [",Ot,"]"),S.push(">")}return;case Ee:return S.push("<?",R.target," ",R.data,"?>");case J:return S.push("&",R.nodeName,";");default:S.push("??",R.nodeName)}}function Rt(R,S,c){var g;switch(S.nodeType){case u:g=S.cloneNode(!1),g.ownerDocument=R;case Ce:break;case d:c=!0;break}if(g||(g=S.cloneNode(!1)),g.ownerDocument=R,g.parentNode=null,c)for(var e=S.firstChild;e;)g.appendChild(Rt(R,e,c)),e=e.nextSibling;return g}function st(R,S,c){var g=new S.constructor;for(var e in S)if(Object.prototype.hasOwnProperty.call(S,e)){var s=S[e];typeof s!="object"&&s!=g[e]&&(g[e]=s)}switch(S.childNodes&&(g.childNodes=new K),g.ownerDocument=R,g.nodeType){case u:var N=S.attributes,_=g.attributes=new De,l=N.length;_._ownerElement=g;for(var P=0;P<l;P++)g.setAttributeNode(st(R,N.item(P),!0));break;case d:c=!0}if(c)for(var Te=S.firstChild;Te;)g.appendChild(st(R,Te,c)),Te=Te.nextSibling;return g}function Pe(R,S,c){R[S]=c}try{if(Object.defineProperty){let R=function(S){switch(S.nodeType){case u:case Ce:var c=[];for(S=S.firstChild;S;)S.nodeType!==7&&S.nodeType!==8&&c.push(R(S)),S=S.nextSibling;return c.join("");default:return S.nodeValue}};Object.defineProperty(ae.prototype,"length",{get:function(){return Oe(this),this.$$length}}),Object.defineProperty(Y.prototype,"textContent",{get:function(){return R(this)},set:function(S){switch(this.nodeType){case u:case Ce:for(;this.firstChild;)this.removeChild(this.firstChild);(S||String(S))&&this.appendChild(this.ownerDocument.createTextNode(S));break;default:this.data=S,this.value=S,this.nodeValue=S}}}),Pe=function(S,c,g){S["$$"+c]=g}}}catch{}return at.DocumentType=ie,at.DOMException=w,at.DOMImplementation=ee,at.Element=V,at.Node=Y,at.NodeList=K,at.XMLSerializer=ce,at}var mt={},Jt={},FE;function Jn(){return FE||(FE=1,function(E){var t=bt().freeze;E.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),E.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
10
- `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),E.entityMap=E.HTML_ENTITIES}(Jt)),Jt}var Ht={},bE;function Qn(){if(bE)return Ht;bE=1;var E=bt().NAMESPACE,t=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,r=new RegExp("[\\-\\.0-9"+t.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),T=new RegExp("^"+t.source+r.source+"*(?::"+t.source+r.source+"*)?$"),o=0,a=1,A=2,C=3,I=4,i=5,O=6,u=7;function d(b,U){this.message=b,this.locator=U,Error.captureStackTrace&&Error.captureStackTrace(this,d)}d.prototype=new Error,d.prototype.name=d.name;function h(){}h.prototype={parse:function(b,U,$){var w=this.domBuilder;w.startDocument(),Ie(U,U={}),G(b,U,$,w,this.errorHandler),w.endDocument()}};function G(b,U,$,w,K){function ae(y){if(y>65535){y-=65536;var V=55296+(y>>10),ve=56320+(y&1023);return String.fromCharCode(V,ve)}else return String.fromCharCode(y)}function Oe(y){var V=y.slice(1,-1);return Object.hasOwnProperty.call($,V)?$[V]:V.charAt(0)==="#"?ae(parseInt(V.substr(1).replace("x","0x"))):(K.error("entity not found:"+y),y)}function De(y){if(y>F){var V=b.substring(F,y).replace(/&#?\w+;/g,Oe);Y&&p(F),w.characters(V,0,y-F),F=y}}function p(y,V){for(;y>=Q&&(V=ee.exec(b));)B=V.index,Q=B+V[0].length,Y.lineNumber++;Y.columnNumber=y-B+1}for(var B=0,Q=0,ee=/.*(?:\r\n?|\n)|.*$/g,Y=w.locator,Re=[{currentNSMap:U}],f={},F=0;;){try{var v=b.indexOf("<",F);if(v<0){if(!b.substr(F).match(/^\s*$/)){var q=w.doc,j=q.createTextNode(b.substr(F));q.appendChild(j),w.currentElement=j}return}switch(v>F&&De(v),b.charAt(v+1)){case"/":var Ge=b.indexOf(">",v+3),H=b.substring(v+2,Ge).replace(/[ \t\n\r]+$/g,""),te=Re.pop();Ge<0?(H=b.substring(v+2).replace(/[\s<].*/,""),K.error("end tag name: "+H+" is not complete:"+te.tagName),Ge=v+1+H.length):H.match(/\s</)&&(H=H.replace(/[\s<].*/,""),K.error("end tag name: "+H+" maybe not complete"),Ge=v+1+H.length);var _e=te.localNSMap,Le=te.tagName==H,ge=Le||te.tagName&&te.tagName.toLowerCase()==H.toLowerCase();if(ge){if(w.endElement(te.uri,te.localName,H),_e)for(var He in _e)Object.prototype.hasOwnProperty.call(_e,He)&&w.endPrefixMapping(He);Le||K.fatalError("end tag name: "+H+" is not match the current start tagName:"+te.tagName)}else Re.push(te);Ge++;break;case"?":Y&&p(v),Ge=z(b,v,w);break;case"!":Y&&p(v),Ge=Ce(b,v,w,K);break;default:Y&&p(v);var Ue=new D,Z=Re[Re.length-1].currentNSMap,Ge=M(b,v,Ue,Z,Oe,K),L=Ue.length;if(!Ue.closed&&k(b,Ge,Ue.tagName,f)&&(Ue.closed=!0,$.nbsp||K.warning("unclosed xml attribute")),Y&&L){for(var se=J(Y,{}),Me=0;Me<L;Me++){var pe=Ue[Me];p(pe.offset),pe.locator=J(Y,{})}w.locator=se,Ee(Ue,w,Z)&&Re.push(Ue),w.locator=Y}else Ee(Ue,w,Z)&&Re.push(Ue);E.isHTML(Ue.uri)&&!Ue.closed?Ge=re(b,Ge,Ue.tagName,Oe,w):Ge++}}catch(y){if(y instanceof d)throw y;K.error("element parse error: "+y),Ge=-1}Ge>F?F=Ge:De(Math.max(v,F)+1)}}function J(b,U){return U.lineNumber=b.lineNumber,U.columnNumber=b.columnNumber,U}function M(b,U,$,w,K,ae){function Oe(Y,Re,f){$.attributeNames.hasOwnProperty(Y)&&ae.fatalError("Attribute "+Y+" redefined"),$.addValue(Y,Re.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,K),f)}for(var De,p,B=++U,Q=o;;){var ee=b.charAt(B);switch(ee){case"=":if(Q===a)De=b.slice(U,B),Q=C;else if(Q===A)Q=C;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(Q===C||Q===a)if(Q===a&&(ae.warning('attribute value must after "="'),De=b.slice(U,B)),U=B+1,B=b.indexOf(ee,U),B>0)p=b.slice(U,B),Oe(De,p,U-1),Q=i;else throw new Error("attribute value no end '"+ee+"' match");else if(Q==I)p=b.slice(U,B),Oe(De,p,U),ae.warning('attribute "'+De+'" missed start quot('+ee+")!!"),U=B+1,Q=i;else throw new Error('attribute value must after "="');break;case"/":switch(Q){case o:$.setTagName(b.slice(U,B));case i:case O:case u:Q=u,$.closed=!0;case I:case a:break;case A:$.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return ae.error("unexpected end of input"),Q==o&&$.setTagName(b.slice(U,B)),B;case">":switch(Q){case o:$.setTagName(b.slice(U,B));case i:case O:case u:break;case I:case a:p=b.slice(U,B),p.slice(-1)==="/"&&($.closed=!0,p=p.slice(0,-1));case A:Q===A&&(p=De),Q==I?(ae.warning('attribute "'+p+'" missed quot(")!'),Oe(De,p,U)):((!E.isHTML(w[""])||!p.match(/^(?:disabled|checked|selected)$/i))&&ae.warning('attribute "'+p+'" missed value!! "'+p+'" instead!!'),Oe(p,p,U));break;case C:throw new Error("attribute value missed!!")}return B;case"€":ee=" ";default:if(ee<=" ")switch(Q){case o:$.setTagName(b.slice(U,B)),Q=O;break;case a:De=b.slice(U,B),Q=A;break;case I:var p=b.slice(U,B);ae.warning('attribute "'+p+'" missed quot(")!!'),Oe(De,p,U);case i:Q=O;break}else switch(Q){case A:$.tagName,(!E.isHTML(w[""])||!De.match(/^(?:disabled|checked|selected)$/i))&&ae.warning('attribute "'+De+'" missed value!! "'+De+'" instead2!!'),Oe(De,De,U),U=B,Q=a;break;case i:ae.warning('attribute space is required"'+De+'"!!');case O:Q=a,U=B;break;case C:Q=I,U=B;break;case u:throw new Error("elements closed character '/' and '>' must be connected to")}}B++}}function Ee(b,U,$){for(var w=b.tagName,K=null,ee=b.length;ee--;){var ae=b[ee],Oe=ae.qName,De=ae.value,Y=Oe.indexOf(":");if(Y>0)var p=ae.prefix=Oe.slice(0,Y),B=Oe.slice(Y+1),Q=p==="xmlns"&&B;else B=Oe,p=null,Q=Oe==="xmlns"&&"";ae.localName=B,Q!==!1&&(K==null&&(K={},Ie($,$={})),$[Q]=K[Q]=De,ae.uri=E.XMLNS,U.startPrefixMapping(Q,De))}for(var ee=b.length;ee--;){ae=b[ee];var p=ae.prefix;p&&(p==="xml"&&(ae.uri=E.XML),p!=="xmlns"&&(ae.uri=$[p||""]))}var Y=w.indexOf(":");Y>0?(p=b.prefix=w.slice(0,Y),B=b.localName=w.slice(Y+1)):(p=null,B=b.localName=w);var Re=b.uri=$[p||""];if(U.startElement(Re,B,w,b),b.closed){if(U.endElement(Re,B,w),K)for(p in K)Object.prototype.hasOwnProperty.call(K,p)&&U.endPrefixMapping(p)}else return b.currentNSMap=$,b.localNSMap=K,!0}function re(b,U,$,w,K){if(/^(?:script|textarea)$/i.test($)){var ae=b.indexOf("</"+$+">",U),Oe=b.substring(U+1,ae);if(/[&<]/.test(Oe))return/^script$/i.test($)?(K.characters(Oe,0,Oe.length),ae):(Oe=Oe.replace(/&#?\w+;/g,w),K.characters(Oe,0,Oe.length),ae)}return U+1}function k(b,U,$,w){var K=w[$];return K==null&&(K=b.lastIndexOf("</"+$+">"),K<U&&(K=b.lastIndexOf("</"+$)),w[$]=K),K<U}function Ie(b,U){for(var $ in b)Object.prototype.hasOwnProperty.call(b,$)&&(U[$]=b[$])}function Ce(b,U,$,w){var K=b.charAt(U+2);switch(K){case"-":if(b.charAt(U+3)==="-"){var ae=b.indexOf("-->",U+4);return ae>U?($.comment(b,U+4,ae-U-4),ae+3):(w.error("Unclosed comment"),-1)}else return-1;default:if(b.substr(U+3,6)=="CDATA["){var ae=b.indexOf("]]>",U+9);return $.startCDATA(),$.characters(b,U+9,ae-U-9),$.endCDATA(),ae+3}var Oe=Ae(b,U),De=Oe.length;if(De>1&&/!doctype/i.test(Oe[0][0])){var p=Oe[1][0],B=!1,Q=!1;De>3&&(/^public$/i.test(Oe[2][0])?(B=Oe[3][0],Q=De>4&&Oe[4][0]):/^system$/i.test(Oe[2][0])&&(Q=Oe[3][0]));var ee=Oe[De-1];return $.startDTD(p,B,Q),$.endDTD(),ee.index+ee[0].length}}return-1}function z(b,U,$){var w=b.indexOf("?>",U);if(w){var K=b.substring(U,w).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return K?(K[0].length,$.processingInstruction(K[1],K[2]),w+2):-1}return-1}function D(){this.attributeNames={}}D.prototype={setTagName:function(b){if(!T.test(b))throw new Error("invalid tagName:"+b);this.tagName=b},addValue:function(b,U,$){if(!T.test(b))throw new Error("invalid attribute:"+b);this.attributeNames[b]=this.length,this[this.length++]={qName:b,value:U,offset:$}},length:0,getLocalName:function(b){return this[b].localName},getLocator:function(b){return this[b].locator},getQName:function(b){return this[b].qName},getURI:function(b){return this[b].uri},getValue:function(b){return this[b].value}};function Ae(b,U){var $,w=[],K=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(K.lastIndex=U,K.exec(b);$=K.exec(b);)if(w.push($),$[1])return w}return Ht.XMLReader=h,Ht.ParseError=d,Ht}var HE;function Zn(){if(HE)return mt;HE=1;var E=bt(),t=GE(),r=Jn(),T=Qn(),o=t.DOMImplementation,a=E.NAMESPACE,A=T.ParseError,C=T.XMLReader;function I(M){return M.replace(/\r[\n\u0085]/g,`
8
+ `)(P);m=k(a.value,h,g),I.value=m}else throw new Error(`Unsupported filter type: ${p.type}`);A.value="",o.nextTick(()=>{X()})}catch(m){A.value=m instanceof Error?m.message:"Filter execution error",I.value=null}},te=(p,m="root")=>{const P=new Map,g=(h,z)=>{if(h==null)return h;if(typeof h=="object"&&h.__protected_number__!==void 0){const ie=parseFloat(h.__protected_number__);return P.set(ie,z),ie}if(Array.isArray(h)){const ie=h.map((Ce,De)=>{const Be=`${z}[${De}]`,ce=g(Ce,Be);return P.set(ce,Be),ce});return P.set(ie,z),ie}if(typeof h=="object"){const ie={};for(const Ce in h)if(Object.prototype.hasOwnProperty.call(h,Ce)){const De=z==="root"?Ce:`${z}.${Ce}`;ie[Ce]=g(h[Ce],De)}return P.set(ie,z),ie}return h};return{proxyData:g(p,m),indexMap:P}},k=(p,m,P)=>{if(m===null||typeof m!="object")return m;if(Array.isArray(m))return m.map(h=>{const z=P.get(h);if(z){const ie=le(p,z);if(ie!==void 0)return ie}return k(p,h,P)});const g=P.get(m);if(g){const h=le(p,g);if(h!==void 0)return h}const $={};for(const h in m)Object.prototype.hasOwnProperty.call(m,h)&&($[h]=k(p,m[h],P));return $},le=(p,m)=>{if(m==="root")return p;const P=[];let g=m.replace(/^root\.?/,"");const $=/([^\[\].]+)|\[(\d+)\]/g;let h;for(;(h=$.exec(g))!==null;)h[1]?P.push(h[1]):h[2]!==void 0&&P.push(parseInt(h[2]));let z=p;for(const ie of P){if(z==null)return;z=z[ie]}return z},_e=()=>{I.value=null,A.value=""},j=()=>{u.value=!0},D=()=>{u.value=!1};o.watch(()=>T.modelValue,p=>{U(p)},{immediate:!0});const Ae=(p,m,P)=>{const g=z=>{if(z===null||typeof z!="object")return z;if(!Array.isArray(z)&&"__protected_number__"in z&&Object.keys(z).length===1)return`__PROTECTED_NUMBER_${z.__protected_number__}_PROTECTED_NUMBER__`;if(Array.isArray(z))return z.map(Ce=>g(Ce));const ie={};for(const[Ce,De]of Object.entries(z))ie[Ce]=g(De);return ie},$=g(p);return JSON.stringify($,m,P).replace(/"__PROTECTED_NUMBER_(.+?)_PROTECTED_NUMBER__"/g,"$1")},H=(p,m)=>{if(!T.readonly)try{const P=B(a.value,p,m),g=Ae(P,null,2);s("update:modelValue",g)}catch(P){console.error("Failed to update JSON:",P)}},B=(p,m,P)=>{if(!m||m==="root")return P;const g=m.split("."),$=Ne(p,g.slice(0,-1));let h=$;for(let ie=0;ie<g.length-1;ie++){const Ce=g[ie];Ce!=="root"&&(Array.isArray(h)?h=h[parseInt(Ce)]:h=h[Ce])}const z=g[g.length-1];return z==="root"?P:(Array.isArray(h)?h[parseInt(z)]=P:h[z]=P,$)},Q=p=>{C.value.has(p)?C.value.delete(p):C.value.add(p)},X=()=>{const p=new Set,m=(P,g="")=>{P!==null&&typeof P=="object"&&(p.add(g||"root"),Array.isArray(P)?P.forEach(($,h)=>{const z=g?`${g}.${h}`:`${h}`;m($,z)}):Object.keys(P).forEach($=>{const h=g?`${g}.${$}`:$;m(P[$],h)}))};m(J.value),C.value=p,s("expand-all")},K=()=>{C.value=new Set(["root"]),s("collapse-all")},oe=async()=>{if(l.value)try{const p=J.value,m=Ae(p,null,2);await navigator.clipboard.writeText(m),s("copy-success",m)}catch(p){console.error("Failed to copy JSON:",p),s("copy-error",p instanceof Error?p:new Error("Failed to copy JSON"))}},ue=()=>{if(l.value)try{const p=J.value,m=Ae(p);s("update:modelValue",m),s("compress",m)}catch(p){console.error("Failed to compress JSON:",p)}},pe=async p=>{try{let m;typeof p=="object"&&p!==null&&!Array.isArray(p)&&"__protected_number__"in p&&Object.keys(p).length===1?m=p.__protected_number__:typeof p=="string"?m=`"${p}"`:m=JSON.stringify(p),await navigator.clipboard.writeText(m)}catch(m){console.error("Failed to copy value:",m)}},x=(p,m)=>{if(!T.readonly)try{const P=Z(a.value,p,m),g=Ae(P,null,2);s("update:modelValue",g),v(p,m)}catch(P){console.error("Failed to rename key:",P)}},Z=(p,m,P)=>{if(!m||m==="root")return p;const g=m.split("."),$=Ne(p,g.slice(0,-1));if(g.length===1){const ie=g[0];return $&&typeof $=="object"&&!Array.isArray($)?Ue($,ie,P):$}let h=$;for(let ie=0;ie<g.length-1;ie++){const Ce=g[ie];Array.isArray(h)?h=h[parseInt(Ce)]:h=h[Ce]}const z=g[g.length-1];if(!Array.isArray(h)&&h&&typeof h=="object"){const ie=Ue(h,z,P),Ce=g.slice(0,-1);Ce.length>0&&Te($,Ce,ie)}return $},Ne=(p,m)=>{if(m.length===0)return p;if(Array.isArray(p)){const P=[...p],g=m[0],$=parseInt(g);return m.length===1||(P[$]=Ne(p[$],m.slice(1))),P}else if(p&&typeof p=="object"){const P={...p},g=m[0];return m.length===1||(P[g]=Ne(p[g],m.slice(1))),P}return p},Ue=(p,m,P)=>{if(!p||typeof p!="object"||Array.isArray(p))return p;const g=Object.keys(p),$={};for(const h of g)h===m?$[P]=p[h]:$[h]=p[h];return $},Te=(p,m,P)=>{let g=p;for(let h=0;h<m.length-1;h++){const z=m[h];Array.isArray(g)?g=g[parseInt(z)]:g=g[z]}const $=m[m.length-1];Array.isArray(g)?g[parseInt($)]=P:g[$]=P},v=(p,m)=>{const P=new Set;C.value.forEach(g=>{if(g===p){const $=p.split(".");$[$.length-1]=m,P.add($.join("."))}else if(g.startsWith(p+".")){const $=p.split(".");$[$.length-1]=m;const h=$.join("."),z=g.substring(p.length);P.add(h+z)}else P.add(g)}),C.value=P};return t({copyJson:oe,compressSource:ue,expandAll:X,collapseAll:K,toggleExpand:Q,updateValue:H,updateKey:x,filter:ee,clearFilter:_e,sortKeys:j,clearSortKeys:D,isSorted:()=>u.value,isValidJson:()=>l.value,getParsedJson:()=>a.value,getFilteredJson:()=>I.value,getExpandedNodes:()=>C.value,getParseError:()=>R.value,getFilterError:()=>A.value,parseJson:p=>U(p),copyValue:p=>pe(p)}),(p,m)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["json-format",`json-format--${f.value.name}`])},[o.createElementVNode("div",yn,[l.value?A.value?(o.openBlock(),o.createElementBlock("div",Fn,[m[1]||(m[1]=o.createElementVNode("h4",null,"Filter Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(A.value),1)])):(o.openBlock(),o.createElementBlock("div",Hn,[o.createVNode(mn,{value:J.value,"key-name":"",level:0,expanded:C.value,"is-last":!0,theme:f.value,"onUpdate:value":H,onToggleExpand:Q,onCopy:pe,"onUpdate:key":x},null,8,["value","expanded","theme"])])):(o.openBlock(),o.createElementBlock("div",Gn,[m[0]||(m[0]=o.createElementVNode("h4",null,"JSON Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(R.value),1)]))])],2))}}),[["__scopeId","data-v-a2d0fb36"]]);function mE(E){return E&&E.__esModule&&Object.prototype.hasOwnProperty.call(E,"default")?E.default:E}var qt={},BE;function bn(){return BE||(BE=1,function(E){var t=E;(function(r){var T="__namespace",s=function(e){return e==null},a=function(e){return e===T||Number.isInteger(e)&&e>=1&&e<=11},R=function(e){return e&&a(e.nodeType)&&typeof e.nodeName=="string"};function C(e){var n=Array.prototype.slice,N=e.length,_=function(d,ne){return function(){return ne.apply(this,d.concat(n.call(arguments)))}},O=function(){var d=n.call(arguments);return d.length<N?_(d,O):e.apply(this,n.apply(arguments,[0,N]))};return O}var I=function(e,n){for(var N=0;N<n.length;N+=1)e(n[N],N,n)},A=function(e,n,N){var _=n;return I(function(O,d){_=e(_,O,d)},N),_},u=function(e,n){var N=new Array(n.length);return I(function(_,O){N[O]=e(_)},n),N},l=function(e,n){var N=[];return I(function(_,O){e(_,O)&&N.push(_)},n),N},f=function(e,n){for(var N=0;N<e.length;N+=1)if(e[N]===n)return!0;return!1};function M(e){return function(){return e}}function b(e){return e.toString()}var J=function(e,n){return n.join(e)},U=function(e,n,N){return e+N+n},ee=Array.prototype.concat,te=function(e,n){var N=new ae;N.addArray(e);var _=N.toArray();return n?_.reverse():_},k=32767;function le(e){for(var n=[],N=0;N<e.length;N+=k){var _=e.slice(N,N+k);n=ee.apply(n,_)}return n}function _e(e,n){for(var N=Object(e),_=1;_<arguments.length;_++){var O=arguments[_];if(O!=null)for(var d in O)Object.prototype.hasOwnProperty.call(O,d)&&(N[d]=O[d])}return N}var j={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NAMESPACE_NODE:T};D.prototype=new Object,D.prototype.constructor=D,D.superclass=Object.prototype;function D(){this.init()}D.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(e){return new oe(e[0],e[2])},this.reduceActions[5]=function(e){return new ue(e[0],e[2])},this.reduceActions[7]=function(e){return new pe(e[0],e[2])},this.reduceActions[8]=function(e){return new x(e[0],e[2])},this.reduceActions[10]=function(e){return new Z(e[0],e[2])},this.reduceActions[11]=function(e){return new Ne(e[0],e[2])},this.reduceActions[12]=function(e){return new Ue(e[0],e[2])},this.reduceActions[13]=function(e){return new Te(e[0],e[2])},this.reduceActions[15]=function(e){return new v(e[0],e[2])},this.reduceActions[16]=function(e){return new p(e[0],e[2])},this.reduceActions[18]=function(e){return new m(e[0],e[2])},this.reduceActions[19]=function(e){return new P(e[0],e[2])},this.reduceActions[20]=function(e){return new g(e[0],e[2])},this.reduceActions[22]=function(e){return new X(e[1])},this.reduceActions[24]=function(e){return new $(e[0],e[2])},this.reduceActions[25]=function(e){return new h(void 0,void 0,e[0])},this.reduceActions[27]=function(e){return e[0].locationPath=e[2],e[0]},this.reduceActions[28]=function(e){return e[0].locationPath=e[2],e[0].locationPath.steps.unshift(new q(q.DESCENDANTORSELF,L.nodeTest,[])),e[0]},this.reduceActions[29]=function(e){return new h(e[0],[],void 0)},this.reduceActions[30]=function(e){return Se.instance_of(e[0],h)?(e[0].filterPredicates==null&&(e[0].filterPredicates=[]),e[0].filterPredicates.push(e[1]),e[0]):new h(e[0],[e[1]],void 0)},this.reduceActions[32]=function(e){return e[1]},this.reduceActions[33]=function(e){return new F(e[0])},this.reduceActions[34]=function(e){return new V(e[0])},this.reduceActions[36]=function(e){return new me(e[0],[])},this.reduceActions[37]=function(e){return new me(e[0],e[2])},this.reduceActions[38]=function(e){return[e[0]]},this.reduceActions[39]=function(e){return e[2].unshift(e[0]),e[2]},this.reduceActions[43]=function(e){return new ce(!0,[])},this.reduceActions[44]=function(e){return e[1].absolute=!0,e[1]},this.reduceActions[46]=function(e){return new ce(!1,[e[0]])},this.reduceActions[47]=function(e){return e[0].steps.push(e[2]),e[0]},this.reduceActions[49]=function(e){return new q(e[0],e[1],[])},this.reduceActions[50]=function(e){return new q(q.CHILD,e[0],[])},this.reduceActions[51]=function(e){return new q(e[0],e[1],e[2])},this.reduceActions[52]=function(e){return new q(q.CHILD,e[0],e[1])},this.reduceActions[54]=function(e){return[e[0]]},this.reduceActions[55]=function(e){return e[1].unshift(e[0]),e[1]},this.reduceActions[56]=function(e){return e[0]=="ancestor"?q.ANCESTOR:e[0]=="ancestor-or-self"?q.ANCESTORORSELF:e[0]=="attribute"?q.ATTRIBUTE:e[0]=="child"?q.CHILD:e[0]=="descendant"?q.DESCENDANT:e[0]=="descendant-or-self"?q.DESCENDANTORSELF:e[0]=="following"?q.FOLLOWING:e[0]=="following-sibling"?q.FOLLOWINGSIBLING:e[0]=="namespace"?q.NAMESPACE:e[0]=="parent"?q.PARENT:e[0]=="preceding"?q.PRECEDING:e[0]=="preceding-sibling"?q.PRECEDINGSIBLING:e[0]=="self"?q.SELF:-1},this.reduceActions[57]=function(e){return q.ATTRIBUTE},this.reduceActions[59]=function(e){return e[0]=="comment"?L.commentTest:e[0]=="text"?L.textTest:e[0]=="processing-instruction"?L.anyPiTest:e[0]=="node"?L.nodeTest:new L(-1,void 0)},this.reduceActions[60]=function(e){return new L.PITest(e[2])},this.reduceActions[61]=function(e){return e[1]},this.reduceActions[63]=function(e){return e[1].absolute=!0,e[1].steps.unshift(new q(q.DESCENDANTORSELF,L.nodeTest,[])),e[1]},this.reduceActions[64]=function(e){return e[0].steps.push(new q(q.DESCENDANTORSELF,L.nodeTest,[])),e[0].steps.push(e[2]),e[0]},this.reduceActions[65]=function(e){return new q(q.SELF,L.nodeTest,[])},this.reduceActions[66]=function(e){return new q(q.PARENT,L.nodeTest,[])},this.reduceActions[67]=function(e){return new re(e[1])},this.reduceActions[68]=function(e){return L.nameTestAny},this.reduceActions[69]=function(e){return new L.NameTestPrefixAny(e[0].split(":")[0])},this.reduceActions[70]=function(e){return new L.NameTestQName(e[0])}},D.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],D.actionTableNumber=[` 1 0 /.-,+*)(' & %$ # "!`," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY ",` 1 0 /.-,+*)(' & %$ # "!`,`K1 KKKKKKKK . +*)('KKKKKK KK# K" `,` 1 0 /.-,+*)(' & %$ # "!`," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q ",` 1 . +*)(' # " `,"b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX ",` 1 0 /.-,+*)(' & %$m # "!`,"_ f________ ______e __ _ ",` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 0 /.-,+*)(' %$ # "!`,` 1 0 /.-,+*)(' & %$ # "!`,` 1 . +*)(' # " `,` 1 . +*)(' # " `,"> >>>>>>>>> >>>>>>> >> >> ",` 1 . +*)(' # " `,` 1 . +*)(' # " `,"Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ‡ ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," ˆ "," F‰ ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," Š ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE ",` 1 0 /.-,+*)(' & %$ # "!`,"] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],D.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","€456789:;<=>?@ AB CDEFGH IJ"," ‚ EFGH IJ "," ƒ EFGH IJ "," "," „ GH IJ "," … GH IJ "," i † "," i ‡ "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABŒqCDEFGH IJ "," "," "],D.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],D.DOUBLEDOT=2,D.DOUBLECOLON=3,D.DOUBLESLASH=4,D.NOTEQUAL=5,D.LESSTHANOREQUAL=6,D.GREATERTHANOREQUAL=7,D.AND=8,D.OR=9,D.MOD=10,D.DIV=11,D.MULTIPLYOPERATOR=12,D.FUNCTIONNAME=13,D.AXISNAME=14,D.LITERAL=15,D.NUMBER=16,D.ASTERISKNAMETEST=17,D.QNAME=18,D.NCNAMECOLONASTERISK=19,D.NODETYPE=20,D.PROCESSINGINSTRUCTIONWITHLITERAL=21,D.EQUALS=22,D.LESSTHAN=23,D.GREATERTHAN=24,D.PLUS=25,D.MINUS=26,D.BAR=27,D.SLASH=28,D.LEFTPARENTHESIS=29,D.RIGHTPARENTHESIS=30,D.COMMA=31,D.AT=32,D.LEFTBRACKET=33,D.RIGHTBRACKET=34,D.DOT=35,D.DOLLAR=36,D.prototype.tokenize=function(e){for(var n=[],N=[],_=e+"\0",O=0,d=_.charAt(O++);;){for(;d==" "||d==" "||d=="\r"||d==`
9
+ `;)d=_.charAt(O++);if(d=="\0"||O>=_.length)break;if(d=="("){n.push(D.LEFTPARENTHESIS),N.push(d),d=_.charAt(O++);continue}if(d==")"){n.push(D.RIGHTPARENTHESIS),N.push(d),d=_.charAt(O++);continue}if(d=="["){n.push(D.LEFTBRACKET),N.push(d),d=_.charAt(O++);continue}if(d=="]"){n.push(D.RIGHTBRACKET),N.push(d),d=_.charAt(O++);continue}if(d=="@"){n.push(D.AT),N.push(d),d=_.charAt(O++);continue}if(d==","){n.push(D.COMMA),N.push(d),d=_.charAt(O++);continue}if(d=="|"){n.push(D.BAR),N.push(d),d=_.charAt(O++);continue}if(d=="+"){n.push(D.PLUS),N.push(d),d=_.charAt(O++);continue}if(d=="-"){n.push(D.MINUS),N.push(d),d=_.charAt(O++);continue}if(d=="="){n.push(D.EQUALS),N.push(d),d=_.charAt(O++);continue}if(d=="$"){n.push(D.DOLLAR),N.push(d),d=_.charAt(O++);continue}if(d=="."){if(d=_.charAt(O++),d=="."){n.push(D.DOUBLEDOT),N.push(".."),d=_.charAt(O++);continue}if(d>="0"&&d<="9"){var ne="."+d;for(d=_.charAt(O++);d>="0"&&d<="9";)ne+=d,d=_.charAt(O++);n.push(D.NUMBER),N.push(ne);continue}n.push(D.DOT),N.push(".");continue}if(d=="'"||d=='"'){for(var he=d,Me="";O<_.length&&(d=_.charAt(O))!==he;)Me+=d,O+=1;if(d!==he)throw qe.fromMessage("Unterminated string literal: "+he+Me);O+=1,n.push(D.LITERAL),N.push(Me),d=_.charAt(O++);continue}if(d>="0"&&d<="9"){var ne=d;for(d=_.charAt(O++);d>="0"&&d<="9";)ne+=d,d=_.charAt(O++);if(d=="."&&_.charAt(O)>="0"&&_.charAt(O)<="9")for(ne+=d,ne+=_.charAt(O++),d=_.charAt(O++);d>="0"&&d<="9";)ne+=d,d=_.charAt(O++);n.push(D.NUMBER),N.push(ne);continue}if(d=="*"){if(n.length>0){var se=n[n.length-1];if(se!=D.AT&&se!=D.DOUBLECOLON&&se!=D.LEFTPARENTHESIS&&se!=D.LEFTBRACKET&&se!=D.AND&&se!=D.OR&&se!=D.MOD&&se!=D.DIV&&se!=D.MULTIPLYOPERATOR&&se!=D.SLASH&&se!=D.DOUBLESLASH&&se!=D.BAR&&se!=D.PLUS&&se!=D.MINUS&&se!=D.EQUALS&&se!=D.NOTEQUAL&&se!=D.LESSTHAN&&se!=D.LESSTHANOREQUAL&&se!=D.GREATERTHAN&&se!=D.GREATERTHANOREQUAL){n.push(D.MULTIPLYOPERATOR),N.push(d),d=_.charAt(O++);continue}}n.push(D.ASTERISKNAMETEST),N.push(d),d=_.charAt(O++);continue}if(d==":"&&_.charAt(O)==":"){n.push(D.DOUBLECOLON),N.push("::"),O++,d=_.charAt(O++);continue}if(d=="/"){if(d=_.charAt(O++),d=="/"){n.push(D.DOUBLESLASH),N.push("//"),d=_.charAt(O++);continue}n.push(D.SLASH),N.push("/");continue}if(d=="!"&&_.charAt(O)=="="){n.push(D.NOTEQUAL),N.push("!="),O++,d=_.charAt(O++);continue}if(d=="<"){if(_.charAt(O)=="="){n.push(D.LESSTHANOREQUAL),N.push("<="),O++,d=_.charAt(O++);continue}n.push(D.LESSTHAN),N.push("<"),d=_.charAt(O++);continue}if(d==">"){if(_.charAt(O)=="="){n.push(D.GREATERTHANOREQUAL),N.push(">="),O++,d=_.charAt(O++);continue}n.push(D.GREATERTHAN),N.push(">"),d=_.charAt(O++);continue}if(d=="_"||Se.isLetter(d.charCodeAt(0))){var Re=d;for(d=_.charAt(O++);Se.isNCNameChar(d.charCodeAt(0));)Re+=d,d=_.charAt(O++);if(n.length>0){var se=n[n.length-1];if(se!=D.AT&&se!=D.DOUBLECOLON&&se!=D.LEFTPARENTHESIS&&se!=D.LEFTBRACKET&&se!=D.AND&&se!=D.OR&&se!=D.MOD&&se!=D.DIV&&se!=D.MULTIPLYOPERATOR&&se!=D.SLASH&&se!=D.DOUBLESLASH&&se!=D.BAR&&se!=D.PLUS&&se!=D.MINUS&&se!=D.EQUALS&&se!=D.NOTEQUAL&&se!=D.LESSTHAN&&se!=D.LESSTHANOREQUAL&&se!=D.GREATERTHAN&&se!=D.GREATERTHANOREQUAL){if(Re=="and"){n.push(D.AND),N.push(Re);continue}if(Re=="or"){n.push(D.OR),N.push(Re);continue}if(Re=="mod"){n.push(D.MOD),N.push(Re);continue}if(Re=="div"){n.push(D.DIV),N.push(Re);continue}}}if(d==":"){if(_.charAt(O)=="*"){n.push(D.NCNAMECOLONASTERISK),N.push(Re+":*"),O++,d=_.charAt(O++);continue}if(_.charAt(O)=="_"||Se.isLetter(_.charCodeAt(O))){for(Re+=":",d=_.charAt(O++);Se.isNCNameChar(d.charCodeAt(0));)Re+=d,d=_.charAt(O++);if(d=="("){n.push(D.FUNCTIONNAME),N.push(Re);continue}n.push(D.QNAME),N.push(Re);continue}if(_.charAt(O)==":"){n.push(D.AXISNAME),N.push(Re);continue}}if(d=="("){if(Re=="comment"||Re=="text"||Re=="node"){n.push(D.NODETYPE),N.push(Re);continue}if(Re=="processing-instruction"){_.charAt(O)==")"?n.push(D.NODETYPE):n.push(D.PROCESSINGINSTRUCTIONWITHLITERAL),N.push(Re);continue}n.push(D.FUNCTIONNAME),N.push(Re);continue}n.push(D.QNAME),N.push(Re);continue}throw new Error("Unexpected character "+d)}return n.push(1),N.push("[EOF]"),[n,N]},D.SHIFT="s",D.REDUCE="r",D.ACCEPT="a",D.prototype.parse=function(Me){if(!Me)throw new Error("XPath expression unspecified.");if(typeof Me!="string")throw new Error("XPath expression must be a string.");var n,N,_=this.tokenize(Me);if(_!=null){n=_[0],N=_[1];var O=0,d=[],ne=[],he=[],Me,se,Re;for(d.push(0),ne.push(1),he.push("_S"),se=n[O],Re=N[O++];;)switch(Me=d[d.length-1],D.actionTable[Me].charAt(se-1)){case D.SHIFT:ne.push(-se),he.push(Re),d.push(D.actionTableNumber[Me].charCodeAt(se-1)-32),se=n[O],Re=N[O++];break;case D.REDUCE:for(var Ke=D.productions[D.actionTableNumber[Me].charCodeAt(se-1)-32][1],ze=[],He=0;He<Ke;He++)ne.pop(),ze.unshift(he.pop()),d.pop();var st=d[d.length-1];ne.push(D.productions[D.actionTableNumber[Me].charCodeAt(se-1)-32][0]),this.reduceActions[D.actionTableNumber[Me].charCodeAt(se-1)-32]==null?he.push(ze[0]):he.push(this.reduceActions[D.actionTableNumber[Me].charCodeAt(se-1)-32](ze)),d.push(D.gotoTable[st].charCodeAt(D.productions[D.actionTableNumber[Me].charCodeAt(se-1)-32][0]-2)-33);break;case D.ACCEPT:return new Ae(he.pop());default:throw new Error("XPath parse error")}}},Ae.prototype=new Object,Ae.prototype.constructor=Ae,Ae.superclass=Object.prototype;function Ae(e){this.expression=e}Ae.prototype.toString=function(){return this.expression.toString()};function H(e,n,N){n in e||(e[n]=N)}Ae.prototype.evaluate=function(e){var n=e.expressionContextNode;if(!(s(n)||R(n)))throw new Error("Context node does not appear to be a valid DOM node.");return e.contextNode=e.expressionContextNode,e.contextSize=1,e.contextPosition=1,e.isHtml&&(H(e,"caseInsensitive",!0),H(e,"allowAnyNamespaceForNoPrefix",!0)),H(e,"caseInsensitive",!1),this.expression.evaluate(e)},Ae.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",Ae.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",B.prototype=new Object,B.prototype.constructor=B,B.superclass=Object.prototype;function B(){}B.prototype.init=function(){},B.prototype.toString=function(){return"<Expression>"},B.prototype.evaluate=function(e){throw new Error("Could not evaluate expression.")},Q.prototype=new B,Q.prototype.constructor=Q,Q.superclass=B.prototype;function Q(e){arguments.length>0&&this.init(e)}Q.prototype.init=function(e){this.rhs=e},X.prototype=new Q,X.prototype.constructor=X,X.superclass=Q.prototype;function X(e){arguments.length>0&&this.init(e)}X.prototype.init=function(e){X.superclass.init.call(this,e)},X.prototype.evaluate=function(e){return this.rhs.evaluate(e).number().negate()},X.prototype.toString=function(){return"-"+this.rhs.toString()},K.prototype=new B,K.prototype.constructor=K,K.superclass=B.prototype;function K(e,n){arguments.length>0&&this.init(e,n)}K.prototype.init=function(e,n){this.lhs=e,this.rhs=n},oe.prototype=new K,oe.prototype.constructor=oe,oe.superclass=K.prototype;function oe(e,n){arguments.length>0&&this.init(e,n)}oe.prototype.init=function(e,n){oe.superclass.init.call(this,e,n)},oe.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},oe.prototype.evaluate=function(e){var n=this.lhs.evaluate(e).bool();return n.booleanValue()?n:this.rhs.evaluate(e).bool()},ue.prototype=new K,ue.prototype.constructor=ue,ue.superclass=K.prototype;function ue(e,n){arguments.length>0&&this.init(e,n)}ue.prototype.init=function(e,n){ue.superclass.init.call(this,e,n)},ue.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},ue.prototype.evaluate=function(e){var n=this.lhs.evaluate(e).bool();return n.booleanValue()?this.rhs.evaluate(e).bool():n},pe.prototype=new K,pe.prototype.constructor=pe,pe.superclass=K.prototype;function pe(e,n){arguments.length>0&&this.init(e,n)}pe.prototype.init=function(e,n){pe.superclass.init.call(this,e,n)},pe.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},pe.prototype.evaluate=function(e){return this.lhs.evaluate(e).equals(this.rhs.evaluate(e))},x.prototype=new K,x.prototype.constructor=x,x.superclass=K.prototype;function x(e,n){arguments.length>0&&this.init(e,n)}x.prototype.init=function(e,n){x.superclass.init.call(this,e,n)},x.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},x.prototype.evaluate=function(e){return this.lhs.evaluate(e).notequal(this.rhs.evaluate(e))},Z.prototype=new K,Z.prototype.constructor=Z,Z.superclass=K.prototype;function Z(e,n){arguments.length>0&&this.init(e,n)}Z.prototype.init=function(e,n){Z.superclass.init.call(this,e,n)},Z.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthan(this.rhs.evaluate(e))},Z.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},Ne.prototype=new K,Ne.prototype.constructor=Ne,Ne.superclass=K.prototype;function Ne(e,n){arguments.length>0&&this.init(e,n)}Ne.prototype.init=function(e,n){Ne.superclass.init.call(this,e,n)},Ne.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthan(this.rhs.evaluate(e))},Ne.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},Ue.prototype=new K,Ue.prototype.constructor=Ue,Ue.superclass=K.prototype;function Ue(e,n){arguments.length>0&&this.init(e,n)}Ue.prototype.init=function(e,n){Ue.superclass.init.call(this,e,n)},Ue.prototype.evaluate=function(e){return this.lhs.evaluate(e).lessthanorequal(this.rhs.evaluate(e))},Ue.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},Te.prototype=new K,Te.prototype.constructor=Te,Te.superclass=K.prototype;function Te(e,n){arguments.length>0&&this.init(e,n)}Te.prototype.init=function(e,n){Te.superclass.init.call(this,e,n)},Te.prototype.evaluate=function(e){return this.lhs.evaluate(e).greaterthanorequal(this.rhs.evaluate(e))},Te.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},v.prototype=new K,v.prototype.constructor=v,v.superclass=K.prototype;function v(e,n){arguments.length>0&&this.init(e,n)}v.prototype.init=function(e,n){v.superclass.init.call(this,e,n)},v.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().plus(this.rhs.evaluate(e).number())},v.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},p.prototype=new K,p.prototype.constructor=p,p.superclass=K.prototype;function p(e,n){arguments.length>0&&this.init(e,n)}p.prototype.init=function(e,n){p.superclass.init.call(this,e,n)},p.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().minus(this.rhs.evaluate(e).number())},p.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},m.prototype=new K,m.prototype.constructor=m,m.superclass=K.prototype;function m(e,n){arguments.length>0&&this.init(e,n)}m.prototype.init=function(e,n){m.superclass.init.call(this,e,n)},m.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().multiply(this.rhs.evaluate(e).number())},m.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},P.prototype=new K,P.prototype.constructor=P,P.superclass=K.prototype;function P(e,n){arguments.length>0&&this.init(e,n)}P.prototype.init=function(e,n){P.superclass.init.call(this,e,n)},P.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().div(this.rhs.evaluate(e).number())},P.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},g.prototype=new K,g.prototype.constructor=g,g.superclass=K.prototype;function g(e,n){arguments.length>0&&this.init(e,n)}g.prototype.init=function(e,n){g.superclass.init.call(this,e,n)},g.prototype.evaluate=function(e){return this.lhs.evaluate(e).number().mod(this.rhs.evaluate(e).number())},g.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},$.prototype=new K,$.prototype.constructor=$,$.superclass=K.prototype;function $(e,n){arguments.length>0&&this.init(e,n)}$.prototype.init=function(e,n){$.superclass.init.call(this,e,n)},$.prototype.evaluate=function(e){return this.lhs.evaluate(e).nodeset().union(this.rhs.evaluate(e).nodeset())},$.prototype.toString=function(){return u(b,[this.lhs,this.rhs]).join(" | ")},h.prototype=new B,h.prototype.constructor=h,h.superclass=B.prototype;function h(e,n,N){arguments.length>0&&this.init(e,n,N)}h.prototype.init=function(e,n,N){h.superclass.init.call(this),this.filter=e,this.filterPredicates=n,this.locationPath=N};function z(e){for(;e&&e.parentNode;)e=e.parentNode;return e}var ie=function(e,n,N,_){if(e.length===0)return N;var O=n.extend({});return A(function(d,ne){return O.contextSize=d.length,l(function(he,Me){return O.contextNode=he,O.contextPosition=Me+1,h.predicateMatches(ne,O)},d)},te(N,_),e)};h.getRoot=function(e,n){var N=n[0];if(N&&N.nodeType===j.DOCUMENT_NODE)return N;if(e.virtualRoot)return e.virtualRoot;if(!N)throw new Error("Context node not found when determining document root.");var _=N.ownerDocument;if(_)return _;for(var O=N;O.parentNode!=null;)O=O.parentNode;return O};var Ce=function(e){var n=String(e.name);return n==="xmlns"?"":n.substring(0,6)==="xmlns:"?n.substring(6,n.length):null};h.applyStep=function(e,n,N){if(!N)throw new Error("Context node not found when evaluating XPath step: "+e);var _=[];switch(n.contextNode=N,e.axis){case q.ANCESTOR:if(n.contextNode===n.virtualRoot)break;var O;for(n.contextNode.nodeType==j.ATTRIBUTE_NODE?O=h.getOwnerElement(n.contextNode):O=n.contextNode.parentNode;O!=null&&(e.nodeTest.matches(O,n)&&_.push(O),O!==n.virtualRoot);)O=O.parentNode;break;case q.ANCESTORORSELF:for(var O=n.contextNode;O!=null&&(e.nodeTest.matches(O,n)&&_.push(O),O!==n.virtualRoot);O=O.nodeType==j.ATTRIBUTE_NODE?h.getOwnerElement(O):O.parentNode);break;case q.ATTRIBUTE:var d=n.contextNode.attributes;if(d!=null)for(var ne=0;ne<d.length;ne++){var O=d.item(ne);e.nodeTest.matches(O,n)&&_.push(O)}break;case q.CHILD:for(var O=n.contextNode.firstChild;O!=null;O=O.nextSibling)e.nodeTest.matches(O,n)&&_.push(O);break;case q.DESCENDANT:for(var Re=[n.contextNode.firstChild];Re.length>0;)for(var O=Re.pop();O!=null;)e.nodeTest.matches(O,n)&&_.push(O),O.firstChild!=null?(Re.push(O.nextSibling),O=O.firstChild):O=O.nextSibling;break;case q.DESCENDANTORSELF:e.nodeTest.matches(n.contextNode,n)&&_.push(n.contextNode);for(var Re=[n.contextNode.firstChild];Re.length>0;)for(var O=Re.pop();O!=null;)e.nodeTest.matches(O,n)&&_.push(O),O.firstChild!=null?(Re.push(O.nextSibling),O=O.firstChild):O=O.nextSibling;break;case q.FOLLOWING:if(n.contextNode===n.virtualRoot)break;var Re=[];n.contextNode.firstChild!=null?Re.unshift(n.contextNode.firstChild):Re.unshift(n.contextNode.nextSibling);for(var O=n.contextNode.parentNode;O!=null&&O.nodeType!=j.DOCUMENT_NODE&&O!==n.virtualRoot;O=O.parentNode)Re.unshift(O.nextSibling);do for(var O=Re.pop();O!=null;)e.nodeTest.matches(O,n)&&_.push(O),O.firstChild!=null?(Re.push(O.nextSibling),O=O.firstChild):O=O.nextSibling;while(Re.length>0);break;case q.FOLLOWINGSIBLING:if(n.contextNode===n.virtualRoot)break;for(var O=n.contextNode.nextSibling;O!=null;O=O.nextSibling)e.nodeTest.matches(O,n)&&_.push(O);break;case q.NAMESPACE:var he={};if(n.contextNode.nodeType==j.ELEMENT_NODE){he.xml=new nt("xml",null,Ae.XML_NAMESPACE_URI,n.contextNode);for(var O=n.contextNode;O!=null&&O.nodeType==j.ELEMENT_NODE;O=O.parentNode)for(var ne=0;ne<O.attributes.length;ne++){var Me=O.attributes.item(ne),se=Ce(Me);se!=null&&he[se]==null&&(he[se]=new nt(se,Me,Me.value,n.contextNode))}for(var se in he){var N=he[se];e.nodeTest.matches(N,n)&&_.push(N)}}break;case q.PARENT:O=null,n.contextNode!==n.virtualRoot&&(n.contextNode.nodeType==j.ATTRIBUTE_NODE?O=h.getOwnerElement(n.contextNode):O=n.contextNode.parentNode),O!=null&&e.nodeTest.matches(O,n)&&_.push(O);break;case q.PRECEDING:var Re;n.virtualRoot!=null?Re=[n.virtualRoot]:Re=[z(n.contextNode)];e:for(;Re.length>0;)for(var O=Re.pop();O!=null;){if(O==n.contextNode)break e;e.nodeTest.matches(O,n)&&_.unshift(O),O.firstChild!=null?(Re.push(O.nextSibling),O=O.firstChild):O=O.nextSibling}break;case q.PRECEDINGSIBLING:if(n.contextNode===n.virtualRoot)break;for(var O=n.contextNode.previousSibling;O!=null;O=O.previousSibling)e.nodeTest.matches(O,n)&&_.push(O);break;case q.SELF:e.nodeTest.matches(n.contextNode,n)&&_.push(n.contextNode);break}return _};function De(e,n,N){return ie(e.predicates,n,h.applyStep(e,n,N),f(ge,e.axis))}function Be(e,n,N){return le(u(De.bind(null,N,e),n))}h.applySteps=function(e,n,N){return A(Be.bind(null,n),N,e)},h.prototype.applyFilter=function(e,n){if(!this.filter)return{nodes:[e.contextNode]};var N=this.filter.evaluate(e);if(!Se.instance_of(N,ae)){if(this.filterPredicates!=null&&this.filterPredicates.length>0||this.locationPath!=null)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:N}}return{nodes:ie(this.filterPredicates||[],n,N.toUnsortedArray(),!1)}},h.applyLocationPath=function(e,n,N){if(!e)return N;var _=e.absolute?[h.getRoot(n,N)]:N;return h.applySteps(e.steps,n,_)},h.prototype.evaluate=function(e){var n=_e(new Ze,e),N=this.applyFilter(e,n);if("nonNodes"in N)return N.nonNodes;var _=new ae;return _.addArray(h.applyLocationPath(this.locationPath,n,N.nodes)),_},h.predicateMatches=function(e,n){var N=e.evaluate(n);return Se.instance_of(N,V)?n.contextPosition===N.numberValue():N.booleanValue()},h.predicateString=function(e){return U("[","]",e.toString())},h.predicatesString=function(e){return J("",u(h.predicateString,e))},h.prototype.toString=function(){if(this.filter!=null){var e=b(this.filter);return Se.instance_of(this.filter,F)?U("'","'",e):this.filterPredicates!=null&&this.filterPredicates.length?U("(",")",e)+h.predicatesString(this.filterPredicates):this.locationPath!=null?e+(this.locationPath.absolute?"":"/")+b(this.locationPath):e}return b(this.locationPath)},h.getOwnerElement=function(e){if(e.ownerElement)return e.ownerElement;try{if(e.selectSingleNode)return e.selectSingleNode("..")}catch{}for(var n=e.nodeType==j.DOCUMENT_NODE?e:e.ownerDocument,N=n.getElementsByTagName("*"),_=0;_<N.length;_++)for(var O=N.item(_),d=O.attributes,ne=0;ne<d.length;ne++){var he=d.item(ne);if(he===e)return O}return null},ce.prototype=new Object,ce.prototype.constructor=ce,ce.superclass=Object.prototype;function ce(e,n){arguments.length>0&&this.init(e,n)}ce.prototype.init=function(e,n){this.absolute=e,this.steps=n},ce.prototype.toString=function(){return(this.absolute?"/":"")+u(b,this.steps).join("/")},q.prototype=new Object,q.prototype.constructor=q,q.superclass=Object.prototype;function q(e,n,N){arguments.length>0&&this.init(e,n,N)}q.prototype.init=function(e,n,N){this.axis=e,this.nodeTest=n,this.predicates=N},q.prototype.toString=function(){return q.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+h.predicatesString(this.predicates)},q.ANCESTOR=0,q.ANCESTORORSELF=1,q.ATTRIBUTE=2,q.CHILD=3,q.DESCENDANT=4,q.DESCENDANTORSELF=5,q.FOLLOWING=6,q.FOLLOWINGSIBLING=7,q.NAMESPACE=8,q.PARENT=9,q.PRECEDING=10,q.PRECEDINGSIBLING=11,q.SELF=12,q.STEPNAMES=A(function(e,n){return e[n[0]]=n[1],e},{},[[q.ANCESTOR,"ancestor"],[q.ANCESTORORSELF,"ancestor-or-self"],[q.ATTRIBUTE,"attribute"],[q.CHILD,"child"],[q.DESCENDANT,"descendant"],[q.DESCENDANTORSELF,"descendant-or-self"],[q.FOLLOWING,"following"],[q.FOLLOWINGSIBLING,"following-sibling"],[q.NAMESPACE,"namespace"],[q.PARENT,"parent"],[q.PRECEDING,"preceding"],[q.PRECEDINGSIBLING,"preceding-sibling"],[q.SELF,"self"]]);var ge=[q.ANCESTOR,q.ANCESTORORSELF,q.PARENT,q.PRECEDING,q.PRECEDINGSIBLING];L.prototype=new Object,L.prototype.constructor=L,L.superclass=Object.prototype;function L(e,n){arguments.length>0&&this.init(e,n)}L.prototype.init=function(e,n){this.type=e,this.value=n},L.prototype.toString=function(){return"<unknown nodetest type>"},L.prototype.matches=function(e,n){console.warn("unknown node test type")},L.NAMETESTANY=0,L.NAMETESTPREFIXANY=1,L.NAMETESTQNAME=2,L.COMMENT=3,L.TEXT=4,L.PI=5,L.NODE=6,L.isNodeType=function(e){return function(n){return f(e,n.nodeType)}},L.makeNodeTestType=function(e,n,N){var _=N||function(){};return _.prototype=new L(e),_.prototype.constructor=_,_e(_.prototype,n),_},L.makeNodeTypeTest=function(e,n,N){return new(L.makeNodeTestType(e,{matches:L.isNodeType(n),toString:M(N)}))},L.hasPrefix=function(e){return e.prefix||(e.nodeName||e.tagName).indexOf(":")!==-1},L.isElementOrAttribute=L.isNodeType([1,2]),L.nameSpaceMatches=function(e,n,N){var _=N.namespaceURI||"";if(!e)return!_||n.allowAnyNamespaceForNoPrefix&&!L.hasPrefix(N);var O=n.namespaceResolver.getNamespace(e,n.expressionContextNode);if(O==null)throw new Error("Cannot resolve QName "+e);return O===_},L.localNameMatches=function(e,n,N){var _=N.localName||N.nodeName;return n.caseInsensitive?e.toLowerCase()===_.toLowerCase():e===_},L.NameTestPrefixAny=L.makeNodeTestType(L.NAMETESTPREFIXANY,{matches:function(e,n){return L.isElementOrAttribute(e)&&L.nameSpaceMatches(this.prefix,n,e)},toString:function(){return this.prefix+":*"}},function(n){this.prefix=n}),L.NameTestQName=L.makeNodeTestType(L.NAMETESTQNAME,{matches:function(e,n){return L.isNodeType([j.ELEMENT_NODE,j.ATTRIBUTE_NODE,j.NAMESPACE_NODE])(e)&&L.nameSpaceMatches(this.prefix,n,e)&&L.localNameMatches(this.localName,n,e)},toString:function(){return this.name}},function(n){var N=n.split(":");this.name=n,this.prefix=N.length>1?N[0]:null,this.localName=N[N.length>1?1:0]}),L.PITest=L.makeNodeTestType(L.PI,{matches:function(e,n){return L.isNodeType([j.PROCESSING_INSTRUCTION_NODE])(e)&&(e.target||e.nodeName)===this.name},toString:function(){return U('processing-instruction("','")',this.name)}},function(e){this.name=e}),L.nameTestAny=L.makeNodeTypeTest(L.NAMETESTANY,[j.ELEMENT_NODE,j.ATTRIBUTE_NODE,j.NAMESPACE_NODE],"*"),L.textTest=L.makeNodeTypeTest(L.TEXT,[j.TEXT_NODE,j.CDATA_SECTION_NODE],"text()"),L.commentTest=L.makeNodeTypeTest(L.COMMENT,[j.COMMENT_NODE],"comment()"),L.nodeTest=L.makeNodeTypeTest(L.NODE,[j.ELEMENT_NODE,j.ATTRIBUTE_NODE,j.TEXT_NODE,j.CDATA_SECTION_NODE,j.PROCESSING_INSTRUCTION_NODE,j.COMMENT_NODE,j.DOCUMENT_NODE],"node()"),L.anyPiTest=L.makeNodeTypeTest(L.PI,[j.PROCESSING_INSTRUCTION_NODE],"processing-instruction()"),re.prototype=new B,re.prototype.constructor=re,re.superclass=B.prototype;function re(e){arguments.length>0&&this.init(e)}re.prototype.init=function(e){this.variable=e},re.prototype.toString=function(){return"$"+this.variable},re.prototype.evaluate=function(e){var n=Se.resolveQName(this.variable,e.namespaceResolver,e.contextNode,!1);if(n[0]==null)throw new Error("Cannot resolve QName "+fn);var N=e.variableResolver.getVariable(n[1],n[0]);if(!N)throw qe.fromMessage("Undeclared variable: "+this.toString());return N},me.prototype=new B,me.prototype.constructor=me,me.superclass=B.prototype;function me(e,n){arguments.length>0&&this.init(e,n)}me.prototype.init=function(e,n){this.functionName=e,this.arguments=n},me.prototype.toString=function(){for(var e=this.functionName+"(",n=0;n<this.arguments.length;n++)n>0&&(e+=", "),e+=this.arguments[n].toString();return e+")"},me.prototype.evaluate=function(e){var n=Xe.getFunctionFromContext(this.functionName,e);if(!n)throw new Error("Unknown function "+this.functionName);var N=[e].concat(this.arguments);return n.apply(e.functionResolver.thisArg,N)};var de=new Object;de.equals=function(e,n){return e.equals(n)},de.notequal=function(e,n){return e.notequal(n)},de.lessthan=function(e,n){return e.lessthan(n)},de.greaterthan=function(e,n){return e.greaterthan(n)},de.lessthanorequal=function(e,n){return e.lessthanorequal(n)},de.greaterthanorequal=function(e,n){return e.greaterthanorequal(n)},F.prototype=new B,F.prototype.constructor=F,F.superclass=B.prototype;function F(e){arguments.length>0&&this.init(e)}F.prototype.init=function(e){this.str=String(e)},F.prototype.toString=function(){return this.str},F.prototype.evaluate=function(e){return this},F.prototype.string=function(){return this},F.prototype.number=function(){return new V(this.str)},F.prototype.bool=function(){return new Ie(this.str)},F.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},F.prototype.stringValue=function(){return this.str},F.prototype.numberValue=function(){return this.number().numberValue()},F.prototype.booleanValue=function(){return this.bool().booleanValue()},F.prototype.equals=function(e){return Se.instance_of(e,Ie)?this.bool().equals(e):Se.instance_of(e,V)?this.number().equals(e):Se.instance_of(e,ae)?e.compareWithString(this,de.equals):new Ie(this.str==e.str)},F.prototype.notequal=function(e){return Se.instance_of(e,Ie)?this.bool().notequal(e):Se.instance_of(e,V)?this.number().notequal(e):Se.instance_of(e,ae)?e.compareWithString(this,de.notequal):new Ie(this.str!=e.str)},F.prototype.lessthan=function(e){return this.number().lessthan(e)},F.prototype.greaterthan=function(e){return this.number().greaterthan(e)},F.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},F.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},V.prototype=new B,V.prototype.constructor=V,V.superclass=B.prototype;function V(e){arguments.length>0&&this.init(e)}V.prototype.init=function(e){this.num=typeof e=="string"?this.parse(e):Number(e)},V.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,V.prototype.parse=function(e){return this.numberFormat.test(e)?parseFloat(e):Number.NaN};function ve(e){for(var n=e.split("e-"),N=n[0].replace(".",""),_=Number(n[1]),O=0;O<_-1;O+=1)N="0"+N;return"0."+N}function Qe(e){for(var n=e.split("e"),N=n[0].replace(".",""),_=Number(n[1]),O=_+1-N.length,d=0;d<O;d+=1)N+="0";return N}V.prototype.toString=function(){var e=this.num.toString();return e.indexOf("e-")!==-1?ve(e):e.indexOf("e")!==-1?Qe(e):e},V.prototype.evaluate=function(e){return this},V.prototype.string=function(){return new F(this.toString())},V.prototype.number=function(){return this},V.prototype.bool=function(){return new Ie(this.num)},V.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},V.prototype.stringValue=function(){return this.string().stringValue()},V.prototype.numberValue=function(){return this.num},V.prototype.booleanValue=function(){return this.bool().booleanValue()},V.prototype.negate=function(){return new V(-this.num)},V.prototype.equals=function(e){return Se.instance_of(e,Ie)?this.bool().equals(e):Se.instance_of(e,F)?this.equals(e.number()):Se.instance_of(e,ae)?e.compareWithNumber(this,de.equals):new Ie(this.num==e.num)},V.prototype.notequal=function(e){return Se.instance_of(e,Ie)?this.bool().notequal(e):Se.instance_of(e,F)?this.notequal(e.number()):Se.instance_of(e,ae)?e.compareWithNumber(this,de.notequal):new Ie(this.num!=e.num)},V.prototype.lessthan=function(e){return Se.instance_of(e,ae)?e.compareWithNumber(this,de.greaterthan):Se.instance_of(e,Ie)||Se.instance_of(e,F)?this.lessthan(e.number()):new Ie(this.num<e.num)},V.prototype.greaterthan=function(e){return Se.instance_of(e,ae)?e.compareWithNumber(this,de.lessthan):Se.instance_of(e,Ie)||Se.instance_of(e,F)?this.greaterthan(e.number()):new Ie(this.num>e.num)},V.prototype.lessthanorequal=function(e){return Se.instance_of(e,ae)?e.compareWithNumber(this,de.greaterthanorequal):Se.instance_of(e,Ie)||Se.instance_of(e,F)?this.lessthanorequal(e.number()):new Ie(this.num<=e.num)},V.prototype.greaterthanorequal=function(e){return Se.instance_of(e,ae)?e.compareWithNumber(this,de.lessthanorequal):Se.instance_of(e,Ie)||Se.instance_of(e,F)?this.greaterthanorequal(e.number()):new Ie(this.num>=e.num)},V.prototype.plus=function(e){return new V(this.num+e.num)},V.prototype.minus=function(e){return new V(this.num-e.num)},V.prototype.multiply=function(e){return new V(this.num*e.num)},V.prototype.div=function(e){return new V(this.num/e.num)},V.prototype.mod=function(e){return new V(this.num%e.num)},Ie.prototype=new B,Ie.prototype.constructor=Ie,Ie.superclass=B.prototype;function Ie(e){arguments.length>0&&this.init(e)}Ie.prototype.init=function(e){this.b=!!e},Ie.prototype.toString=function(){return this.b.toString()},Ie.prototype.evaluate=function(e){return this},Ie.prototype.string=function(){return new F(this.b)},Ie.prototype.number=function(){return new V(this.b)},Ie.prototype.bool=function(){return this},Ie.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},Ie.prototype.stringValue=function(){return this.string().stringValue()},Ie.prototype.numberValue=function(){return this.number().numberValue()},Ie.prototype.booleanValue=function(){return this.b},Ie.prototype.not=function(){return new Ie(!this.b)},Ie.prototype.equals=function(e){return Se.instance_of(e,F)||Se.instance_of(e,V)?this.equals(e.bool()):Se.instance_of(e,ae)?e.compareWithBoolean(this,de.equals):new Ie(this.b==e.b)},Ie.prototype.notequal=function(e){return Se.instance_of(e,F)||Se.instance_of(e,V)?this.notequal(e.bool()):Se.instance_of(e,ae)?e.compareWithBoolean(this,de.notequal):new Ie(this.b!=e.b)},Ie.prototype.lessthan=function(e){return this.number().lessthan(e)},Ie.prototype.greaterthan=function(e){return this.number().greaterthan(e)},Ie.prototype.lessthanorequal=function(e){return this.number().lessthanorequal(e)},Ie.prototype.greaterthanorequal=function(e){return this.number().greaterthanorequal(e)},Ie.true_=new Ie(!0),Ie.false_=new Ie(!1),we.prototype=new Object,we.prototype.constructor=we,we.superclass=Object.prototype;function we(e){this.init(e)}we.prototype.init=function(e){this.left=null,this.right=null,this.node=e,this.depth=1},we.prototype.balance=function(){var e=this.left==null?0:this.left.depth,n=this.right==null?0:this.right.depth;if(e>n+1){var N=this.left.left==null?0:this.left.left.depth,_=this.left.right==null?0:this.left.right.depth;N<_&&this.left.rotateRR(),this.rotateLL()}else if(e+1<n){var O=this.right.right==null?0:this.right.right.depth,d=this.right.left==null?0:this.right.left.depth;d>O&&this.right.rotateLL(),this.rotateRR()}},we.prototype.rotateLL=function(){var e=this.node,n=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=n,this.right.node=e,this.right.updateInNewLocation(),this.updateInNewLocation()},we.prototype.rotateRR=function(){var e=this.node,n=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=n,this.left.node=e,this.left.updateInNewLocation(),this.updateInNewLocation()},we.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},we.prototype.getDepthFromChildren=function(){this.depth=this.node==null?0:1,this.left!=null&&(this.depth=this.left.depth+1),this.right!=null&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)};function Gt(e,n){if(e===n)return 0;if(e.compareDocumentPosition){var N=e.compareDocumentPosition(n);return N&1||N&10?1:N&20?-1:0}for(var _=0,O=0,d=e;d!=null;d=d.parentNode||d.ownerElement)_++;for(var ne=n;ne!=null;ne=ne.parentNode||ne.ownerElement)O++;if(_>O){for(;_>O;)e=e.parentNode||e.ownerElement,_--;if(e===n)return 1}else if(O>_){for(;O>_;)n=n.parentNode||n.ownerElement,O--;if(e===n)return-1}for(var he=e.parentNode||e.ownerElement,Me=n.parentNode||n.ownerElement;he!==Me;)e=he,n=Me,he=e.parentNode||e.ownerElement,Me=n.parentNode||n.ownerElement;var se=Ft(e),Re=Ft(n);if(se&&!Re)return-1;if(!se&&Re)return 1;if(e.isXPathNamespace){if(e.nodeValue===Ae.XML_NAMESPACE_URI||!n.isXPathNamespace)return-1;if(n.nodeValue===Ae.XML_NAMESPACE_URI)return 1}else if(n.isXPathNamespace)return 1;if(he)for(var Ke=se?he.attributes:he.childNodes,ze=Ke.length,He=e.baseNode||e,st=n.baseNode||n,tt=0;tt<ze;tt+=1){var ut=Ke[tt];if(ut===He)return-1;if(ut===st)return 1}throw new Error("Unexpected: could not determine node order")}we.prototype.add=function(e){if(e===this.node)return!1;var n=Gt(e,this.node),N=!1;return n==-1?this.left==null?(this.left=new we(e),N=!0):(N=this.left.add(e),N&&this.balance()):n==1&&(this.right==null?(this.right=new we(e),N=!0):(N=this.right.add(e),N&&this.balance())),N&&this.getDepthFromChildren(),N},ae.prototype=new B,ae.prototype.constructor=ae,ae.superclass=B.prototype;function ae(){this.init()}ae.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},ae.prototype.toString=function(){var e=this.first();return e==null?"":this.stringForNode(e)},ae.prototype.evaluate=function(e){return this},ae.prototype.string=function(){return new F(this.toString())},ae.prototype.stringValue=function(){return this.toString()},ae.prototype.number=function(){return new V(this.string())},ae.prototype.numberValue=function(){return Number(this.string())},ae.prototype.bool=function(){return new Ie(this.booleanValue())},ae.prototype.booleanValue=function(){return!!this.size},ae.prototype.nodeset=function(){return this},ae.prototype.stringForNode=function(e){return e.nodeType==j.DOCUMENT_NODE||e.nodeType==j.ELEMENT_NODE||e.nodeType===j.DOCUMENT_FRAGMENT_NODE?this.stringForContainerNode(e):e.nodeType===j.ATTRIBUTE_NODE?e.value||e.nodeValue:e.isNamespaceNode?e.namespace:e.nodeValue},ae.prototype.stringForContainerNode=function(e){for(var n="",N=e.firstChild;N!=null;N=N.nextSibling){var _=N.nodeType;(_===1||_===3||_===4||_===9||_===11)&&(n+=this.stringForNode(N))}return n},ae.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new we(this.nodes[0]);for(var e=1;e<this.nodes.length;e+=1)this.tree.add(this.nodes[e])}return this.tree},ae.prototype.first=function(){var e=this.buildTree();if(e==null)return null;for(;e.left!=null;)e=e.left;return e.node},ae.prototype.add=function(e){for(var n=0;n<this.nodes.length;n+=1)if(e===this.nodes[n])return;this.tree=null,this.nodes.push(e),this.size+=1},ae.prototype.addArray=function(e){var n=this;I(function(N){n.add(N)},e)},ae.prototype.toArray=function(){var e=[];return this.toArrayRec(this.buildTree(),e),e},ae.prototype.toArrayRec=function(e,n){e!=null&&(this.toArrayRec(e.left,n),n.push(e.node),this.toArrayRec(e.right,n))},ae.prototype.toUnsortedArray=function(){return this.nodes.slice()},ae.prototype.compareWithString=function(e,n){for(var N=this.toUnsortedArray(),_=0;_<N.length;_++){var O=N[_],d=new F(this.stringForNode(O)),ne=n(d,e);if(ne.booleanValue())return ne}return new Ie(!1)},ae.prototype.compareWithNumber=function(e,n){for(var N=this.toUnsortedArray(),_=0;_<N.length;_++){var O=N[_],d=new V(this.stringForNode(O)),ne=n(d,e);if(ne.booleanValue())return ne}return new Ie(!1)},ae.prototype.compareWithBoolean=function(e,n){return n(this.bool(),e)},ae.prototype.compareWithNodeSet=function(e,n){for(var N=this.toUnsortedArray(),_=function(he,Me){return n(Me,he)},O=0;O<N.length;O++){var d=new F(this.stringForNode(N[O])),ne=e.compareWithString(d,_);if(ne.booleanValue())return ne}return new Ie(!1)},ae.compareWith=C(function(e,n){return Se.instance_of(n,F)?this.compareWithString(n,e):Se.instance_of(n,V)?this.compareWithNumber(n,e):Se.instance_of(n,Ie)?this.compareWithBoolean(n,e):this.compareWithNodeSet(n,e)}),ae.prototype.equals=ae.compareWith(de.equals),ae.prototype.notequal=ae.compareWith(de.notequal),ae.prototype.lessthan=ae.compareWith(de.lessthan),ae.prototype.greaterthan=ae.compareWith(de.greaterthan),ae.prototype.lessthanorequal=ae.compareWith(de.lessthanorequal),ae.prototype.greaterthanorequal=ae.compareWith(de.greaterthanorequal),ae.prototype.union=function(e){var n=new ae;return n.addArray(this.toUnsortedArray()),n.addArray(e.toUnsortedArray()),n},nt.prototype=new Object,nt.prototype.constructor=nt,nt.superclass=Object.prototype;function nt(e,n,N,_){this.isXPathNamespace=!0,this.baseNode=n,this.ownerDocument=_.ownerDocument,this.nodeName=e,this.prefix=e,this.localName=e,this.namespaceURI=null,this.nodeValue=N,this.ownerElement=_,this.nodeType=j.NAMESPACE_NODE}nt.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},Ze.prototype=new Object,Ze.prototype.constructor=Ze,Ze.superclass=Object.prototype;function Ze(e,n,N){this.variableResolver=e??new et,this.namespaceResolver=n??new je,this.functionResolver=N??new Xe}Ze.prototype.extend=function(e){return _e(new Ze,this,e)},et.prototype=new Object,et.prototype.constructor=et,et.superclass=Object.prototype;function et(){}et.prototype.getVariable=function(e,n){return null},Xe.prototype=new Object,Xe.prototype.constructor=Xe,Xe.superclass=Object.prototype;function Xe(e){this.thisArg=e??Le,this.functions=new Object,this.addStandardFunctions()}Xe.prototype.addStandardFunctions=function(){this.functions["{}last"]=Le.last,this.functions["{}position"]=Le.position,this.functions["{}count"]=Le.count,this.functions["{}id"]=Le.id,this.functions["{}local-name"]=Le.localName,this.functions["{}namespace-uri"]=Le.namespaceURI,this.functions["{}name"]=Le.name,this.functions["{}string"]=Le.string,this.functions["{}concat"]=Le.concat,this.functions["{}starts-with"]=Le.startsWith,this.functions["{}contains"]=Le.contains,this.functions["{}substring-before"]=Le.substringBefore,this.functions["{}substring-after"]=Le.substringAfter,this.functions["{}substring"]=Le.substring,this.functions["{}string-length"]=Le.stringLength,this.functions["{}normalize-space"]=Le.normalizeSpace,this.functions["{}translate"]=Le.translate,this.functions["{}boolean"]=Le.boolean_,this.functions["{}not"]=Le.not,this.functions["{}true"]=Le.true_,this.functions["{}false"]=Le.false_,this.functions["{}lang"]=Le.lang,this.functions["{}number"]=Le.number,this.functions["{}sum"]=Le.sum,this.functions["{}floor"]=Le.floor,this.functions["{}ceiling"]=Le.ceiling,this.functions["{}round"]=Le.round},Xe.prototype.addFunction=function(e,n,N){this.functions["{"+e+"}"+n]=N},Xe.getFunctionFromContext=function(e,n){var N=Se.resolveQName(e,n.namespaceResolver,n.contextNode,!1);if(N[0]===null)throw new Error("Cannot resolve QName "+name);return n.functionResolver.getFunction(N[1],N[0])},Xe.prototype.getFunction=function(e,n){return this.functions["{"+n+"}"+e]},je.prototype=new Object,je.prototype.constructor=je,je.superclass=Object.prototype;function je(){}je.prototype.getNamespace=function(e,n){if(e=="xml")return Ae.XML_NAMESPACE_URI;if(e=="xmlns")return Ae.XMLNS_NAMESPACE_URI;for(n.nodeType==j.DOCUMENT_NODE?n=n.documentElement:n.nodeType==j.ATTRIBUTE_NODE?n=h.getOwnerElement(n):n.nodeType!=j.ELEMENT_NODE&&(n=n.parentNode);n!=null&&n.nodeType==j.ELEMENT_NODE;){for(var N=n.attributes,_=0;_<N.length;_++){var O=N.item(_),d=O.name||O.nodeName;if(d==="xmlns"&&e===""||d==="xmlns:"+e)return String(O.value||O.nodeValue)}n=n.parentNode}return null};var Le=new Object;Le.last=function(e){if(arguments.length!=1)throw new Error("Function last expects ()");return new V(e.contextSize)},Le.position=function(e){if(arguments.length!=1)throw new Error("Function position expects ()");return new V(e.contextPosition)},Le.count=function(){var e=arguments[0],n;if(arguments.length!=2||!Se.instance_of(n=arguments[1].evaluate(e),ae))throw new Error("Function count expects (node-set)");return new V(n.size)},Le.id=function(){var e=arguments[0],n;if(arguments.length!=2)throw new Error("Function id expects (object)");n=arguments[1].evaluate(e),Se.instance_of(n,ae)?n=n.toArray().join(" "):n=n.stringValue();for(var N=n.split(/[\x0d\x0a\x09\x20]+/),_=new ae,O=e.contextNode.nodeType==j.DOCUMENT_NODE?e.contextNode:e.contextNode.ownerDocument,d=0;d<N.length;d++){var ne;O.getElementById?ne=O.getElementById(N[d]):ne=Se.getElementById(O,N[d]),ne!=null&&_.add(ne)}return _},Le.localName=function(e,n){var N;if(arguments.length==1)N=e.contextNode;else if(arguments.length==2)N=n.evaluate(e).first();else throw new Error("Function local-name expects (node-set?)");return N==null?new F(""):new F(N.localName||N.baseName||N.target||N.nodeName||"")},Le.namespaceURI=function(){var e=arguments[0],n;if(arguments.length==1)n=e.contextNode;else if(arguments.length==2)n=arguments[1].evaluate(e).first();else throw new Error("Function namespace-uri expects (node-set?)");return n==null?new F(""):new F(n.namespaceURI||"")},Le.name=function(){var e=arguments[0],n;if(arguments.length==1)n=e.contextNode;else if(arguments.length==2)n=arguments[1].evaluate(e).first();else throw new Error("Function name expects (node-set?)");return n==null?new F(""):n.nodeType==j.ELEMENT_NODE?new F(n.nodeName):n.nodeType==j.ATTRIBUTE_NODE?new F(n.name||n.nodeName):n.nodeType===j.PROCESSING_INSTRUCTION_NODE?new F(n.target||n.nodeName):n.localName==null?new F(""):new F(n.localName)},Le.string=function(){var e=arguments[0];if(arguments.length==1)return new F(ae.prototype.stringForNode(e.contextNode));if(arguments.length==2)return arguments[1].evaluate(e).string();throw new Error("Function string expects (object?)")},Le.concat=function(e){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var n="",N=1;N<arguments.length;N++)n+=arguments[N].evaluate(e).stringValue();return new F(n)},Le.startsWith=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function startsWith expects (string, string)");var n=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new Ie(n.substring(0,N.length)==N)},Le.contains=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function contains expects (string, string)");var n=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new Ie(n.indexOf(N)!==-1)},Le.substringBefore=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-before expects (string, string)");var n=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();return new F(n.substring(0,n.indexOf(N)))},Le.substringAfter=function(){var e=arguments[0];if(arguments.length!=3)throw new Error("Function substring-after expects (string, string)");var n=arguments[1].evaluate(e).stringValue(),N=arguments[2].evaluate(e).stringValue();if(N.length==0)return new F(n);var _=n.indexOf(N);return _==-1?new F(""):new F(n.substring(_+N.length))},Le.substring=function(){var e=arguments[0];if(!(arguments.length==3||arguments.length==4))throw new Error("Function substring expects (string, number, number?)");var n=arguments[1].evaluate(e).stringValue(),N=Math.round(arguments[2].evaluate(e).numberValue())-1,_=arguments.length==4?N+Math.round(arguments[3].evaluate(e).numberValue()):void 0;return new F(n.substring(N,_))},Le.stringLength=function(){var e=arguments[0],n;if(arguments.length==1)n=ae.prototype.stringForNode(e.contextNode);else if(arguments.length==2)n=arguments[1].evaluate(e).stringValue();else throw new Error("Function string-length expects (string?)");return new V(n.length)},Le.normalizeSpace=function(){var e=arguments[0],n;if(arguments.length==1)n=ae.prototype.stringForNode(e.contextNode);else if(arguments.length==2)n=arguments[1].evaluate(e).stringValue();else throw new Error("Function normalize-space expects (string?)");for(var N=0,_=n.length-1;Se.isSpace(n.charCodeAt(_));)_--;for(var O="";N<=_&&Se.isSpace(n.charCodeAt(N));)N++;for(;N<=_;)if(Se.isSpace(n.charCodeAt(N)))for(O+=" ";N<=_&&Se.isSpace(n.charCodeAt(N));)N++;else O+=n.charAt(N),N++;return new F(O)},Le.translate=function(e,n,N,_){if(arguments.length!=4)throw new Error("Function translate expects (string, string, string)");var O=n.evaluate(e).stringValue(),d=N.evaluate(e).stringValue(),ne=_.evaluate(e).stringValue(),he=A(function(se,Re,Ke){return Re in se||(se[Re]=Ke>ne.length?"":ne[Ke]),se},{},d),Me=J("",u(function(se){return se in he?he[se]:se},O));return new F(Me)},Le.boolean_=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(e).bool()},Le.not=function(e,n){if(arguments.length!=2)throw new Error("Function not expects (object)");return n.evaluate(e).bool().not()},Le.true_=function(){if(arguments.length!=1)throw new Error("Function true expects ()");return Ie.true_},Le.false_=function(){if(arguments.length!=1)throw new Error("Function false expects ()");return Ie.false_},Le.lang=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function lang expects (string)");for(var n,N=e.contextNode;N!=null&&N.nodeType!=j.DOCUMENT_NODE;N=N.parentNode){var _=N.getAttributeNS(Ae.XML_NAMESPACE_URI,"lang");if(_!=null){n=String(_);break}}if(n==null)return Ie.false_;var O=arguments[1].evaluate(e).stringValue();return new Ie(n.substring(0,O.length)==O&&(n.length==O.length||n.charAt(O.length)=="-"))},Le.number=function(){var e=arguments[0];if(!(arguments.length==1||arguments.length==2))throw new Error("Function number expects (object?)");return arguments.length==1?new V(ae.prototype.stringForNode(e.contextNode)):arguments[1].evaluate(e).number()},Le.sum=function(){var e=arguments[0],n;if(arguments.length!=2||!Se.instance_of(n=arguments[1].evaluate(e),ae))throw new Error("Function sum expects (node-set)");n=n.toUnsortedArray();for(var N=0,_=0;_<n.length;_++)N+=new V(ae.prototype.stringForNode(n[_])).numberValue();return new V(N)},Le.floor=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function floor expects (number)");return new V(Math.floor(arguments[1].evaluate(e).numberValue()))},Le.ceiling=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function ceiling expects (number)");return new V(Math.ceil(arguments[1].evaluate(e).numberValue()))},Le.round=function(){var e=arguments[0];if(arguments.length!=2)throw new Error("Function round expects (number)");return new V(Math.round(arguments[1].evaluate(e).numberValue()))};var Se=new Object,Ft=function(e){return e&&(e.nodeType===j.ATTRIBUTE_NODE||e.ownerElement||e.isXPathNamespace)};Se.splitQName=function(e){var n=e.indexOf(":");return n==-1?[null,e]:[e.substring(0,n),e.substring(n+1)]},Se.resolveQName=function(e,n,N,_){var O=Se.splitQName(e);return O[0]!=null?O[0]=n.getNamespace(O[0],N):_?(O[0]=n.getNamespace("",N),O[0]==null&&(O[0]="")):O[0]="",O},Se.isSpace=function(e){return e==9||e==13||e==10||e==32},Se.isLetter=function(e){return e>=65&&e<=90||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=255||e>=256&&e<=305||e>=308&&e<=318||e>=321&&e<=328||e>=330&&e<=382||e>=384&&e<=451||e>=461&&e<=496||e>=500&&e<=501||e>=506&&e<=535||e>=592&&e<=680||e>=699&&e<=705||e==902||e>=904&&e<=906||e==908||e>=910&&e<=929||e>=931&&e<=974||e>=976&&e<=982||e==986||e==988||e==990||e==992||e>=994&&e<=1011||e>=1025&&e<=1036||e>=1038&&e<=1103||e>=1105&&e<=1116||e>=1118&&e<=1153||e>=1168&&e<=1220||e>=1223&&e<=1224||e>=1227&&e<=1228||e>=1232&&e<=1259||e>=1262&&e<=1269||e>=1272&&e<=1273||e>=1329&&e<=1366||e==1369||e>=1377&&e<=1414||e>=1488&&e<=1514||e>=1520&&e<=1522||e>=1569&&e<=1594||e>=1601&&e<=1610||e>=1649&&e<=1719||e>=1722&&e<=1726||e>=1728&&e<=1742||e>=1744&&e<=1747||e==1749||e>=1765&&e<=1766||e>=2309&&e<=2361||e==2365||e>=2392&&e<=2401||e>=2437&&e<=2444||e>=2447&&e<=2448||e>=2451&&e<=2472||e>=2474&&e<=2480||e==2482||e>=2486&&e<=2489||e>=2524&&e<=2525||e>=2527&&e<=2529||e>=2544&&e<=2545||e>=2565&&e<=2570||e>=2575&&e<=2576||e>=2579&&e<=2600||e>=2602&&e<=2608||e>=2610&&e<=2611||e>=2613&&e<=2614||e>=2616&&e<=2617||e>=2649&&e<=2652||e==2654||e>=2674&&e<=2676||e>=2693&&e<=2699||e==2701||e>=2703&&e<=2705||e>=2707&&e<=2728||e>=2730&&e<=2736||e>=2738&&e<=2739||e>=2741&&e<=2745||e==2749||e==2784||e>=2821&&e<=2828||e>=2831&&e<=2832||e>=2835&&e<=2856||e>=2858&&e<=2864||e>=2866&&e<=2867||e>=2870&&e<=2873||e==2877||e>=2908&&e<=2909||e>=2911&&e<=2913||e>=2949&&e<=2954||e>=2958&&e<=2960||e>=2962&&e<=2965||e>=2969&&e<=2970||e==2972||e>=2974&&e<=2975||e>=2979&&e<=2980||e>=2984&&e<=2986||e>=2990&&e<=2997||e>=2999&&e<=3001||e>=3077&&e<=3084||e>=3086&&e<=3088||e>=3090&&e<=3112||e>=3114&&e<=3123||e>=3125&&e<=3129||e>=3168&&e<=3169||e>=3205&&e<=3212||e>=3214&&e<=3216||e>=3218&&e<=3240||e>=3242&&e<=3251||e>=3253&&e<=3257||e==3294||e>=3296&&e<=3297||e>=3333&&e<=3340||e>=3342&&e<=3344||e>=3346&&e<=3368||e>=3370&&e<=3385||e>=3424&&e<=3425||e>=3585&&e<=3630||e==3632||e>=3634&&e<=3635||e>=3648&&e<=3653||e>=3713&&e<=3714||e==3716||e>=3719&&e<=3720||e==3722||e==3725||e>=3732&&e<=3735||e>=3737&&e<=3743||e>=3745&&e<=3747||e==3749||e==3751||e>=3754&&e<=3755||e>=3757&&e<=3758||e==3760||e>=3762&&e<=3763||e==3773||e>=3776&&e<=3780||e>=3904&&e<=3911||e>=3913&&e<=3945||e>=4256&&e<=4293||e>=4304&&e<=4342||e==4352||e>=4354&&e<=4355||e>=4357&&e<=4359||e==4361||e>=4363&&e<=4364||e>=4366&&e<=4370||e==4412||e==4414||e==4416||e==4428||e==4430||e==4432||e>=4436&&e<=4437||e==4441||e>=4447&&e<=4449||e==4451||e==4453||e==4455||e==4457||e>=4461&&e<=4462||e>=4466&&e<=4467||e==4469||e==4510||e==4520||e==4523||e>=4526&&e<=4527||e>=4535&&e<=4536||e==4538||e>=4540&&e<=4546||e==4587||e==4592||e==4601||e>=7680&&e<=7835||e>=7840&&e<=7929||e>=7936&&e<=7957||e>=7960&&e<=7965||e>=7968&&e<=8005||e>=8008&&e<=8013||e>=8016&&e<=8023||e==8025||e==8027||e==8029||e>=8031&&e<=8061||e>=8064&&e<=8116||e>=8118&&e<=8124||e==8126||e>=8130&&e<=8132||e>=8134&&e<=8140||e>=8144&&e<=8147||e>=8150&&e<=8155||e>=8160&&e<=8172||e>=8178&&e<=8180||e>=8182&&e<=8188||e==8486||e>=8490&&e<=8491||e==8494||e>=8576&&e<=8578||e>=12353&&e<=12436||e>=12449&&e<=12538||e>=12549&&e<=12588||e>=44032&&e<=55203||e>=19968&&e<=40869||e==12295||e>=12321&&e<=12329},Se.isNCNameChar=function(e){return e>=48&&e<=57||e>=1632&&e<=1641||e>=1776&&e<=1785||e>=2406&&e<=2415||e>=2534&&e<=2543||e>=2662&&e<=2671||e>=2790&&e<=2799||e>=2918&&e<=2927||e>=3047&&e<=3055||e>=3174&&e<=3183||e>=3302&&e<=3311||e>=3430&&e<=3439||e>=3664&&e<=3673||e>=3792&&e<=3801||e>=3872&&e<=3881||e==46||e==45||e==95||Se.isLetter(e)||e>=768&&e<=837||e>=864&&e<=865||e>=1155&&e<=1158||e>=1425&&e<=1441||e>=1443&&e<=1465||e>=1467&&e<=1469||e==1471||e>=1473&&e<=1474||e==1476||e>=1611&&e<=1618||e==1648||e>=1750&&e<=1756||e>=1757&&e<=1759||e>=1760&&e<=1764||e>=1767&&e<=1768||e>=1770&&e<=1773||e>=2305&&e<=2307||e==2364||e>=2366&&e<=2380||e==2381||e>=2385&&e<=2388||e>=2402&&e<=2403||e>=2433&&e<=2435||e==2492||e==2494||e==2495||e>=2496&&e<=2500||e>=2503&&e<=2504||e>=2507&&e<=2509||e==2519||e>=2530&&e<=2531||e==2562||e==2620||e==2622||e==2623||e>=2624&&e<=2626||e>=2631&&e<=2632||e>=2635&&e<=2637||e>=2672&&e<=2673||e>=2689&&e<=2691||e==2748||e>=2750&&e<=2757||e>=2759&&e<=2761||e>=2763&&e<=2765||e>=2817&&e<=2819||e==2876||e>=2878&&e<=2883||e>=2887&&e<=2888||e>=2891&&e<=2893||e>=2902&&e<=2903||e>=2946&&e<=2947||e>=3006&&e<=3010||e>=3014&&e<=3016||e>=3018&&e<=3021||e==3031||e>=3073&&e<=3075||e>=3134&&e<=3140||e>=3142&&e<=3144||e>=3146&&e<=3149||e>=3157&&e<=3158||e>=3202&&e<=3203||e>=3262&&e<=3268||e>=3270&&e<=3272||e>=3274&&e<=3277||e>=3285&&e<=3286||e>=3330&&e<=3331||e>=3390&&e<=3395||e>=3398&&e<=3400||e>=3402&&e<=3405||e==3415||e==3633||e>=3636&&e<=3642||e>=3655&&e<=3662||e==3761||e>=3764&&e<=3769||e>=3771&&e<=3772||e>=3784&&e<=3789||e>=3864&&e<=3865||e==3893||e==3895||e==3897||e==3902||e==3903||e>=3953&&e<=3972||e>=3974&&e<=3979||e>=3984&&e<=3989||e==3991||e>=3993&&e<=4013||e>=4017&&e<=4023||e==4025||e>=8400&&e<=8412||e==8417||e>=12330&&e<=12335||e==12441||e==12442||e==183||e==720||e==721||e==903||e==1600||e==3654||e==3782||e==12293||e>=12337&&e<=12341||e>=12445&&e<=12446||e>=12540&&e<=12542},Se.coalesceText=function(e){for(var n=e.firstChild;n!=null;n=n.nextSibling)if(n.nodeType==j.TEXT_NODE||n.nodeType==j.CDATA_SECTION_NODE){var N=n.nodeValue,_=n;for(n=n.nextSibling;n!=null&&(n.nodeType==j.TEXT_NODE||n.nodeType==j.CDATA_SECTION_NODE);){N+=n.nodeValue;var O=n;n=n.nextSibling,O.parentNode.removeChild(O)}if(_.nodeType==j.CDATA_SECTION_NODE){var d=_.parentNode;if(_.nextSibling==null)d.removeChild(_),d.appendChild(d.ownerDocument.createTextNode(N));else{var ne=_.nextSibling;d.removeChild(_),d.insertBefore(d.ownerDocument.createTextNode(N),ne)}}else _.nodeValue=N;if(n==null)break}else n.nodeType==j.ELEMENT_NODE&&Se.coalesceText(n)},Se.instance_of=function(e,n){for(;e!=null;){if(e.constructor===n)return!0;if(e===Object)return!1;e=e.constructor.superclass}return!1},Se.getElementById=function(e,n){if(e.nodeType==j.ELEMENT_NODE&&(e.getAttribute("id")==n||e.getAttributeNS(null,"id")==n))return e;for(var N=e.firstChild;N!=null;N=N.nextSibling){var _=Se.getElementById(N,n);if(_!=null)return _}return null};var qe=function(){function e(N,_){var O=_?": "+_.toString():"";switch(N){case n.INVALID_EXPRESSION_ERR:return"Invalid expression"+O;case n.TYPE_ERR:return"Type error"+O}return null}function n(N,_,O){var d=Error.call(this,e(N,_)||O);return d.code=N,d.exception=_,d}return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n.superclass=Error,n.prototype.toString=function(){return this.message},n.fromMessage=function(N,_){return new n(null,_,N)},n.INVALID_EXPRESSION_ERR=51,n.TYPE_ERR=52,n}();We.prototype={},We.prototype.constructor=We,We.superclass=Object.prototype;function We(e,n,N){this.xpath=N.parse(e),this.context=new Ze,this.context.namespaceResolver=new Rt(n)}We.getOwnerDocument=function(e){return e.nodeType===j.DOCUMENT_NODE?e:e.ownerDocument},We.detectHtmlDom=function(e){if(!e)return!1;var n=We.getOwnerDocument(e);try{return n.implementation.hasFeature("HTML","2.0")}catch{return!0}},We.prototype.evaluate=function(e,n,N){this.context.expressionContextNode=e,this.context.caseInsensitive=We.detectHtmlDom(e);var _=this.xpath.evaluate(this.context);return new fe(_,n)},Rt.prototype={},Rt.prototype.constructor=Rt,Rt.superclass=Object.prototype;function Rt(e){this.xpathNSResolver=e}Rt.prototype.getNamespace=function(e,n){return this.xpathNSResolver==null?null:this.xpathNSResolver.lookupNamespaceURI(e)},Tt.prototype={},Tt.prototype.constructor=Tt,Tt.superclass=Object.prototype;function Tt(e){this.node=e,this.namespaceResolver=new je}Tt.prototype.lookupNamespaceURI=function(e){return this.namespaceResolver.getNamespace(e,this.node)},fe.prototype={},fe.prototype.constructor=fe,fe.superclass=Object.prototype;function fe(e,n){switch(n==fe.ANY_TYPE&&(e.constructor===F?n=fe.STRING_TYPE:e.constructor===V?n=fe.NUMBER_TYPE:e.constructor===Ie?n=fe.BOOLEAN_TYPE:e.constructor===ae&&(n=fe.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=n,n){case fe.NUMBER_TYPE:this.numberValue=e.numberValue();return;case fe.STRING_TYPE:this.stringValue=e.stringValue();return;case fe.BOOLEAN_TYPE:this.booleanValue=e.booleanValue();return;case fe.ANY_UNORDERED_NODE_TYPE:case fe.FIRST_ORDERED_NODE_TYPE:if(e.constructor===ae){this.singleNodeValue=e.first();return}break;case fe.UNORDERED_NODE_ITERATOR_TYPE:case fe.ORDERED_NODE_ITERATOR_TYPE:if(e.constructor===ae){this.invalidIteratorState=!1,this.nodes=e.toArray(),this.iteratorIndex=0;return}break;case fe.UNORDERED_NODE_SNAPSHOT_TYPE:case fe.ORDERED_NODE_SNAPSHOT_TYPE:if(e.constructor===ae){this.nodes=e.toArray(),this.snapshotLength=this.nodes.length;return}break}throw new qe(qe.TYPE_ERR)}fe.prototype.iterateNext=function(){if(this.resultType!=fe.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=fe.ORDERED_NODE_ITERATOR_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[this.iteratorIndex++]},fe.prototype.snapshotItem=function(e){if(this.resultType!=fe.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=fe.ORDERED_NODE_SNAPSHOT_TYPE)throw new qe(qe.TYPE_ERR);return this.nodes[e]},fe.ANY_TYPE=0,fe.NUMBER_TYPE=1,fe.STRING_TYPE=2,fe.BOOLEAN_TYPE=3,fe.UNORDERED_NODE_ITERATOR_TYPE=4,fe.ORDERED_NODE_ITERATOR_TYPE=5,fe.UNORDERED_NODE_SNAPSHOT_TYPE=6,fe.ORDERED_NODE_SNAPSHOT_TYPE=7,fe.ANY_UNORDERED_NODE_TYPE=8,fe.FIRST_ORDERED_NODE_TYPE=9;function i(e,n){e.createExpression=function(N,_){try{return new We(N,_,n)}catch(O){throw new qe(qe.INVALID_EXPRESSION_ERR,O)}},e.createNSResolver=function(N){return new Tt(N)},e.evaluate=function(N,_,O,d,ne){if(d<0||d>9)throw{code:0,toString:function(){return"Request type not supported"}};return e.createExpression(N,O,n).evaluate(_,d,ne)}}try{var S=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(S=!1)}catch{}S&&i(document,new D)}catch{}i(r,new D),function(){var e=new D,n=new je,N=new Xe,_=new et;function O(Ee){return{getNamespace:function(ye,Je){var lt=Ee(ye,Je);return lt||n.getNamespace(ye,Je)}}}function d(Ee){return O(Ee.getNamespace.bind(Ee))}function ne(Ee){return O(function(ye){return Ee[ye]})}function he(Ee){return Ee&&typeof Ee.getNamespace=="function"?d(Ee):typeof Ee=="function"?O(Ee):typeof Ee=="object"?ne(Ee):n}function Me(Ee){if(Ee===null||typeof Ee>"u"||Ee instanceof F||Ee instanceof Ie||Ee instanceof V||Ee instanceof ae)return Ee;switch(typeof Ee){case"string":return new F(Ee);case"boolean":return new Ie(Ee);case"number":return new V(Ee)}var ye=new ae;return ye.addArray([].concat(Ee)),ye}function se(Ee){return function(ye){var Je=Array.prototype.slice.call(arguments,1).map(function(AS){return AS.evaluate(ye)}),lt=Ee.apply(this,[].concat(ye,Je));return Me(lt)}}function Re(Ee){return{getFunction:function(ye,Je){var lt=Ee(ye,Je);return lt?se(lt):N.getFunction(ye,Je)}}}function Ke(Ee){return Re(Ee.getFunction.bind(Ee))}function ze(Ee){return Re(function(ye){return Ee[ye]})}function He(Ee){return Ee&&typeof Ee.getFunction=="function"?Ke(Ee):typeof Ee=="function"?Re(Ee):typeof Ee=="object"?ze(Ee):N}function st(Ee){return{getVariable:function(ye,Je){var lt=Ee(ye,Je);return Me(lt)}}}function tt(Ee){if(Ee){if(typeof Ee.getVariable=="function")return st(Ee.getVariable.bind(Ee));if(typeof Ee=="function")return st(Ee);if(typeof Ee=="object")return st(function(ye){return Ee[ye]})}return _}function ut(Ee,ye,Je){Ee in Je&&(ye[Ee]=Je[Ee])}function TS(Ee){var ye=new Ze;return Ee?(ye.namespaceResolver=he(Ee.namespaces),ye.functionResolver=He(Ee.functions),ye.variableResolver=tt(Ee.variables),ye.expressionContextNode=Ee.node,ut("allowAnyNamespaceForNoPrefix",ye,Ee),ut("isHtml",ye,Ee)):ye.namespaceResolver=n,ye}function sS(Ee,ye){var Je=TS(ye);return Ee.evaluate(Je)}var oS={evaluate:function(Ee){return sS(this.expression,Ee)},evaluateNumber:function(Ee){return this.evaluate(Ee).numberValue()},evaluateString:function(Ee){return this.evaluate(Ee).stringValue()},evaluateBoolean:function(Ee){return this.evaluate(Ee).booleanValue()},evaluateNodeSet:function(Ee){return this.evaluate(Ee).nodeset()},select:function(Ee){return this.evaluateNodeSet(Ee).toArray()},select1:function(Ee){return this.select(Ee)[0]}};function aS(Ee){var ye=e.parse(Ee);return Object.create(oS,{expression:{value:ye}})}r.parse=aS}(),_e(r,{XPath:Ae,XPathParser:D,XPathResult:fe,Step:q,PathExpr:h,NodeTest:L,LocationPath:ce,OrOperation:oe,AndOperation:ue,BarOperation:$,EqualsOperation:pe,NotEqualOperation:x,LessThanOperation:Z,GreaterThanOperation:Ne,LessThanOrEqualOperation:Ue,GreaterThanOrEqualOperation:Te,PlusOperation:v,MinusOperation:p,MultiplyOperation:m,DivOperation:P,ModOperation:g,UnaryMinusOperation:X,FunctionCall:me,VariableReference:re,XPathContext:Ze,XNodeSet:ae,XBoolean:Ie,XString:F,XNumber:V,NamespaceResolver:je,FunctionResolver:Xe,VariableResolver:et,Utilities:Se}),r.select=function(e,n,N){return r.selectWithResolver(e,n,null,N)},r.useNamespaces=function(e){var n={mappings:e||{},lookupNamespaceURI:function(N){return this.mappings[N]}};return function(N,_,O){return r.selectWithResolver(N,_,n,O)}},r.selectWithResolver=function(e,n,N,_){var O=new We(e,N,new D),d=fe.ANY_TYPE,ne=O.evaluate(n,d,null);return ne.resultType==fe.STRING_TYPE?ne=ne.stringValue:ne.resultType==fe.NUMBER_TYPE?ne=ne.numberValue:ne.resultType==fe.BOOLEAN_TYPE?ne=ne.booleanValue:(ne=ne.nodes,_&&(ne=ne[0])),ne},r.select1=function(e,n){return r.select(e,n,!0)};var c=function(e){return Array.isArray(e)&&e.every(R)},G=function(e){return function(n){return R(n)&&n.nodeType===e}};_e(r,{isNodeLike:R,isArrayOfNodes:c,isElement:G(j.ELEMENT_NODE),isAttribute:G(j.ATTRIBUTE_NODE),isTextNode:G(j.TEXT_NODE),isCDATASection:G(j.CDATA_SECTION_NODE),isProcessingInstruction:G(j.PROCESSING_INSTRUCTION_NODE),isComment:G(j.COMMENT_NODE),isDocumentNode:G(j.DOCUMENT_NODE),isDocumentTypeNode:G(j.DOCUMENT_TYPE_NODE),isDocumentFragment:G(j.DOCUMENT_FRAGMENT_NODE)})})(t)}(qt)),qt}var xn=bn();const Yn=mE(xn);var Ut={},at={},Ct={},gE;function Ht(){if(gE)return Ct;gE=1;function E(a,R,C){if(C===void 0&&(C=Array.prototype),a&&typeof C.find=="function")return C.find.call(a,R);for(var I=0;I<a.length;I++)if(Object.prototype.hasOwnProperty.call(a,I)){var A=a[I];if(R.call(void 0,A,I,a))return A}}function t(a,R){return R===void 0&&(R=Object),R&&typeof R.freeze=="function"?R.freeze(a):a}function r(a,R){if(a===null||typeof a!="object")throw new TypeError("target is not an object");for(var C in R)Object.prototype.hasOwnProperty.call(R,C)&&(a[C]=R[C]);return a}var T=t({HTML:"text/html",isHTML:function(a){return a===T.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),s=t({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(a){return a===s.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return Ct.assign=r,Ct.find=E,Ct.freeze=t,Ct.MIME_TYPE=T,Ct.NAMESPACE=s,Ct}var yE;function GE(){if(yE)return at;yE=1;var E=Ht(),t=E.find,r=E.NAMESPACE;function T(i){return i!==""}function s(i){return i?i.split(/[\t\n\f\r ]+/).filter(T):[]}function a(i,S){return i.hasOwnProperty(S)||(i[S]=!0),i}function R(i){if(!i)return[];var S=s(i);return Object.keys(S.reduce(a,{}))}function C(i){return function(S){return i&&i.indexOf(S)!==-1}}function I(i,S){for(var c in i)Object.prototype.hasOwnProperty.call(i,c)&&(S[c]=i[c])}function A(i,S){var c=i.prototype;if(!(c instanceof S)){let G=function(){};G.prototype=S.prototype,G=new G,I(c,G),i.prototype=c=G}c.constructor!=i&&(typeof i!="function"&&console.error("unknown Class:"+i),c.constructor=i)}var u={},l=u.ELEMENT_NODE=1,f=u.ATTRIBUTE_NODE=2,M=u.TEXT_NODE=3,b=u.CDATA_SECTION_NODE=4,J=u.ENTITY_REFERENCE_NODE=5,U=u.ENTITY_NODE=6,ee=u.PROCESSING_INSTRUCTION_NODE=7,te=u.COMMENT_NODE=8,k=u.DOCUMENT_NODE=9,le=u.DOCUMENT_TYPE_NODE=10,_e=u.DOCUMENT_FRAGMENT_NODE=11,j=u.NOTATION_NODE=12,D={},Ae={};D.INDEX_SIZE_ERR=(Ae[1]="Index size error",1),D.DOMSTRING_SIZE_ERR=(Ae[2]="DOMString size error",2);var H=D.HIERARCHY_REQUEST_ERR=(Ae[3]="Hierarchy request error",3);D.WRONG_DOCUMENT_ERR=(Ae[4]="Wrong document",4),D.INVALID_CHARACTER_ERR=(Ae[5]="Invalid character",5),D.NO_DATA_ALLOWED_ERR=(Ae[6]="No data allowed",6),D.NO_MODIFICATION_ALLOWED_ERR=(Ae[7]="No modification allowed",7);var B=D.NOT_FOUND_ERR=(Ae[8]="Not found",8);D.NOT_SUPPORTED_ERR=(Ae[9]="Not supported",9);var Q=D.INUSE_ATTRIBUTE_ERR=(Ae[10]="Attribute in use",10);D.INVALID_STATE_ERR=(Ae[11]="Invalid state",11),D.SYNTAX_ERR=(Ae[12]="Syntax error",12),D.INVALID_MODIFICATION_ERR=(Ae[13]="Invalid modification",13),D.NAMESPACE_ERR=(Ae[14]="Invalid namespace",14),D.INVALID_ACCESS_ERR=(Ae[15]="Invalid access",15);function X(i,S){if(S instanceof Error)var c=S;else c=this,Error.call(this,Ae[i]),this.message=Ae[i],Error.captureStackTrace&&Error.captureStackTrace(this,X);return c.code=i,S&&(this.message=this.message+": "+S),c}X.prototype=Error.prototype,I(D,X);function K(){}K.prototype={length:0,item:function(i){return i>=0&&i<this.length?this[i]:null},toString:function(i,S){for(var c=[],G=0;G<this.length;G++)We(this[G],c,i,S);return c.join("")},filter:function(i){return Array.prototype.filter.call(this,i)},indexOf:function(i){return Array.prototype.indexOf.call(this,i)}};function oe(i,S){this._node=i,this._refresh=S,ue(this)}function ue(i){var S=i._node._inc||i._node.ownerDocument._inc;if(i._inc!==S){var c=i._refresh(i._node);if(fe(i,"length",c.length),!i.$$length||c.length<i.$$length)for(var G=c.length;G in i;G++)Object.prototype.hasOwnProperty.call(i,G)&&delete i[G];I(c,i),i._inc=S}}oe.prototype.item=function(i){return ue(this),this[i]||null},A(oe,K);function pe(){}function x(i,S){for(var c=i.length;c--;)if(i[c]===S)return c}function Z(i,S,c,G){if(G?S[x(S,G)]=c:S[S.length++]=c,i){c.ownerElement=i;var e=i.ownerDocument;e&&(G&&g(e,i,G),P(e,i,c))}}function Ne(i,S,c){var G=x(S,c);if(G>=0){for(var e=S.length-1;G<e;)S[G]=S[++G];if(S.length=e,i){var n=i.ownerDocument;n&&(g(n,i,c),c.ownerElement=null)}}else throw new X(B,new Error(i.tagName+"@"+c))}pe.prototype={length:0,item:K.prototype.item,getNamedItem:function(i){for(var S=this.length;S--;){var c=this[S];if(c.nodeName==i)return c}},setNamedItem:function(i){var S=i.ownerElement;if(S&&S!=this._ownerElement)throw new X(Q);var c=this.getNamedItem(i.nodeName);return Z(this._ownerElement,this,i,c),c},setNamedItemNS:function(i){var S=i.ownerElement,c;if(S&&S!=this._ownerElement)throw new X(Q);return c=this.getNamedItemNS(i.namespaceURI,i.localName),Z(this._ownerElement,this,i,c),c},removeNamedItem:function(i){var S=this.getNamedItem(i);return Ne(this._ownerElement,this,S),S},removeNamedItemNS:function(i,S){var c=this.getNamedItemNS(i,S);return Ne(this._ownerElement,this,c),c},getNamedItemNS:function(i,S){for(var c=this.length;c--;){var G=this[c];if(G.localName==S&&G.namespaceURI==i)return G}return null}};function Ue(){}Ue.prototype={hasFeature:function(i,S){return!0},createDocument:function(i,S,c){var G=new m;if(G.implementation=this,G.childNodes=new K,G.doctype=c||null,c&&G.appendChild(c),S){var e=G.createElementNS(i,S);G.appendChild(e)}return G},createDocumentType:function(i,S,c){var G=new ae;return G.name=i,G.nodeName=i,G.publicId=S||"",G.systemId=c||"",G}};function Te(){}Te.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(i,S){return me(this,i,S)},replaceChild:function(i,S){me(this,i,S,re),S&&this.removeChild(S)},removeChild:function(i){return h(this,i)},appendChild:function(i){return this.insertBefore(i,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(i){return Tt(this.ownerDocument||this,this,i)},normalize:function(){for(var i=this.firstChild;i;){var S=i.nextSibling;S&&S.nodeType==M&&i.nodeType==M?(this.removeChild(S),i.appendData(S.data)):(i.normalize(),i=S)}},isSupported:function(i,S){return this.ownerDocument.implementation.hasFeature(i,S)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(i){for(var S=this;S;){var c=S._nsMap;if(c){for(var G in c)if(Object.prototype.hasOwnProperty.call(c,G)&&c[G]===i)return G}S=S.nodeType==f?S.ownerDocument:S.parentNode}return null},lookupNamespaceURI:function(i){for(var S=this;S;){var c=S._nsMap;if(c&&Object.prototype.hasOwnProperty.call(c,i))return c[i];S=S.nodeType==f?S.ownerDocument:S.parentNode}return null},isDefaultNamespace:function(i){var S=this.lookupPrefix(i);return S==null}};function v(i){return i=="<"&&"&lt;"||i==">"&&"&gt;"||i=="&"&&"&amp;"||i=='"'&&"&quot;"||"&#"+i.charCodeAt()+";"}I(u,Te),I(u,Te.prototype);function p(i,S){if(S(i))return!0;if(i=i.firstChild)do if(p(i,S))return!0;while(i=i.nextSibling)}function m(){this.ownerDocument=this}function P(i,S,c){i&&i._inc++;var G=c.namespaceURI;G===r.XMLNS&&(S._nsMap[c.prefix?c.localName:""]=c.value)}function g(i,S,c,G){i&&i._inc++;var e=c.namespaceURI;e===r.XMLNS&&delete S._nsMap[c.prefix?c.localName:""]}function $(i,S,c){if(i&&i._inc){i._inc++;var G=S.childNodes;if(c)G[G.length++]=c;else{for(var e=S.firstChild,n=0;e;)G[n++]=e,e=e.nextSibling;G.length=n,delete G[G.length]}}}function h(i,S){var c=S.previousSibling,G=S.nextSibling;return c?c.nextSibling=G:i.firstChild=G,G?G.previousSibling=c:i.lastChild=c,S.parentNode=null,S.previousSibling=null,S.nextSibling=null,$(i.ownerDocument,i),S}function z(i){return i&&(i.nodeType===Te.DOCUMENT_NODE||i.nodeType===Te.DOCUMENT_FRAGMENT_NODE||i.nodeType===Te.ELEMENT_NODE)}function ie(i){return i&&(De(i)||Be(i)||Ce(i)||i.nodeType===Te.DOCUMENT_FRAGMENT_NODE||i.nodeType===Te.COMMENT_NODE||i.nodeType===Te.PROCESSING_INSTRUCTION_NODE)}function Ce(i){return i&&i.nodeType===Te.DOCUMENT_TYPE_NODE}function De(i){return i&&i.nodeType===Te.ELEMENT_NODE}function Be(i){return i&&i.nodeType===Te.TEXT_NODE}function ce(i,S){var c=i.childNodes||[];if(t(c,De)||Ce(S))return!1;var G=t(c,Ce);return!(S&&G&&c.indexOf(G)>c.indexOf(S))}function q(i,S){var c=i.childNodes||[];function G(n){return De(n)&&n!==S}if(t(c,G))return!1;var e=t(c,Ce);return!(S&&e&&c.indexOf(e)>c.indexOf(S))}function ge(i,S,c){if(!z(i))throw new X(H,"Unexpected parent node type "+i.nodeType);if(c&&c.parentNode!==i)throw new X(B,"child not in parent");if(!ie(S)||Ce(S)&&i.nodeType!==Te.DOCUMENT_NODE)throw new X(H,"Unexpected node type "+S.nodeType+" for parent node type "+i.nodeType)}function L(i,S,c){var G=i.childNodes||[],e=S.childNodes||[];if(S.nodeType===Te.DOCUMENT_FRAGMENT_NODE){var n=e.filter(De);if(n.length>1||t(e,Be))throw new X(H,"More than one element or text in fragment");if(n.length===1&&!ce(i,c))throw new X(H,"Element in fragment can not be inserted before doctype")}if(De(S)&&!ce(i,c))throw new X(H,"Only one element can be added and only after doctype");if(Ce(S)){if(t(G,Ce))throw new X(H,"Only one doctype is allowed");var N=t(G,De);if(c&&G.indexOf(N)<G.indexOf(c))throw new X(H,"Doctype can only be inserted before an element");if(!c&&N)throw new X(H,"Doctype can not be appended since element is present")}}function re(i,S,c){var G=i.childNodes||[],e=S.childNodes||[];if(S.nodeType===Te.DOCUMENT_FRAGMENT_NODE){var n=e.filter(De);if(n.length>1||t(e,Be))throw new X(H,"More than one element or text in fragment");if(n.length===1&&!q(i,c))throw new X(H,"Element in fragment can not be inserted before doctype")}if(De(S)&&!q(i,c))throw new X(H,"Only one element can be added and only after doctype");if(Ce(S)){if(t(G,function(O){return Ce(O)&&O!==c}))throw new X(H,"Only one doctype is allowed");var N=t(G,De);if(c&&G.indexOf(N)<G.indexOf(c))throw new X(H,"Doctype can only be inserted before an element")}}function me(i,S,c,G){ge(i,S,c),i.nodeType===Te.DOCUMENT_NODE&&(G||L)(i,S,c);var e=S.parentNode;if(e&&e.removeChild(S),S.nodeType===_e){var n=S.firstChild;if(n==null)return S;var N=S.lastChild}else n=N=S;var _=c?c.previousSibling:i.lastChild;n.previousSibling=_,N.nextSibling=c,_?_.nextSibling=n:i.firstChild=n,c==null?i.lastChild=N:c.previousSibling=N;do{n.parentNode=i;var O=i.ownerDocument||i;de(n,O)}while(n!==N&&(n=n.nextSibling));return $(i.ownerDocument||i,i),S.nodeType==_e&&(S.firstChild=S.lastChild=null),S}function de(i,S){if(i.ownerDocument!==S){if(i.ownerDocument=S,i.nodeType===l&&i.attributes)for(var c=0;c<i.attributes.length;c++){var G=i.attributes.item(c);G&&(G.ownerDocument=S)}for(var e=i.firstChild;e;)de(e,S),e=e.nextSibling}}function F(i,S){S.parentNode&&S.parentNode.removeChild(S),S.parentNode=i,S.previousSibling=i.lastChild,S.nextSibling=null,S.previousSibling?S.previousSibling.nextSibling=S:i.firstChild=S,i.lastChild=S,$(i.ownerDocument,i,S);var c=i.ownerDocument||i;return de(S,c),S}m.prototype={nodeName:"#document",nodeType:k,doctype:null,documentElement:null,_inc:1,insertBefore:function(i,S){if(i.nodeType==_e){for(var c=i.firstChild;c;){var G=c.nextSibling;this.insertBefore(c,S),c=G}return i}return me(this,i,S),de(i,this),this.documentElement===null&&i.nodeType===l&&(this.documentElement=i),i},removeChild:function(i){return this.documentElement==i&&(this.documentElement=null),h(this,i)},replaceChild:function(i,S){me(this,i,S,re),de(i,this),S&&this.removeChild(S),De(i)&&(this.documentElement=i)},importNode:function(i,S){return Rt(this,i,S)},getElementById:function(i){var S=null;return p(this.documentElement,function(c){if(c.nodeType==l&&c.getAttribute("id")==i)return S=c,!0}),S},getElementsByClassName:function(i){var S=R(i);return new oe(this,function(c){var G=[];return S.length>0&&p(c.documentElement,function(e){if(e!==c&&e.nodeType===l){var n=e.getAttribute("class");if(n){var N=i===n;if(!N){var _=R(n);N=S.every(C(_))}N&&G.push(e)}}}),G})},createElement:function(i){var S=new V;S.ownerDocument=this,S.nodeName=i,S.tagName=i,S.localName=i,S.childNodes=new K;var c=S.attributes=new pe;return c._ownerElement=S,S},createDocumentFragment:function(){var i=new Xe;return i.ownerDocument=this,i.childNodes=new K,i},createTextNode:function(i){var S=new Ie;return S.ownerDocument=this,S.appendData(i),S},createComment:function(i){var S=new we;return S.ownerDocument=this,S.appendData(i),S},createCDATASection:function(i){var S=new Gt;return S.ownerDocument=this,S.appendData(i),S},createProcessingInstruction:function(i,S){var c=new je;return c.ownerDocument=this,c.tagName=c.nodeName=c.target=i,c.nodeValue=c.data=S,c},createAttribute:function(i){var S=new ve;return S.ownerDocument=this,S.name=i,S.nodeName=i,S.localName=i,S.specified=!0,S},createEntityReference:function(i){var S=new et;return S.ownerDocument=this,S.nodeName=i,S},createElementNS:function(i,S){var c=new V,G=S.split(":"),e=c.attributes=new pe;return c.childNodes=new K,c.ownerDocument=this,c.nodeName=S,c.tagName=S,c.namespaceURI=i,G.length==2?(c.prefix=G[0],c.localName=G[1]):c.localName=S,e._ownerElement=c,c},createAttributeNS:function(i,S){var c=new ve,G=S.split(":");return c.ownerDocument=this,c.nodeName=S,c.name=S,c.namespaceURI=i,c.specified=!0,G.length==2?(c.prefix=G[0],c.localName=G[1]):c.localName=S,c}},A(m,Te);function V(){this._nsMap={}}V.prototype={nodeType:l,hasAttribute:function(i){return this.getAttributeNode(i)!=null},getAttribute:function(i){var S=this.getAttributeNode(i);return S&&S.value||""},getAttributeNode:function(i){return this.attributes.getNamedItem(i)},setAttribute:function(i,S){var c=this.ownerDocument.createAttribute(i);c.value=c.nodeValue=""+S,this.setAttributeNode(c)},removeAttribute:function(i){var S=this.getAttributeNode(i);S&&this.removeAttributeNode(S)},appendChild:function(i){return i.nodeType===_e?this.insertBefore(i,null):F(this,i)},setAttributeNode:function(i){return this.attributes.setNamedItem(i)},setAttributeNodeNS:function(i){return this.attributes.setNamedItemNS(i)},removeAttributeNode:function(i){return this.attributes.removeNamedItem(i.nodeName)},removeAttributeNS:function(i,S){var c=this.getAttributeNodeNS(i,S);c&&this.removeAttributeNode(c)},hasAttributeNS:function(i,S){return this.getAttributeNodeNS(i,S)!=null},getAttributeNS:function(i,S){var c=this.getAttributeNodeNS(i,S);return c&&c.value||""},setAttributeNS:function(i,S,c){var G=this.ownerDocument.createAttributeNS(i,S);G.value=G.nodeValue=""+c,this.setAttributeNode(G)},getAttributeNodeNS:function(i,S){return this.attributes.getNamedItemNS(i,S)},getElementsByTagName:function(i){return new oe(this,function(S){var c=[];return p(S,function(G){G!==S&&G.nodeType==l&&(i==="*"||G.tagName==i)&&c.push(G)}),c})},getElementsByTagNameNS:function(i,S){return new oe(this,function(c){var G=[];return p(c,function(e){e!==c&&e.nodeType===l&&(i==="*"||e.namespaceURI===i)&&(S==="*"||e.localName==S)&&G.push(e)}),G})}},m.prototype.getElementsByTagName=V.prototype.getElementsByTagName,m.prototype.getElementsByTagNameNS=V.prototype.getElementsByTagNameNS,A(V,Te);function ve(){}ve.prototype.nodeType=f,A(ve,Te);function Qe(){}Qe.prototype={data:"",substringData:function(i,S){return this.data.substring(i,i+S)},appendData:function(i){i=this.data+i,this.nodeValue=this.data=i,this.length=i.length},insertData:function(i,S){this.replaceData(i,0,S)},appendChild:function(i){throw new Error(Ae[H])},deleteData:function(i,S){this.replaceData(i,S,"")},replaceData:function(i,S,c){var G=this.data.substring(0,i),e=this.data.substring(i+S);c=G+c+e,this.nodeValue=this.data=c,this.length=c.length}},A(Qe,Te);function Ie(){}Ie.prototype={nodeName:"#text",nodeType:M,splitText:function(i){var S=this.data,c=S.substring(i);S=S.substring(0,i),this.data=this.nodeValue=S,this.length=S.length;var G=this.ownerDocument.createTextNode(c);return this.parentNode&&this.parentNode.insertBefore(G,this.nextSibling),G}},A(Ie,Qe);function we(){}we.prototype={nodeName:"#comment",nodeType:te},A(we,Qe);function Gt(){}Gt.prototype={nodeName:"#cdata-section",nodeType:b},A(Gt,Qe);function ae(){}ae.prototype.nodeType=le,A(ae,Te);function nt(){}nt.prototype.nodeType=j,A(nt,Te);function Ze(){}Ze.prototype.nodeType=U,A(Ze,Te);function et(){}et.prototype.nodeType=J,A(et,Te);function Xe(){}Xe.prototype.nodeName="#document-fragment",Xe.prototype.nodeType=_e,A(Xe,Te);function je(){}je.prototype.nodeType=ee,A(je,Te);function Le(){}Le.prototype.serializeToString=function(i,S,c){return Se.call(i,S,c)},Te.prototype.toString=Se;function Se(i,S){var c=[],G=this.nodeType==9&&this.documentElement||this,e=G.prefix,n=G.namespaceURI;if(n&&e==null){var e=G.lookupPrefix(n);if(e==null)var N=[{namespace:n,prefix:null}]}return We(this,c,i,S,N),c.join("")}function Ft(i,S,c){var G=i.prefix||"",e=i.namespaceURI;if(!e||G==="xml"&&e===r.XML||e===r.XMLNS)return!1;for(var n=c.length;n--;){var N=c[n];if(N.prefix===G)return N.namespace!==e}return!0}function qe(i,S,c){i.push(" ",S,'="',c.replace(/[<>&"\t\n\r]/g,v),'"')}function We(i,S,c,G,e){if(e||(e=[]),G)if(i=G(i),i){if(typeof i=="string"){S.push(i);return}}else return;switch(i.nodeType){case l:var n=i.attributes,N=n.length,He=i.firstChild,_=i.tagName;c=r.isHTML(i.namespaceURI)||c;var O=_;if(!c&&!i.prefix&&i.namespaceURI){for(var d,ne=0;ne<n.length;ne++)if(n.item(ne).name==="xmlns"){d=n.item(ne).value;break}if(!d)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.prefix===""&&Me.namespace===i.namespaceURI){d=Me.namespace;break}}if(d!==i.namespaceURI)for(var he=e.length-1;he>=0;he--){var Me=e[he];if(Me.namespace===i.namespaceURI){Me.prefix&&(O=Me.prefix+":"+_);break}}}S.push("<",O);for(var se=0;se<N;se++){var Re=n.item(se);Re.prefix=="xmlns"?e.push({prefix:Re.localName,namespace:Re.value}):Re.nodeName=="xmlns"&&e.push({prefix:"",namespace:Re.value})}for(var se=0;se<N;se++){var Re=n.item(se);if(Ft(Re,c,e)){var Ke=Re.prefix||"",ze=Re.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}We(Re,S,c,G,e)}if(_===O&&Ft(i,c,e)){var Ke=i.prefix||"",ze=i.namespaceURI;qe(S,Ke?"xmlns:"+Ke:"xmlns",ze),e.push({prefix:Ke,namespace:ze})}if(He||c&&!/^(?:meta|link|img|br|hr|input)$/i.test(_)){if(S.push(">"),c&&/^script$/i.test(_))for(;He;)He.data?S.push(He.data):We(He,S,c,G,e.slice()),He=He.nextSibling;else for(;He;)We(He,S,c,G,e.slice()),He=He.nextSibling;S.push("</",O,">")}else S.push("/>");return;case k:case _e:for(var He=i.firstChild;He;)We(He,S,c,G,e.slice()),He=He.nextSibling;return;case f:return qe(S,i.name,i.value);case M:return S.push(i.data.replace(/[<&>]/g,v));case b:return S.push("<![CDATA[",i.data,"]]>");case te:return S.push("<!--",i.data,"-->");case le:var st=i.publicId,tt=i.systemId;if(S.push("<!DOCTYPE ",i.name),st)S.push(" PUBLIC ",st),tt&&tt!="."&&S.push(" ",tt),S.push(">");else if(tt&&tt!=".")S.push(" SYSTEM ",tt,">");else{var ut=i.internalSubset;ut&&S.push(" [",ut,"]"),S.push(">")}return;case ee:return S.push("<?",i.target," ",i.data,"?>");case J:return S.push("&",i.nodeName,";");default:S.push("??",i.nodeName)}}function Rt(i,S,c){var G;switch(S.nodeType){case l:G=S.cloneNode(!1),G.ownerDocument=i;case _e:break;case f:c=!0;break}if(G||(G=S.cloneNode(!1)),G.ownerDocument=i,G.parentNode=null,c)for(var e=S.firstChild;e;)G.appendChild(Rt(i,e,c)),e=e.nextSibling;return G}function Tt(i,S,c){var G=new S.constructor;for(var e in S)if(Object.prototype.hasOwnProperty.call(S,e)){var n=S[e];typeof n!="object"&&n!=G[e]&&(G[e]=n)}switch(S.childNodes&&(G.childNodes=new K),G.ownerDocument=i,G.nodeType){case l:var N=S.attributes,_=G.attributes=new pe,O=N.length;_._ownerElement=G;for(var d=0;d<O;d++)G.setAttributeNode(Tt(i,N.item(d),!0));break;case f:c=!0}if(c)for(var ne=S.firstChild;ne;)G.appendChild(Tt(i,ne,c)),ne=ne.nextSibling;return G}function fe(i,S,c){i[S]=c}try{if(Object.defineProperty){let i=function(S){switch(S.nodeType){case l:case _e:var c=[];for(S=S.firstChild;S;)S.nodeType!==7&&S.nodeType!==8&&c.push(i(S)),S=S.nextSibling;return c.join("");default:return S.nodeValue}};Object.defineProperty(oe.prototype,"length",{get:function(){return ue(this),this.$$length}}),Object.defineProperty(Te.prototype,"textContent",{get:function(){return i(this)},set:function(S){switch(this.nodeType){case l:case _e:for(;this.firstChild;)this.removeChild(this.firstChild);(S||String(S))&&this.appendChild(this.ownerDocument.createTextNode(S));break;default:this.data=S,this.value=S,this.nodeValue=S}}}),fe=function(S,c,G){S["$$"+c]=G}}}catch{}return at.DocumentType=ae,at.DOMException=X,at.DOMImplementation=Ue,at.Element=V,at.Node=Te,at.NodeList=K,at.XMLSerializer=Le,at}var mt={},Jt={},FE;function Vn(){return FE||(FE=1,function(E){var t=Ht().freeze;E.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),E.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
10
+ `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),E.entityMap=E.HTML_ENTITIES}(Jt)),Jt}var bt={},HE;function vn(){if(HE)return bt;HE=1;var E=Ht().NAMESPACE,t=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,r=new RegExp("[\\-\\.0-9"+t.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),T=new RegExp("^"+t.source+r.source+"*(?::"+t.source+r.source+"*)?$"),s=0,a=1,R=2,C=3,I=4,A=5,u=6,l=7;function f(H,B){this.message=H,this.locator=B,Error.captureStackTrace&&Error.captureStackTrace(this,f)}f.prototype=new Error,f.prototype.name=f.name;function M(){}M.prototype={parse:function(H,B,Q){var X=this.domBuilder;X.startDocument(),le(B,B={}),b(H,B,Q,X,this.errorHandler),X.endDocument()}};function b(H,B,Q,X,K){function oe(F){if(F>65535){F-=65536;var V=55296+(F>>10),ve=56320+(F&1023);return String.fromCharCode(V,ve)}else return String.fromCharCode(F)}function ue(F){var V=F.slice(1,-1);return Object.hasOwnProperty.call(Q,V)?Q[V]:V.charAt(0)==="#"?oe(parseInt(V.substr(1).replace("x","0x"))):(K.error("entity not found:"+F),F)}function pe(F){if(F>m){var V=H.substring(m,F).replace(/&#?\w+;/g,ue);Te&&x(m),X.characters(V,0,F-m),m=F}}function x(F,V){for(;F>=Ne&&(V=Ue.exec(H));)Z=V.index,Ne=Z+V[0].length,Te.lineNumber++;Te.columnNumber=F-Z+1}for(var Z=0,Ne=0,Ue=/.*(?:\r\n?|\n)|.*$/g,Te=X.locator,v=[{currentNSMap:B}],p={},m=0;;){try{var P=H.indexOf("<",m);if(P<0){if(!H.substr(m).match(/^\s*$/)){var g=X.doc,$=g.createTextNode(H.substr(m));g.appendChild($),X.currentElement=$}return}switch(P>m&&pe(P),H.charAt(P+1)){case"/":var ge=H.indexOf(">",P+3),h=H.substring(P+2,ge).replace(/[ \t\n\r]+$/g,""),z=v.pop();ge<0?(h=H.substring(P+2).replace(/[\s<].*/,""),K.error("end tag name: "+h+" is not complete:"+z.tagName),ge=P+1+h.length):h.match(/\s</)&&(h=h.replace(/[\s<].*/,""),K.error("end tag name: "+h+" maybe not complete"),ge=P+1+h.length);var ie=z.localNSMap,Ce=z.tagName==h,De=Ce||z.tagName&&z.tagName.toLowerCase()==h.toLowerCase();if(De){if(X.endElement(z.uri,z.localName,h),ie)for(var Be in ie)Object.prototype.hasOwnProperty.call(ie,Be)&&X.endPrefixMapping(Be);Ce||K.fatalError("end tag name: "+h+" is not match the current start tagName:"+z.tagName)}else v.push(z);ge++;break;case"?":Te&&x(P),ge=j(H,P,X);break;case"!":Te&&x(P),ge=_e(H,P,X,K);break;default:Te&&x(P);var ce=new D,q=v[v.length-1].currentNSMap,ge=U(H,P,ce,q,ue,K),L=ce.length;if(!ce.closed&&k(H,ge,ce.tagName,p)&&(ce.closed=!0,Q.nbsp||K.warning("unclosed xml attribute")),Te&&L){for(var re=J(Te,{}),me=0;me<L;me++){var de=ce[me];x(de.offset),de.locator=J(Te,{})}X.locator=re,ee(ce,X,q)&&v.push(ce),X.locator=Te}else ee(ce,X,q)&&v.push(ce);E.isHTML(ce.uri)&&!ce.closed?ge=te(H,ge,ce.tagName,ue,X):ge++}}catch(F){if(F instanceof f)throw F;K.error("element parse error: "+F),ge=-1}ge>m?m=ge:pe(Math.max(P,m)+1)}}function J(H,B){return B.lineNumber=H.lineNumber,B.columnNumber=H.columnNumber,B}function U(H,B,Q,X,K,oe){function ue(Te,v,p){Q.attributeNames.hasOwnProperty(Te)&&oe.fatalError("Attribute "+Te+" redefined"),Q.addValue(Te,v.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,K),p)}for(var pe,x,Z=++B,Ne=s;;){var Ue=H.charAt(Z);switch(Ue){case"=":if(Ne===a)pe=H.slice(B,Z),Ne=C;else if(Ne===R)Ne=C;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(Ne===C||Ne===a)if(Ne===a&&(oe.warning('attribute value must after "="'),pe=H.slice(B,Z)),B=Z+1,Z=H.indexOf(Ue,B),Z>0)x=H.slice(B,Z),ue(pe,x,B-1),Ne=A;else throw new Error("attribute value no end '"+Ue+"' match");else if(Ne==I)x=H.slice(B,Z),ue(pe,x,B),oe.warning('attribute "'+pe+'" missed start quot('+Ue+")!!"),B=Z+1,Ne=A;else throw new Error('attribute value must after "="');break;case"/":switch(Ne){case s:Q.setTagName(H.slice(B,Z));case A:case u:case l:Ne=l,Q.closed=!0;case I:case a:break;case R:Q.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return oe.error("unexpected end of input"),Ne==s&&Q.setTagName(H.slice(B,Z)),Z;case">":switch(Ne){case s:Q.setTagName(H.slice(B,Z));case A:case u:case l:break;case I:case a:x=H.slice(B,Z),x.slice(-1)==="/"&&(Q.closed=!0,x=x.slice(0,-1));case R:Ne===R&&(x=pe),Ne==I?(oe.warning('attribute "'+x+'" missed quot(")!'),ue(pe,x,B)):((!E.isHTML(X[""])||!x.match(/^(?:disabled|checked|selected)$/i))&&oe.warning('attribute "'+x+'" missed value!! "'+x+'" instead!!'),ue(x,x,B));break;case C:throw new Error("attribute value missed!!")}return Z;case"€":Ue=" ";default:if(Ue<=" ")switch(Ne){case s:Q.setTagName(H.slice(B,Z)),Ne=u;break;case a:pe=H.slice(B,Z),Ne=R;break;case I:var x=H.slice(B,Z);oe.warning('attribute "'+x+'" missed quot(")!!'),ue(pe,x,B);case A:Ne=u;break}else switch(Ne){case R:Q.tagName,(!E.isHTML(X[""])||!pe.match(/^(?:disabled|checked|selected)$/i))&&oe.warning('attribute "'+pe+'" missed value!! "'+pe+'" instead2!!'),ue(pe,pe,B),B=Z,Ne=a;break;case A:oe.warning('attribute space is required"'+pe+'"!!');case u:Ne=a,B=Z;break;case C:Ne=I,B=Z;break;case l:throw new Error("elements closed character '/' and '>' must be connected to")}}Z++}}function ee(H,B,Q){for(var X=H.tagName,K=null,Ue=H.length;Ue--;){var oe=H[Ue],ue=oe.qName,pe=oe.value,Te=ue.indexOf(":");if(Te>0)var x=oe.prefix=ue.slice(0,Te),Z=ue.slice(Te+1),Ne=x==="xmlns"&&Z;else Z=ue,x=null,Ne=ue==="xmlns"&&"";oe.localName=Z,Ne!==!1&&(K==null&&(K={},le(Q,Q={})),Q[Ne]=K[Ne]=pe,oe.uri=E.XMLNS,B.startPrefixMapping(Ne,pe))}for(var Ue=H.length;Ue--;){oe=H[Ue];var x=oe.prefix;x&&(x==="xml"&&(oe.uri=E.XML),x!=="xmlns"&&(oe.uri=Q[x||""]))}var Te=X.indexOf(":");Te>0?(x=H.prefix=X.slice(0,Te),Z=H.localName=X.slice(Te+1)):(x=null,Z=H.localName=X);var v=H.uri=Q[x||""];if(B.startElement(v,Z,X,H),H.closed){if(B.endElement(v,Z,X),K)for(x in K)Object.prototype.hasOwnProperty.call(K,x)&&B.endPrefixMapping(x)}else return H.currentNSMap=Q,H.localNSMap=K,!0}function te(H,B,Q,X,K){if(/^(?:script|textarea)$/i.test(Q)){var oe=H.indexOf("</"+Q+">",B),ue=H.substring(B+1,oe);if(/[&<]/.test(ue))return/^script$/i.test(Q)?(K.characters(ue,0,ue.length),oe):(ue=ue.replace(/&#?\w+;/g,X),K.characters(ue,0,ue.length),oe)}return B+1}function k(H,B,Q,X){var K=X[Q];return K==null&&(K=H.lastIndexOf("</"+Q+">"),K<B&&(K=H.lastIndexOf("</"+Q)),X[Q]=K),K<B}function le(H,B){for(var Q in H)Object.prototype.hasOwnProperty.call(H,Q)&&(B[Q]=H[Q])}function _e(H,B,Q,X){var K=H.charAt(B+2);switch(K){case"-":if(H.charAt(B+3)==="-"){var oe=H.indexOf("-->",B+4);return oe>B?(Q.comment(H,B+4,oe-B-4),oe+3):(X.error("Unclosed comment"),-1)}else return-1;default:if(H.substr(B+3,6)=="CDATA["){var oe=H.indexOf("]]>",B+9);return Q.startCDATA(),Q.characters(H,B+9,oe-B-9),Q.endCDATA(),oe+3}var ue=Ae(H,B),pe=ue.length;if(pe>1&&/!doctype/i.test(ue[0][0])){var x=ue[1][0],Z=!1,Ne=!1;pe>3&&(/^public$/i.test(ue[2][0])?(Z=ue[3][0],Ne=pe>4&&ue[4][0]):/^system$/i.test(ue[2][0])&&(Ne=ue[3][0]));var Ue=ue[pe-1];return Q.startDTD(x,Z,Ne),Q.endDTD(),Ue.index+Ue[0].length}}return-1}function j(H,B,Q){var X=H.indexOf("?>",B);if(X){var K=H.substring(B,X).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return K?(K[0].length,Q.processingInstruction(K[1],K[2]),X+2):-1}return-1}function D(){this.attributeNames={}}D.prototype={setTagName:function(H){if(!T.test(H))throw new Error("invalid tagName:"+H);this.tagName=H},addValue:function(H,B,Q){if(!T.test(H))throw new Error("invalid attribute:"+H);this.attributeNames[H]=this.length,this[this.length++]={qName:H,value:B,offset:Q}},length:0,getLocalName:function(H){return this[H].localName},getLocator:function(H){return this[H].locator},getQName:function(H){return this[H].qName},getURI:function(H){return this[H].uri},getValue:function(H){return this[H].value}};function Ae(H,B){var Q,X=[],K=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(K.lastIndex=B,K.exec(H);Q=K.exec(H);)if(X.push(Q),Q[1])return X}return bt.XMLReader=M,bt.ParseError=f,bt}var bE;function wn(){if(bE)return mt;bE=1;var E=Ht(),t=GE(),r=Vn(),T=vn(),s=t.DOMImplementation,a=E.NAMESPACE,R=T.ParseError,C=T.XMLReader;function I(U){return U.replace(/\r[\n\u0085]/g,`
11
11
  `).replace(/[\r\u0085\u2028]/g,`
12
- `)}function i(M){this.options=M||{locator:{}}}i.prototype.parseFromString=function(M,Ee){var re=this.options,k=new C,Ie=re.domBuilder||new u,Ce=re.errorHandler,z=re.locator,D=re.xmlns||{},Ae=/\/x?html?$/.test(Ee),b=Ae?r.HTML_ENTITIES:r.XML_ENTITIES;z&&Ie.setDocumentLocator(z),k.errorHandler=O(Ce,Ie,z),k.domBuilder=re.domBuilder||Ie,Ae&&(D[""]=a.HTML),D.xml=D.xml||a.XML;var U=re.normalizeLineEndings||I;return M&&typeof M=="string"?k.parse(U(M),D,b):k.errorHandler.error("invalid doc source"),Ie.doc};function O(M,Ee,re){if(!M){if(Ee instanceof u)return Ee;M=Ee}var k={},Ie=M instanceof Function;re=re||{};function Ce(z){var D=M[z];!D&&Ie&&(D=M.length==2?function(Ae){M(z,Ae)}:M),k[z]=D&&function(Ae){D("[xmldom "+z+"] "+Ae+h(re))}||function(){}}return Ce("warning"),Ce("error"),Ce("fatalError"),k}function u(){this.cdata=!1}function d(M,Ee){Ee.lineNumber=M.lineNumber,Ee.columnNumber=M.columnNumber}u.prototype={startDocument:function(){this.doc=new o().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(M,Ee,re,k){var Ie=this.doc,Ce=Ie.createElementNS(M,re||Ee),z=k.length;J(this,Ce),this.currentElement=Ce,this.locator&&d(this.locator,Ce);for(var D=0;D<z;D++){var M=k.getURI(D),Ae=k.getValue(D),re=k.getQName(D),b=Ie.createAttributeNS(M,re);this.locator&&d(k.getLocator(D),b),b.value=b.nodeValue=Ae,Ce.setAttributeNode(b)}},endElement:function(M,Ee,re){var k=this.currentElement;k.tagName,this.currentElement=k.parentNode},startPrefixMapping:function(M,Ee){},endPrefixMapping:function(M){},processingInstruction:function(M,Ee){var re=this.doc.createProcessingInstruction(M,Ee);this.locator&&d(this.locator,re),J(this,re)},ignorableWhitespace:function(M,Ee,re){},characters:function(M,Ee,re){if(M=G.apply(this,arguments),M){if(this.cdata)var k=this.doc.createCDATASection(M);else var k=this.doc.createTextNode(M);this.currentElement?this.currentElement.appendChild(k):/^\s*$/.test(M)&&this.doc.appendChild(k),this.locator&&d(this.locator,k)}},skippedEntity:function(M){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(M){(this.locator=M)&&(M.lineNumber=0)},comment:function(M,Ee,re){M=G.apply(this,arguments);var k=this.doc.createComment(M);this.locator&&d(this.locator,k),J(this,k)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(M,Ee,re){var k=this.doc.implementation;if(k&&k.createDocumentType){var Ie=k.createDocumentType(M,Ee,re);this.locator&&d(this.locator,Ie),J(this,Ie),this.doc.doctype=Ie}},warning:function(M){console.warn("[xmldom warning] "+M,h(this.locator))},error:function(M){console.error("[xmldom error] "+M,h(this.locator))},fatalError:function(M){throw new A(M,this.locator)}};function h(M){if(M)return`
13
- @`+(M.systemId||"")+"#[line:"+M.lineNumber+",col:"+M.columnNumber+"]"}function G(M,Ee,re){return typeof M=="string"?M.substr(Ee,re):M.length>=Ee+re||Ee?new java.lang.String(M,Ee,re)+"":M}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(M){u.prototype[M]=function(){return null}});function J(M,Ee){M.currentElement?M.currentElement.appendChild(Ee):M.doc.appendChild(Ee)}return mt.__DOMHandler=u,mt.normalizeLineEndings=I,mt.DOMParser=i,mt}var xE;function jn(){if(xE)return Ut;xE=1;var E=GE();return Ut.DOMImplementation=E.DOMImplementation,Ut.XMLSerializer=E.XMLSerializer,Ut.DOMParser=Zn().DOMParser,Ut}var YE=jn();const zn={key:0,class:"xml-node__comment"},es={key:1,class:"xml-node__cdata"},ts={key:2,class:"xml-node__element"},Es={key:0,class:"xml-node__line"},rs=["contenteditable","onKeydown"],ns=["contenteditable","onDblclick","onKeydown"],ss=["contenteditable","onDblclick","onKeydown"],Ts=["contenteditable","onKeydown"],os={key:1,class:"xml-node__line"},as=["contenteditable","onKeydown"],is=["contenteditable","onDblclick","onKeydown"],As=["contenteditable","onDblclick","onKeydown"],Rs=["contenteditable","onKeydown"],Ss={key:2,class:"xml-node__line"},Ns=["contenteditable","onKeydown"],Is=["contenteditable","onDblclick","onKeydown"],ls=["contenteditable","onDblclick","onKeydown"],Os={key:3,class:"xml-node__line"},us=["contenteditable","onKeydown"],Cs=["contenteditable","onDblclick","onKeydown"],cs=["contenteditable","onDblclick","onKeydown"],_s={key:4},Ls={key:0,class:"xml-node__line"},Ds=["contenteditable","onKeydown"],ps=["contenteditable","onDblclick","onKeydown"],ds=["contenteditable","onDblclick","onKeydown"],Ps=["title"],fs={class:"xml-node__line"},hs=["title"],Ms=["contenteditable","onKeydown"],Us={key:1},ms=["contenteditable","onKeydown"],Bs=["contenteditable","onDblclick","onKeydown"],gs=["contenteditable","onDblclick","onKeydown"],ys=["title"],Gs={key:0,class:"xml-node__children"},Fs={key:0,class:"xml-node__text"},bs=["contenteditable","onKeydown"],Hs={key:1,class:"xml-node__line"},xs=Mt(n.defineComponent({__name:"XmlNode",props:{node:{},index:{},level:{default:0},parentPath:{default:""},expanded:{},theme:{},selfClosingTags:{default:()=>new Set}},emits:["toggle-expand","copy","update:tagName","update:attributeName","update:attributeValue","update:textContent","update:cdataContent"],setup(E,{emit:t}){n.useCssVars(L=>({a71f898c:L.theme.colors.indentLine}));const r=E,T=t,o=n.ref(!1),a=n.ref(null),A=n.ref(null),C=n.ref(!1),I=n.ref(!1),i=n.ref(""),O=n.ref(""),u=n.ref(""),d=n.ref(""),h=n.ref(""),G=n.ref(null),J=n.ref(null),M=n.ref(null),Ee=n.ref(null),re=n.ref(null),k=n.computed(()=>Object.keys(r.node).find(se=>!se.startsWith(":")&&!se.startsWith("#"))||""),Ie=n.computed(()=>k.value?r.parentPath?`${r.parentPath}.${k.value}[${r.index}]`:`${k.value}[${r.index}]`:""),Ce=n.computed(()=>r.expanded.has(Ie.value)),z=n.computed(()=>r.node["#comment"]?"comment":r.node.__cdata?"cdata":k.value?"element":"unknown"),D=n.computed(()=>{const L=r.node[":@"]||{},se={};return Object.keys(L).forEach(Me=>{Me.startsWith("@_")&&(se[Me.substring(2)]=L[Me])}),se}),Ae=n.computed(()=>{if(z.value!=="element"||!k.value)return[];const L=r.node[k.value];return Array.isArray(L)?L:[]}),b=n.computed(()=>Ae.value.some(L=>L.__cdata)),U=n.computed(()=>{if(!b.value)return"";const L=Ae.value.find(se=>se.__cdata);if(L&&Array.isArray(L.__cdata)){const se=L.__cdata;if(se.length>0&&se[0]["#text"])return se[0]["#text"]}return""}),$=n.computed(()=>{if(z.value!=="element"||!k.value||b.value)return"";const L=r.node[k.value];if(!Array.isArray(L))return"";const se=L.find(Me=>Me["#text"]);return se?se["#text"]:""}),w=n.computed(()=>{if(z.value!=="comment")return"";const L=r.node["#comment"];return Array.isArray(L)&&L.length>0&&L[0]["#text"]||""}),K=n.computed(()=>Ae.value.some(L=>Object.keys(L).some(Me=>!Me.startsWith("#")&&!Me.startsWith(":")))),ae=n.computed(()=>K.value?Ae.value.filter(L=>Object.keys(L).some(Me=>!Me.startsWith("#")&&!Me.startsWith(":"))).length:0),Oe=n.computed(()=>z.value==="element"&&!K.value&&$.value!==""),De=n.computed(()=>z.value==="element"&&!K.value&&$.value===""),p=n.computed(()=>De.value&&r.selfClosingTags?.has(k.value)||!1),B=()=>{K.value&&T("toggle-expand",Ie.value)},Q=(L,se)=>`${Ie.value}-child-${se}`,ee=()=>`${Ie.value}.${k.value}`,Y=()=>{o.value=!0,i.value=k.value,n.nextTick(()=>{if(G.value){G.value.focus();const L=document.createRange();L.selectNodeContents(G.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(L)}})},Re=L=>{a.value=L,O.value=L,n.nextTick(()=>{if(J.value){J.value.focus();const se=document.createRange();se.selectNodeContents(J.value);const Me=window.getSelection();Me?.removeAllRanges(),Me?.addRange(se)}})},f=L=>{A.value=L,u.value=D.value[L]||"",n.nextTick(()=>{if(M.value){M.value.focus();const se=document.createRange();se.selectNodeContents(M.value);const Me=window.getSelection();Me?.removeAllRanges(),Me?.addRange(se)}})},F=()=>{C.value=!0,d.value=$.value,n.nextTick(()=>{if(Ee.value){Ee.value.focus();const L=document.createRange();L.selectNodeContents(Ee.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(L)}})},v=()=>{if(!o.value)return;const L=G.value?.innerText.trim()||"";if(!L||L===k.value){o.value=!1;return}o.value=!1,T("update:tagName",Ie.value,k.value,L)},q=()=>{if(!a.value)return;const L=a.value,se=J.value?.innerText.trim()||"";if(!se||se===L){a.value=null;return}a.value=null,T("update:attributeName",Ie.value,L,se)},j=()=>{if(!A.value)return;const L=A.value,se=M.value?.innerText.trim()||"";A.value=null,T("update:attributeValue",Ie.value,L,se)},H=()=>{if(!C.value)return;const L=Ee.value?.innerText||"";if(L===$.value){C.value=!1;return}C.value=!1,T("update:textContent",Ie.value,L)},te=()=>{o.value=!1,i.value=k.value},_e=()=>{a.value&&(O.value=a.value,a.value=null)},Le=()=>{A.value&&(u.value=D.value[A.value]||"",A.value=null)},ge=()=>{C.value=!1,d.value=$.value},He=()=>{I.value=!0,h.value=U.value,n.nextTick(()=>{if(re.value){re.value.focus();const L=document.createRange();L.selectNodeContents(re.value);const se=window.getSelection();se?.removeAllRanges(),se?.addRange(L)}})},Ue=()=>{if(!I.value)return;const L=re.value?.innerText||"";if(L===U.value){I.value=!1;return}I.value=!1,T("update:cdataContent",Ie.value,L)},Z=()=>{I.value=!1,h.value=U.value},Ge=L=>{K.value&&(L.preventDefault(),Y())};return(L,se)=>{const Me=n.resolveComponent("XmlNode",!0);return n.openBlock(),n.createElementBlock("div",{class:"xml-node",style:n.normalizeStyle({paddingLeft:L.level>0?"16px":"0"})},[z.value==="comment"?(n.openBlock(),n.createElementBlock("div",zn,[n.createElementVNode("span",{style:n.normalizeStyle({color:L.theme.colors.xmlComment})}," <!-- "+n.toDisplayString(w.value)+" --> ",5)])):z.value==="cdata"?(n.openBlock(),n.createElementBlock("div",es,[n.createElementVNode("span",{style:n.normalizeStyle({color:L.theme.colors.xmlCdata})}," <![CDATA["+n.toDisplayString(L.node.__cdata)+"]]> ",5)])):z.value==="element"?(n.openBlock(),n.createElementBlock("div",ts,[b.value?(n.openBlock(),n.createElementBlock("div",Es,[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:Y,onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,rs),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,ns),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,ss),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4),n.createElementVNode("span",{class:"xml-node__cdata",style:n.normalizeStyle({color:L.theme.colors.xmlCdata})},"<![CDATA[",4),n.createElementVNode("span",{class:"xml-node__cdata-content xml-node__cdata-content--editable",style:n.normalizeStyle({color:L.theme.colors.xmlCdata}),contenteditable:I.value,onDblclick:He,onKeydown:[n.withKeys(n.withModifiers(Ue,["prevent"]),["enter"]),n.withKeys(Z,["escape"])],onBlur:Ue,ref_key:"cdataContentRef",ref:re,title:"Double-click to edit CDATA content"},n.toDisplayString(I.value?h.value:U.value),45,Ts),n.createElementVNode("span",{class:"xml-node__cdata",style:n.normalizeStyle({color:L.theme.colors.xmlCdata})},"]]>",4),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),n.createElementVNode("span",{class:"xml-node__tag",style:n.normalizeStyle({color:L.theme.colors.xmlTag})},n.toDisplayString(o.value?i.value:k.value),5),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):Oe.value?(n.openBlock(),n.createElementBlock("div",os,[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:Y,onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,as),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,is),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,As),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4),n.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:n.normalizeStyle({color:L.theme.colors.xmlText}),contenteditable:C.value,onDblclick:F,onKeydown:[n.withKeys(n.withModifiers(H,["prevent"]),["enter"]),n.withKeys(ge,["escape"])],onBlur:H,ref_key:"textContentRef",ref:Ee,title:"Double-click to edit text content"},n.toDisplayString(C.value?d.value:$.value),45,Rs),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),n.createElementVNode("span",{class:"xml-node__tag",style:n.normalizeStyle({color:L.theme.colors.xmlTag})},n.toDisplayString(o.value?i.value:k.value),5),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):De.value&&p.value?(n.openBlock(),n.createElementBlock("div",Ss,[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:Y,onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,Ns),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,Is),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,ls),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})}," />",4)])):De.value?(n.openBlock(),n.createElementBlock("div",Os,[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:Y,onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,us),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,Cs),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,cs),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"></",4),n.createElementVNode("span",{class:"xml-node__tag",style:n.normalizeStyle({color:L.theme.colors.xmlTag})},n.toDisplayString(o.value?i.value:k.value),5),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):(n.openBlock(),n.createElementBlock("div",_s,[!Ce.value&&K.value?(n.openBlock(),n.createElementBlock("div",Ls,[n.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[0]||(se[0]=pe=>B()),title:"Click to expand"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:n.withModifiers(Y,["stop"]),onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click or right-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,Ds)]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,ps),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,ds),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),n.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[1]||(se[1]=pe=>B()),title:"Click to expand"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)]),n.createElementVNode("span",{class:"xml-node__collapsed-badge",style:n.normalizeStyle({backgroundColor:L.theme.colors.collapsedBackground,color:L.theme.colors.collapsedText}),onClick:se[2]||(se[2]=pe=>B()),title:`Click to expand ${ae.value} child element${ae.value>1?"s":""}`},n.toDisplayString(ae.value)+" child"+n.toDisplayString(ae.value>1?"ren":""),13,Ps),n.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[3]||(se[3]=pe=>B()),title:"Click to expand"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),n.createElementVNode("span",{class:"xml-node__tag",style:n.normalizeStyle({color:L.theme.colors.xmlTag})},n.toDisplayString(o.value?i.value:k.value),5),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createElementVNode("div",fs,[K.value?(n.openBlock(),n.createElementBlock("span",{key:0,class:"xml-node__clickable-part",onClick:se[4]||(se[4]=pe=>B()),title:Ce.value?"Click to collapse":"Click to expand"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:n.withModifiers(Y,["stop"]),onContextmenu:Ge,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click or right-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,Ms)],8,hs)):(n.openBlock(),n.createElementBlock("span",Us,[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),n.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:n.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:o.value,onDblclick:Y,onKeydown:[n.withKeys(n.withModifiers(v,["prevent"]),["enter"]),n.withKeys(te,["escape"])],onBlur:v,ref_key:"tagNameRef",ref:G,title:"Double-click to edit tag name"},n.toDisplayString(o.value?i.value:k.value),45,ms)])),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(D.value,(pe,y)=>(n.openBlock(),n.createElementBlock("span",{key:y,class:"xml-node__attribute"},[n.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===y,onDblclick:V=>Re(y),onKeydown:[n.withKeys(n.withModifiers(q,["prevent"]),["enter"]),n.withKeys(_e,["escape"])],onBlur:q,ref_for:!0,ref:V=>{a.value===y&&(J.value=V)},title:"Double-click to edit attribute name"},n.toDisplayString(a.value===y?O.value:y),45,Bs),n.createElementVNode("span",{class:"xml-node__equals",style:n.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),n.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:n.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:A.value===y,onDblclick:V=>f(y),onKeydown:[n.withKeys(n.withModifiers(j,["prevent"]),["enter"]),n.withKeys(Le,["escape"])],onBlur:j,ref_for:!0,ref:V=>{A.value===y&&(M.value=V)},title:"Double-click to edit attribute value"},n.toDisplayString(A.value===y?u.value:pe),45,gs),n.createElementVNode("span",{class:"xml-node__quote",style:n.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),K.value?(n.openBlock(),n.createElementBlock("span",{key:2,class:"xml-node__clickable-part",onClick:se[5]||(se[5]=pe=>B()),title:Ce.value?"Click to collapse":"Click to expand"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)],8,ys)):(n.openBlock(),n.createElementBlock("span",{key:3,class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},n.toDisplayString(K.value?">":"/>"),5))]),Ce.value&&K.value?(n.openBlock(),n.createElementBlock("div",Gs,[Ae.value.length===0&&$.value.trim()?(n.openBlock(),n.createElementBlock("div",Fs,[n.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:n.normalizeStyle({color:L.theme.colors.xmlText}),contenteditable:C.value,onDblclick:F,onKeydown:[n.withKeys(n.withModifiers(H,["prevent"]),["enter"]),n.withKeys(ge,["escape"])],onBlur:H,ref_key:"textContentRef",ref:Ee,title:"Double-click to edit text content"},n.toDisplayString(C.value?d.value:$.value),45,bs)])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Ae.value,(pe,y)=>(n.openBlock(),n.createBlock(Me,{key:Q(pe,y),node:pe,index:y,level:L.level+1,"parent-path":ee(),expanded:L.expanded,theme:L.theme,selfClosingTags:L.selfClosingTags,onToggleExpand:se[6]||(se[6]=V=>L.$emit("toggle-expand",V)),onCopy:se[7]||(se[7]=V=>L.$emit("copy",V)),"onUpdate:tagName":se[8]||(se[8]=(V,ve,Qe)=>L.$emit("update:tagName",V,ve,Qe)),"onUpdate:attributeName":se[9]||(se[9]=(V,ve,Qe)=>L.$emit("update:attributeName",V,ve,Qe)),"onUpdate:attributeValue":se[10]||(se[10]=(V,ve,Qe)=>L.$emit("update:attributeValue",V,ve,Qe)),"onUpdate:textContent":se[11]||(se[11]=(V,ve)=>L.$emit("update:textContent",V,ve)),"onUpdate:cdataContent":se[12]||(se[12]=(V,ve)=>L.$emit("update:cdataContent",V,ve))},null,8,["node","index","level","parent-path","expanded","theme","selfClosingTags"]))),128))])):n.createCommentVNode("",!0),Ce.value&&K.value?(n.openBlock(),n.createElementBlock("div",Hs,[n.createElementVNode("span",{class:"xml-node__clickable-part",onClick:se[13]||(se[13]=pe=>B()),title:"Click to collapse"},[n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),n.createElementVNode("span",{class:"xml-node__tag",style:n.normalizeStyle({color:L.theme.colors.xmlTag})},n.toDisplayString(o.value?i.value:k.value),5),n.createElementVNode("span",{class:"xml-node__bracket",style:n.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])])):n.createCommentVNode("",!0)],64))]))])):n.createCommentVNode("",!0)],4)}}}),[["__scopeId","data-v-acda96f3"]]),VE={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",xmlTag:"#116329",xmlAttribute:"#0550ae",xmlAttributeValue:"#0a3069",xmlText:"#24292f",xmlComment:"#6e7781",xmlCdata:"#8250df",xmlDeclaration:"#953800",xmlBracket:"#6e7781",xmlEquals:"#6e7781",xmlQuote:"#0550ae",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",xmlTag:"#7ee787",xmlAttribute:"#79c0ff",xmlAttributeValue:"#a5d6ff",xmlText:"#c9d1d9",xmlComment:"#8b949e",xmlCdata:"#d2a8ff",xmlDeclaration:"#ffa657",xmlBracket:"#8b949e",xmlEquals:"#8b949e",xmlQuote:"#79c0ff",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#171717",textSecondary:"#737373",buttonBackground:"#fafafa",buttonBackgroundHover:"#f5f5f5",buttonBorder:"#e5e5e5",buttonText:"#171717",buttonPrimary:"#22c55e",buttonPrimaryHover:"#16a34a",success:"#22c55e",successBackground:"#dcfce7",error:"#ef4444",errorBackground:"#fee2e2",xmlTag:"#16a34a",xmlAttribute:"#2563eb",xmlAttributeValue:"#1e40af",xmlText:"#171717",xmlComment:"#737373",xmlCdata:"#9333ea",xmlDeclaration:"#ea580c",xmlBracket:"#737373",xmlEquals:"#737373",xmlQuote:"#2563eb",collapsedBackground:"#dbeafe",collapsedText:"#1d4ed8",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",xmlTag:"#007a5a",xmlAttribute:"#1264a3",xmlAttributeValue:"#0b4c8c",xmlText:"#3d3c40",xmlComment:"#616061",xmlCdata:"#8b2eff",xmlDeclaration:"#e8912d",xmlBracket:"#616061",xmlEquals:"#616061",xmlQuote:"#1264a3",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#e8d5b7"}}},Ys=E=>VE[E]||VE["github-light"],vE=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Vs=vE+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",vs="["+vE+"]["+Vs+"]*",ws=new RegExp("^"+vs+"$");function wE(E,t){const r=[];let T=t.exec(E);for(;T;){const o=[];o.startIndex=t.lastIndex-T[0].length;const a=T.length;for(let A=0;A<a;A++)o.push(T[A]);r.push(o),T=t.exec(E)}return r}const xt=function(E){const t=ws.exec(E);return!(t===null||typeof t>"u")};function Ws(E){return typeof E<"u"}const Xs={allowBooleanAttributes:!1,unpairedTags:[]};function WE(E,t){t=Object.assign({},Xs,t);const r=[];let T=!1,o=!1;E[0]==="\uFEFF"&&(E=E.substr(1));for(let a=0;a<E.length;a++)if(E[a]==="<"&&E[a+1]==="?"){if(a+=2,a=KE(E,a),a.err)return a}else if(E[a]==="<"){let A=a;if(a++,E[a]==="!"){a=kE(E,a);continue}else{let C=!1;E[a]==="/"&&(C=!0,a++);let I="";for(;a<E.length&&E[a]!==">"&&E[a]!==" "&&E[a]!==" "&&E[a]!==`
14
- `&&E[a]!=="\r";a++)I+=E[a];if(I=I.trim(),I[I.length-1]==="/"&&(I=I.substring(0,I.length-1),a--),!js(I)){let u;return I.trim().length===0?u="Invalid space after '<'.":u="Tag '"+I+"' is an invalid name.",be("InvalidTag",u,ke(E,a))}const i=$s(E,a);if(i===!1)return be("InvalidAttr","Attributes for '"+I+"' have open quote.",ke(E,a));let O=i.value;if(a=i.index,O[O.length-1]==="/"){const u=a-O.length;O=O.substring(0,O.length-1);const d=$E(O,t);if(d===!0)T=!0;else return be(d.err.code,d.err.msg,ke(E,u+d.err.line))}else if(C)if(i.tagClosed){if(O.trim().length>0)return be("InvalidTag","Closing tag '"+I+"' can't have attributes or invalid starting.",ke(E,A));if(r.length===0)return be("InvalidTag","Closing tag '"+I+"' has not been opened.",ke(E,A));{const u=r.pop();if(I!==u.tagName){let d=ke(E,u.tagStartPos);return be("InvalidTag","Expected closing tag '"+u.tagName+"' (opened in line "+d.line+", col "+d.col+") instead of closing tag '"+I+"'.",ke(E,A))}r.length==0&&(o=!0)}}else return be("InvalidTag","Closing tag '"+I+"' doesn't have proper closing.",ke(E,a));else{const u=$E(O,t);if(u!==!0)return be(u.err.code,u.err.msg,ke(E,a-O.length+u.err.line));if(o===!0)return be("InvalidXml","Multiple possible root nodes found.",ke(E,a));t.unpairedTags.indexOf(I)!==-1||r.push({tagName:I,tagStartPos:A}),T=!0}for(a++;a<E.length;a++)if(E[a]==="<")if(E[a+1]==="!"){a++,a=kE(E,a);continue}else if(E[a+1]==="?"){if(a=KE(E,++a),a.err)return a}else break;else if(E[a]==="&"){const u=Qs(E,a);if(u==-1)return be("InvalidChar","char '&' is not expected.",ke(E,a));a=u}else if(o===!0&&!XE(E[a]))return be("InvalidXml","Extra text at the end",ke(E,a));E[a]==="<"&&a--}}else{if(XE(E[a]))continue;return be("InvalidChar","char '"+E[a]+"' is not expected.",ke(E,a))}if(T){if(r.length==1)return be("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",ke(E,r[0].tagStartPos));if(r.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(r.map(a=>a.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0}function XE(E){return E===" "||E===" "||E===`
15
- `||E==="\r"}function KE(E,t){const r=t;for(;t<E.length;t++)if(E[t]=="?"||E[t]==" "){const T=E.substr(r,t-r);if(t>5&&T==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",ke(E,t));if(E[t]=="?"&&E[t+1]==">"){t++;break}else continue}return t}function kE(E,t){if(E.length>t+5&&E[t+1]==="-"&&E[t+2]==="-"){for(t+=3;t<E.length;t++)if(E[t]==="-"&&E[t+1]==="-"&&E[t+2]===">"){t+=2;break}}else if(E.length>t+8&&E[t+1]==="D"&&E[t+2]==="O"&&E[t+3]==="C"&&E[t+4]==="T"&&E[t+5]==="Y"&&E[t+6]==="P"&&E[t+7]==="E"){let r=1;for(t+=8;t<E.length;t++)if(E[t]==="<")r++;else if(E[t]===">"&&(r--,r===0))break}else if(E.length>t+9&&E[t+1]==="["&&E[t+2]==="C"&&E[t+3]==="D"&&E[t+4]==="A"&&E[t+5]==="T"&&E[t+6]==="A"&&E[t+7]==="["){for(t+=8;t<E.length;t++)if(E[t]==="]"&&E[t+1]==="]"&&E[t+2]===">"){t+=2;break}}return t}const Ks='"',ks="'";function $s(E,t){let r="",T="",o=!1;for(;t<E.length;t++){if(E[t]===Ks||E[t]===ks)T===""?T=E[t]:T!==E[t]||(T="");else if(E[t]===">"&&T===""){o=!0;break}r+=E[t]}return T!==""?!1:{value:r,index:t,tagClosed:o}}const qs=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $E(E,t){const r=wE(E,qs),T={};for(let o=0;o<r.length;o++){if(r[o][1].length===0)return be("InvalidAttr","Attribute '"+r[o][2]+"' has no space in starting.",Bt(r[o]));if(r[o][3]!==void 0&&r[o][4]===void 0)return be("InvalidAttr","Attribute '"+r[o][2]+"' is without value.",Bt(r[o]));if(r[o][3]===void 0&&!t.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+r[o][2]+"' is not allowed.",Bt(r[o]));const a=r[o][2];if(!Zs(a))return be("InvalidAttr","Attribute '"+a+"' is an invalid name.",Bt(r[o]));if(!T.hasOwnProperty(a))T[a]=1;else return be("InvalidAttr","Attribute '"+a+"' is repeated.",Bt(r[o]))}return!0}function Js(E,t){let r=/\d/;for(E[t]==="x"&&(t++,r=/[\da-fA-F]/);t<E.length;t++){if(E[t]===";")return t;if(!E[t].match(r))break}return-1}function Qs(E,t){if(t++,E[t]===";")return-1;if(E[t]==="#")return t++,Js(E,t);let r=0;for(;t<E.length;t++,r++)if(!(E[t].match(/\w/)&&r<20)){if(E[t]===";")break;return-1}return t}function be(E,t,r){return{err:{code:E,msg:t,line:r.line||r,col:r.col}}}function Zs(E){return xt(E)}function js(E){return xt(E)}function ke(E,t){const r=E.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Bt(E){return E.startIndex+E[1].length}const zs={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(E,t,r){return E},captureMetaData:!1},eT=function(E){return Object.assign({},zs,E)};let Yt;typeof Symbol!="function"?Yt="@@xmlMetadata":Yt=Symbol("XML Node Metadata");class ct{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,r){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:r})}addChild(t,r){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),r!==void 0&&(this.child[this.child.length-1][Yt]={startIndex:r})}static getMetaDataSymbol(){return Yt}}class tT{constructor(t){this.suppressValidationErr=!t}readDocType(t,r){const T={};if(t[r+3]==="O"&&t[r+4]==="C"&&t[r+5]==="T"&&t[r+6]==="Y"&&t[r+7]==="P"&&t[r+8]==="E"){r=r+9;let o=1,a=!1,A=!1,C="";for(;r<t.length;r++)if(t[r]==="<"&&!A){if(a&&_t(t,"!ENTITY",r)){r+=7;let I,i;[I,i,r]=this.readEntityExp(t,r+1,this.suppressValidationErr),i.indexOf("&")===-1&&(T[I]={regx:RegExp(`&${I};`,"g"),val:i})}else if(a&&_t(t,"!ELEMENT",r)){r+=8;const{index:I}=this.readElementExp(t,r+1);r=I}else if(a&&_t(t,"!ATTLIST",r))r+=8;else if(a&&_t(t,"!NOTATION",r)){r+=9;const{index:I}=this.readNotationExp(t,r+1,this.suppressValidationErr);r=I}else if(_t(t,"!--",r))A=!0;else throw new Error("Invalid DOCTYPE");o++,C=""}else if(t[r]===">"){if(A?t[r-1]==="-"&&t[r-2]==="-"&&(A=!1,o--):o--,o===0)break}else t[r]==="["?a=!0:C+=t[r];if(o!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:T,i:r}}readEntityExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r])&&t[r]!=='"'&&t[r]!=="'";)T+=t[r],r++;if(gt(T),r=$e(t,r),!this.suppressValidationErr){if(t.substring(r,r+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[r]==="%")throw new Error("Parameter entities are not supported")}let o="";return[r,o]=this.readIdentifierVal(t,r,"entity"),r--,[T,o,r]}readNotationExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;!this.suppressValidationErr&&gt(T),r=$e(t,r);const o=t.substring(r,r+6).toUpperCase();if(!this.suppressValidationErr&&o!=="SYSTEM"&&o!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${o}"`);r+=o.length,r=$e(t,r);let a=null,A=null;if(o==="PUBLIC")[r,a]=this.readIdentifierVal(t,r,"publicIdentifier"),r=$e(t,r),(t[r]==='"'||t[r]==="'")&&([r,A]=this.readIdentifierVal(t,r,"systemIdentifier"));else if(o==="SYSTEM"&&([r,A]=this.readIdentifierVal(t,r,"systemIdentifier"),!this.suppressValidationErr&&!A))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:T,publicIdentifier:a,systemIdentifier:A,index:--r}}readIdentifierVal(t,r,T){let o="";const a=t[r];if(a!=='"'&&a!=="'")throw new Error(`Expected quoted string, found "${a}"`);for(r++;r<t.length&&t[r]!==a;)o+=t[r],r++;if(t[r]!==a)throw new Error(`Unterminated ${T} value`);return r++,[r,o]}readElementExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;if(!this.suppressValidationErr&&!xt(T))throw new Error(`Invalid element name: "${T}"`);r=$e(t,r);let o="";if(t[r]==="E"&&_t(t,"MPTY",r))r+=4;else if(t[r]==="A"&&_t(t,"NY",r))r+=2;else if(t[r]==="("){for(r++;r<t.length&&t[r]!==")";)o+=t[r],r++;if(t[r]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${t[r]}"`);return{elementName:T,contentModel:o.trim(),index:r}}readAttlistExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;gt(T),r=$e(t,r);let o="";for(;r<t.length&&!/\s/.test(t[r]);)o+=t[r],r++;if(!gt(o))throw new Error(`Invalid attribute name: "${o}"`);r=$e(t,r);let a="";if(t.substring(r,r+8).toUpperCase()==="NOTATION"){if(a="NOTATION",r+=8,r=$e(t,r),t[r]!=="(")throw new Error(`Expected '(', found "${t[r]}"`);r++;let C=[];for(;r<t.length&&t[r]!==")";){let I="";for(;r<t.length&&t[r]!=="|"&&t[r]!==")";)I+=t[r],r++;if(I=I.trim(),!gt(I))throw new Error(`Invalid notation name: "${I}"`);C.push(I),t[r]==="|"&&(r++,r=$e(t,r))}if(t[r]!==")")throw new Error("Unterminated list of notations");r++,a+=" ("+C.join("|")+")"}else{for(;r<t.length&&!/\s/.test(t[r]);)a+=t[r],r++;const C=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!C.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}r=$e(t,r);let A="";return t.substring(r,r+8).toUpperCase()==="#REQUIRED"?(A="#REQUIRED",r+=8):t.substring(r,r+7).toUpperCase()==="#IMPLIED"?(A="#IMPLIED",r+=7):[r,A]=this.readIdentifierVal(t,r,"ATTLIST"),{elementName:T,attributeName:o,attributeType:a,defaultValue:A,index:r}}}const $e=(E,t)=>{for(;t<E.length&&/\s/.test(E[t]);)t++;return t};function _t(E,t,r){for(let T=0;T<t.length;T++)if(t[T]!==E[r+T+1])return!1;return!0}function gt(E){if(xt(E))return E;throw new Error(`Invalid entity name ${E}`)}const ET=/^[-+]?0x[a-fA-F0-9]+$/,rT=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,nT={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function sT(E,t={}){if(t=Object.assign({},nT,t),!E||typeof E!="string")return E;let r=E.trim();if(t.skipLike!==void 0&&t.skipLike.test(r))return E;if(E==="0")return 0;if(t.hex&&ET.test(r))return iT(r,16);if(r.search(/.+[eE].+/)!==-1)return oT(E,r,t);{const T=rT.exec(r);if(T){const o=T[1]||"",a=T[2];let A=aT(T[3]);const C=o?E[a.length+1]===".":E[a.length]===".";if(!t.leadingZeros&&(a.length>1||a.length===1&&!C))return E;{const I=Number(r),i=String(I);if(I===0)return I;if(i.search(/[eE]/)!==-1)return t.eNotation?I:E;if(r.indexOf(".")!==-1)return i==="0"||i===A||i===`${o}${A}`?I:E;let O=a?A:r;return a?O===i||o+O===i?I:E:O===i||O===o+i?I:E}}else return E}}const TT=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function oT(E,t,r){if(!r.eNotation)return E;const T=t.match(TT);if(T){let o=T[1]||"";const a=T[3].indexOf("e")===-1?"E":"e",A=T[2],C=o?E[A.length+1]===a:E[A.length]===a;return A.length>1&&C?E:A.length===1&&(T[3].startsWith(`.${a}`)||T[3][0]===a)?Number(t):r.leadingZeros&&!C?(t=(T[1]||"")+T[3],Number(t)):E}else return E}function aT(E){return E&&E.indexOf(".")!==-1&&(E=E.replace(/0+$/,""),E==="."?E="0":E[0]==="."?E="0"+E:E[E.length-1]==="."&&(E=E.substring(0,E.length-1))),E}function iT(E,t){if(parseInt)return parseInt(E,t);if(Number.parseInt)return Number.parseInt(E,t);if(window&&window.parseInt)return window.parseInt(E,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function qE(E){return typeof E=="function"?E:Array.isArray(E)?t=>{for(const r of E)if(typeof r=="string"&&t===r||r instanceof RegExp&&r.test(t))return!0}:()=>!1}class AT{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(r,T)=>String.fromCodePoint(Number.parseInt(T,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(r,T)=>String.fromCodePoint(Number.parseInt(T,16))}},this.addExternalEntities=RT,this.parseXml=OT,this.parseTextData=ST,this.resolveNameSpace=NT,this.buildAttributesMap=lT,this.isItStopNode=_T,this.replaceEntitiesValue=CT,this.readStopNodeData=DT,this.saveTextToParentTag=cT,this.addChild=uT,this.ignoreAttributesFn=qE(this.options.ignoreAttributes)}}function RT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];this.lastEntities[T]={regex:new RegExp("&"+T+";","g"),val:E[T]}}}function ST(E,t,r,T,o,a,A){if(E!==void 0&&(this.options.trimValues&&!T&&(E=E.trim()),E.length>0)){A||(E=this.replaceEntitiesValue(E));const C=this.options.tagValueProcessor(t,E,r,o,a);return C==null?E:typeof C!=typeof E||C!==E?C:this.options.trimValues?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E.trim()===E?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E}}function NT(E){if(this.options.removeNSPrefix){const t=E.split(":"),r=E.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(E=r+t[1])}return E}const IT=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function lT(E,t,r){if(this.options.ignoreAttributes!==!0&&typeof E=="string"){const T=wE(E,IT),o=T.length,a={};for(let A=0;A<o;A++){const C=this.resolveNameSpace(T[A][1]);if(this.ignoreAttributesFn(C,t))continue;let I=T[A][4],i=this.options.attributeNamePrefix+C;if(C.length)if(this.options.transformAttributeName&&(i=this.options.transformAttributeName(i)),i==="__proto__"&&(i="#__proto__"),I!==void 0){this.options.trimValues&&(I=I.trim()),I=this.replaceEntitiesValue(I);const O=this.options.attributeValueProcessor(C,I,t);O==null?a[i]=I:typeof O!=typeof I||O!==I?a[i]=O:a[i]=Zt(I,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[i]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){const A={};return A[this.options.attributesGroupName]=a,A}return a}}const OT=function(E){E=E.replace(/\r\n?/g,`
16
- `);const t=new ct("!xml");let r=t,T="",o="";const a=new tT(this.options.processEntities);for(let A=0;A<E.length;A++)if(E[A]==="<")if(E[A+1]==="/"){const I=Lt(E,">",A,"Closing Tag is not closed.");let i=E.substring(A+2,I).trim();if(this.options.removeNSPrefix){const d=i.indexOf(":");d!==-1&&(i=i.substr(d+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&(T=this.saveTextToParentTag(T,r,o));const O=o.substring(o.lastIndexOf(".")+1);if(i&&this.options.unpairedTags.indexOf(i)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${i}>`);let u=0;O&&this.options.unpairedTags.indexOf(O)!==-1?(u=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=o.lastIndexOf("."),o=o.substring(0,u),r=this.tagsNodeStack.pop(),T="",A=I}else if(E[A+1]==="?"){let I=Qt(E,A,!1,"?>");if(!I)throw new Error("Pi Tag is not closed.");if(T=this.saveTextToParentTag(T,r,o),!(this.options.ignoreDeclaration&&I.tagName==="?xml"||this.options.ignorePiTags)){const i=new ct(I.tagName);i.add(this.options.textNodeName,""),I.tagName!==I.tagExp&&I.attrExpPresent&&(i[":@"]=this.buildAttributesMap(I.tagExp,o,I.tagName)),this.addChild(r,i,o,A)}A=I.closeIndex+1}else if(E.substr(A+1,3)==="!--"){const I=Lt(E,"-->",A+4,"Comment is not closed.");if(this.options.commentPropName){const i=E.substring(A+4,I-2);T=this.saveTextToParentTag(T,r,o),r.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}A=I}else if(E.substr(A+1,2)==="!D"){const I=a.readDocType(E,A);this.docTypeEntities=I.entities,A=I.i}else if(E.substr(A+1,2)==="!["){const I=Lt(E,"]]>",A,"CDATA is not closed.")-2,i=E.substring(A+9,I);T=this.saveTextToParentTag(T,r,o);let O=this.parseTextData(i,r.tagname,o,!0,!1,!0,!0);O==null&&(O=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):r.add(this.options.textNodeName,O),A=I+2}else{let I=Qt(E,A,this.options.removeNSPrefix),i=I.tagName;const O=I.rawTagName;let u=I.tagExp,d=I.attrExpPresent,h=I.closeIndex;this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&T&&r.tagname!=="!xml"&&(T=this.saveTextToParentTag(T,r,o,!1));const G=r;G&&this.options.unpairedTags.indexOf(G.tagname)!==-1&&(r=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),i!==t.tagname&&(o+=o?"."+i:i);const J=A;if(this.isItStopNode(this.options.stopNodes,o,i)){let M="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)i[i.length-1]==="/"?(i=i.substr(0,i.length-1),o=o.substr(0,o.length-1),u=i):u=u.substr(0,u.length-1),A=I.closeIndex;else if(this.options.unpairedTags.indexOf(i)!==-1)A=I.closeIndex;else{const re=this.readStopNodeData(E,O,h+1);if(!re)throw new Error(`Unexpected end of ${O}`);A=re.i,M=re.tagContent}const Ee=new ct(i);i!==u&&d&&(Ee[":@"]=this.buildAttributesMap(u,o,i)),M&&(M=this.parseTextData(M,i,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),Ee.add(this.options.textNodeName,M),this.addChild(r,Ee,o,J)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){i[i.length-1]==="/"?(i=i.substr(0,i.length-1),o=o.substr(0,o.length-1),u=i):u=u.substr(0,u.length-1),this.options.transformTagName&&(i=this.options.transformTagName(i));const M=new ct(i);i!==u&&d&&(M[":@"]=this.buildAttributesMap(u,o,i)),this.addChild(r,M,o,J),o=o.substr(0,o.lastIndexOf("."))}else{const M=new ct(i);this.tagsNodeStack.push(r),i!==u&&d&&(M[":@"]=this.buildAttributesMap(u,o,i)),this.addChild(r,M,o,J),r=M}T="",A=h}}else T+=E[A];return t.child};function uT(E,t,r,T){this.options.captureMetaData||(T=void 0);const o=this.options.updateTag(t.tagname,r,t[":@"]);o===!1||(typeof o=="string"&&(t.tagname=o),E.addChild(t,T))}const CT=function(E){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];E=E.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];E=E.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];E=E.replace(r.regex,r.val)}E=E.replace(this.ampEntity.regex,this.ampEntity.val)}return E};function cT(E,t,r,T){return E&&(T===void 0&&(T=t.child.length===0),E=this.parseTextData(E,t.tagname,r,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,T),E!==void 0&&E!==""&&t.add(this.options.textNodeName,E),E=""),E}function _T(E,t,r){const T="*."+r;for(const o in E){const a=E[o];if(T===a||t===a)return!0}return!1}function LT(E,t,r=">"){let T,o="";for(let a=t;a<E.length;a++){let A=E[a];if(T)A===T&&(T="");else if(A==='"'||A==="'")T=A;else if(A===r[0])if(r[1]){if(E[a+1]===r[1])return{data:o,index:a}}else return{data:o,index:a};else A===" "&&(A=" ");o+=A}}function Lt(E,t,r,T){const o=E.indexOf(t,r);if(o===-1)throw new Error(T);return o+t.length-1}function Qt(E,t,r,T=">"){const o=LT(E,t+1,T);if(!o)return;let a=o.data;const A=o.index,C=a.search(/\s/);let I=a,i=!0;C!==-1&&(I=a.substring(0,C),a=a.substring(C+1).trimStart());const O=I;if(r){const u=I.indexOf(":");u!==-1&&(I=I.substr(u+1),i=I!==o.data.substr(u+1))}return{tagName:I,tagExp:a,closeIndex:A,attrExpPresent:i,rawTagName:O}}function DT(E,t,r){const T=r;let o=1;for(;r<E.length;r++)if(E[r]==="<")if(E[r+1]==="/"){const a=Lt(E,">",r,`${t} is not closed`);if(E.substring(r+2,a).trim()===t&&(o--,o===0))return{tagContent:E.substring(T,r),i:a};r=a}else if(E[r+1]==="?")r=Lt(E,"?>",r+1,"StopNode is not closed.");else if(E.substr(r+1,3)==="!--")r=Lt(E,"-->",r+3,"StopNode is not closed.");else if(E.substr(r+1,2)==="![")r=Lt(E,"]]>",r,"StopNode is not closed.")-2;else{const a=Qt(E,r,">");a&&((a&&a.tagName)===t&&a.tagExp[a.tagExp.length-1]!=="/"&&o++,r=a.closeIndex)}}function Zt(E,t,r){if(t&&typeof E=="string"){const T=E.trim();return T==="true"?!0:T==="false"?!1:sT(E,r)}else return Ws(E)?E:""}const jt=ct.getMetaDataSymbol();function pT(E,t){return JE(E,t)}function JE(E,t,r){let T;const o={};for(let a=0;a<E.length;a++){const A=E[a],C=dT(A);let I="";if(r===void 0?I=C:I=r+"."+C,C===t.textNodeName)T===void 0?T=A[C]:T+=""+A[C];else{if(C===void 0)continue;if(A[C]){let i=JE(A[C],t,I);const O=fT(i,t);A[jt]!==void 0&&(i[jt]=A[jt]),A[":@"]?PT(i,A[":@"],I,t):Object.keys(i).length===1&&i[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?i=i[t.textNodeName]:Object.keys(i).length===0&&(t.alwaysCreateTextNode?i[t.textNodeName]="":i=""),o[C]!==void 0&&o.hasOwnProperty(C)?(Array.isArray(o[C])||(o[C]=[o[C]]),o[C].push(i)):t.isArray(C,I,O)?o[C]=[i]:o[C]=i}}}return typeof T=="string"?T.length>0&&(o[t.textNodeName]=T):T!==void 0&&(o[t.textNodeName]=T),o}function dT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];if(T!==":@")return T}}function PT(E,t,r,T){if(t){const o=Object.keys(t),a=o.length;for(let A=0;A<a;A++){const C=o[A];T.isArray(C,r+"."+C,!0,!0)?E[C]=[t[C]]:E[C]=t[C]}}}function fT(E,t){const{textNodeName:r}=t,T=Object.keys(E).length;return!!(T===0||T===1&&(E[r]||typeof E[r]=="boolean"||E[r]===0))}class hT{constructor(t){this.externalEntities={},this.options=eT(t)}parse(t,r){if(typeof t!="string"&&t.toString)t=t.toString();else if(typeof t!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(r){r===!0&&(r={});const a=WE(t,r);if(a!==!0)throw Error(`${a.err.msg}:${a.err.line}:${a.err.col}`)}const T=new AT(this.options);T.addExternalEntities(this.externalEntities);const o=T.parseXml(t);return this.options.preserveOrder||o===void 0?o:pT(o,this.options)}addEntity(t,r){if(r.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(r==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=r}static getMetaDataSymbol(){return ct.getMetaDataSymbol()}}const MT=`
17
- `;function UT(E,t){let r="";return t.format&&t.indentBy.length>0&&(r=MT),QE(E,t,"",r)}function QE(E,t,r,T){let o="",a=!1;for(let A=0;A<E.length;A++){const C=E[A],I=mT(C);if(I===void 0)continue;let i="";if(r.length===0?i=I:i=`${r}.${I}`,I===t.textNodeName){let G=C[I];BT(i,t)||(G=t.tagValueProcessor(I,G),G=jE(G,t)),a&&(o+=T),o+=G,a=!1;continue}else if(I===t.cdataPropName){a&&(o+=T),o+=`<![CDATA[${C[I][0][t.textNodeName]}]]>`,a=!1;continue}else if(I===t.commentPropName){o+=T+`<!--${C[I][0][t.textNodeName]}-->`,a=!0;continue}else if(I[0]==="?"){const G=ZE(C[":@"],t),J=I==="?xml"?"":T;let M=C[I][0][t.textNodeName];M=M.length!==0?" "+M:"",o+=J+`<${I}${M}${G}?>`,a=!0;continue}let O=T;O!==""&&(O+=t.indentBy);const u=ZE(C[":@"],t),d=T+`<${I}${u}`,h=QE(C[I],t,i,O);t.unpairedTags.indexOf(I)!==-1?t.suppressUnpairedNode?o+=d+">":o+=d+"/>":(!h||h.length===0)&&t.suppressEmptyNode?o+=d+"/>":h&&h.endsWith(">")?o+=d+`>${h}${T}</${I}>`:(o+=d+">",h&&T!==""&&(h.includes("/>")||h.includes("</"))?o+=T+t.indentBy+h+T:o+=h,o+=`</${I}>`),a=!0}return o}function mT(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];if(E.hasOwnProperty(T)&&T!==":@")return T}}function ZE(E,t){let r="";if(E&&!t.ignoreAttributes)for(let T in E){if(!E.hasOwnProperty(T))continue;let o=t.attributeValueProcessor(T,E[T]);o=jE(o,t),o===!0&&t.suppressBooleanAttributes?r+=` ${T.substr(t.attributeNamePrefix.length)}`:r+=` ${T.substr(t.attributeNamePrefix.length)}="${o}"`}return r}function BT(E,t){E=E.substr(0,E.length-t.textNodeName.length-1);let r=E.substr(E.lastIndexOf(".")+1);for(let T in t.stopNodes)if(t.stopNodes[T]===E||t.stopNodes[T]==="*."+r)return!0;return!1}function jE(E,t){if(E&&E.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const T=t.entities[r];E=E.replace(T.regex,T.val)}return E}const gT={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Nt(E){this.options=Object.assign({},gT,E),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=qE(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=FT),this.processTextOrObjNode=yT,this.options.format?(this.indentate=GT,this.tagEndChar=`>
12
+ `)}function A(U){this.options=U||{locator:{}}}A.prototype.parseFromString=function(U,ee){var te=this.options,k=new C,le=te.domBuilder||new l,_e=te.errorHandler,j=te.locator,D=te.xmlns||{},Ae=/\/x?html?$/.test(ee),H=Ae?r.HTML_ENTITIES:r.XML_ENTITIES;j&&le.setDocumentLocator(j),k.errorHandler=u(_e,le,j),k.domBuilder=te.domBuilder||le,Ae&&(D[""]=a.HTML),D.xml=D.xml||a.XML;var B=te.normalizeLineEndings||I;return U&&typeof U=="string"?k.parse(B(U),D,H):k.errorHandler.error("invalid doc source"),le.doc};function u(U,ee,te){if(!U){if(ee instanceof l)return ee;U=ee}var k={},le=U instanceof Function;te=te||{};function _e(j){var D=U[j];!D&&le&&(D=U.length==2?function(Ae){U(j,Ae)}:U),k[j]=D&&function(Ae){D("[xmldom "+j+"] "+Ae+M(te))}||function(){}}return _e("warning"),_e("error"),_e("fatalError"),k}function l(){this.cdata=!1}function f(U,ee){ee.lineNumber=U.lineNumber,ee.columnNumber=U.columnNumber}l.prototype={startDocument:function(){this.doc=new s().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(U,ee,te,k){var le=this.doc,_e=le.createElementNS(U,te||ee),j=k.length;J(this,_e),this.currentElement=_e,this.locator&&f(this.locator,_e);for(var D=0;D<j;D++){var U=k.getURI(D),Ae=k.getValue(D),te=k.getQName(D),H=le.createAttributeNS(U,te);this.locator&&f(k.getLocator(D),H),H.value=H.nodeValue=Ae,_e.setAttributeNode(H)}},endElement:function(U,ee,te){var k=this.currentElement;k.tagName,this.currentElement=k.parentNode},startPrefixMapping:function(U,ee){},endPrefixMapping:function(U){},processingInstruction:function(U,ee){var te=this.doc.createProcessingInstruction(U,ee);this.locator&&f(this.locator,te),J(this,te)},ignorableWhitespace:function(U,ee,te){},characters:function(U,ee,te){if(U=b.apply(this,arguments),U){if(this.cdata)var k=this.doc.createCDATASection(U);else var k=this.doc.createTextNode(U);this.currentElement?this.currentElement.appendChild(k):/^\s*$/.test(U)&&this.doc.appendChild(k),this.locator&&f(this.locator,k)}},skippedEntity:function(U){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(U){(this.locator=U)&&(U.lineNumber=0)},comment:function(U,ee,te){U=b.apply(this,arguments);var k=this.doc.createComment(U);this.locator&&f(this.locator,k),J(this,k)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(U,ee,te){var k=this.doc.implementation;if(k&&k.createDocumentType){var le=k.createDocumentType(U,ee,te);this.locator&&f(this.locator,le),J(this,le),this.doc.doctype=le}},warning:function(U){console.warn("[xmldom warning] "+U,M(this.locator))},error:function(U){console.error("[xmldom error] "+U,M(this.locator))},fatalError:function(U){throw new R(U,this.locator)}};function M(U){if(U)return`
13
+ @`+(U.systemId||"")+"#[line:"+U.lineNumber+",col:"+U.columnNumber+"]"}function b(U,ee,te){return typeof U=="string"?U.substr(ee,te):U.length>=ee+te||ee?new java.lang.String(U,ee,te)+"":U}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(U){l.prototype[U]=function(){return null}});function J(U,ee){U.currentElement?U.currentElement.appendChild(ee):U.doc.appendChild(ee)}return mt.__DOMHandler=l,mt.normalizeLineEndings=I,mt.DOMParser=A,mt}var xE;function Wn(){if(xE)return Ut;xE=1;var E=GE();return Ut.DOMImplementation=E.DOMImplementation,Ut.XMLSerializer=E.XMLSerializer,Ut.DOMParser=wn().DOMParser,Ut}var YE=Wn();const Xn={key:0,class:"xml-node__comment"},Kn={key:1,class:"xml-node__cdata"},kn={key:2,class:"xml-node__element"},$n={key:0,class:"xml-node__line"},qn=["contenteditable","onKeydown"],Jn=["contenteditable","onDblclick","onKeydown"],Qn=["contenteditable","onDblclick","onKeydown"],Zn=["contenteditable","onKeydown"],jn={key:1,class:"xml-node__line"},zn=["contenteditable","onKeydown"],eT=["contenteditable","onDblclick","onKeydown"],tT=["contenteditable","onDblclick","onKeydown"],ET=["contenteditable","onKeydown"],rT={key:2,class:"xml-node__line"},nT=["contenteditable","onKeydown"],TT=["contenteditable","onDblclick","onKeydown"],sT=["contenteditable","onDblclick","onKeydown"],oT={key:3,class:"xml-node__line"},aT=["contenteditable","onKeydown"],AT=["contenteditable","onDblclick","onKeydown"],iT=["contenteditable","onDblclick","onKeydown"],RT={key:4},ST={key:0,class:"xml-node__line"},NT=["contenteditable","onKeydown"],IT=["contenteditable","onDblclick","onKeydown"],OT=["contenteditable","onDblclick","onKeydown"],uT=["title"],lT={class:"xml-node__line"},CT=["title"],cT=["contenteditable","onKeydown"],_T={key:1},LT=["contenteditable","onKeydown"],DT=["contenteditable","onDblclick","onKeydown"],pT=["contenteditable","onDblclick","onKeydown"],dT=["title"],PT={key:0,class:"xml-node__children"},fT={key:0,class:"xml-node__text"},hT=["contenteditable","onKeydown"],MT={key:1,class:"xml-node__line"},UT=Mt(o.defineComponent({__name:"XmlNode",props:{node:{},index:{},level:{default:0},parentPath:{default:""},expanded:{},theme:{},selfClosingTags:{default:()=>new Set}},emits:["toggle-expand","copy","update:tagName","update:attributeName","update:attributeValue","update:textContent","update:cdataContent"],setup(E,{emit:t}){o.useCssVars(L=>({a71f898c:L.theme.colors.indentLine}));const r=E,T=t,s=o.ref(!1),a=o.ref(null),R=o.ref(null),C=o.ref(!1),I=o.ref(!1),A=o.ref(""),u=o.ref(""),l=o.ref(""),f=o.ref(""),M=o.ref(""),b=o.ref(null),J=o.ref(null),U=o.ref(null),ee=o.ref(null),te=o.ref(null),k=o.computed(()=>Object.keys(r.node).find(re=>!re.startsWith(":")&&!re.startsWith("#"))||""),le=o.computed(()=>k.value?r.parentPath?`${r.parentPath}.${k.value}[${r.index}]`:`${k.value}[${r.index}]`:""),_e=o.computed(()=>r.expanded.has(le.value)),j=o.computed(()=>r.node["#comment"]?"comment":r.node.__cdata?"cdata":k.value?"element":"unknown"),D=o.computed(()=>{const L=r.node[":@"]||{},re={};return Object.keys(L).forEach(me=>{me.startsWith("@_")&&(re[me.substring(2)]=L[me])}),re}),Ae=o.computed(()=>{if(j.value!=="element"||!k.value)return[];const L=r.node[k.value];return Array.isArray(L)?L:[]}),H=o.computed(()=>Ae.value.some(L=>L.__cdata)),B=o.computed(()=>{if(!H.value)return"";const L=Ae.value.find(re=>re.__cdata);if(L&&Array.isArray(L.__cdata)){const re=L.__cdata;if(re.length>0&&re[0]["#text"])return re[0]["#text"]}return""}),Q=o.computed(()=>{if(j.value!=="element"||!k.value||H.value)return"";const L=r.node[k.value];if(!Array.isArray(L))return"";const re=L.find(me=>me["#text"]);return re?re["#text"]:""}),X=o.computed(()=>{if(j.value!=="comment")return"";const L=r.node["#comment"];return Array.isArray(L)&&L.length>0&&L[0]["#text"]||""}),K=o.computed(()=>Ae.value.some(L=>Object.keys(L).some(me=>!me.startsWith("#")&&!me.startsWith(":")))),oe=o.computed(()=>K.value?Ae.value.filter(L=>Object.keys(L).some(me=>!me.startsWith("#")&&!me.startsWith(":"))).length:0),ue=o.computed(()=>j.value==="element"&&!K.value&&Q.value!==""),pe=o.computed(()=>j.value==="element"&&!K.value&&Q.value===""),x=o.computed(()=>pe.value&&r.selfClosingTags?.has(k.value)||!1),Z=()=>{K.value&&T("toggle-expand",le.value)},Ne=(L,re)=>`${le.value}-child-${re}`,Ue=()=>`${le.value}.${k.value}`,Te=()=>{s.value=!0,A.value=k.value,o.nextTick(()=>{if(b.value){b.value.focus();const L=document.createRange();L.selectNodeContents(b.value);const re=window.getSelection();re?.removeAllRanges(),re?.addRange(L)}})},v=L=>{a.value=L,u.value=L,o.nextTick(()=>{if(J.value){J.value.focus();const re=document.createRange();re.selectNodeContents(J.value);const me=window.getSelection();me?.removeAllRanges(),me?.addRange(re)}})},p=L=>{R.value=L,l.value=D.value[L]||"",o.nextTick(()=>{if(U.value){U.value.focus();const re=document.createRange();re.selectNodeContents(U.value);const me=window.getSelection();me?.removeAllRanges(),me?.addRange(re)}})},m=()=>{C.value=!0,f.value=Q.value,o.nextTick(()=>{if(ee.value){ee.value.focus();const L=document.createRange();L.selectNodeContents(ee.value);const re=window.getSelection();re?.removeAllRanges(),re?.addRange(L)}})},P=()=>{if(!s.value)return;const L=b.value?.innerText.trim()||"";if(!L||L===k.value){s.value=!1;return}s.value=!1,T("update:tagName",le.value,k.value,L)},g=()=>{if(!a.value)return;const L=a.value,re=J.value?.innerText.trim()||"";if(!re||re===L){a.value=null;return}a.value=null,T("update:attributeName",le.value,L,re)},$=()=>{if(!R.value)return;const L=R.value,re=U.value?.innerText.trim()||"";R.value=null,T("update:attributeValue",le.value,L,re)},h=()=>{if(!C.value)return;const L=ee.value?.innerText||"";if(L===Q.value){C.value=!1;return}C.value=!1,T("update:textContent",le.value,L)},z=()=>{s.value=!1,A.value=k.value},ie=()=>{a.value&&(u.value=a.value,a.value=null)},Ce=()=>{R.value&&(l.value=D.value[R.value]||"",R.value=null)},De=()=>{C.value=!1,f.value=Q.value},Be=()=>{I.value=!0,M.value=B.value,o.nextTick(()=>{if(te.value){te.value.focus();const L=document.createRange();L.selectNodeContents(te.value);const re=window.getSelection();re?.removeAllRanges(),re?.addRange(L)}})},ce=()=>{if(!I.value)return;const L=te.value?.innerText||"";if(L===B.value){I.value=!1;return}I.value=!1,T("update:cdataContent",le.value,L)},q=()=>{I.value=!1,M.value=B.value},ge=L=>{K.value&&(L.preventDefault(),Te())};return(L,re)=>{const me=o.resolveComponent("XmlNode",!0);return o.openBlock(),o.createElementBlock("div",{class:"xml-node",style:o.normalizeStyle({paddingLeft:L.level>0?"16px":"0"})},[j.value==="comment"?(o.openBlock(),o.createElementBlock("div",Xn,[o.createElementVNode("span",{style:o.normalizeStyle({color:L.theme.colors.xmlComment})}," <!-- "+o.toDisplayString(X.value)+" --> ",5)])):j.value==="cdata"?(o.openBlock(),o.createElementBlock("div",Kn,[o.createElementVNode("span",{style:o.normalizeStyle({color:L.theme.colors.xmlCdata})}," <![CDATA["+o.toDisplayString(L.node.__cdata)+"]]> ",5)])):j.value==="element"?(o.openBlock(),o.createElementBlock("div",kn,[H.value?(o.openBlock(),o.createElementBlock("div",$n,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,qn),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,Jn),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,Qn),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4),o.createElementVNode("span",{class:"xml-node__cdata",style:o.normalizeStyle({color:L.theme.colors.xmlCdata})},"<![CDATA[",4),o.createElementVNode("span",{class:"xml-node__cdata-content xml-node__cdata-content--editable",style:o.normalizeStyle({color:L.theme.colors.xmlCdata}),contenteditable:I.value,onDblclick:Be,onKeydown:[o.withKeys(o.withModifiers(ce,["prevent"]),["enter"]),o.withKeys(q,["escape"])],onBlur:ce,ref_key:"cdataContentRef",ref:te,title:"Double-click to edit CDATA content"},o.toDisplayString(I.value?M.value:B.value),45,Zn),o.createElementVNode("span",{class:"xml-node__cdata",style:o.normalizeStyle({color:L.theme.colors.xmlCdata})},"]]>",4),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:L.theme.colors.xmlTag})},o.toDisplayString(s.value?A.value:k.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):ue.value?(o.openBlock(),o.createElementBlock("div",jn,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,zn),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,eT),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,tT),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4),o.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:o.normalizeStyle({color:L.theme.colors.xmlText}),contenteditable:C.value,onDblclick:m,onKeydown:[o.withKeys(o.withModifiers(h,["prevent"]),["enter"]),o.withKeys(De,["escape"])],onBlur:h,ref_key:"textContentRef",ref:ee,title:"Double-click to edit text content"},o.toDisplayString(C.value?f.value:Q.value),45,ET),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:L.theme.colors.xmlTag})},o.toDisplayString(s.value?A.value:k.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):pe.value&&x.value?(o.openBlock(),o.createElementBlock("div",rT,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,nT),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,TT),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,sT),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})}," />",4)])):pe.value?(o.openBlock(),o.createElementBlock("div",oT,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:Te,onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,aT),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,AT),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,iT),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"></",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:L.theme.colors.xmlTag})},o.toDisplayString(s.value?A.value:k.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])):(o.openBlock(),o.createElementBlock("div",RT,[!_e.value&&K.value?(o.openBlock(),o.createElementBlock("div",ST,[o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:re[0]||(re[0]=de=>Z()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:o.withModifiers(Te,["stop"]),onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click or right-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,NT)]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,IT),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,OT),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:re[1]||(re[1]=de=>Z()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)]),o.createElementVNode("span",{class:"xml-node__collapsed-badge",style:o.normalizeStyle({backgroundColor:L.theme.colors.collapsedBackground,color:L.theme.colors.collapsedText}),onClick:re[2]||(re[2]=de=>Z()),title:`Click to expand ${oe.value} child element${oe.value>1?"s":""}`},o.toDisplayString(oe.value)+" child"+o.toDisplayString(oe.value>1?"ren":""),13,uT),o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:re[3]||(re[3]=de=>Z()),title:"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:L.theme.colors.xmlTag})},o.toDisplayString(s.value?A.value:k.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])])):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",lT,[K.value?(o.openBlock(),o.createElementBlock("span",{key:0,class:"xml-node__clickable-part",onClick:re[4]||(re[4]=de=>Z()),title:_e.value?"Click to collapse":"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:o.withModifiers(Te,["stop"]),onContextmenu:ge,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click or right-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,cT)],8,CT)):(o.openBlock(),o.createElementBlock("span",_T,[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"<",4),o.createElementVNode("span",{class:"xml-node__tag xml-node__tag--editable",style:o.normalizeStyle({color:L.theme.colors.xmlTag}),contenteditable:s.value,onDblclick:Te,onKeydown:[o.withKeys(o.withModifiers(P,["prevent"]),["enter"]),o.withKeys(z,["escape"])],onBlur:P,ref_key:"tagNameRef",ref:b,title:"Double-click to edit tag name"},o.toDisplayString(s.value?A.value:k.value),45,LT)])),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(D.value,(de,F)=>(o.openBlock(),o.createElementBlock("span",{key:F,class:"xml-node__attribute"},[o.createElementVNode("span",{class:"xml-node__attr-name xml-node__attr-name--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttribute}),contenteditable:a.value===F,onDblclick:V=>v(F),onKeydown:[o.withKeys(o.withModifiers(g,["prevent"]),["enter"]),o.withKeys(ie,["escape"])],onBlur:g,ref_for:!0,ref:V=>{a.value===F&&(J.value=V)},title:"Double-click to edit attribute name"},o.toDisplayString(a.value===F?u.value:F),45,DT),o.createElementVNode("span",{class:"xml-node__equals",style:o.normalizeStyle({color:L.theme.colors.xmlEquals})},"=",4),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4),o.createElementVNode("span",{class:"xml-node__attr-value xml-node__attr-value--editable",style:o.normalizeStyle({color:L.theme.colors.xmlAttributeValue}),contenteditable:R.value===F,onDblclick:V=>p(F),onKeydown:[o.withKeys(o.withModifiers($,["prevent"]),["enter"]),o.withKeys(Ce,["escape"])],onBlur:$,ref_for:!0,ref:V=>{R.value===F&&(U.value=V)},title:"Double-click to edit attribute value"},o.toDisplayString(R.value===F?l.value:de),45,pT),o.createElementVNode("span",{class:"xml-node__quote",style:o.normalizeStyle({color:L.theme.colors.xmlQuote})},'"',4)]))),128)),K.value?(o.openBlock(),o.createElementBlock("span",{key:2,class:"xml-node__clickable-part",onClick:re[5]||(re[5]=de=>Z()),title:_e.value?"Click to collapse":"Click to expand"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)],8,dT)):(o.openBlock(),o.createElementBlock("span",{key:3,class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},o.toDisplayString(K.value?">":"/>"),5))]),_e.value&&K.value?(o.openBlock(),o.createElementBlock("div",PT,[Ae.value.length===0&&Q.value.trim()?(o.openBlock(),o.createElementBlock("div",fT,[o.createElementVNode("span",{class:"xml-node__text-content xml-node__text-content--editable",style:o.normalizeStyle({color:L.theme.colors.xmlText}),contenteditable:C.value,onDblclick:m,onKeydown:[o.withKeys(o.withModifiers(h,["prevent"]),["enter"]),o.withKeys(De,["escape"])],onBlur:h,ref_key:"textContentRef",ref:ee,title:"Double-click to edit text content"},o.toDisplayString(C.value?f.value:Q.value),45,hT)])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Ae.value,(de,F)=>(o.openBlock(),o.createBlock(me,{key:Ne(de,F),node:de,index:F,level:L.level+1,"parent-path":Ue(),expanded:L.expanded,theme:L.theme,selfClosingTags:L.selfClosingTags,onToggleExpand:re[6]||(re[6]=V=>L.$emit("toggle-expand",V)),onCopy:re[7]||(re[7]=V=>L.$emit("copy",V)),"onUpdate:tagName":re[8]||(re[8]=(V,ve,Qe)=>L.$emit("update:tagName",V,ve,Qe)),"onUpdate:attributeName":re[9]||(re[9]=(V,ve,Qe)=>L.$emit("update:attributeName",V,ve,Qe)),"onUpdate:attributeValue":re[10]||(re[10]=(V,ve,Qe)=>L.$emit("update:attributeValue",V,ve,Qe)),"onUpdate:textContent":re[11]||(re[11]=(V,ve)=>L.$emit("update:textContent",V,ve)),"onUpdate:cdataContent":re[12]||(re[12]=(V,ve)=>L.$emit("update:cdataContent",V,ve))},null,8,["node","index","level","parent-path","expanded","theme","selfClosingTags"]))),128))])):o.createCommentVNode("",!0),_e.value&&K.value?(o.openBlock(),o.createElementBlock("div",MT,[o.createElementVNode("span",{class:"xml-node__clickable-part",onClick:re[13]||(re[13]=de=>Z()),title:"Click to collapse"},[o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},"</",4),o.createElementVNode("span",{class:"xml-node__tag",style:o.normalizeStyle({color:L.theme.colors.xmlTag})},o.toDisplayString(s.value?A.value:k.value),5),o.createElementVNode("span",{class:"xml-node__bracket",style:o.normalizeStyle({color:L.theme.colors.xmlBracket})},">",4)])])):o.createCommentVNode("",!0)],64))]))])):o.createCommentVNode("",!0)],4)}}}),[["__scopeId","data-v-acda96f3"]]),VE={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",xmlTag:"#116329",xmlAttribute:"#0550ae",xmlAttributeValue:"#0a3069",xmlText:"#24292f",xmlComment:"#6e7781",xmlCdata:"#8250df",xmlDeclaration:"#953800",xmlBracket:"#6e7781",xmlEquals:"#6e7781",xmlQuote:"#0550ae",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",xmlTag:"#7ee787",xmlAttribute:"#79c0ff",xmlAttributeValue:"#a5d6ff",xmlText:"#c9d1d9",xmlComment:"#8b949e",xmlCdata:"#d2a8ff",xmlDeclaration:"#ffa657",xmlBracket:"#8b949e",xmlEquals:"#8b949e",xmlQuote:"#79c0ff",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",border:"#e5e5e5",text:"#171717",textSecondary:"#737373",buttonBackground:"#fafafa",buttonBackgroundHover:"#f5f5f5",buttonBorder:"#e5e5e5",buttonText:"#171717",buttonPrimary:"#22c55e",buttonPrimaryHover:"#16a34a",success:"#22c55e",successBackground:"#dcfce7",error:"#ef4444",errorBackground:"#fee2e2",xmlTag:"#16a34a",xmlAttribute:"#2563eb",xmlAttributeValue:"#1e40af",xmlText:"#171717",xmlComment:"#737373",xmlCdata:"#9333ea",xmlDeclaration:"#ea580c",xmlBracket:"#737373",xmlEquals:"#737373",xmlQuote:"#2563eb",collapsedBackground:"#dbeafe",collapsedText:"#1d4ed8",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",xmlTag:"#007a5a",xmlAttribute:"#1264a3",xmlAttributeValue:"#0b4c8c",xmlText:"#3d3c40",xmlComment:"#616061",xmlCdata:"#8b2eff",xmlDeclaration:"#e8912d",xmlBracket:"#616061",xmlEquals:"#616061",xmlQuote:"#1264a3",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#e8d5b7"}}},mT=E=>VE[E]||VE["github-light"],vE=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",BT=vE+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",gT="["+vE+"]["+BT+"]*",yT=new RegExp("^"+gT+"$");function wE(E,t){const r=[];let T=t.exec(E);for(;T;){const s=[];s.startIndex=t.lastIndex-T[0].length;const a=T.length;for(let R=0;R<a;R++)s.push(T[R]);r.push(s),T=t.exec(E)}return r}const xt=function(E){const t=yT.exec(E);return!(t===null||typeof t>"u")};function GT(E){return typeof E<"u"}const FT={allowBooleanAttributes:!1,unpairedTags:[]};function WE(E,t){t=Object.assign({},FT,t);const r=[];let T=!1,s=!1;E[0]==="\uFEFF"&&(E=E.substr(1));for(let a=0;a<E.length;a++)if(E[a]==="<"&&E[a+1]==="?"){if(a+=2,a=KE(E,a),a.err)return a}else if(E[a]==="<"){let R=a;if(a++,E[a]==="!"){a=kE(E,a);continue}else{let C=!1;E[a]==="/"&&(C=!0,a++);let I="";for(;a<E.length&&E[a]!==">"&&E[a]!==" "&&E[a]!==" "&&E[a]!==`
14
+ `&&E[a]!=="\r";a++)I+=E[a];if(I=I.trim(),I[I.length-1]==="/"&&(I=I.substring(0,I.length-1),a--),!WT(I)){let l;return I.trim().length===0?l="Invalid space after '<'.":l="Tag '"+I+"' is an invalid name.",be("InvalidTag",l,ke(E,a))}const A=xT(E,a);if(A===!1)return be("InvalidAttr","Attributes for '"+I+"' have open quote.",ke(E,a));let u=A.value;if(a=A.index,u[u.length-1]==="/"){const l=a-u.length;u=u.substring(0,u.length-1);const f=$E(u,t);if(f===!0)T=!0;else return be(f.err.code,f.err.msg,ke(E,l+f.err.line))}else if(C)if(A.tagClosed){if(u.trim().length>0)return be("InvalidTag","Closing tag '"+I+"' can't have attributes or invalid starting.",ke(E,R));if(r.length===0)return be("InvalidTag","Closing tag '"+I+"' has not been opened.",ke(E,R));{const l=r.pop();if(I!==l.tagName){let f=ke(E,l.tagStartPos);return be("InvalidTag","Expected closing tag '"+l.tagName+"' (opened in line "+f.line+", col "+f.col+") instead of closing tag '"+I+"'.",ke(E,R))}r.length==0&&(s=!0)}}else return be("InvalidTag","Closing tag '"+I+"' doesn't have proper closing.",ke(E,a));else{const l=$E(u,t);if(l!==!0)return be(l.err.code,l.err.msg,ke(E,a-u.length+l.err.line));if(s===!0)return be("InvalidXml","Multiple possible root nodes found.",ke(E,a));t.unpairedTags.indexOf(I)!==-1||r.push({tagName:I,tagStartPos:R}),T=!0}for(a++;a<E.length;a++)if(E[a]==="<")if(E[a+1]==="!"){a++,a=kE(E,a);continue}else if(E[a+1]==="?"){if(a=KE(E,++a),a.err)return a}else break;else if(E[a]==="&"){const l=vT(E,a);if(l==-1)return be("InvalidChar","char '&' is not expected.",ke(E,a));a=l}else if(s===!0&&!XE(E[a]))return be("InvalidXml","Extra text at the end",ke(E,a));E[a]==="<"&&a--}}else{if(XE(E[a]))continue;return be("InvalidChar","char '"+E[a]+"' is not expected.",ke(E,a))}if(T){if(r.length==1)return be("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",ke(E,r[0].tagStartPos));if(r.length>0)return be("InvalidXml","Invalid '"+JSON.stringify(r.map(a=>a.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return be("InvalidXml","Start tag expected.",1);return!0}function XE(E){return E===" "||E===" "||E===`
15
+ `||E==="\r"}function KE(E,t){const r=t;for(;t<E.length;t++)if(E[t]=="?"||E[t]==" "){const T=E.substr(r,t-r);if(t>5&&T==="xml")return be("InvalidXml","XML declaration allowed only at the start of the document.",ke(E,t));if(E[t]=="?"&&E[t+1]==">"){t++;break}else continue}return t}function kE(E,t){if(E.length>t+5&&E[t+1]==="-"&&E[t+2]==="-"){for(t+=3;t<E.length;t++)if(E[t]==="-"&&E[t+1]==="-"&&E[t+2]===">"){t+=2;break}}else if(E.length>t+8&&E[t+1]==="D"&&E[t+2]==="O"&&E[t+3]==="C"&&E[t+4]==="T"&&E[t+5]==="Y"&&E[t+6]==="P"&&E[t+7]==="E"){let r=1;for(t+=8;t<E.length;t++)if(E[t]==="<")r++;else if(E[t]===">"&&(r--,r===0))break}else if(E.length>t+9&&E[t+1]==="["&&E[t+2]==="C"&&E[t+3]==="D"&&E[t+4]==="A"&&E[t+5]==="T"&&E[t+6]==="A"&&E[t+7]==="["){for(t+=8;t<E.length;t++)if(E[t]==="]"&&E[t+1]==="]"&&E[t+2]===">"){t+=2;break}}return t}const HT='"',bT="'";function xT(E,t){let r="",T="",s=!1;for(;t<E.length;t++){if(E[t]===HT||E[t]===bT)T===""?T=E[t]:T!==E[t]||(T="");else if(E[t]===">"&&T===""){s=!0;break}r+=E[t]}return T!==""?!1:{value:r,index:t,tagClosed:s}}const YT=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $E(E,t){const r=wE(E,YT),T={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return be("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",Bt(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return be("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",Bt(r[s]));if(r[s][3]===void 0&&!t.allowBooleanAttributes)return be("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",Bt(r[s]));const a=r[s][2];if(!wT(a))return be("InvalidAttr","Attribute '"+a+"' is an invalid name.",Bt(r[s]));if(!T.hasOwnProperty(a))T[a]=1;else return be("InvalidAttr","Attribute '"+a+"' is repeated.",Bt(r[s]))}return!0}function VT(E,t){let r=/\d/;for(E[t]==="x"&&(t++,r=/[\da-fA-F]/);t<E.length;t++){if(E[t]===";")return t;if(!E[t].match(r))break}return-1}function vT(E,t){if(t++,E[t]===";")return-1;if(E[t]==="#")return t++,VT(E,t);let r=0;for(;t<E.length;t++,r++)if(!(E[t].match(/\w/)&&r<20)){if(E[t]===";")break;return-1}return t}function be(E,t,r){return{err:{code:E,msg:t,line:r.line||r,col:r.col}}}function wT(E){return xt(E)}function WT(E){return xt(E)}function ke(E,t){const r=E.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function Bt(E){return E.startIndex+E[1].length}const XT={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(E,t,r){return E},captureMetaData:!1},KT=function(E){return Object.assign({},XT,E)};let Yt;typeof Symbol!="function"?Yt="@@xmlMetadata":Yt=Symbol("XML Node Metadata");class ct{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,r){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:r})}addChild(t,r){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child}),r!==void 0&&(this.child[this.child.length-1][Yt]={startIndex:r})}static getMetaDataSymbol(){return Yt}}class kT{constructor(t){this.suppressValidationErr=!t}readDocType(t,r){const T={};if(t[r+3]==="O"&&t[r+4]==="C"&&t[r+5]==="T"&&t[r+6]==="Y"&&t[r+7]==="P"&&t[r+8]==="E"){r=r+9;let s=1,a=!1,R=!1,C="";for(;r<t.length;r++)if(t[r]==="<"&&!R){if(a&&_t(t,"!ENTITY",r)){r+=7;let I,A;[I,A,r]=this.readEntityExp(t,r+1,this.suppressValidationErr),A.indexOf("&")===-1&&(T[I]={regx:RegExp(`&${I};`,"g"),val:A})}else if(a&&_t(t,"!ELEMENT",r)){r+=8;const{index:I}=this.readElementExp(t,r+1);r=I}else if(a&&_t(t,"!ATTLIST",r))r+=8;else if(a&&_t(t,"!NOTATION",r)){r+=9;const{index:I}=this.readNotationExp(t,r+1,this.suppressValidationErr);r=I}else if(_t(t,"!--",r))R=!0;else throw new Error("Invalid DOCTYPE");s++,C=""}else if(t[r]===">"){if(R?t[r-1]==="-"&&t[r-2]==="-"&&(R=!1,s--):s--,s===0)break}else t[r]==="["?a=!0:C+=t[r];if(s!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:T,i:r}}readEntityExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r])&&t[r]!=='"'&&t[r]!=="'";)T+=t[r],r++;if(gt(T),r=$e(t,r),!this.suppressValidationErr){if(t.substring(r,r+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[r]==="%")throw new Error("Parameter entities are not supported")}let s="";return[r,s]=this.readIdentifierVal(t,r,"entity"),r--,[T,s,r]}readNotationExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;!this.suppressValidationErr&&gt(T),r=$e(t,r);const s=t.substring(r,r+6).toUpperCase();if(!this.suppressValidationErr&&s!=="SYSTEM"&&s!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${s}"`);r+=s.length,r=$e(t,r);let a=null,R=null;if(s==="PUBLIC")[r,a]=this.readIdentifierVal(t,r,"publicIdentifier"),r=$e(t,r),(t[r]==='"'||t[r]==="'")&&([r,R]=this.readIdentifierVal(t,r,"systemIdentifier"));else if(s==="SYSTEM"&&([r,R]=this.readIdentifierVal(t,r,"systemIdentifier"),!this.suppressValidationErr&&!R))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:T,publicIdentifier:a,systemIdentifier:R,index:--r}}readIdentifierVal(t,r,T){let s="";const a=t[r];if(a!=='"'&&a!=="'")throw new Error(`Expected quoted string, found "${a}"`);for(r++;r<t.length&&t[r]!==a;)s+=t[r],r++;if(t[r]!==a)throw new Error(`Unterminated ${T} value`);return r++,[r,s]}readElementExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;if(!this.suppressValidationErr&&!xt(T))throw new Error(`Invalid element name: "${T}"`);r=$e(t,r);let s="";if(t[r]==="E"&&_t(t,"MPTY",r))r+=4;else if(t[r]==="A"&&_t(t,"NY",r))r+=2;else if(t[r]==="("){for(r++;r<t.length&&t[r]!==")";)s+=t[r],r++;if(t[r]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${t[r]}"`);return{elementName:T,contentModel:s.trim(),index:r}}readAttlistExp(t,r){r=$e(t,r);let T="";for(;r<t.length&&!/\s/.test(t[r]);)T+=t[r],r++;gt(T),r=$e(t,r);let s="";for(;r<t.length&&!/\s/.test(t[r]);)s+=t[r],r++;if(!gt(s))throw new Error(`Invalid attribute name: "${s}"`);r=$e(t,r);let a="";if(t.substring(r,r+8).toUpperCase()==="NOTATION"){if(a="NOTATION",r+=8,r=$e(t,r),t[r]!=="(")throw new Error(`Expected '(', found "${t[r]}"`);r++;let C=[];for(;r<t.length&&t[r]!==")";){let I="";for(;r<t.length&&t[r]!=="|"&&t[r]!==")";)I+=t[r],r++;if(I=I.trim(),!gt(I))throw new Error(`Invalid notation name: "${I}"`);C.push(I),t[r]==="|"&&(r++,r=$e(t,r))}if(t[r]!==")")throw new Error("Unterminated list of notations");r++,a+=" ("+C.join("|")+")"}else{for(;r<t.length&&!/\s/.test(t[r]);)a+=t[r],r++;const C=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!C.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}r=$e(t,r);let R="";return t.substring(r,r+8).toUpperCase()==="#REQUIRED"?(R="#REQUIRED",r+=8):t.substring(r,r+7).toUpperCase()==="#IMPLIED"?(R="#IMPLIED",r+=7):[r,R]=this.readIdentifierVal(t,r,"ATTLIST"),{elementName:T,attributeName:s,attributeType:a,defaultValue:R,index:r}}}const $e=(E,t)=>{for(;t<E.length&&/\s/.test(E[t]);)t++;return t};function _t(E,t,r){for(let T=0;T<t.length;T++)if(t[T]!==E[r+T+1])return!1;return!0}function gt(E){if(xt(E))return E;throw new Error(`Invalid entity name ${E}`)}const $T=/^[-+]?0x[a-fA-F0-9]+$/,qT=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,JT={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function QT(E,t={}){if(t=Object.assign({},JT,t),!E||typeof E!="string")return E;let r=E.trim();if(t.skipLike!==void 0&&t.skipLike.test(r))return E;if(E==="0")return 0;if(t.hex&&$T.test(r))return es(r,16);if(r.search(/.+[eE].+/)!==-1)return jT(E,r,t);{const T=qT.exec(r);if(T){const s=T[1]||"",a=T[2];let R=zT(T[3]);const C=s?E[a.length+1]===".":E[a.length]===".";if(!t.leadingZeros&&(a.length>1||a.length===1&&!C))return E;{const I=Number(r),A=String(I);if(I===0)return I;if(A.search(/[eE]/)!==-1)return t.eNotation?I:E;if(r.indexOf(".")!==-1)return A==="0"||A===R||A===`${s}${R}`?I:E;let u=a?R:r;return a?u===A||s+u===A?I:E:u===A||u===s+A?I:E}}else return E}}const ZT=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function jT(E,t,r){if(!r.eNotation)return E;const T=t.match(ZT);if(T){let s=T[1]||"";const a=T[3].indexOf("e")===-1?"E":"e",R=T[2],C=s?E[R.length+1]===a:E[R.length]===a;return R.length>1&&C?E:R.length===1&&(T[3].startsWith(`.${a}`)||T[3][0]===a)?Number(t):r.leadingZeros&&!C?(t=(T[1]||"")+T[3],Number(t)):E}else return E}function zT(E){return E&&E.indexOf(".")!==-1&&(E=E.replace(/0+$/,""),E==="."?E="0":E[0]==="."?E="0"+E:E[E.length-1]==="."&&(E=E.substring(0,E.length-1))),E}function es(E,t){if(parseInt)return parseInt(E,t);if(Number.parseInt)return Number.parseInt(E,t);if(window&&window.parseInt)return window.parseInt(E,t);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function qE(E){return typeof E=="function"?E:Array.isArray(E)?t=>{for(const r of E)if(typeof r=="string"&&t===r||r instanceof RegExp&&r.test(t))return!0}:()=>!1}class ts{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(r,T)=>String.fromCodePoint(Number.parseInt(T,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(r,T)=>String.fromCodePoint(Number.parseInt(T,16))}},this.addExternalEntities=Es,this.parseXml=os,this.parseTextData=rs,this.resolveNameSpace=ns,this.buildAttributesMap=ss,this.isItStopNode=Rs,this.replaceEntitiesValue=As,this.readStopNodeData=Ns,this.saveTextToParentTag=is,this.addChild=as,this.ignoreAttributesFn=qE(this.options.ignoreAttributes)}}function Es(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];this.lastEntities[T]={regex:new RegExp("&"+T+";","g"),val:E[T]}}}function rs(E,t,r,T,s,a,R){if(E!==void 0&&(this.options.trimValues&&!T&&(E=E.trim()),E.length>0)){R||(E=this.replaceEntitiesValue(E));const C=this.options.tagValueProcessor(t,E,r,s,a);return C==null?E:typeof C!=typeof E||C!==E?C:this.options.trimValues?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E.trim()===E?Zt(E,this.options.parseTagValue,this.options.numberParseOptions):E}}function ns(E){if(this.options.removeNSPrefix){const t=E.split(":"),r=E.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(E=r+t[1])}return E}const Ts=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function ss(E,t,r){if(this.options.ignoreAttributes!==!0&&typeof E=="string"){const T=wE(E,Ts),s=T.length,a={};for(let R=0;R<s;R++){const C=this.resolveNameSpace(T[R][1]);if(this.ignoreAttributesFn(C,t))continue;let I=T[R][4],A=this.options.attributeNamePrefix+C;if(C.length)if(this.options.transformAttributeName&&(A=this.options.transformAttributeName(A)),A==="__proto__"&&(A="#__proto__"),I!==void 0){this.options.trimValues&&(I=I.trim()),I=this.replaceEntitiesValue(I);const u=this.options.attributeValueProcessor(C,I,t);u==null?a[A]=I:typeof u!=typeof I||u!==I?a[A]=u:a[A]=Zt(I,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[A]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){const R={};return R[this.options.attributesGroupName]=a,R}return a}}const os=function(E){E=E.replace(/\r\n?/g,`
16
+ `);const t=new ct("!xml");let r=t,T="",s="";const a=new kT(this.options.processEntities);for(let R=0;R<E.length;R++)if(E[R]==="<")if(E[R+1]==="/"){const I=Lt(E,">",R,"Closing Tag is not closed.");let A=E.substring(R+2,I).trim();if(this.options.removeNSPrefix){const f=A.indexOf(":");f!==-1&&(A=A.substr(f+1))}this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&(T=this.saveTextToParentTag(T,r,s));const u=s.substring(s.lastIndexOf(".")+1);if(A&&this.options.unpairedTags.indexOf(A)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${A}>`);let l=0;u&&this.options.unpairedTags.indexOf(u)!==-1?(l=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=s.lastIndexOf("."),s=s.substring(0,l),r=this.tagsNodeStack.pop(),T="",R=I}else if(E[R+1]==="?"){let I=Qt(E,R,!1,"?>");if(!I)throw new Error("Pi Tag is not closed.");if(T=this.saveTextToParentTag(T,r,s),!(this.options.ignoreDeclaration&&I.tagName==="?xml"||this.options.ignorePiTags)){const A=new ct(I.tagName);A.add(this.options.textNodeName,""),I.tagName!==I.tagExp&&I.attrExpPresent&&(A[":@"]=this.buildAttributesMap(I.tagExp,s,I.tagName)),this.addChild(r,A,s,R)}R=I.closeIndex+1}else if(E.substr(R+1,3)==="!--"){const I=Lt(E,"-->",R+4,"Comment is not closed.");if(this.options.commentPropName){const A=E.substring(R+4,I-2);T=this.saveTextToParentTag(T,r,s),r.add(this.options.commentPropName,[{[this.options.textNodeName]:A}])}R=I}else if(E.substr(R+1,2)==="!D"){const I=a.readDocType(E,R);this.docTypeEntities=I.entities,R=I.i}else if(E.substr(R+1,2)==="!["){const I=Lt(E,"]]>",R,"CDATA is not closed.")-2,A=E.substring(R+9,I);T=this.saveTextToParentTag(T,r,s);let u=this.parseTextData(A,r.tagname,s,!0,!1,!0,!0);u==null&&(u=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:A}]):r.add(this.options.textNodeName,u),R=I+2}else{let I=Qt(E,R,this.options.removeNSPrefix),A=I.tagName;const u=I.rawTagName;let l=I.tagExp,f=I.attrExpPresent,M=I.closeIndex;this.options.transformTagName&&(A=this.options.transformTagName(A)),r&&T&&r.tagname!=="!xml"&&(T=this.saveTextToParentTag(T,r,s,!1));const b=r;b&&this.options.unpairedTags.indexOf(b.tagname)!==-1&&(r=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),A!==t.tagname&&(s+=s?"."+A:A);const J=R;if(this.isItStopNode(this.options.stopNodes,s,A)){let U="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)A[A.length-1]==="/"?(A=A.substr(0,A.length-1),s=s.substr(0,s.length-1),l=A):l=l.substr(0,l.length-1),R=I.closeIndex;else if(this.options.unpairedTags.indexOf(A)!==-1)R=I.closeIndex;else{const te=this.readStopNodeData(E,u,M+1);if(!te)throw new Error(`Unexpected end of ${u}`);R=te.i,U=te.tagContent}const ee=new ct(A);A!==l&&f&&(ee[":@"]=this.buildAttributesMap(l,s,A)),U&&(U=this.parseTextData(U,A,s,!0,f,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),ee.add(this.options.textNodeName,U),this.addChild(r,ee,s,J)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){A[A.length-1]==="/"?(A=A.substr(0,A.length-1),s=s.substr(0,s.length-1),l=A):l=l.substr(0,l.length-1),this.options.transformTagName&&(A=this.options.transformTagName(A));const U=new ct(A);A!==l&&f&&(U[":@"]=this.buildAttributesMap(l,s,A)),this.addChild(r,U,s,J),s=s.substr(0,s.lastIndexOf("."))}else{const U=new ct(A);this.tagsNodeStack.push(r),A!==l&&f&&(U[":@"]=this.buildAttributesMap(l,s,A)),this.addChild(r,U,s,J),r=U}T="",R=M}}else T+=E[R];return t.child};function as(E,t,r,T){this.options.captureMetaData||(T=void 0);const s=this.options.updateTag(t.tagname,r,t[":@"]);s===!1||(typeof s=="string"&&(t.tagname=s),E.addChild(t,T))}const As=function(E){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];E=E.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];E=E.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];E=E.replace(r.regex,r.val)}E=E.replace(this.ampEntity.regex,this.ampEntity.val)}return E};function is(E,t,r,T){return E&&(T===void 0&&(T=t.child.length===0),E=this.parseTextData(E,t.tagname,r,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,T),E!==void 0&&E!==""&&t.add(this.options.textNodeName,E),E=""),E}function Rs(E,t,r){const T="*."+r;for(const s in E){const a=E[s];if(T===a||t===a)return!0}return!1}function Ss(E,t,r=">"){let T,s="";for(let a=t;a<E.length;a++){let R=E[a];if(T)R===T&&(T="");else if(R==='"'||R==="'")T=R;else if(R===r[0])if(r[1]){if(E[a+1]===r[1])return{data:s,index:a}}else return{data:s,index:a};else R===" "&&(R=" ");s+=R}}function Lt(E,t,r,T){const s=E.indexOf(t,r);if(s===-1)throw new Error(T);return s+t.length-1}function Qt(E,t,r,T=">"){const s=Ss(E,t+1,T);if(!s)return;let a=s.data;const R=s.index,C=a.search(/\s/);let I=a,A=!0;C!==-1&&(I=a.substring(0,C),a=a.substring(C+1).trimStart());const u=I;if(r){const l=I.indexOf(":");l!==-1&&(I=I.substr(l+1),A=I!==s.data.substr(l+1))}return{tagName:I,tagExp:a,closeIndex:R,attrExpPresent:A,rawTagName:u}}function Ns(E,t,r){const T=r;let s=1;for(;r<E.length;r++)if(E[r]==="<")if(E[r+1]==="/"){const a=Lt(E,">",r,`${t} is not closed`);if(E.substring(r+2,a).trim()===t&&(s--,s===0))return{tagContent:E.substring(T,r),i:a};r=a}else if(E[r+1]==="?")r=Lt(E,"?>",r+1,"StopNode is not closed.");else if(E.substr(r+1,3)==="!--")r=Lt(E,"-->",r+3,"StopNode is not closed.");else if(E.substr(r+1,2)==="![")r=Lt(E,"]]>",r,"StopNode is not closed.")-2;else{const a=Qt(E,r,">");a&&((a&&a.tagName)===t&&a.tagExp[a.tagExp.length-1]!=="/"&&s++,r=a.closeIndex)}}function Zt(E,t,r){if(t&&typeof E=="string"){const T=E.trim();return T==="true"?!0:T==="false"?!1:QT(E,r)}else return GT(E)?E:""}const jt=ct.getMetaDataSymbol();function Is(E,t){return JE(E,t)}function JE(E,t,r){let T;const s={};for(let a=0;a<E.length;a++){const R=E[a],C=Os(R);let I="";if(r===void 0?I=C:I=r+"."+C,C===t.textNodeName)T===void 0?T=R[C]:T+=""+R[C];else{if(C===void 0)continue;if(R[C]){let A=JE(R[C],t,I);const u=ls(A,t);R[jt]!==void 0&&(A[jt]=R[jt]),R[":@"]?us(A,R[":@"],I,t):Object.keys(A).length===1&&A[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?A=A[t.textNodeName]:Object.keys(A).length===0&&(t.alwaysCreateTextNode?A[t.textNodeName]="":A=""),s[C]!==void 0&&s.hasOwnProperty(C)?(Array.isArray(s[C])||(s[C]=[s[C]]),s[C].push(A)):t.isArray(C,I,u)?s[C]=[A]:s[C]=A}}}return typeof T=="string"?T.length>0&&(s[t.textNodeName]=T):T!==void 0&&(s[t.textNodeName]=T),s}function Os(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];if(T!==":@")return T}}function us(E,t,r,T){if(t){const s=Object.keys(t),a=s.length;for(let R=0;R<a;R++){const C=s[R];T.isArray(C,r+"."+C,!0,!0)?E[C]=[t[C]]:E[C]=t[C]}}}function ls(E,t){const{textNodeName:r}=t,T=Object.keys(E).length;return!!(T===0||T===1&&(E[r]||typeof E[r]=="boolean"||E[r]===0))}class Cs{constructor(t){this.externalEntities={},this.options=KT(t)}parse(t,r){if(typeof t!="string"&&t.toString)t=t.toString();else if(typeof t!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(r){r===!0&&(r={});const a=WE(t,r);if(a!==!0)throw Error(`${a.err.msg}:${a.err.line}:${a.err.col}`)}const T=new ts(this.options);T.addExternalEntities(this.externalEntities);const s=T.parseXml(t);return this.options.preserveOrder||s===void 0?s:Is(s,this.options)}addEntity(t,r){if(r.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(r==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=r}static getMetaDataSymbol(){return ct.getMetaDataSymbol()}}const cs=`
17
+ `;function _s(E,t){let r="";return t.format&&t.indentBy.length>0&&(r=cs),QE(E,t,"",r)}function QE(E,t,r,T){let s="",a=!1;for(let R=0;R<E.length;R++){const C=E[R],I=Ls(C);if(I===void 0)continue;let A="";if(r.length===0?A=I:A=`${r}.${I}`,I===t.textNodeName){let b=C[I];Ds(A,t)||(b=t.tagValueProcessor(I,b),b=jE(b,t)),a&&(s+=T),s+=b,a=!1;continue}else if(I===t.cdataPropName){a&&(s+=T),s+=`<![CDATA[${C[I][0][t.textNodeName]}]]>`,a=!1;continue}else if(I===t.commentPropName){s+=T+`<!--${C[I][0][t.textNodeName]}-->`,a=!0;continue}else if(I[0]==="?"){const b=ZE(C[":@"],t),J=I==="?xml"?"":T;let U=C[I][0][t.textNodeName];U=U.length!==0?" "+U:"",s+=J+`<${I}${U}${b}?>`,a=!0;continue}let u=T;u!==""&&(u+=t.indentBy);const l=ZE(C[":@"],t),f=T+`<${I}${l}`,M=QE(C[I],t,A,u);t.unpairedTags.indexOf(I)!==-1?t.suppressUnpairedNode?s+=f+">":s+=f+"/>":(!M||M.length===0)&&t.suppressEmptyNode?s+=f+"/>":M&&M.endsWith(">")?s+=f+`>${M}${T}</${I}>`:(s+=f+">",M&&T!==""&&(M.includes("/>")||M.includes("</"))?s+=T+t.indentBy+M+T:s+=M,s+=`</${I}>`),a=!0}return s}function Ls(E){const t=Object.keys(E);for(let r=0;r<t.length;r++){const T=t[r];if(E.hasOwnProperty(T)&&T!==":@")return T}}function ZE(E,t){let r="";if(E&&!t.ignoreAttributes)for(let T in E){if(!E.hasOwnProperty(T))continue;let s=t.attributeValueProcessor(T,E[T]);s=jE(s,t),s===!0&&t.suppressBooleanAttributes?r+=` ${T.substr(t.attributeNamePrefix.length)}`:r+=` ${T.substr(t.attributeNamePrefix.length)}="${s}"`}return r}function Ds(E,t){E=E.substr(0,E.length-t.textNodeName.length-1);let r=E.substr(E.lastIndexOf(".")+1);for(let T in t.stopNodes)if(t.stopNodes[T]===E||t.stopNodes[T]==="*."+r)return!0;return!1}function jE(E,t){if(E&&E.length>0&&t.processEntities)for(let r=0;r<t.entities.length;r++){const T=t.entities[r];E=E.replace(T.regex,T.val)}return E}const ps={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(E,t){return t},attributeValueProcessor:function(E,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Nt(E){this.options=Object.assign({},ps,E),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=qE(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=fs),this.processTextOrObjNode=ds,this.options.format?(this.indentate=Ps,this.tagEndChar=`>
18
18
  `,this.newLine=`
19
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Nt.prototype.build=function(E){return this.options.preserveOrder?UT(E,this.options):(Array.isArray(E)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(E={[this.options.arrayNodeName]:E}),this.j2x(E,0,[]).val)},Nt.prototype.j2x=function(E,t,r){let T="",o="";const a=r.join(".");for(let A in E)if(Object.prototype.hasOwnProperty.call(E,A))if(typeof E[A]>"u")this.isAttribute(A)&&(o+="");else if(E[A]===null)this.isAttribute(A)||A===this.options.cdataPropName?o+="":A[0]==="?"?o+=this.indentate(t)+"<"+A+"?"+this.tagEndChar:o+=this.indentate(t)+"<"+A+"/"+this.tagEndChar;else if(E[A]instanceof Date)o+=this.buildTextValNode(E[A],A,"",t);else if(typeof E[A]!="object"){const C=this.isAttribute(A);if(C&&!this.ignoreAttributesFn(C,a))T+=this.buildAttrPairStr(C,""+E[A]);else if(!C)if(A===this.options.textNodeName){let I=this.options.tagValueProcessor(A,""+E[A]);o+=this.replaceEntitiesValue(I)}else o+=this.buildTextValNode(E[A],A,"",t)}else if(Array.isArray(E[A])){const C=E[A].length;let I="",i="";for(let O=0;O<C;O++){const u=E[A][O];if(!(typeof u>"u"))if(u===null)A[0]==="?"?o+=this.indentate(t)+"<"+A+"?"+this.tagEndChar:o+=this.indentate(t)+"<"+A+"/"+this.tagEndChar;else if(typeof u=="object")if(this.options.oneListGroup){const d=this.j2x(u,t+1,r.concat(A));I+=d.val,this.options.attributesGroupName&&u.hasOwnProperty(this.options.attributesGroupName)&&(i+=d.attrStr)}else I+=this.processTextOrObjNode(u,A,t,r);else if(this.options.oneListGroup){let d=this.options.tagValueProcessor(A,u);d=this.replaceEntitiesValue(d),I+=d}else I+=this.buildTextValNode(u,A,"",t)}this.options.oneListGroup&&(I=this.buildObjectNode(I,A,i,t)),o+=I}else if(this.options.attributesGroupName&&A===this.options.attributesGroupName){const C=Object.keys(E[A]),I=C.length;for(let i=0;i<I;i++)T+=this.buildAttrPairStr(C[i],""+E[A][C[i]])}else o+=this.processTextOrObjNode(E[A],A,t,r);return{attrStr:T,val:o}},Nt.prototype.buildAttrPairStr=function(E,t){return t=this.options.attributeValueProcessor(E,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+E:" "+E+'="'+t+'"'};function yT(E,t,r,T){const o=this.j2x(E,r+1,T.concat(t));return E[this.options.textNodeName]!==void 0&&Object.keys(E).length===1?this.buildTextValNode(E[this.options.textNodeName],t,o.attrStr,r):this.buildObjectNode(o.val,t,o.attrStr,r)}Nt.prototype.buildObjectNode=function(E,t,r,T){if(E==="")return t[0]==="?"?this.indentate(T)+"<"+t+r+"?"+this.tagEndChar:this.indentate(T)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let o="</"+t+this.tagEndChar,a="";return t[0]==="?"&&(a="?",o=""),(r||r==="")&&E.indexOf("<")===-1?this.indentate(T)+"<"+t+r+a+">"+E+o:this.options.commentPropName!==!1&&t===this.options.commentPropName&&a.length===0?this.indentate(T)+`<!--${E}-->`+this.newLine:this.indentate(T)+"<"+t+r+a+this.tagEndChar+E+this.indentate(T)+o}},Nt.prototype.closeTag=function(E){let t="";return this.options.unpairedTags.indexOf(E)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${E}`,t},Nt.prototype.buildTextValNode=function(E,t,r,T){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(T)+`<![CDATA[${E}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(T)+`<!--${E}-->`+this.newLine;if(t[0]==="?")return this.indentate(T)+"<"+t+r+"?"+this.tagEndChar;{let o=this.options.tagValueProcessor(t,E);return o=this.replaceEntitiesValue(o),o===""?this.indentate(T)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(T)+"<"+t+r+">"+o+"</"+t+this.tagEndChar}},Nt.prototype.replaceEntitiesValue=function(E){if(E&&E.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];E=E.replace(r.regex,r.val)}return E};function GT(E){return this.options.indentBy.repeat(E)}function FT(E){return E.startsWith(this.options.attributeNamePrefix)&&E!==this.options.textNodeName?E.substr(this.attrPrefixLen):!1}const bT={validate:WE},HT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",ignoreDeclaration:!1,commentPropName:"#comment",cdataPropName:"__cdata",preserveOrder:!0,parseAttributeValue:!1,trimValues:!1,parseTagValue:!1,processEntities:!1,htmlEntities:!1,ignoreNameSpace:!1,allowBooleanAttributes:!0,unpairedTags:[],stopNodes:[],alwaysCreateTextNode:!1},xT={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",format:!0,indentBy:" ",suppressEmptyNode:!1,suppressBooleanAttributes:!1,suppressUnpairedNode:!1},YT=E=>{const t=/<!\[CDATA\[([\s\S]*?)\]\]>/g,r=[];let T;for(;(T=t.exec(E))!==null;)r.push({start:T.index,end:T.index+T[0].length});const o=O=>r.some(u=>O>=u.start&&O<u.end),a=/&([a-zA-Z0-9#]+);/g,A=["lt","gt","amp","quot","apos"];let C,I=1,i=0;for(;(C=a.exec(E))!==null;){const O=C[1],u=C.index;if(o(u))continue;const d=E.substring(i,u);if(I+=(d.match(/\n/g)||[]).length,i=u,O.startsWith("#")){const h=O.substring(1);if(h.startsWith("x")||h.startsWith("X")){const G=h.substring(1);if(!/^[0-9a-fA-F]+$/.test(G))return{valid:!1,error:`Line ${I}: Invalid hexadecimal character reference '&${O};'`}}else if(!/^[0-9]+$/.test(h))return{valid:!1,error:`Line ${I}: Invalid numeric character reference '&${O};'`};continue}if(!A.includes(O))return{valid:!1,error:`Line ${I}: Invalid entity reference '&${O};'. Valid predefined entities are: &lt; &gt; &amp; &quot; &apos;`}}return{valid:!0}},VT=E=>{try{const t=bT.validate(E,{allowBooleanAttributes:!0});if(t!==!0)return{valid:!1,error:`Line ${t.err.line}: ${t.err.msg}`};const r=YT(E);return r.valid?{valid:!0}:r}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},zt=(E,t)=>{try{return new hT({...HT,...t}).parse(E)}catch(r){throw new Error(`XML 解析失败: ${r instanceof Error?r.message:"Unknown error"}`)}},eE=(E,t)=>{try{let T=new Nt({...xT,format:t?.format??!0,indentBy:t?.indentBy??" "}).build(E);return t?.showDeclaration!==!1&&!T.startsWith("<?xml")&&(T=`<?xml version="1.0" encoding="UTF-8"?>
20
- `+T),T}catch(r){throw new Error(`XML 构建失败: ${r instanceof Error?r.message:"Unknown error"}`)}},vT=(E,t)=>Array.isArray(E)?it(E,{format:!1,originalXml:t}):eE(E,{format:!1,showDeclaration:!1}),wT=(E,t)=>{const r=zt(E);return Array.isArray(r)?it(r,{indent:t?.indentBy,originalXml:E}):eE(r,t)},zE=E=>{const t=new Set,r=/<([a-zA-Z0-9_-]+)(?:\s[^>]*)?\s*\/>/g;let T;for(;(T=r.exec(E))!==null;)t.add(T[1]);return t},it=(E,t={})=>{const r=t.indent!==void 0?t.indent:" ",T=t.level||0,o=t.format!==!1,a=o?r.repeat(T):"",A=o?`
21
- `:"";let C=t.selfClosingTags;!C&&t.originalXml&&T===0&&(C=zE(t.originalXml));let I="";for(const i of E){if(i["?xml"]){const k=i[":@"]||{},Ie=Object.entries(k).map(([Ce,z])=>`${Ce.startsWith("@_")?Ce.substring(2):Ce}="${z}"`).join(" ");I+=`<?xml ${Ie}?>${A}`;continue}if(i["#comment"]){const k=i["#comment"];if(Array.isArray(k)&&k.length>0){const Ie=k[0]["#text"]||k[0];I+=`${a}<!--${Ie}-->${A}`}continue}const O=Object.keys(i).find(k=>!k.startsWith(":")&&!k.startsWith("#")&&!k.startsWith("__"));if(!O)continue;const u=i[O],d=i[":@"]||{},h=Object.entries(d).map(([k,Ie])=>`${k.startsWith("@_")?k.substring(2):k}="${Ie}"`).join(" "),G=h?" "+h:"";if(!Array.isArray(u)||u.length===0){C&&C.has(O)?I+=`${a}<${O}${G}/>${A}`:I+=`${a}<${O}${G}></${O}>${A}`;continue}const J=u.length===1&&u[0]["#text"]!==void 0,M=J?u[0]["#text"]:"",Ee=u.some(k=>k.__cdata),re=J&&M==="";if(Ee){const k=u.find(Ie=>Ie.__cdata);if(k){const Ie=k.__cdata[0]["#text"]||"";I+=`${a}<${O}${G}><![CDATA[${Ie}]]></${O}>${A}`}}else re?I+=`${a}<${O}${G}></${O}>${A}`:J?I+=`${a}<${O}${G}>${M}</${O}>${A}`:(I+=`${a}<${O}${G}>${A}`,I+=it(u,{indent:r,level:T+1,format:o,selfClosingTags:C}),I+=`${a}</${O}>${A}`)}return I},WT={key:0,class:"xml-format__toolbar"},XT={class:"xml-format__actions"},KT=["disabled"],kT=["disabled"],$T=["disabled"],qT=["disabled"],JT=["disabled"],QT={class:"xml-format__info"},ZT={key:0,class:"xml-format__status xml-format__status--success"},jT={key:1,class:"xml-format__status xml-format__status--error"},zT={class:"xml-format__content"},eo={key:0,class:"xml-format__error"},to={key:1,class:"xml-format__error"},Eo={key:2,class:"xml-format__viewer"},ro=Mt(n.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},showToolbar:{type:Boolean,default:!0},theme:{default:"github-light"},showComments:{type:Boolean,default:!0},showCdata:{type:Boolean,default:!0},preserveWhitespace:{type:Boolean,default:!1}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){n.useCssVars(p=>({"123bc86d":G.value.colors.border,"6ddcbe22":G.value.colors.background,dd0094a4:G.value.colors.text,"094dda4c":G.value.colors.surfaceBackground,"0ab18d02":G.value.colors.buttonBorder,"854b8dfe":G.value.colors.buttonBackground,"2dd84340":G.value.colors.buttonText,"55fdce8a":G.value.colors.buttonBackgroundHover,"437af30f":G.value.colors.buttonPrimary,bfaf1126:G.value.colors.buttonPrimaryHover,"7c1f183c":G.value.colors.success,"6b8cb2b0":G.value.colors.successBackground,c4ad1cb2:G.value.colors.error,cc2a0396:G.value.colors.errorBackground}));const T=E,o=r,a=n.ref(null),A=n.ref(""),C=n.ref(new Set),I=n.ref(null),i=n.ref(""),O=n.ref(""),u=n.ref(new Set),d=n.computed(()=>A.value===""),h=n.computed(()=>i.value?null:I.value!==null?I.value:a.value),G=n.computed(()=>Ys(T.theme)),J=n.computed(()=>{const p=h.value;return!p||!Array.isArray(p)?[]:p.map((B,Q)=>({node:B,originalIndex:Q})).filter(B=>!B.node["?xml"])}),M=n.computed(()=>{const p=h.value;if(!p||!Array.isArray(p))return null;const B=p.find(Y=>Y["?xml"]);if(!B||!B[":@"])return null;const Q=B[":@"],ee=[];return Q["@_version"]&&ee.push(`version="${Q["@_version"]}"`),Q["@_encoding"]&&ee.push(`encoding="${Q["@_encoding"]}"`),Q["@_standalone"]&&ee.push(`standalone="${Q["@_standalone"]}"`),ee.length>0?`<?xml ${ee.join(" ")}?>`:null}),Ee=n.computed(()=>J.value),re=p=>{if(!p||!p.trim()){A.value="",a.value=null,O.value="",I.value=null,i.value="";return}try{const B=VT(p);if(!B.valid){A.value=B.error||"Invalid XML",a.value=null,O.value="",u.value=new Set;return}O.value=p,u.value=zE(p),a.value=zt(p),A.value="",I.value=null,i.value="",n.nextTick(()=>{Ie()})}catch(B){A.value=B instanceof Error?B.message:"Unknown parse error",a.value=null,O.value="",I.value=null,i.value=""}},k=p=>{C.value.has(p)?C.value.delete(p):C.value.add(p)},Ie=()=>{const p=new Set,B=(Q,ee="")=>{Array.isArray(Q)&&Q.forEach((Y,Re)=>{const f=Object.keys(Y).find(q=>!q.startsWith(":")&&!q.startsWith("#"));if(!f)return;const F=ee?`${ee}.${f}[${Re}]`:`${f}[${Re}]`;p.add(F);const v=Y[f];Array.isArray(v)&&B(v,F+"."+f)})};J.value.forEach(({node:Q,originalIndex:ee})=>{const Y=Object.keys(Q).find(Re=>!Re.startsWith(":")&&!Re.startsWith("#"));if(Y){const Re=`${Y}[${ee}]`;p.add(Re);const f=Q[Y];Array.isArray(f)&&B(f,Re+"."+Y)}}),C.value=p,o("expand-all")},Ce=()=>{C.value.clear(),o("collapse-all")},z=async()=>{if(d.value)try{const p=h.value||a.value;if(!p)return;const B=Array.isArray(p)?it(p,{indent:" ",selfClosingTags:u.value}):eE(p,{format:!0,indentBy:" "});await navigator.clipboard.writeText(B),o("copy-success",B)}catch(p){const B=p instanceof Error?p:new Error("Copy failed");o("copy-error",B),console.error("Failed to copy XML:",p)}},D=()=>{if(!(!d.value||!a.value))try{const p=vT(a.value,T.modelValue);o("update:modelValue",p),o("compress",p)}catch(p){console.error("Failed to compress XML:",p)}},Ae=()=>{if(d.value)try{const p=wT(T.modelValue,{format:!0,indentBy:" "});o("update:modelValue",p),o("format",p)}catch(p){console.error("Failed to format XML:",p)}},b=p=>{if(!p||!p.expression.trim()){U();return}if(!a.value||!O.value){i.value="No valid XML data to filter";return}try{const Q=new YE.DOMParser().parseFromString(O.value,"text/xml"),ee=qn.select(p.expression,Q);if(!ee||Array.isArray(ee)&&ee.length===0){I.value=[],i.value="";return}const Y=new YE.XMLSerializer;let Re="";Array.isArray(ee)?(Re=`<result>
22
- `,ee.forEach(f=>{f.nodeType===1?Re+=" "+Y.serializeToString(f)+`
23
- `:f.nodeType===2?Re+=` <attribute name="${f.name}" value="${f.value}"/>
24
- `:f.nodeType===3&&(Re+=` <text>${f.nodeValue}</text>
25
- `)}),Re+="</result>"):Re=Y.serializeToString(ee),I.value=zt(Re),i.value="",n.nextTick(()=>{Ie()})}catch(B){i.value=B instanceof Error?B.message:"Filter execution error",I.value=null}},U=()=>{I.value=null,i.value="",n.nextTick(()=>{Ie()})},$=async p=>{try{const B=typeof p=="string"?p:JSON.stringify(p,null,2);await navigator.clipboard.writeText(B),o("copy-success",B)}catch(B){const Q=B instanceof Error?B:new Error("Copy failed");o("copy-error",Q),console.error("Failed to copy value:",B)}},w=(p,B,Q)=>{if(!(!a.value||!Array.isArray(a.value)))try{const ee=p.split(/\./).filter(Boolean);let Y=a.value;for(let f=0;f<ee.length;f++){const F=ee[f],v=F.match(/^(.+?)\[(\d+)\]$/);if(v){const q=v[1],j=parseInt(v[2]);if(f===ee.length-1){if(Array.isArray(Y)&&Y[j]){const H=Y[j];if(H[B]){const te=H[B];delete H[B],H[Q]=te,u.value.has(B)&&(u.value.delete(B),u.value.add(Q))}}}else Array.isArray(Y)&&Y[j]&&(Y=Y[j])}else Y[F]&&(Y=Y[F])}const Re=it(a.value,{indent:" ",selfClosingTags:u.value});o("update:modelValue",Re)}catch(ee){console.error("Failed to update tag name:",ee)}},K=(p,B,Q)=>{if(!(!a.value||!Array.isArray(a.value)))try{const ee=p.split(/\./).filter(Boolean);let Y=a.value;for(let f=0;f<ee.length;f++){const F=ee[f],v=F.match(/^(.+?)\[(\d+)\]$/);if(v){const q=v[1],j=parseInt(v[2]);if(f===ee.length-1){if(Array.isArray(Y)&&Y[j]){const te=Y[j][":@"];if(te&&te[`@_${B}`]!==void 0){const _e=te[`@_${B}`];delete te[`@_${B}`],te[`@_${Q}`]=_e}}}else Array.isArray(Y)&&Y[j]&&(Y=Y[j])}else Y[F]&&(Y=Y[F])}const Re=it(a.value,{indent:" ",selfClosingTags:u.value});o("update:modelValue",Re)}catch(ee){console.error("Failed to update attribute name:",ee)}},ae=(p,B,Q)=>{if(!(!a.value||!Array.isArray(a.value)))try{const ee=p.split(/\./).filter(Boolean);let Y=a.value;for(let f=0;f<ee.length;f++){const F=ee[f],v=F.match(/^(.+?)\[(\d+)\]$/);if(v){const q=v[1],j=parseInt(v[2]);if(f===ee.length-1){if(Array.isArray(Y)&&Y[j]){const te=Y[j][":@"];te&&te[`@_${B}`]!==void 0&&(te[`@_${B}`]=Q)}}else Array.isArray(Y)&&Y[j]&&(Y=Y[j])}else Y[F]&&(Y=Y[F])}const Re=it(a.value,{indent:" ",selfClosingTags:u.value});o("update:modelValue",Re)}catch(ee){console.error("Failed to update attribute value:",ee)}},Oe=(p,B)=>{if(!(!a.value||!Array.isArray(a.value)))try{const Q=p.split(/\./).filter(Boolean);let ee=a.value,Y="";for(let f=0;f<Q.length;f++){const F=Q[f],v=F.match(/^(.+?)\[(\d+)\]$/);if(v){const q=v[1],j=parseInt(v[2]);if(f===Q.length-1){if(Array.isArray(ee)&&ee[j]){const H=ee[j];if(Y=Object.keys(H).find(te=>!te.startsWith(":")&&!te.startsWith("#"))||"",Y&&Array.isArray(H[Y])){const te=H[Y],_e=te.findIndex(Le=>Le["#text"]!==void 0);_e!==-1?te[_e]["#text"]=B:te.push({"#text":B})}}}else Array.isArray(ee)&&ee[j]&&(ee=ee[j])}else ee[F]&&(ee=ee[F])}const Re=it(a.value,{indent:" ",selfClosingTags:u.value});o("update:modelValue",Re)}catch(Q){console.error("Failed to update text content:",Q)}},De=(p,B)=>{if(!(!a.value||!Array.isArray(a.value)))try{const Q=p.split(/\./).filter(Boolean);let ee=a.value;for(let Re=0;Re<Q.length;Re++){const f=Q[Re],F=f.match(/^(.+?)\[(\d+)\]$/);if(F){const v=F[1],q=parseInt(F[2]);if(Re===Q.length-1){if(Array.isArray(ee)&&ee[q]){const j=ee[q],H=Object.keys(j).find(te=>!te.startsWith(":")&&!te.startsWith("#"));if(H&&Array.isArray(j[H])){const te=j[H],_e=te.findIndex(Le=>Le.__cdata!==void 0);if(_e!==-1){const Le=te[_e];Array.isArray(Le.__cdata)&&Le.__cdata[0]&&(Le.__cdata[0]["#text"]=B)}else te.push({__cdata:[{"#text":B}]})}}}else Array.isArray(ee)&&ee[q]&&(ee=ee[q])}else ee[f]&&(ee=ee[f])}const Y=it(a.value,{indent:" ",selfClosingTags:u.value});o("update:modelValue",Y)}catch(Q){console.error("Failed to update CDATA content:",Q)}};return n.watch(()=>T.modelValue,p=>{re(p)},{immediate:!0}),t({copyXml:z,compressSource:D,formatSource:Ae,expandAll:Ie,collapseAll:Ce,toggleExpand:k,filter:b,clearFilter:U,isValidXml:()=>d.value,getParsedXml:()=>a.value,getFilteredXml:()=>I.value,getExpandedNodes:()=>C.value,getParseError:()=>A.value,getFilterError:()=>i.value,parseXmlString:p=>re(p),copyValue:p=>$(p)}),(p,B)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["xml-format",`xml-format--${G.value.name}`])},[p.showToolbar?(n.openBlock(),n.createElementBlock("div",WT,[n.createElementVNode("div",XT,[n.createElementVNode("button",{class:"xml-format__btn xml-format__btn--primary",onClick:z,disabled:!d.value,title:"Copy XML"}," 📋 Copy ",8,KT),n.createElementVNode("button",{class:"xml-format__btn xml-format__btn--secondary",onClick:Ie,disabled:!d.value,title:"Expand All"}," ⬇️ Expand All ",8,kT),n.createElementVNode("button",{class:"xml-format__btn xml-format__btn--secondary",onClick:Ce,disabled:!d.value,title:"Collapse All"}," ➡️ Collapse All ",8,$T),n.createElementVNode("button",{class:"xml-format__btn xml-format__btn--secondary",onClick:D,disabled:!d.value,title:"Compress XML"}," 📦 Compress ",8,qT),n.createElementVNode("button",{class:"xml-format__btn xml-format__btn--secondary",onClick:Ae,disabled:!d.value,title:"Format XML"}," ✨ Format ",8,JT)]),n.createElementVNode("div",QT,[d.value?(n.openBlock(),n.createElementBlock("span",ZT," ✅ Valid XML ")):(n.openBlock(),n.createElementBlock("span",jT," ❌ Invalid XML "))])])):n.createCommentVNode("",!0),n.createElementVNode("div",zT,[d.value?i.value?(n.openBlock(),n.createElementBlock("div",to,[B[1]||(B[1]=n.createElementVNode("h4",null,"Filter Error:",-1)),n.createElementVNode("pre",null,n.toDisplayString(i.value),1)])):(n.openBlock(),n.createElementBlock("div",Eo,[M.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"xml-declaration",style:n.normalizeStyle({color:G.value.colors.xmlDeclaration})},n.toDisplayString(M.value),5)):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Ee.value,(Q,ee)=>(n.openBlock(),n.createBlock(xs,{key:ee,node:Q.node,index:Q.originalIndex,level:0,expanded:C.value,theme:G.value,selfClosingTags:u.value,onToggleExpand:k,onCopy:$,"onUpdate:tagName":w,"onUpdate:attributeName":K,"onUpdate:attributeValue":ae,"onUpdate:textContent":Oe,"onUpdate:cdataContent":De},null,8,["node","index","expanded","theme","selfClosingTags"]))),128))])):(n.openBlock(),n.createElementBlock("div",eo,[B[0]||(B[0]=n.createElementVNode("h4",null,"XML Parse Error:",-1)),n.createElementVNode("pre",null,n.toDisplayString(A.value),1)]))])],2))}}),[["__scopeId","data-v-adf2b2e1"]]),er={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",hoverBackground:"#f3f4f6",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",sqlKeyword:"#cf222e",sqlFunction:"#8250df",sqlString:"#0a3069",sqlNumber:"#0550ae",sqlComment:"#6e7781",sqlOperator:"#cf222e",sqlIdentifier:"#24292f",sqlPunctuation:"#24292f",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",hoverBackground:"#30363d",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",sqlKeyword:"#ff7b72",sqlFunction:"#d2a8ff",sqlString:"#a5d6ff",sqlNumber:"#79c0ff",sqlComment:"#8b949e",sqlOperator:"#ff7b72",sqlIdentifier:"#c9d1d9",sqlPunctuation:"#c9d1d9",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",hoverBackground:"#f9f9f9",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",sqlKeyword:"#ef4444",sqlFunction:"#8b5cf6",sqlString:"#22c55e",sqlNumber:"#3b82f6",sqlComment:"#6b7280",sqlOperator:"#ef4444",sqlIdentifier:"#1f2937",sqlPunctuation:"#374151",collapsedBackground:"#e0f2fe",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",hoverBackground:"#f9f0e5",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",sqlKeyword:"#e01e5a",sqlFunction:"#8b2eff",sqlString:"#0b4c8c",sqlNumber:"#1264a3",sqlComment:"#616061",sqlOperator:"#e01e5a",sqlIdentifier:"#3d3c40",sqlPunctuation:"#3d3c40",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#3e4348"}}},no=E=>er[E]||er["github-light"],m=E=>E.flatMap(so),so=E=>Vt(oo(E)).map(To),To=E=>E.replace(/ +/g," ").trim(),oo=E=>({type:"mandatory_block",items:tE(E,0)[0]}),tE=(E,t,r)=>{const T=[];for(;E[t];){const[o,a]=ao(E,t);if(T.push(o),t=a,E[t]==="|")t++;else if(E[t]==="}"||E[t]==="]"){if(r!==E[t])throw new Error(`Unbalanced parenthesis in: ${E}`);return t++,[T,t]}else if(t===E.length){if(r)throw new Error(`Unbalanced parenthesis in: ${E}`);return[T,t]}else throw new Error(`Unexpected "${E[t]}"`)}return[T,t]},ao=(E,t)=>{const r=[];for(;;){const[T,o]=io(E,t);if(T)r.push(T),t=o;else break}return r.length===1?[r[0],t]:[{type:"concatenation",items:r},t]},io=(E,t)=>{if(E[t]==="{")return Ao(E,t+1);if(E[t]==="[")return Ro(E,t+1);{let r="";for(;E[t]&&/[A-Za-z0-9_ ]/.test(E[t]);)r+=E[t],t++;return[r,t]}},Ao=(E,t)=>{const[r,T]=tE(E,t,"}");return[{type:"mandatory_block",items:r},T]},Ro=(E,t)=>{const[r,T]=tE(E,t,"]");return[{type:"optional_block",items:r},T]},Vt=E=>{if(typeof E=="string")return[E];if(E.type==="concatenation")return E.items.map(Vt).reduce(So,[""]);if(E.type==="mandatory_block")return E.items.flatMap(Vt);if(E.type==="optional_block")return["",...E.items.flatMap(Vt)];throw new Error(`Unknown node type: ${E}`)},So=(E,t)=>{const r=[];for(const T of E)for(const o of t)r.push(T+o);return r};var X;(function(E){E.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",E.IDENTIFIER="IDENTIFIER",E.STRING="STRING",E.VARIABLE="VARIABLE",E.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",E.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",E.RESERVED_KEYWORD="RESERVED_KEYWORD",E.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",E.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",E.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",E.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",E.RESERVED_CLAUSE="RESERVED_CLAUSE",E.RESERVED_SELECT="RESERVED_SELECT",E.RESERVED_JOIN="RESERVED_JOIN",E.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",E.ARRAY_KEYWORD="ARRAY_KEYWORD",E.CASE="CASE",E.END="END",E.WHEN="WHEN",E.ELSE="ELSE",E.THEN="THEN",E.LIMIT="LIMIT",E.BETWEEN="BETWEEN",E.AND="AND",E.OR="OR",E.XOR="XOR",E.OPERATOR="OPERATOR",E.COMMA="COMMA",E.ASTERISK="ASTERISK",E.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",E.OPEN_PAREN="OPEN_PAREN",E.CLOSE_PAREN="CLOSE_PAREN",E.LINE_COMMENT="LINE_COMMENT",E.BLOCK_COMMENT="BLOCK_COMMENT",E.DISABLE_COMMENT="DISABLE_COMMENT",E.NUMBER="NUMBER",E.NAMED_PARAMETER="NAMED_PARAMETER",E.QUOTED_PARAMETER="QUOTED_PARAMETER",E.NUMBERED_PARAMETER="NUMBERED_PARAMETER",E.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",E.CUSTOM_PARAMETER="CUSTOM_PARAMETER",E.DELIMITER="DELIMITER",E.EOF="EOF"})(X=X||(X={}));const tr=E=>({type:X.EOF,raw:"«EOF»",text:"«EOF»",start:E}),It=tr(1/0),Pt=E=>t=>t.type===E.type&&t.text===E.text,lt={ARRAY:Pt({text:"ARRAY",type:X.RESERVED_DATA_TYPE}),BY:Pt({text:"BY",type:X.RESERVED_KEYWORD}),SET:Pt({text:"SET",type:X.RESERVED_CLAUSE}),STRUCT:Pt({text:"STRUCT",type:X.RESERVED_DATA_TYPE}),WINDOW:Pt({text:"WINDOW",type:X.RESERVED_CLAUSE}),VALUES:Pt({text:"VALUES",type:X.RESERVED_CLAUSE})},Er=E=>E===X.RESERVED_DATA_TYPE||E===X.RESERVED_KEYWORD||E===X.RESERVED_FUNCTION_NAME||E===X.RESERVED_KEYWORD_PHRASE||E===X.RESERVED_DATA_TYPE_PHRASE||E===X.RESERVED_CLAUSE||E===X.RESERVED_SELECT||E===X.RESERVED_SET_OPERATION||E===X.RESERVED_JOIN||E===X.ARRAY_KEYWORD||E===X.CASE||E===X.END||E===X.WHEN||E===X.ELSE||E===X.THEN||E===X.LIMIT||E===X.BETWEEN||E===X.AND||E===X.OR||E===X.XOR,No=E=>E===X.AND||E===X.OR||E===X.XOR,Io=["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],lo=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],Oo=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],uo=m(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),Co=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),rr=m(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),EE=m(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),co=m(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),_o=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),Lo=m(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),Do=m([]),po={name:"bigquery",tokenizerOptions:{reservedSelect:uo,reservedClauses:[...Co,...EE,...rr],reservedSetOperations:co,reservedJoins:_o,reservedKeywordPhrases:Lo,reservedDataTypePhrases:Do,reservedKeywords:lo,reservedDataTypes:Oo,reservedFunctionNames:Io,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:Po},formatOptions:{onelineClauses:[...rr,...EE],tabularOnelineClauses:EE}};function Po(E){return fo(ho(E))}function fo(E){let t=It;return E.map(r=>r.text==="OFFSET"&&t.text==="["?(t=r,Object.assign(Object.assign({},r),{type:X.RESERVED_FUNCTION_NAME})):(t=r,r))}function ho(E){var t;const r=[];for(let T=0;T<E.length;T++){const o=E[T];if((lt.ARRAY(o)||lt.STRUCT(o))&&((t=E[T+1])===null||t===void 0?void 0:t.text)==="<"){const a=Mo(E,T+1),A=E.slice(T,a+1);r.push({type:X.IDENTIFIER,raw:A.map(nr("raw")).join(""),text:A.map(nr("text")).join(""),start:o.start}),T=a}else r.push(o)}return r}const nr=E=>t=>t.type===X.IDENTIFIER||t.type===X.COMMA?t[E]+" ":t[E];function Mo(E,t){let r=0;for(let T=t;T<E.length;T++){const o=E[T];if(o.text==="<"?r++:o.text===">"?r--:o.text===">>"&&(r-=2),r===0)return T}return E.length-1}const Uo=["BIT_AND","BIT_OR","BIT_XOR","BLAKE3","CAST","CHARACTER_LENGTH","CHAR_LENGTH","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATE","DATE_DIFF","DATE_FORMAT","DATE_TRUNC","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","FORMAT_BYTES","FQDN","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","HOUR","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4StringToNumOrDefault","IPv4StringToNumOrNull","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","IPv6StringToNumOrDefault","IPv6StringToNumOrNull","JSONAllPaths","JSONAllPathsWithTypes","JSONArrayLength","JSONDynamicPaths","JSONDynamicPathsWithTypes","JSONExtract","JSONExtractArrayRaw","JSONExtractArrayRawCaseInsensitive","JSONExtractBool","JSONExtractBoolCaseInsensitive","JSONExtractCaseInsensitive","JSONExtractFloat","JSONExtractFloatCaseInsensitive","JSONExtractInt","JSONExtractIntCaseInsensitive","JSONExtractKeys","JSONExtractKeysAndValues","JSONExtractKeysAndValuesCaseInsensitive","JSONExtractKeysAndValuesRaw","JSONExtractKeysAndValuesRawCaseInsensitive","JSONExtractKeysCaseInsensitive","JSONExtractRaw","JSONExtractRawCaseInsensitive","JSONExtractString","JSONExtractStringCaseInsensitive","JSONExtractUInt","JSONExtractUIntCaseInsensitive","JSONHas","JSONKey","JSONLength","JSONMergePatch","JSONSharedDataPaths","JSONSharedDataPathsWithTypes","JSONType","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_QUERY","JSON_VALUE","L1Distance","L1Norm","L1Normalize","L2Distance","L2Norm","L2Normalize","L2SquaredDistance","L2SquaredNorm","LAST_DAY","LinfDistance","LinfNorm","LinfNormalize","LpDistance","LpNorm","LpNormalize","MACNumToString","MACStringToNum","MACStringToOUI","MAP_FROM_ARRAYS","MD4","MD5","MILLISECOND","MINUTE","MONTH","OCTET_LENGTH","QUARTER","REGEXP_EXTRACT","REGEXP_MATCHES","REGEXP_REPLACE","RIPEMD160","SCHEMA","SECOND","SHA1","SHA224","SHA256","SHA384","SHA512","SHA512_256","STD","STDDEV_POP","STDDEV_SAMP","ST_LineFromWKB","ST_MLineFromWKB","ST_MPolyFromWKB","ST_PointFromWKB","ST_PolyFromWKB","SUBSTRING_INDEX","SVG","TIMESTAMP_DIFF","TO_BASE64","TO_DAYS","TO_UNIXTIME","ULIDStringToDateTime","URLHash","URLHierarchy","URLPathHierarchy","UTCTimestamp","UTC_timestamp","UUIDNumToString","UUIDStringToNum","UUIDToNum","UUIDv7ToDateTime","VAR_POP","VAR_SAMP","YEAR","YYYYMMDDToDate","YYYYMMDDToDate32","YYYYMMDDhhmmssToDateTime","YYYYMMDDhhmmssToDateTime64","_CAST","__actionName","__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","__patchPartitionID","__scalarSubqueryResult","abs","accurateCast","accurateCastOrDefault","accurateCastOrNull","acos","acosh","addDate","addDays","addHours","addInterval","addMicroseconds","addMilliseconds","addMinutes","addMonths","addNanoseconds","addQuarters","addSeconds","addTupleOfIntervals","addWeeks","addYears","addressToLine","addressToLineWithInlines","addressToSymbol","aes_decrypt_mysql","aes_encrypt_mysql","age","aggThrow","alphaTokens","analysisOfVariance","anova","any","anyHeavy","anyLast","anyLastRespectNulls","anyLast_respect_nulls","anyRespectNulls","anyValueRespectNulls","any_respect_nulls","any_value","any_value_respect_nulls","appendTrailingCharIfAbsent","approx_top_count","approx_top_k","approx_top_sum","argMax","argMin","array","arrayAUC","arrayAUCPR","arrayAll","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayDotProduct","arrayElement","arrayElementOrNull","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFirstOrNull","arrayFlatten","arrayFold","arrayIntersect","arrayJaccardIndex","arrayJoin","arrayLast","arrayLastIndex","arrayLastOrNull","arrayLevenshteinDistance","arrayLevenshteinDistanceWeighted","arrayMap","arrayMax","arrayMin","arrayNormalizedGini","arrayPRAUC","arrayPartialReverseSort","arrayPartialShuffle","arrayPartialSort","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayROCAUC","arrayRandomSample","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arrayRotateLeft","arrayRotateRight","arrayShiftLeft","arrayShiftRight","arrayShingles","arrayShuffle","arraySimilarity","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arraySymmetricDifference","arrayUnion","arrayUniq","arrayWithConstant","arrayZip","arrayZipUnaligned","array_agg","array_concat_agg","ascii","asin","asinh","assumeNotNull","atan","atan2","atanh","authenticatedUser","avg","avgWeighted","bar","base32Decode","base32Encode","base58Decode","base58Encode","base64Decode","base64Encode","base64URLDecode","base64URLEncode","basename","bech32Decode","bech32Encode","bin","bitAnd","bitCount","bitHammingDistance","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitSlice","bitTest","bitTestAll","bitTestAny","bitXor","bitmapAnd","bitmapAndCardinality","bitmapAndnot","bitmapAndnotCardinality","bitmapBuild","bitmapCardinality","bitmapContains","bitmapHasAll","bitmapHasAny","bitmapMax","bitmapMin","bitmapOr","bitmapOrCardinality","bitmapSubsetInRange","bitmapSubsetLimit","bitmapToArray","bitmapTransform","bitmapXor","bitmapXorCardinality","bitmaskToArray","bitmaskToList","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteHammingDistance","byteSize","byteSlice","byteSwap","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","catboostEvaluate","categoricalInformationValue","cbrt","ceil","ceiling","changeDay","changeHour","changeMinute","changeMonth","changeSecond","changeYear","char","cityHash64","clamp","coalesce","colorOKLCHToSRGB","colorSRGBToOKLCH","compareSubstrings","concat","concatAssumeInjective","concatWithSeparator","concatWithSeparatorAssumeInjective","concat_ws","connectionId","connection_id","contingency","convertCharset","corr","corrMatrix","corrStable","cos","cosh","cosineDistance","count","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstrings","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopMatrix","covarPopStable","covarSamp","covarSampMatrix","covarSampStable","cramersV","cramersVBiasCorrected","curdate","currentDatabase","currentProfiles","currentQueryID","currentRoles","currentSchemas","currentUser","current_database","current_date","current_query_id","current_schemas","current_timestamp","current_user","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomRFC","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainCustomWithWWWRFC","cutToFirstSignificantSubdomainRFC","cutToFirstSignificantSubdomainWithWWW","cutToFirstSignificantSubdomainWithWWWRFC","cutURLParameter","cutWWW","damerauLevenshteinDistance","dateDiff","dateName","dateTime64ToSnowflake","dateTime64ToSnowflakeID","dateTimeToSnowflake","dateTimeToSnowflakeID","dateTimeToUUIDv7","dateTrunc","date_bin","date_diff","decodeHTMLComponent","decodeURLComponent","decodeURLFormComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","degrees","deltaSum","deltaSumTimestamp","demangle","denseRank","dense_rank","detectCharset","detectLanguage","detectLanguageMixed","detectLanguageUnknown","detectProgrammingLanguage","detectTonality","dictGet","dictGetAll","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetIPv4","dictGetIPv4OrDefault","dictGetIPv6","dictGetIPv6OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetInt8","dictGetInt8OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","displayName","distanceL1","distanceL2","distanceL2Squared","distanceLinf","distanceLp","distinctDynamicTypes","distinctJSONPaths","distinctJSONPathsAndTypes","divide","divideDecimal","divideOrNull","domain","domainRFC","domainWithoutWWW","domainWithoutWWWRFC","dotProduct","dumpColumnStructure","dynamicElement","dynamicType","e","editDistance","editDistanceUTF8","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayInt8","emptyArrayString","emptyArrayToSingle","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","emptyArrayUInt8","enabledProfiles","enabledRoles","encodeURLComponent","encodeURLFormComponent","encodeXMLComponent","encrypt","endsWith","endsWithUTF8","entropy","equals","erf","erfc","errorCodeToName","estimateCompressionRatio","evalMLMethod","exp","exp10","exp2","exponentialMovingAverage","exponentialTimeDecayedAvg","exponentialTimeDecayedCount","exponentialTimeDecayedMax","exponentialTimeDecayedSum","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractKeyValuePairs","extractKeyValuePairsWithEscaping","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","factorial","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemUnreserved","finalizeAggregation","financialInternalRateOfReturn","financialInternalRateOfReturnExtended","financialNetPresentValue","financialNetPresentValueExtended","firstLine","firstSignificantSubdomain","firstSignificantSubdomainCustom","firstSignificantSubdomainCustomRFC","firstSignificantSubdomainRFC","firstValueRespectNulls","first_value","first_value_respect_nulls","flameGraph","flatten","flattenTuple","floor","formatDateTime","formatDateTimeInJodaSyntax","formatQuery","formatQueryOrNull","formatQuerySingleLine","formatQuerySingleLineOrNull","formatReadableDecimalSize","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","fromDaysSinceYearZero","fromDaysSinceYearZero32","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUTCTimestamp","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fromUnixTimestamp64Second","fromUnixTimestampInJodaSyntax","from_utc_timestamp","fullHostName","fuzzBits","gccMurmurHash","gcd","generateRandomStructure","generateSerialID","generateSnowflakeID","generateULID","generateUUIDv4","generateUUIDv7","geoDistance","geoToH3","geoToS2","geohashDecode","geohashEncode","geohashesInBox","getClientHTTPHeader","getMacro","getMaxTableNameLengthForDatabase","getMergeTreeSetting","getOSKernelVersion","getServerPort","getServerSetting","getSetting","getSettingOrDefault","getSizeOfEnumType","getSubcolumn","getTypeSerializationStreams","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","greatest","groupArray","groupArrayInsertAt","groupArrayIntersect","groupArrayLast","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupArraySorted","groupBitAnd","groupBitOr","groupBitXor","groupBitmap","groupBitmapAnd","groupBitmapOr","groupBitmapXor","groupConcat","groupNumericIndexedVector","groupUniqArray","group_concat","h3CellAreaM2","h3CellAreaRads2","h3Distance","h3EdgeAngle","h3EdgeLengthKm","h3EdgeLengthM","h3ExactEdgeLengthKm","h3ExactEdgeLengthM","h3ExactEdgeLengthRads","h3GetBaseCell","h3GetDestinationIndexFromUnidirectionalEdge","h3GetFaces","h3GetIndexesFromUnidirectionalEdge","h3GetOriginIndexFromUnidirectionalEdge","h3GetPentagonIndexes","h3GetRes0Indexes","h3GetResolution","h3GetUnidirectionalEdge","h3GetUnidirectionalEdgeBoundary","h3GetUnidirectionalEdgesFromHexagon","h3HexAreaKm2","h3HexAreaM2","h3HexRing","h3IndexesAreNeighbors","h3IsPentagon","h3IsResClassIII","h3IsValid","h3Line","h3NumHexagons","h3PointDistKm","h3PointDistM","h3PointDistRads","h3ToCenterChild","h3ToChildren","h3ToGeo","h3ToGeoBoundary","h3ToParent","h3ToString","h3UnidirectionalEdgeIsValid","h3kRing","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubsequence","hasSubsequenceCaseInsensitive","hasSubsequenceCaseInsensitiveUTF8","hasSubsequenceUTF8","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","hasTokenCaseInsensitiveOrNull","hasTokenOrNull","hex","hilbertDecode","hilbertEncode","histogram","hiveHash","hop","hopEnd","hopStart","hostName","hostname","hypot","icebergBucket","icebergHash","icebergTruncate","identity","idnaDecode","idnaEncode","if","ifNotFinite","ifNull","ignore","inIgnoreSet","indexHint","indexOf","indexOfAssumeSorted","initcap","initcapUTF8","initialQueryID","initialQueryStartTime","initial_query_id","initial_query_start_time","initializeAggregation","instr","intDiv","intDivOrNull","intDivOrZero","intExp10","intExp2","intHash32","intHash64","intervalLengthSum","isConstant","isDecimalOverflow","isDynamicElementInSharedData","isFinite","isIPAddressInRange","isIPv4String","isIPv6String","isInfinite","isMergeTreePartCoveredBy","isNaN","isNotDistinctFrom","isNotNull","isNull","isNullable","isValidJSON","isValidUTF8","isZeroOrNull","jaroSimilarity","jaroWinklerSimilarity","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","jsonMergePatch","jumpConsistentHash","kafkaMurmurHash","keccak256","kolmogorovSmirnovTest","kostikConsistentHash","kql_array_sort_asc","kql_array_sort_desc","kurtPop","kurtSamp","lag","lagInFrame","largestTriangleThreeBuckets","lastValueRespectNulls","last_value","last_value_respect_nulls","lcase","lcm","lead","leadInFrame","least","left","leftPad","leftPadUTF8","leftUTF8","lemmatize","length","lengthUTF8","less","lessOrEquals","levenshteinDistance","levenshteinDistanceUTF8","lgamma","ln","locate","log","log10","log1p","log2","logTrace","lowCardinalityIndices","lowCardinalityKeys","lower","lowerUTF8","lpad","ltrim","lttb","makeDate","makeDate32","makeDateTime","makeDateTime64","mannWhitneyUTest","map","mapAdd","mapAll","mapApply","mapConcat","mapContains","mapContainsKey","mapContainsKeyLike","mapContainsValue","mapContainsValueLike","mapExists","mapExtractKeyLike","mapExtractValueLike","mapFilter","mapFromArrays","mapFromString","mapKeys","mapPartialReverseSort","mapPartialSort","mapPopulateSeries","mapReverseSort","mapSort","mapSubtract","mapUpdate","mapValues","match","materialize","max","max2","maxIntersections","maxIntersectionsPosition","maxMappedArrays","meanZTest","median","medianBFloat16","medianBFloat16Weighted","medianDD","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianExactWeightedInterpolated","medianGK","medianInterpolatedWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","mergeTreePartInfo","metroHash64","mid","min","min2","minMappedArrays","minSampleSizeContinous","minSampleSizeContinuous","minSampleSizeConversion","minus","mismatches","mod","modOrNull","modulo","moduloLegacy","moduloOrNull","moduloOrZero","monthName","mortonDecode","mortonEncode","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","multiply","multiplyDecimal","murmurHash2_32","murmurHash2_64","murmurHash3_128","murmurHash3_32","murmurHash3_64","negate","neighbor","nested","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","ngrams","nonNegativeDerivative","normL1","normL2","normL2Squared","normLinf","normLp","normalizeL1","normalizeL2","normalizeLinf","normalizeLp","normalizeQuery","normalizeQueryKeepNames","normalizeUTF8NFC","normalizeUTF8NFD","normalizeUTF8NFKC","normalizeUTF8NFKD","normalizedQueryHash","normalizedQueryHashKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nothing","nothingNull","nothingUInt64","now","now64","nowInBlock","nowInBlock64","nth_value","ntile","nullIf","nullIn","nullInIgnoreSet","numbers","numericIndexedVectorAllValueSum","numericIndexedVectorBuild","numericIndexedVectorCardinality","numericIndexedVectorGetValue","numericIndexedVectorPointwiseAdd","numericIndexedVectorPointwiseDivide","numericIndexedVectorPointwiseEqual","numericIndexedVectorPointwiseGreater","numericIndexedVectorPointwiseGreaterEqual","numericIndexedVectorPointwiseLess","numericIndexedVectorPointwiseLessEqual","numericIndexedVectorPointwiseMultiply","numericIndexedVectorPointwiseNotEqual","numericIndexedVectorPointwiseSubtract","numericIndexedVectorShortDebugString","numericIndexedVectorToMap","overlay","overlayUTF8","parseDateTime","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTime64BestEffortUS","parseDateTime64BestEffortUSOrNull","parseDateTime64BestEffortUSOrZero","parseDateTime64InJodaSyntax","parseDateTime64InJodaSyntaxOrNull","parseDateTime64InJodaSyntaxOrZero","parseDateTime64OrNull","parseDateTime64OrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","parseDateTimeInJodaSyntax","parseDateTimeInJodaSyntaxOrNull","parseDateTimeInJodaSyntaxOrZero","parseDateTimeOrNull","parseDateTimeOrZero","parseReadableSize","parseReadableSizeOrNull","parseReadableSizeOrZero","parseTimeDelta","partitionID","partitionId","path","pathFull","percentRank","percent_rank","pi","plus","pmod","pmodOrNull","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectCartesian","polygonsIntersectSpherical","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","portRFC","position","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","positiveModulo","positiveModuloOrNull","positive_modulo","positive_modulo_or_null","pow","power","printf","proportionsZTest","protocol","punycodeDecode","punycodeEncode","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDD","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantileExactWeightedInterpolated","quantileGK","quantileInterpolatedWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDD","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesExactWeightedInterpolated","quantilesGK","quantilesInterpolatedWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","queryID","queryString","queryStringAndFragment","query_id","radians","rand","rand32","rand64","randBernoulli","randBinomial","randCanonical","randChiSquared","randConstant","randExponential","randFisherF","randLogNormal","randNegativeBinomial","randNormal","randPoisson","randStudentT","randUniform","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","rank","rankCorr","readWKBLineString","readWKBMultiLineString","readWKBMultiPolygon","readWKBPoint","readWKBPolygon","readWKTLineString","readWKTMultiLineString","readWKTMultiPolygon","readWKTPoint","readWKTPolygon","readWKTRing","regexpExtract","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt128","reinterpretAsInt16","reinterpretAsInt256","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt8","reinterpretAsString","reinterpretAsUInt128","reinterpretAsUInt16","reinterpretAsUInt256","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt8","reinterpretAsUUID","repeat","replace","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverse","reverseUTF8","revision","right","rightPad","rightPadUTF8","rightUTF8","round","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","row_number","rpad","rtrim","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","s2CapContains","s2CapUnion","s2CellsIntersect","s2GetNeighbors","s2RectAdd","s2RectContains","s2RectIntersection","s2RectUnion","s2ToGeo","scalarProduct","searchAll","searchAny","sequenceCount","sequenceMatch","sequenceMatchEvents","sequenceNextNode","seriesDecomposeSTL","seriesOutliersDetectTukey","seriesPeriodDetectFFT","serverTimeZone","serverTimezone","serverUUID","shardCount","shardNum","showCertificate","sigmoid","sign","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","sin","singleValueOrNull","sinh","sipHash128","sipHash128Keyed","sipHash128Reference","sipHash128ReferenceKeyed","sipHash64","sipHash64Keyed","skewPop","skewSamp","sleep","sleepEachRow","snowflakeIDToDateTime","snowflakeIDToDateTime64","snowflakeToDateTime","snowflakeToDateTime64","soundex","space","sparkBar","sparkbar","sparseGrams","sparseGramsHashes","sparseGramsHashesUTF8","sparseGramsUTF8","splitByAlpha","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","sqid","sqidDecode","sqidEncode","sqrt","startsWith","startsWithUTF8","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stem","stochasticLinearRegression","stochasticLogisticRegression","str_to_date","str_to_map","stringBytesEntropy","stringBytesUniq","stringJaccardIndex","stringJaccardIndexUTF8","stringToH3","structureToCapnProtoSchema","structureToProtobufSchema","studentTTest","subBitmap","subDate","substr","substring","substringIndex","substringIndexUTF8","substringUTF8","subtractDays","subtractHours","subtractInterval","subtractMicroseconds","subtractMilliseconds","subtractMinutes","subtractMonths","subtractNanoseconds","subtractQuarters","subtractSeconds","subtractTupleOfIntervals","subtractWeeks","subtractYears","sum","sumCount","sumKahan","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumMappedArrays","sumWithOverflow","svg","synonyms","tan","tanh","tcpPort","tgamma","theilsU","throwIf","tid","timeDiff","timeSeriesDeltaToGrid","timeSeriesDerivToGrid","timeSeriesFromGrid","timeSeriesGroupArray","timeSeriesIdToTags","timeSeriesIdToTagsGroup","timeSeriesIdeltaToGrid","timeSeriesInstantDeltaToGrid","timeSeriesInstantRateToGrid","timeSeriesIrateToGrid","timeSeriesLastToGrid","timeSeriesLastTwoSamples","timeSeriesPredictLinearToGrid","timeSeriesRange","timeSeriesRateToGrid","timeSeriesResampleToGridWithStaleness","timeSeriesStoreTags","timeSeriesTagsGroupToTags","timeSlot","timeSlots","timeZone","timeZoneOf","timeZoneOffset","time_bucket","timestamp","timestampDiff","timestamp_diff","timezone","timezoneOf","timezoneOffset","toBFloat16","toBFloat16OrNull","toBFloat16OrZero","toBool","toColumnTypeName","toDate","toDate32","toDate32OrDefault","toDate32OrNull","toDate32OrZero","toDateOrDefault","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrDefault","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrDefault","toDateTimeOrNull","toDateTimeOrZero","toDayOfMonth","toDayOfWeek","toDayOfYear","toDaysSinceYearZero","toDecimal128","toDecimal128OrDefault","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrDefault","toDecimal256OrNull","toDecimal256OrZero","toDecimal32","toDecimal32OrDefault","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrDefault","toDecimal64OrNull","toDecimal64OrZero","toDecimalString","toFixedString","toFloat32","toFloat32OrDefault","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrDefault","toFloat64OrNull","toFloat64OrZero","toHour","toIPv4","toIPv4OrDefault","toIPv4OrNull","toIPv4OrZero","toIPv6","toIPv6OrDefault","toIPv6OrNull","toIPv6OrZero","toISOWeek","toISOYear","toInt128","toInt128OrDefault","toInt128OrNull","toInt128OrZero","toInt16","toInt16OrDefault","toInt16OrNull","toInt16OrZero","toInt256","toInt256OrDefault","toInt256OrNull","toInt256OrZero","toInt32","toInt32OrDefault","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrDefault","toInt64OrNull","toInt64OrZero","toInt8","toInt8OrDefault","toInt8OrNull","toInt8OrZero","toInterval","toIntervalDay","toIntervalHour","toIntervalMicrosecond","toIntervalMillisecond","toIntervalMinute","toIntervalMonth","toIntervalNanosecond","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toJSONString","toLastDayOfMonth","toLastDayOfWeek","toLowCardinality","toMillisecond","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toMonthNumSinceEpoch","toNullable","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfFiveMinutes","toStartOfHour","toStartOfISOYear","toStartOfInterval","toStartOfMicrosecond","toStartOfMillisecond","toStartOfMinute","toStartOfMonth","toStartOfNanosecond","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTime64","toTime64OrNull","toTime64OrZero","toTimeOrNull","toTimeOrZero","toTimeWithFixedDate","toTimeZone","toTimezone","toTypeName","toUInt128","toUInt128OrDefault","toUInt128OrNull","toUInt128OrZero","toUInt16","toUInt16OrDefault","toUInt16OrNull","toUInt16OrZero","toUInt256","toUInt256OrDefault","toUInt256OrNull","toUInt256OrZero","toUInt32","toUInt32OrDefault","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrDefault","toUInt64OrNull","toUInt64OrZero","toUInt8","toUInt8OrDefault","toUInt8OrNull","toUInt8OrZero","toUTCTimestamp","toUUID","toUUIDOrDefault","toUUIDOrNull","toUUIDOrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUnixTimestamp64Second","toValidUTF8","toWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","toYear","toYearNumSinceEpoch","toYearWeek","to_utc_timestamp","today","tokens","topK","topKWeighted","topLevelDomain","topLevelDomainRFC","transactionID","transactionLatestSnapshot","transactionOldestSnapshot","transform","translate","translateUTF8","trim","trimBoth","trimLeft","trimRight","trunc","tryBase32Decode","tryBase58Decode","tryBase64Decode","tryBase64URLDecode","tryDecrypt","tryIdnaEncode","tryPunycodeDecode","tumble","tumbleEnd","tumbleStart","tuple","tupleConcat","tupleDivide","tupleDivideByNumber","tupleElement","tupleHammingDistance","tupleIntDiv","tupleIntDivByNumber","tupleIntDivOrZero","tupleIntDivOrZeroByNumber","tupleMinus","tupleModulo","tupleModuloByNumber","tupleMultiply","tupleMultiplyByNumber","tupleNames","tupleNegate","tuplePlus","tupleToNameValuePairs","ucase","unbin","unhex","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqTheta","uniqThetaIntersect","uniqThetaNot","uniqThetaUnion","uniqUpTo","upper","upperUTF8","uptime","user","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","variantElement","variantType","vectorDifference","vectorSum","version","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","week","welchTTest","widthBucket","width_bucket","windowFunnel","windowID","wkb","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","wyHash64","xor","xxHash32","xxHash64","xxh3","yandexConsistentHash","yearweek","yesterday","zookeeperSessionUptime","MergeTree","ReplacingMergeTree","SummingMergeTree","AggregatingMergeTree","CollapsingMergeTree","VersionedCollapsingMergeTree","GraphiteMergeTree","CoalescingMergeTree","Atomic","Shared","Lazy","Replicated","PostgreSQL","MySQL","SQLite","MaterializedPostgreSQL","DataLakeCatalog"],mo=["ACCESS","ACTION","ADD","ADMIN","AFTER","ALGORITHM","ALIAS","ALL","ALLOWED_LATENESS","ALTER","AND","ANTI","APPEND","APPLY","AS","ASC","ASCENDING","ASOF","ASSUME","AST","ASYNC","ATTACH","AUTO_INCREMENT","AZURE","BACKUP","BAGEXPANSION","BASE_BACKUP","BCRYPT_HASH","BCRYPT_PASSWORD","BEGIN","BETWEEN","BIDIRECTIONAL","BOTH","BY","CACHE","CACHES","CASCADE","CASE","CHANGE","CHANGEABLE_IN_READONLY","CHANGED","CHARACTER","CHECK","CLEANUP","CLEAR","CLUSTER","CLUSTERS","CLUSTER_HOST_IDS","CN","CODEC","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPRESSION","CONST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","D","DATA","DATABASE","DATABASES","DAYS","DD","DDL","DEDUPLICATE","DEFAULT","DEFINER","DELAY","DELETE","DELETED","DEPENDS","DESC","DESCENDING","DESCRIBE","DETACH","DETACHED","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DIV","DOUBLE_SHA1_HASH","DOUBLE_SHA1_PASSWORD","DROP","ELSE","ENABLED","END","ENFORCED","ENGINE","ENGINES","EPHEMERAL","ESTIMATE","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXISTS","EXPLAIN","EXPRESSION","EXTENDED","EXTERNAL","FAKE","FALSE","FETCH","FIELDS","FILESYSTEM","FILL","FILTER","FINAL","FIRST","FOLLOWING","FOR","FOREIGN","FORMAT","FREEZE","FROM","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GRANTEES","GRANTS","GRANULARITY","GROUP","GROUPING","GROUPS","H","HASH","HAVING","HDFS","HH","HIERARCHICAL","HOST","HOURS","HTTP","IDENTIFIED","ILIKE","IN","INDEX","INDEXES","INDICES","INFILE","INHERIT","INJECTIVE","INNER","INSERT","INTERPOLATE","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IP","IS","IS_OBJECT_ID","JOIN","JWT","KERBEROS","KEY","KEYED","KEYS","KILL","KIND","LARGE","LAST","LAYOUT","LDAP","LEADING","LEVEL","LIFETIME","LIGHTWEIGHT","LIKE","LIMIT","LIMITS","LINEAR","LIST","LIVE","LOCAL","M","MASK","MATERIALIZED","MCS","MEMORY","MERGES","METRICS","MI","MICROSECOND","MICROSECONDS","MILLISECONDS","MINUTES","MM","MODIFY","MONTHS","MOVE","MS","MUTATION","N","NAME","NAMED","NANOSECOND","NANOSECONDS","NEXT","NO","NONE","NOT","NO_PASSWORD","NS","NULL","NULLS","OBJECT","OFFSET","ON","ONLY","OPTIMIZE","OPTION","OR","ORDER","OUTER","OUTFILE","OVER","OVERRIDABLE","OVERRIDE","PART","PARTIAL","PARTITION","PARTITIONS","PART_MOVE_TO_SHARD","PASTE","PERIODIC","PERMANENTLY","PERMISSIVE","PERSISTENT","PIPELINE","PLAINTEXT_PASSWORD","PLAN","POLICY","POPULATE","PRECEDING","PRECISION","PREWHERE","PRIMARY","PRIVILEGES","PROCESSLIST","PROFILE","PROJECTION","PROTOBUF","PULL","Q","QQ","QUALIFY","QUARTERS","QUERY","QUOTA","RANDOMIZE","RANDOMIZED","RANGE","READONLY","REALM","RECOMPRESS","RECURSIVE","REFERENCES","REFRESH","REGEXP","REMOVE","RENAME","RESET","RESPECT","RESTORE","RESTRICT","RESTRICTIVE","RESUME","REVOKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","S","S3","SALT","SAMPLE","SAN","SCHEME","SECONDS","SECURITY","SELECT","SEMI","SEQUENTIAL","SERVER","SET","SETS","SETTING","SETTINGS","SHA256_HASH","SHA256_PASSWORD","SHARD","SHOW","SIGNED","SIMPLE","SNAPSHOT","SOURCE","SPATIAL","SQL","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MICROSECOND","SQL_TSI_MILLISECOND","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_NANOSECOND","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SS","SSH_KEY","SSL_CERTIFICATE","STALENESS","START","STATISTICS","STDOUT","STEP","STORAGE","STRICT","STRICTLY_ASCENDING","SUBPARTITION","SUBPARTITIONS","SUSPEND","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TAGS","TEMPORARY","TEST","THAN","THEN","TIES","TIME","TO","TOP","TOTALS","TRACKING","TRAILING","TRANSACTION","TREE","TRIGGER","TRUE","TRUNCATE","TTL","TYPE","TYPEOF","UNBOUNDED","UNDROP","UNFREEZE","UNION","UNIQUE","UNSET","UNSIGNED","UNTIL","UPDATE","URL","USE","USING","UUID","VALID","VALUES","VARYING","VIEW","VISIBLE","VOLUME","WATCH","WATERMARK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITH_ITEMINDEX","WK","WRITABLE","WW","YEARS","YY","YYYY","ZKPATH"],Bo=["AGGREGATEFUNCTION","ARRAY","BFLOAT16","BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BIT","BLOB","BYTE","BYTEA","BOOL","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","DATE","DATE32","DATETIME","DATETIME32","DATETIME64","DECIMAL","DECIMAL128","DECIMAL256","DECIMAL32","DECIMAL64","DYNAMIC","ENUM","ENUM","ENUM16","ENUM8","FIXED","FLOAT","FIXEDSTRING","FLOAT32","FLOAT64","GEOMETRY","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","IPV4","IPV6","INT128","INT16","INT256","INT32","INT64","INT8","INTERVALDAY","INTERVALHOUR","INTERVALMICROSECOND","INTERVALMILLISECOND","INTERVALMINUTE","INTERVALMONTH","INTERVALNANOSECOND","INTERVALQUARTER","INTERVALSECOND","INTERVALWEEK","INTERVALYEAR","JSON","LONGBLOB","LONGTEXT","LINESTRING","LOWCARDINALITY","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","MAP","MULTILINESTRING","MULTIPOLYGON","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","NESTED","NOTHING","NULLABLE","OBJECT","POINT","POLYGON","REAL","RING","SET","SIGNED","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","SIMPLEAGGREGATEFUNCTION","STRING","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","TIME","TIME64","TUPLE","UINT128","UINT16","UINT256","UINT32","UINT64","UINT8","UNSIGNED","UUID","VARBINARY","VARCHAR","VARCHAR2","VARIANT","YEAR","BOOL","BOOLEAN"],go=m(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),yo=m(["SET","WITH","FROM","SAMPLE","PREWHERE","WHERE","GROUP BY","HAVING","QUALIFY","ORDER BY","LIMIT","SETTINGS","INTO OUTFILE","FORMAT","WINDOW","PARTITION BY","INSERT INTO","VALUES","DEPENDS ON","MOVE {USER | ROLE | QUOTA | SETTINGS PROFILE | ROW POLICY}","GRANT","REVOKE","CHECK GRANT","SET [DEFAULT] ROLE [NONE | ALL | ALL EXCEPT]","DEDUPLICATE BY","MODIFY STATISTICS","TYPE","ALTER USER [IF EXISTS]","ALTER [ROW] POLICY [IF EXISTS]","DROP {USER | ROLE | QUOTA | PROFILE | SETTINGS PROFILE | ROW POLICY | POLICY} [IF EXISTS]"]),sr=m(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),rE=m(["ALL EXCEPT","ON CLUSTER","UPDATE","SYSTEM RELOAD {DICTIONARIES | DICTIONARY | FUNCTIONS | FUNCTION | ASYNCHRONOUS METRICS}","SYSTEM DROP {DNS CACHE | MARK CACHE | ICEBERG METADATA CACHE | TEXT INDEX DICTIONARY CACHE | TEXT INDEX HEADER CACHE | TEXT INDEX POSTINGS CACHE | REPLICA | DATABASE REPLICA | UNCOMPRESSED CACHE | COMPILED EXPRESSION CACHE | QUERY CONDITION CACHE | QUERY CACHE | FORMAT SCHEMA CACHE | FILESYSTEM CACHE}","SYSTEM FLUSH LOGS","SYSTEM RELOAD {CONFIG | USERS}","SYSTEM SHUTDOWN","SYSTEM KILL","SYSTEM FLUSH DISTRIBUTED","SYSTEM START DISTRIBUTED SENDS","SYSTEM {STOP | START} {LISTEN | MERGES | TTL MERGES | MOVES | FETCHES | REPLICATED SENDS | REPLICATION QUEUES | PULLING REPLICATION LOG}","SYSTEM {SYNC | RESTART | RESTORE} REPLICA","SYSTEM {SYNC | RESTORE} DATABASE REPLICA","SYSTEM RESTART REPLICAS","SYSTEM UNFREEZE","SYSTEM WAIT LOADING PARTS","SYSTEM {LOAD | UNLOAD} PRIMARY KEY","SYSTEM {STOP | START} [REPLICATED] VIEW","SYSTEM {STOP | START} VIEWS","SYSTEM {REFRESH | CANCEL | WAIT} VIEW","WITH NAME","SHOW [CREATE] {TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE}","SHOW DATABASES [[NOT] {LIKE | ILIKE}]","SHOW [FULL] [TEMPORARY] TABLES [FROM | IN]","SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN}","ATTACH {TABLE | DICTIONARY | DATABASE} [IF NOT EXISTS]","DETACH {TABLE | DICTIONARY | DATABASE} [IF EXISTS]","PERMANENTLY","SYNC","DROP {DICTIONARY | DATABASE | PROFILE | VIEW | FUNCTION | NAMED COLLECTION} [IF EXISTS]","DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]","RENAME TO","EXISTS [TEMPORARY] {TABLE | DICTIONARY | DATABASE}","KILL QUERY","OPTIMIZE TABLE","RENAME {TABLE | DICTIONARY | DATABASE}","EXCHANGE {TABLES | DICTIONARIES}","TRUNCATE TABLE [IF EXISTS]","EXECUTE AS","USE","TO","UNDROP TABLE","CREATE {DATABASE | NAMED COLLECTION} [IF NOT EXISTS]","CREATE [OR REPLACE] {VIEW | DICTIONARY} [IF NOT EXISTS]","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE FUNCTION","CREATE {USER | ROLE | QUOTA | SETTINGS PROFILE} [IF NOT EXISTS | OR REPLACE]","CREATE [ROW] POLICY [IF NOT EXISTS | OR REPLACE]","REPLACE [TEMPORARY] TABLE [IF NOT EXISTS]","ALTER {ROLE | QUOTA | SETTINGS PROFILE} [IF EXISTS]","ALTER [TEMPORARY] TABLE","ALTER NAMED COLLECTION [IF EXISTS]","GRANTEES","NOT IDENTIFIED","RESET AUTHENTICATION METHODS TO NEW","{IDENTIFIED | ADD IDENTIFIED} [WITH | BY]","[ADD | DROP] HOST {LOCAL | NAME | REGEXP | IP | LIKE}","VALID UNTIL","DROP [ALL] {PROFILES | SETTINGS}","{ADD | MODIFY} SETTINGS","ADD PROFILES","APPLY DELETED MASK","IN PARTITION","{ADD | DROP | RENAME | CLEAR | COMMENT | MODIFY | ALTER | MATERIALIZE} COLUMN","{DETACH | DROP | ATTACH | FETCH | MOVE} {PART | PARTITION}","DROP DETACHED {PART | PARTITION}","{FORGET | REPLACE} PARTITION","CLEAR COLUMN","{FREEZE | UNFREEZE} [PARTITION]","CLEAR INDEX","TO {DISK | VOLUME}","[DELETE | REWRITE PARTS] IN PARTITION","{MODIFY | RESET} SETTING","DELETE WHERE","MODIFY ORDER BY","{MODIFY | REMOVE} SAMPLE BY","{ADD | MATERIALIZE | CLEAR} INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","GRANULARITY","AFTER","FIRST","ADD CONSTRAINT [IF NOT EXISTS]","DROP CONSTRAINT [IF EXISTS]","MODIFY TTL","REMOVE TTL","ADD STATISTICS [IF NOT EXISTS]","{DROP | CLEAR} STATISTICS [IF EXISTS]","MATERIALIZE STATISTICS [ALL | IF EXISTS]","KEYED BY","NOT KEYED","FOR [RANDOMIZED] INTERVAL","AS {PERMISSIVE | RESTRICTIVE}","FOR SELECT","ADD PROJECTION [IF NOT EXISTS]","{DROP | MATERIALIZE | CLEAR} PROJECTION [IF EXISTS]","REFRESH {EVERY | AFTER}","RANDOMIZE FOR","APPEND","APPEND TO","DELETE FROM","EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE]","GRANT ON CLUSTER","GRANT CURRENT GRANTS","WITH GRANT OPTION","REVOKE ON CLUSTER","ADMIN OPTION FOR","CHECK TABLE","PARTITION ID","{DESC | DESCRIBE} TABLE"]),Go=m(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),Fo=m(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),bo=m(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),Ho={name:"clickhouse",tokenizerOptions:{reservedSelect:go,reservedClauses:[...yo,...sr,...rE],reservedSetOperations:Go,reservedJoins:Fo,reservedKeywordPhrases:bo,reservedKeywords:mo,reservedDataTypes:Bo,reservedFunctionNames:Uo,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:E=>{const t=/\{([^:]+):/.exec(E);return t?t[1].trim():E}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:xo},formatOptions:{onelineClauses:[...sr,...rE],tabularOnelineClauses:rE}};function xo(E){return E.map((t,r)=>{const T=E[r+1]||It,o=E[r-1]||It;return t.type===X.RESERVED_SELECT&&(T.type===X.COMMA||o.type===X.RESERVED_CLAUSE||o.type===X.COMMA)?Object.assign(Object.assign({},t),{type:X.RESERVED_KEYWORD}):lt.SET(t)&&T.type===X.OPEN_PAREN?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t})}const Yo=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],Vo=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],vo=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],wo=m(["SELECT [ALL | DISTINCT]"]),Wo=m(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),Tr=m(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),nE=m(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),Xo=m(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Ko=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),ko=m(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),$o=m([]),qo={name:"db2",tokenizerOptions:{reservedSelect:wo,reservedClauses:[...Wo,...Tr,...nE],reservedSetOperations:Xo,reservedJoins:Ko,reservedKeywordPhrases:ko,reservedDataTypePhrases:$o,reservedKeywords:Vo,reservedDataTypes:vo,reservedFunctionNames:Yo,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...Tr,...nE],tabularOnelineClauses:nE}},Jo=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],Qo=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],Zo=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],jo=m(["SELECT [ALL | DISTINCT]"]),zo=m(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),or=m(["CREATE [OR REPLACE] TABLE"]),sE=m(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),ea=m(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),ta=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Ea=m(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),ra=m([]),na={name:"db2i",tokenizerOptions:{reservedSelect:jo,reservedClauses:[...zo,...or,...sE],reservedSetOperations:ea,reservedJoins:ta,reservedKeywordPhrases:Ea,reservedDataTypePhrases:ra,reservedKeywords:Qo,reservedDataTypes:Zo,reservedFunctionNames:Jo,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...or,...sE],tabularOnelineClauses:sE}},sa=["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","RANK","ROW_NUMBER"],Ta=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","IS","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],oa=["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],aa=m(["SELECT [ALL | DISTINCT]"]),ia=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),ar=m(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),TE=m(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),Aa=m(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),Ra=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),Sa=m(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),Na=m(["TIMESTAMP WITH TIME ZONE"]),Ia={name:"duckdb",tokenizerOptions:{reservedSelect:aa,reservedClauses:[...ia,...ar,...TE],reservedSetOperations:Aa,reservedJoins:Ra,reservedKeywordPhrases:Sa,reservedDataTypePhrases:Na,supportsXor:!0,reservedKeywords:Ta,reservedDataTypes:oa,reservedFunctionNames:sa,nestedBlockComments:!0,extraParens:["[]","{}"],underscoresInNumbers:!0,stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->","->>",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ar,...TE],tabularOnelineClauses:TE}},la=["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],Oa=["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],ua=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],Ca=m(["SELECT [ALL | DISTINCT]"]),ca=m(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),ir=m(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),oE=m(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),_a=m(["UNION [ALL | DISTINCT]"]),La=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),Da=m(["{ROWS | RANGE} BETWEEN"]),pa=m([]),da={name:"hive",tokenizerOptions:{reservedSelect:Ca,reservedClauses:[...ca,...ir,...oE],reservedSetOperations:_a,reservedJoins:La,reservedKeywordPhrases:Da,reservedDataTypePhrases:pa,reservedKeywords:Oa,reservedDataTypes:ua,reservedFunctionNames:la,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...ir,...oE],tabularOnelineClauses:oE}};function vt(E){return E.map((t,r)=>{const T=E[r+1]||It;if(lt.SET(t)&&T.text==="(")return Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME});const o=E[r-1]||It;return lt.VALUES(t)&&o.text==="="?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t})}const Pa=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],fa=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],ha=["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],Ma=m(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Ua=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),Ar=m(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),aE=m(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),ma=m(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),Ba=m(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ga=m(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ya=m([]),Ga={name:"mariadb",tokenizerOptions:{reservedSelect:Ma,reservedClauses:[...Ua,...Ar,...aE],reservedSetOperations:ma,reservedJoins:Ba,reservedKeywordPhrases:ga,reservedDataTypePhrases:ya,supportsXor:!0,reservedKeywords:Pa,reservedDataTypes:fa,reservedFunctionNames:ha,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Ar,...aE],tabularOnelineClauses:aE}},Fa=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ba=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Ha=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],xa=m(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Ya=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Rr=m(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),iE=m(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Va=m(["UNION [ALL | DISTINCT]"]),va=m(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),wa=m(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Wa=m([]),Xa={name:"mysql",tokenizerOptions:{reservedSelect:xa,reservedClauses:[...Ya,...Rr,...iE],reservedSetOperations:Va,reservedJoins:va,reservedKeywordPhrases:wa,reservedDataTypePhrases:Wa,supportsXor:!0,reservedKeywords:Fa,reservedDataTypes:ba,reservedFunctionNames:Ha,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Rr,...iE],tabularOnelineClauses:iE}},Ka=["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ka=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],$a=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],qa=m(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Ja=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Sr=m(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),AE=m(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),Qa=m(["UNION [ALL | DISTINCT]"]),Za=m(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ja=m(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),za=m([]),ei={name:"tidb",tokenizerOptions:{reservedSelect:qa,reservedClauses:[...Ja,...Sr,...AE],reservedSetOperations:Qa,reservedJoins:Za,reservedKeywordPhrases:ja,reservedDataTypePhrases:za,supportsXor:!0,reservedKeywords:Ka,reservedDataTypes:ka,reservedFunctionNames:$a,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Sr,...AE],tabularOnelineClauses:AE}},ti=["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],Ei=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],ri=[],ni=m(["SELECT [ALL | DISTINCT]"]),si=m(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Nr=m(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Ti=m(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),oi=m(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),ai=m(["{ROWS | RANGE | GROUPS} BETWEEN"]),ii=m([]),Ai={name:"n1ql",tokenizerOptions:{reservedSelect:ni,reservedClauses:[...si,...Nr],reservedSetOperations:Ti,reservedJoins:oi,reservedKeywordPhrases:ai,reservedDataTypePhrases:ii,supportsXor:!0,reservedKeywords:Ei,reservedDataTypes:ri,reservedFunctionNames:ti,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Nr}},Ri=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],Si=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],Ni=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],Ii=m(["SELECT [ALL | DISTINCT | UNIQUE]"]),li=m(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ir=m(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),RE=m(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Oi=m(["UNION [ALL]","MINUS","INTERSECT"]),ui=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Ci=m(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),ci=m([]),_i={name:"plsql",tokenizerOptions:{reservedSelect:Ii,reservedClauses:[...li,...Ir,...RE],reservedSetOperations:Oi,reservedJoins:ui,reservedKeywordPhrases:Ci,reservedDataTypePhrases:ci,supportsXor:!0,reservedKeywords:Ri,reservedDataTypes:Si,reservedFunctionNames:Ni,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:Li},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ir,...RE],tabularOnelineClauses:RE}};function Li(E){let t=It;return E.map(r=>lt.SET(r)&&lt.BY(t)?Object.assign(Object.assign({},r),{type:X.RESERVED_KEYWORD}):(Er(r.type)&&(t=r),r))}const Di=["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","GEN_RANDOM_UUID","UUIDV4","UUIDV7","UUID_EXTRACT_TIMESTAMP","UUID_EXTRACT_VERSION","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],pi=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],di=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","UUID","VARCHAR","XML","ZONE"],Pi=m(["SELECT [ALL | DISTINCT]"]),fi=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),lr=m(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),SE=m(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMENT ON","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),hi=m(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Mi=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Ui=m(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),mi=m(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),Bi={name:"postgresql",tokenizerOptions:{reservedSelect:Pi,reservedClauses:[...fi,...lr,...SE],reservedSetOperations:hi,reservedJoins:Mi,reservedKeywordPhrases:Ui,reservedDataTypePhrases:mi,reservedKeywords:pi,reservedDataTypes:di,reservedFunctionNames:Di,nestedBlockComments:!0,extraParens:["[]"],underscoresInNumbers:!0,stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...lr,...SE],tabularOnelineClauses:SE}},gi=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],yi=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],Gi=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],Fi=m(["SELECT [ALL | DISTINCT]"]),bi=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Or=m(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),NE=m(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),Hi=m(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),xi=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Yi=m(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),Vi=m([]),vi={name:"redshift",tokenizerOptions:{reservedSelect:Fi,reservedClauses:[...bi,...Or,...NE],reservedSetOperations:Hi,reservedJoins:xi,reservedKeywordPhrases:Yi,reservedDataTypePhrases:Vi,reservedKeywords:yi,reservedDataTypes:Gi,reservedFunctionNames:gi,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Or,...NE],tabularOnelineClauses:NE}},wi=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],Wi=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],Xi=["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],Ki=m(["SELECT [ALL | DISTINCT]"]),ki=m(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),ur=m(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),IE=m(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),$i=m(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),qi=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),Ji=m(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),Qi=m([]),Zi={name:"spark",tokenizerOptions:{reservedSelect:Ki,reservedClauses:[...ki,...ur,...IE],reservedSetOperations:$i,reservedJoins:qi,reservedKeywordPhrases:Ji,reservedDataTypePhrases:Qi,supportsXor:!0,reservedKeywords:wi,reservedDataTypes:Wi,reservedFunctionNames:Xi,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],identChars:{allowFirstCharNumber:!0},variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:ji},formatOptions:{onelineClauses:[...ur,...IE],tabularOnelineClauses:IE}};function ji(E){return E.map((t,r)=>{const T=E[r-1]||It,o=E[r+1]||It;return lt.WINDOW(t)&&o.type===X.OPEN_PAREN?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t.text==="ITEMS"&&t.type===X.RESERVED_KEYWORD&&!(T.text==="COLLECTION"&&o.text==="TERMINATED")?Object.assign(Object.assign({},t),{type:X.IDENTIFIER,text:t.raw}):t})}const zi=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],eA=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],tA=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],EA=m(["SELECT [ALL | DISTINCT]"]),rA=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET","RETURNING"]),Cr=m(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),lE=m(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),nA=m(["UNION [ALL]","EXCEPT","INTERSECT"]),sA=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),TA=m(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),oA=m([]),aA={name:"sqlite",tokenizerOptions:{reservedSelect:EA,reservedClauses:[...rA,...Cr,...lE],reservedSetOperations:nA,reservedJoins:sA,reservedKeywordPhrases:TA,reservedDataTypePhrases:oA,reservedKeywords:eA,reservedDataTypes:tA,reservedFunctionNames:zi,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Cr,...lE],tabularOnelineClauses:lE}},iA=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],AA=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],RA=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],SA=m(["SELECT [ALL | DISTINCT]"]),NA=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),cr=m(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),OE=m(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),IA=m(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),lA=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),OA=m(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),uA=m([]),CA={name:"sql",tokenizerOptions:{reservedSelect:SA,reservedClauses:[...NA,...cr,...OE],reservedSetOperations:IA,reservedJoins:lA,reservedKeywordPhrases:OA,reservedDataTypePhrases:uA,reservedKeywords:AA,reservedDataTypes:RA,reservedFunctionNames:iA,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...cr,...OE],tabularOnelineClauses:OE}},cA=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],_A=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],LA=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],DA=m(["SELECT [ALL | DISTINCT]"]),pA=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),_r=m(["CREATE TABLE [IF NOT EXISTS]"]),uE=m(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),dA=m(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),PA=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),fA=m(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),hA=m([]),MA={name:"trino",tokenizerOptions:{reservedSelect:DA,reservedClauses:[...pA,..._r,...uE],reservedSetOperations:dA,reservedJoins:PA,reservedKeywordPhrases:fA,reservedDataTypePhrases:hA,reservedKeywords:_A,reservedDataTypes:LA,reservedFunctionNames:cA,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[..._r,...uE],tabularOnelineClauses:uE}},UA=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],mA=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],BA=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],gA=m(["SELECT [ALL | DISTINCT]"]),yA=m(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET"]),Lr=m(["CREATE TABLE"]),CE=m(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}","ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}","DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS]","GO","USE","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION SCHEME","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),GA=m(["UNION [ALL]","EXCEPT","INTERSECT"]),FA=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),bA=m(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),HA=m([]),xA={name:"transactsql",tokenizerOptions:{reservedSelect:gA,reservedClauses:[...yA,...Lr,...CE],reservedSetOperations:GA,reservedJoins:FA,reservedKeywordPhrases:bA,reservedDataTypePhrases:HA,reservedKeywords:mA,reservedDataTypes:BA,reservedFunctionNames:UA,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Lr,...CE],tabularOnelineClauses:CE}},YA=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],VA=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],vA=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],wA=m(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),WA=m(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Dr=m(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cE=m(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),XA=m(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),KA=m(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),kA=m(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),$A=m([]),qA={name:"singlestoredb",tokenizerOptions:{reservedSelect:wA,reservedClauses:[...WA,...Dr,...cE],reservedSetOperations:XA,reservedJoins:KA,reservedKeywordPhrases:kA,reservedDataTypePhrases:$A,reservedKeywords:YA,reservedDataTypes:VA,reservedFunctionNames:vA,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:vt},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Dr,...cE],tabularOnelineClauses:cE}},JA=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IDENTIFIER","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],QA=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],ZA=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],jA=m(["SELECT [ALL | DISTINCT]"]),zA=m(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),pr=m(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),_E=m(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),eR=m(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),tR=m(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),ER=m(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),rR=m([]),nR={name:"snowflake",tokenizerOptions:{reservedSelect:jA,reservedClauses:[...zA,...pr,..._E],reservedSetOperations:eR,reservedJoins:tR,reservedKeywordPhrases:ER,reservedDataTypePhrases:rR,reservedKeywords:QA,reservedDataTypes:ZA,reservedFunctionNames:JA,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pr,..._E],tabularOnelineClauses:_E}},sR=Object.freeze(Object.defineProperty({__proto__:null,bigquery:po,clickhouse:Ho,db2:qo,db2i:na,duckdb:Ia,hive:da,mariadb:Ga,mysql:Xa,n1ql:Ai,plsql:_i,postgresql:Bi,redshift:vi,singlestoredb:qA,snowflake:nR,spark:Zi,sql:CA,sqlite:aA,tidb:ei,transactsql:xA,trino:MA},Symbol.toStringTag,{value:"Module"})),yt=E=>E[E.length-1],dr=E=>E.sort((t,r)=>r.length-t.length||t.localeCompare(r)),wt=E=>E.replace(/\s+/gu," "),LE=E=>/\n/.test(E),Et=E=>E.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Pr=/\s+/uy,Dt=E=>new RegExp(`(?:${E})`,"uy"),TR=E=>E.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),oR=E=>E+"(?:-"+E+")*",aR=({prefixes:E,requirePrefix:t})=>`(?:${E.map(TR).join("|")}${t?"":"|"})`,iR=E=>new RegExp(`(?:${E.map(Et).join("|")}).*?(?=\r
19
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Nt.prototype.build=function(E){return this.options.preserveOrder?_s(E,this.options):(Array.isArray(E)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(E={[this.options.arrayNodeName]:E}),this.j2x(E,0,[]).val)},Nt.prototype.j2x=function(E,t,r){let T="",s="";const a=r.join(".");for(let R in E)if(Object.prototype.hasOwnProperty.call(E,R))if(typeof E[R]>"u")this.isAttribute(R)&&(s+="");else if(E[R]===null)this.isAttribute(R)||R===this.options.cdataPropName?s+="":R[0]==="?"?s+=this.indentate(t)+"<"+R+"?"+this.tagEndChar:s+=this.indentate(t)+"<"+R+"/"+this.tagEndChar;else if(E[R]instanceof Date)s+=this.buildTextValNode(E[R],R,"",t);else if(typeof E[R]!="object"){const C=this.isAttribute(R);if(C&&!this.ignoreAttributesFn(C,a))T+=this.buildAttrPairStr(C,""+E[R]);else if(!C)if(R===this.options.textNodeName){let I=this.options.tagValueProcessor(R,""+E[R]);s+=this.replaceEntitiesValue(I)}else s+=this.buildTextValNode(E[R],R,"",t)}else if(Array.isArray(E[R])){const C=E[R].length;let I="",A="";for(let u=0;u<C;u++){const l=E[R][u];if(!(typeof l>"u"))if(l===null)R[0]==="?"?s+=this.indentate(t)+"<"+R+"?"+this.tagEndChar:s+=this.indentate(t)+"<"+R+"/"+this.tagEndChar;else if(typeof l=="object")if(this.options.oneListGroup){const f=this.j2x(l,t+1,r.concat(R));I+=f.val,this.options.attributesGroupName&&l.hasOwnProperty(this.options.attributesGroupName)&&(A+=f.attrStr)}else I+=this.processTextOrObjNode(l,R,t,r);else if(this.options.oneListGroup){let f=this.options.tagValueProcessor(R,l);f=this.replaceEntitiesValue(f),I+=f}else I+=this.buildTextValNode(l,R,"",t)}this.options.oneListGroup&&(I=this.buildObjectNode(I,R,A,t)),s+=I}else if(this.options.attributesGroupName&&R===this.options.attributesGroupName){const C=Object.keys(E[R]),I=C.length;for(let A=0;A<I;A++)T+=this.buildAttrPairStr(C[A],""+E[R][C[A]])}else s+=this.processTextOrObjNode(E[R],R,t,r);return{attrStr:T,val:s}},Nt.prototype.buildAttrPairStr=function(E,t){return t=this.options.attributeValueProcessor(E,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+E:" "+E+'="'+t+'"'};function ds(E,t,r,T){const s=this.j2x(E,r+1,T.concat(t));return E[this.options.textNodeName]!==void 0&&Object.keys(E).length===1?this.buildTextValNode(E[this.options.textNodeName],t,s.attrStr,r):this.buildObjectNode(s.val,t,s.attrStr,r)}Nt.prototype.buildObjectNode=function(E,t,r,T){if(E==="")return t[0]==="?"?this.indentate(T)+"<"+t+r+"?"+this.tagEndChar:this.indentate(T)+"<"+t+r+this.closeTag(t)+this.tagEndChar;{let s="</"+t+this.tagEndChar,a="";return t[0]==="?"&&(a="?",s=""),(r||r==="")&&E.indexOf("<")===-1?this.indentate(T)+"<"+t+r+a+">"+E+s:this.options.commentPropName!==!1&&t===this.options.commentPropName&&a.length===0?this.indentate(T)+`<!--${E}-->`+this.newLine:this.indentate(T)+"<"+t+r+a+this.tagEndChar+E+this.indentate(T)+s}},Nt.prototype.closeTag=function(E){let t="";return this.options.unpairedTags.indexOf(E)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${E}`,t},Nt.prototype.buildTextValNode=function(E,t,r,T){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(T)+`<![CDATA[${E}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(T)+`<!--${E}-->`+this.newLine;if(t[0]==="?")return this.indentate(T)+"<"+t+r+"?"+this.tagEndChar;{let s=this.options.tagValueProcessor(t,E);return s=this.replaceEntitiesValue(s),s===""?this.indentate(T)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(T)+"<"+t+r+">"+s+"</"+t+this.tagEndChar}},Nt.prototype.replaceEntitiesValue=function(E){if(E&&E.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const r=this.options.entities[t];E=E.replace(r.regex,r.val)}return E};function Ps(E){return this.options.indentBy.repeat(E)}function fs(E){return E.startsWith(this.options.attributeNamePrefix)&&E!==this.options.textNodeName?E.substr(this.attrPrefixLen):!1}const hs={validate:WE},Ms={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",ignoreDeclaration:!1,commentPropName:"#comment",cdataPropName:"__cdata",preserveOrder:!0,parseAttributeValue:!1,trimValues:!1,parseTagValue:!1,processEntities:!1,htmlEntities:!1,ignoreNameSpace:!1,allowBooleanAttributes:!0,unpairedTags:[],stopNodes:[],alwaysCreateTextNode:!1},Us={ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",format:!0,indentBy:" ",suppressEmptyNode:!1,suppressBooleanAttributes:!1,suppressUnpairedNode:!1},ms=E=>{const t=/<!\[CDATA\[([\s\S]*?)\]\]>/g,r=[];let T;for(;(T=t.exec(E))!==null;)r.push({start:T.index,end:T.index+T[0].length});const s=u=>r.some(l=>u>=l.start&&u<l.end),a=/&([a-zA-Z0-9#]+);/g,R=["lt","gt","amp","quot","apos"];let C,I=1,A=0;for(;(C=a.exec(E))!==null;){const u=C[1],l=C.index;if(s(l))continue;const f=E.substring(A,l);if(I+=(f.match(/\n/g)||[]).length,A=l,u.startsWith("#")){const M=u.substring(1);if(M.startsWith("x")||M.startsWith("X")){const b=M.substring(1);if(!/^[0-9a-fA-F]+$/.test(b))return{valid:!1,error:`Line ${I}: Invalid hexadecimal character reference '&${u};'`}}else if(!/^[0-9]+$/.test(M))return{valid:!1,error:`Line ${I}: Invalid numeric character reference '&${u};'`};continue}if(!R.includes(u))return{valid:!1,error:`Line ${I}: Invalid entity reference '&${u};'. Valid predefined entities are: &lt; &gt; &amp; &quot; &apos;`}}return{valid:!0}},Bs=E=>{try{const t=hs.validate(E,{allowBooleanAttributes:!0});if(t!==!0)return{valid:!1,error:`Line ${t.err.line}: ${t.err.msg}`};const r=ms(E);return r.valid?{valid:!0}:r}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},zt=(E,t)=>{try{return new Cs({...Ms,...t}).parse(E)}catch(r){throw new Error(`XML 解析失败: ${r instanceof Error?r.message:"Unknown error"}`)}},eE=(E,t)=>{try{let T=new Nt({...Us,format:t?.format??!0,indentBy:t?.indentBy??" "}).build(E);return t?.showDeclaration!==!1&&!T.startsWith("<?xml")&&(T=`<?xml version="1.0" encoding="UTF-8"?>
20
+ `+T),T}catch(r){throw new Error(`XML 构建失败: ${r instanceof Error?r.message:"Unknown error"}`)}},gs=(E,t)=>Array.isArray(E)?At(E,{format:!1,originalXml:t}):eE(E,{format:!1,showDeclaration:!1}),ys=(E,t)=>{const r=zt(E);return Array.isArray(r)?At(r,{indent:t?.indentBy,originalXml:E}):eE(r,t)},zE=E=>{const t=new Set,r=/<([a-zA-Z0-9_-]+)(?:\s[^>]*)?\s*\/>/g;let T;for(;(T=r.exec(E))!==null;)t.add(T[1]);return t},At=(E,t={})=>{const r=t.indent!==void 0?t.indent:" ",T=t.level||0,s=t.format!==!1,a=s?r.repeat(T):"",R=s?`
21
+ `:"";let C=t.selfClosingTags;!C&&t.originalXml&&T===0&&(C=zE(t.originalXml));let I="";for(const A of E){if(A["?xml"]){const k=A[":@"]||{},le=Object.entries(k).map(([_e,j])=>`${_e.startsWith("@_")?_e.substring(2):_e}="${j}"`).join(" ");I+=`<?xml ${le}?>${R}`;continue}if(A["#comment"]){const k=A["#comment"];if(Array.isArray(k)&&k.length>0){const le=k[0]["#text"]||k[0];I+=`${a}<!--${le}-->${R}`}continue}const u=Object.keys(A).find(k=>!k.startsWith(":")&&!k.startsWith("#")&&!k.startsWith("__"));if(!u)continue;const l=A[u],f=A[":@"]||{},M=Object.entries(f).map(([k,le])=>`${k.startsWith("@_")?k.substring(2):k}="${le}"`).join(" "),b=M?" "+M:"";if(!Array.isArray(l)||l.length===0){C&&C.has(u)?I+=`${a}<${u}${b}/>${R}`:I+=`${a}<${u}${b}></${u}>${R}`;continue}const J=l.length===1&&l[0]["#text"]!==void 0,U=J?l[0]["#text"]:"",ee=l.some(k=>k.__cdata),te=J&&U==="";if(ee){const k=l.find(le=>le.__cdata);if(k){const le=k.__cdata[0]["#text"]||"";I+=`${a}<${u}${b}><![CDATA[${le}]]></${u}>${R}`}}else te?I+=`${a}<${u}${b}></${u}>${R}`:J?I+=`${a}<${u}${b}>${U}</${u}>${R}`:(I+=`${a}<${u}${b}>${R}`,I+=At(l,{indent:r,level:T+1,format:s,selfClosingTags:C}),I+=`${a}</${u}>${R}`)}return I},Gs={class:"xml-format__content"},Fs={key:0,class:"xml-format__error"},Hs={key:1,class:"xml-format__error"},bs={key:2,class:"xml-format__viewer"},xs=Mt(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},theme:{default:"github-light"},showComments:{type:Boolean,default:!0},showCdata:{type:Boolean,default:!0},preserveWhitespace:{type:Boolean,default:!1}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){o.useCssVars(v=>({"832055ca":ee.value.colors.background,b4190a4c:ee.value.colors.text,"17ae51fb":ee.value.colors.error,56628589:ee.value.colors.errorBackground}));const T=E,s=r,a=o.ref(null),R=o.ref(""),C=o.ref(new Set),I=o.ref(null),A=o.ref(""),u=o.ref(""),l=o.ref(new Set),f=o.ref(!1),M=o.computed(()=>R.value===""),b=v=>{if(!v||typeof v!="object")return v;if(Array.isArray(v))return v.map(P=>b(P));const p={},m=Object.keys(v).sort((P,g)=>{const $=P.startsWith("?")||P.startsWith(":")||P.startsWith("#"),h=g.startsWith("?")||g.startsWith(":")||g.startsWith("#"),z={"?xml":0,":@":1,"#text":2,"#cdata":3,"#comment":4};if($&&h){const ie=z[P]??99,Ce=z[g]??99;return ie-Ce}else return $?-1:h?1:P.localeCompare(g)});for(const P of m){const g=v[P];if(P===":@"&&g&&typeof g=="object"&&!Array.isArray(g)){const $={},h=Object.keys(g).sort();for(const z of h)$[z]=g[z];p[P]=$}else p[P]=b(g)}return p},J=o.computed(()=>{const v=I.value!==null?I.value:a.value;return!v||!f.value?v:b(v)}),U=o.computed(()=>A.value?null:J.value),ee=o.computed(()=>mT(T.theme)),te=o.computed(()=>{const v=U.value;return!v||!Array.isArray(v)?[]:v.map((p,m)=>({node:p,originalIndex:m})).filter(p=>!p.node["?xml"])}),k=o.computed(()=>{const v=U.value;if(!v||!Array.isArray(v))return null;const p=v.find(g=>g["?xml"]);if(!p||!p[":@"])return null;const m=p[":@"],P=[];return m["@_version"]&&P.push(`version="${m["@_version"]}"`),m["@_encoding"]&&P.push(`encoding="${m["@_encoding"]}"`),m["@_standalone"]&&P.push(`standalone="${m["@_standalone"]}"`),P.length>0?`<?xml ${P.join(" ")}?>`:null}),le=o.computed(()=>te.value),_e=v=>{if(!v||!v.trim()){R.value="",a.value=null,u.value="",I.value=null,A.value="";return}try{const p=Bs(v);if(!p.valid){R.value=p.error||"Invalid XML",a.value=null,u.value="",l.value=new Set;return}u.value=v,l.value=zE(v),a.value=zt(v),R.value="",I.value=null,A.value="",o.nextTick(()=>{D()})}catch(p){R.value=p instanceof Error?p.message:"Unknown parse error",a.value=null,u.value="",I.value=null,A.value=""}},j=v=>{C.value.has(v)?C.value.delete(v):C.value.add(v)},D=()=>{const v=new Set,p=(m,P="")=>{Array.isArray(m)&&m.forEach((g,$)=>{const h=Object.keys(g).find(Ce=>!Ce.startsWith(":")&&!Ce.startsWith("#"));if(!h)return;const z=P?`${P}.${h}[${$}]`:`${h}[${$}]`;v.add(z);const ie=g[h];Array.isArray(ie)&&p(ie,z+"."+h)})};te.value.forEach(({node:m,originalIndex:P})=>{const g=Object.keys(m).find($=>!$.startsWith(":")&&!$.startsWith("#"));if(g){const $=`${g}[${P}]`;v.add($);const h=m[g];Array.isArray(h)&&p(h,$+"."+g)}}),C.value=v,s("expand-all")},Ae=()=>{C.value.clear(),s("collapse-all")},H=async()=>{if(M.value)try{const v=U.value||a.value;if(!v)return;const p=Array.isArray(v)?At(v,{indent:" ",selfClosingTags:l.value}):eE(v,{format:!0,indentBy:" "});await navigator.clipboard.writeText(p),s("copy-success",p)}catch(v){const p=v instanceof Error?v:new Error("Copy failed");s("copy-error",p),console.error("Failed to copy XML:",v)}},B=()=>{if(!(!M.value||!a.value))try{const v=gs(a.value,T.modelValue);s("update:modelValue",v),s("compress",v)}catch(v){console.error("Failed to compress XML:",v)}},Q=()=>{if(M.value)try{const v=ys(T.modelValue,{format:!0,indentBy:" "});s("update:modelValue",v),s("format",v)}catch(v){console.error("Failed to format XML:",v)}},X=v=>{if(!v||!v.expression.trim()){K();return}if(!a.value||!u.value){A.value="No valid XML data to filter";return}try{const m=new YE.DOMParser().parseFromString(u.value,"text/xml"),P=Yn.select(v.expression,m);if(!P||Array.isArray(P)&&P.length===0){I.value=[],A.value="";return}const g=new YE.XMLSerializer;let $="";Array.isArray(P)?($=`<result>
22
+ `,P.forEach(h=>{h.nodeType===1?$+=" "+g.serializeToString(h)+`
23
+ `:h.nodeType===2?$+=` <attribute name="${h.name}" value="${h.value}"/>
24
+ `:h.nodeType===3&&($+=` <text>${h.nodeValue}</text>
25
+ `)}),$+="</result>"):$=g.serializeToString(P),I.value=zt($),A.value="",o.nextTick(()=>{D()})}catch(p){A.value=p instanceof Error?p.message:"Filter execution error",I.value=null}},K=()=>{I.value=null,A.value="",o.nextTick(()=>{D()})},oe=()=>{f.value=!0},ue=()=>{f.value=!1},pe=async v=>{try{const p=typeof v=="string"?v:JSON.stringify(v,null,2);await navigator.clipboard.writeText(p),s("copy-success",p)}catch(p){const m=p instanceof Error?p:new Error("Copy failed");s("copy-error",m),console.error("Failed to copy value:",p)}},x=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const P=v.split(/\./).filter(Boolean);let g=a.value;for(let h=0;h<P.length;h++){const z=P[h],ie=z.match(/^(.+?)\[(\d+)\]$/);if(ie){const Ce=ie[1],De=parseInt(ie[2]);if(h===P.length-1){if(Array.isArray(g)&&g[De]){const Be=g[De];if(Be[p]){const ce=Be[p];delete Be[p],Be[m]=ce,l.value.has(p)&&(l.value.delete(p),l.value.add(m))}}}else Array.isArray(g)&&g[De]&&(g=g[De])}else g[z]&&(g=g[z])}const $=At(a.value,{indent:" ",selfClosingTags:l.value});s("update:modelValue",$)}catch(P){console.error("Failed to update tag name:",P)}},Z=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const P=v.split(/\./).filter(Boolean);let g=a.value;for(let h=0;h<P.length;h++){const z=P[h],ie=z.match(/^(.+?)\[(\d+)\]$/);if(ie){const Ce=ie[1],De=parseInt(ie[2]);if(h===P.length-1){if(Array.isArray(g)&&g[De]){const ce=g[De][":@"];if(ce&&ce[`@_${p}`]!==void 0){const q=ce[`@_${p}`];delete ce[`@_${p}`],ce[`@_${m}`]=q}}}else Array.isArray(g)&&g[De]&&(g=g[De])}else g[z]&&(g=g[z])}const $=At(a.value,{indent:" ",selfClosingTags:l.value});s("update:modelValue",$)}catch(P){console.error("Failed to update attribute name:",P)}},Ne=(v,p,m)=>{if(!(!a.value||!Array.isArray(a.value)))try{const P=v.split(/\./).filter(Boolean);let g=a.value;for(let h=0;h<P.length;h++){const z=P[h],ie=z.match(/^(.+?)\[(\d+)\]$/);if(ie){const Ce=ie[1],De=parseInt(ie[2]);if(h===P.length-1){if(Array.isArray(g)&&g[De]){const ce=g[De][":@"];ce&&ce[`@_${p}`]!==void 0&&(ce[`@_${p}`]=m)}}else Array.isArray(g)&&g[De]&&(g=g[De])}else g[z]&&(g=g[z])}const $=At(a.value,{indent:" ",selfClosingTags:l.value});s("update:modelValue",$)}catch(P){console.error("Failed to update attribute value:",P)}},Ue=(v,p)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=v.split(/\./).filter(Boolean);let P=a.value,g="";for(let h=0;h<m.length;h++){const z=m[h],ie=z.match(/^(.+?)\[(\d+)\]$/);if(ie){const Ce=ie[1],De=parseInt(ie[2]);if(h===m.length-1){if(Array.isArray(P)&&P[De]){const Be=P[De];if(g=Object.keys(Be).find(ce=>!ce.startsWith(":")&&!ce.startsWith("#"))||"",g&&Array.isArray(Be[g])){const ce=Be[g],q=ce.findIndex(ge=>ge["#text"]!==void 0);q!==-1?ce[q]["#text"]=p:ce.push({"#text":p})}}}else Array.isArray(P)&&P[De]&&(P=P[De])}else P[z]&&(P=P[z])}const $=At(a.value,{indent:" ",selfClosingTags:l.value});s("update:modelValue",$)}catch(m){console.error("Failed to update text content:",m)}},Te=(v,p)=>{if(!(!a.value||!Array.isArray(a.value)))try{const m=v.split(/\./).filter(Boolean);let P=a.value;for(let $=0;$<m.length;$++){const h=m[$],z=h.match(/^(.+?)\[(\d+)\]$/);if(z){const ie=z[1],Ce=parseInt(z[2]);if($===m.length-1){if(Array.isArray(P)&&P[Ce]){const De=P[Ce],Be=Object.keys(De).find(ce=>!ce.startsWith(":")&&!ce.startsWith("#"));if(Be&&Array.isArray(De[Be])){const ce=De[Be],q=ce.findIndex(ge=>ge.__cdata!==void 0);if(q!==-1){const ge=ce[q];Array.isArray(ge.__cdata)&&ge.__cdata[0]&&(ge.__cdata[0]["#text"]=p)}else ce.push({__cdata:[{"#text":p}]})}}}else Array.isArray(P)&&P[Ce]&&(P=P[Ce])}else P[h]&&(P=P[h])}const g=At(a.value,{indent:" ",selfClosingTags:l.value});s("update:modelValue",g)}catch(m){console.error("Failed to update CDATA content:",m)}};return o.watch(()=>T.modelValue,v=>{_e(v)},{immediate:!0}),t({copyXml:H,compressSource:B,formatSource:Q,expandAll:D,collapseAll:Ae,toggleExpand:j,filter:X,clearFilter:K,sortAttributes:oe,clearSortAttributes:ue,isSorted:()=>f.value,isValidXml:()=>M.value,getParsedXml:()=>a.value,getFilteredXml:()=>I.value,getExpandedNodes:()=>C.value,getParseError:()=>R.value,getFilterError:()=>A.value,parseXmlString:v=>_e(v),copyValue:v=>pe(v)}),(v,p)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["xml-format",`xml-format--${ee.value.name}`])},[o.createElementVNode("div",Gs,[M.value?A.value?(o.openBlock(),o.createElementBlock("div",Hs,[p[1]||(p[1]=o.createElementVNode("h4",null,"Filter Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(A.value),1)])):(o.openBlock(),o.createElementBlock("div",bs,[k.value?(o.openBlock(),o.createElementBlock("div",{key:0,class:"xml-declaration",style:o.normalizeStyle({color:ee.value.colors.xmlDeclaration})},o.toDisplayString(k.value),5)):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(le.value,(m,P)=>(o.openBlock(),o.createBlock(UT,{key:P,node:m.node,index:m.originalIndex,level:0,expanded:C.value,theme:ee.value,selfClosingTags:l.value,onToggleExpand:j,onCopy:pe,"onUpdate:tagName":x,"onUpdate:attributeName":Z,"onUpdate:attributeValue":Ne,"onUpdate:textContent":Ue,"onUpdate:cdataContent":Te},null,8,["node","index","expanded","theme","selfClosingTags"]))),128))])):(o.openBlock(),o.createElementBlock("div",Fs,[p[0]||(p[0]=o.createElementVNode("h4",null,"XML Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(R.value),1)]))])],2))}}),[["__scopeId","data-v-95a28eeb"]]),er={"github-light":{name:"github-light",colors:{background:"#ffffff",surfaceBackground:"#f6f8fa",hoverBackground:"#f3f4f6",border:"#d0d7de",text:"#24292f",textSecondary:"#57606a",buttonBackground:"#f6f8fa",buttonBackgroundHover:"#f3f4f6",buttonBorder:"#d0d7de",buttonText:"#24292f",buttonPrimary:"#1f883d",buttonPrimaryHover:"#1a7f37",success:"#1f883d",successBackground:"#dafbe1",error:"#cf222e",errorBackground:"#ffebe9",sqlKeyword:"#cf222e",sqlFunction:"#8250df",sqlString:"#0a3069",sqlNumber:"#0550ae",sqlComment:"#6e7781",sqlOperator:"#cf222e",sqlIdentifier:"#24292f",sqlPunctuation:"#24292f",collapsedBackground:"#ddf4ff",collapsedText:"#0969da",indentLine:"#d0d7de"}},"github-dark":{name:"github-dark",colors:{background:"#0d1117",surfaceBackground:"#161b22",hoverBackground:"#30363d",border:"#30363d",text:"#c9d1d9",textSecondary:"#8b949e",buttonBackground:"#21262d",buttonBackgroundHover:"#30363d",buttonBorder:"#30363d",buttonText:"#c9d1d9",buttonPrimary:"#238636",buttonPrimaryHover:"#2ea043",success:"#3fb950",successBackground:"#0f2e1c",error:"#f85149",errorBackground:"#3d1319",sqlKeyword:"#ff7b72",sqlFunction:"#d2a8ff",sqlString:"#a5d6ff",sqlNumber:"#79c0ff",sqlComment:"#8b949e",sqlOperator:"#ff7b72",sqlIdentifier:"#c9d1d9",sqlPunctuation:"#c9d1d9",collapsedBackground:"#1c2d41",collapsedText:"#58a6ff",indentLine:"#30363d"}},"min-light":{name:"min-light",colors:{background:"#ffffff",surfaceBackground:"#fafafa",hoverBackground:"#f9f9f9",border:"#e5e5e5",text:"#333333",textSecondary:"#888888",buttonBackground:"#f8f8f8",buttonBackgroundHover:"#eeeeee",buttonBorder:"#e0e0e0",buttonText:"#333333",buttonPrimary:"#007acc",buttonPrimaryHover:"#005a9e",success:"#22c55e",successBackground:"#f0fdf4",error:"#ef4444",errorBackground:"#fef2f2",sqlKeyword:"#ef4444",sqlFunction:"#8b5cf6",sqlString:"#22c55e",sqlNumber:"#3b82f6",sqlComment:"#6b7280",sqlOperator:"#ef4444",sqlIdentifier:"#1f2937",sqlPunctuation:"#374151",collapsedBackground:"#e0f2fe",collapsedText:"#0284c7",indentLine:"#e5e7eb"}},"slack-ochin":{name:"slack-ochin",colors:{background:"#fef5ed",surfaceBackground:"#fef9f3",hoverBackground:"#f9f0e5",border:"#e9dcc9",text:"#3d3c40",textSecondary:"#616061",buttonBackground:"#fef9f3",buttonBackgroundHover:"#f9f0e5",buttonBorder:"#e9dcc9",buttonText:"#3d3c40",buttonPrimary:"#007a5a",buttonPrimaryHover:"#006644",success:"#007a5a",successBackground:"#d1f4e0",error:"#e01e5a",errorBackground:"#ffdbea",sqlKeyword:"#e01e5a",sqlFunction:"#8b2eff",sqlString:"#0b4c8c",sqlNumber:"#1264a3",sqlComment:"#616061",sqlOperator:"#e01e5a",sqlIdentifier:"#3d3c40",sqlPunctuation:"#3d3c40",collapsedBackground:"#d8eaf5",collapsedText:"#0b4c8c",indentLine:"#3e4348"}}},Ys=E=>er[E]||er["github-light"],y=E=>E.flatMap(Vs),Vs=E=>Vt(ws(E)).map(vs),vs=E=>E.replace(/ +/g," ").trim(),ws=E=>({type:"mandatory_block",items:tE(E,0)[0]}),tE=(E,t,r)=>{const T=[];for(;E[t];){const[s,a]=Ws(E,t);if(T.push(s),t=a,E[t]==="|")t++;else if(E[t]==="}"||E[t]==="]"){if(r!==E[t])throw new Error(`Unbalanced parenthesis in: ${E}`);return t++,[T,t]}else if(t===E.length){if(r)throw new Error(`Unbalanced parenthesis in: ${E}`);return[T,t]}else throw new Error(`Unexpected "${E[t]}"`)}return[T,t]},Ws=(E,t)=>{const r=[];for(;;){const[T,s]=Xs(E,t);if(T)r.push(T),t=s;else break}return r.length===1?[r[0],t]:[{type:"concatenation",items:r},t]},Xs=(E,t)=>{if(E[t]==="{")return Ks(E,t+1);if(E[t]==="[")return ks(E,t+1);{let r="";for(;E[t]&&/[A-Za-z0-9_ ]/.test(E[t]);)r+=E[t],t++;return[r,t]}},Ks=(E,t)=>{const[r,T]=tE(E,t,"}");return[{type:"mandatory_block",items:r},T]},ks=(E,t)=>{const[r,T]=tE(E,t,"]");return[{type:"optional_block",items:r},T]},Vt=E=>{if(typeof E=="string")return[E];if(E.type==="concatenation")return E.items.map(Vt).reduce($s,[""]);if(E.type==="mandatory_block")return E.items.flatMap(Vt);if(E.type==="optional_block")return["",...E.items.flatMap(Vt)];throw new Error(`Unknown node type: ${E}`)},$s=(E,t)=>{const r=[];for(const T of E)for(const s of t)r.push(T+s);return r};var W;(function(E){E.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",E.IDENTIFIER="IDENTIFIER",E.STRING="STRING",E.VARIABLE="VARIABLE",E.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",E.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",E.RESERVED_KEYWORD="RESERVED_KEYWORD",E.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",E.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",E.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",E.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",E.RESERVED_CLAUSE="RESERVED_CLAUSE",E.RESERVED_SELECT="RESERVED_SELECT",E.RESERVED_JOIN="RESERVED_JOIN",E.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",E.ARRAY_KEYWORD="ARRAY_KEYWORD",E.CASE="CASE",E.END="END",E.WHEN="WHEN",E.ELSE="ELSE",E.THEN="THEN",E.LIMIT="LIMIT",E.BETWEEN="BETWEEN",E.AND="AND",E.OR="OR",E.XOR="XOR",E.OPERATOR="OPERATOR",E.COMMA="COMMA",E.ASTERISK="ASTERISK",E.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",E.OPEN_PAREN="OPEN_PAREN",E.CLOSE_PAREN="CLOSE_PAREN",E.LINE_COMMENT="LINE_COMMENT",E.BLOCK_COMMENT="BLOCK_COMMENT",E.DISABLE_COMMENT="DISABLE_COMMENT",E.NUMBER="NUMBER",E.NAMED_PARAMETER="NAMED_PARAMETER",E.QUOTED_PARAMETER="QUOTED_PARAMETER",E.NUMBERED_PARAMETER="NUMBERED_PARAMETER",E.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",E.CUSTOM_PARAMETER="CUSTOM_PARAMETER",E.DELIMITER="DELIMITER",E.EOF="EOF"})(W=W||(W={}));const tr=E=>({type:W.EOF,raw:"«EOF»",text:"«EOF»",start:E}),It=tr(1/0),Pt=E=>t=>t.type===E.type&&t.text===E.text,Ot={ARRAY:Pt({text:"ARRAY",type:W.RESERVED_DATA_TYPE}),BY:Pt({text:"BY",type:W.RESERVED_KEYWORD}),SET:Pt({text:"SET",type:W.RESERVED_CLAUSE}),STRUCT:Pt({text:"STRUCT",type:W.RESERVED_DATA_TYPE}),WINDOW:Pt({text:"WINDOW",type:W.RESERVED_CLAUSE}),VALUES:Pt({text:"VALUES",type:W.RESERVED_CLAUSE})},Er=E=>E===W.RESERVED_DATA_TYPE||E===W.RESERVED_KEYWORD||E===W.RESERVED_FUNCTION_NAME||E===W.RESERVED_KEYWORD_PHRASE||E===W.RESERVED_DATA_TYPE_PHRASE||E===W.RESERVED_CLAUSE||E===W.RESERVED_SELECT||E===W.RESERVED_SET_OPERATION||E===W.RESERVED_JOIN||E===W.ARRAY_KEYWORD||E===W.CASE||E===W.END||E===W.WHEN||E===W.ELSE||E===W.THEN||E===W.LIMIT||E===W.BETWEEN||E===W.AND||E===W.OR||E===W.XOR,qs=E=>E===W.AND||E===W.OR||E===W.XOR,Js=["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],Qs=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],Zs=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],js=y(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),zs=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),rr=y(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),EE=y(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),eo=y(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),to=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),Eo=y(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),ro=y([]),no={name:"bigquery",tokenizerOptions:{reservedSelect:js,reservedClauses:[...zs,...EE,...rr],reservedSetOperations:eo,reservedJoins:to,reservedKeywordPhrases:Eo,reservedDataTypePhrases:ro,reservedKeywords:Qs,reservedDataTypes:Zs,reservedFunctionNames:Js,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:To},formatOptions:{onelineClauses:[...rr,...EE],tabularOnelineClauses:EE}};function To(E){return so(oo(E))}function so(E){let t=It;return E.map(r=>r.text==="OFFSET"&&t.text==="["?(t=r,Object.assign(Object.assign({},r),{type:W.RESERVED_FUNCTION_NAME})):(t=r,r))}function oo(E){var t;const r=[];for(let T=0;T<E.length;T++){const s=E[T];if((Ot.ARRAY(s)||Ot.STRUCT(s))&&((t=E[T+1])===null||t===void 0?void 0:t.text)==="<"){const a=ao(E,T+1),R=E.slice(T,a+1);r.push({type:W.IDENTIFIER,raw:R.map(nr("raw")).join(""),text:R.map(nr("text")).join(""),start:s.start}),T=a}else r.push(s)}return r}const nr=E=>t=>t.type===W.IDENTIFIER||t.type===W.COMMA?t[E]+" ":t[E];function ao(E,t){let r=0;for(let T=t;T<E.length;T++){const s=E[T];if(s.text==="<"?r++:s.text===">"?r--:s.text===">>"&&(r-=2),r===0)return T}return E.length-1}const Ao=["BIT_AND","BIT_OR","BIT_XOR","BLAKE3","CAST","CHARACTER_LENGTH","CHAR_LENGTH","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATE","DATE_DIFF","DATE_FORMAT","DATE_TRUNC","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","FORMAT_BYTES","FQDN","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","HOUR","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4StringToNumOrDefault","IPv4StringToNumOrNull","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","IPv6StringToNumOrDefault","IPv6StringToNumOrNull","JSONAllPaths","JSONAllPathsWithTypes","JSONArrayLength","JSONDynamicPaths","JSONDynamicPathsWithTypes","JSONExtract","JSONExtractArrayRaw","JSONExtractArrayRawCaseInsensitive","JSONExtractBool","JSONExtractBoolCaseInsensitive","JSONExtractCaseInsensitive","JSONExtractFloat","JSONExtractFloatCaseInsensitive","JSONExtractInt","JSONExtractIntCaseInsensitive","JSONExtractKeys","JSONExtractKeysAndValues","JSONExtractKeysAndValuesCaseInsensitive","JSONExtractKeysAndValuesRaw","JSONExtractKeysAndValuesRawCaseInsensitive","JSONExtractKeysCaseInsensitive","JSONExtractRaw","JSONExtractRawCaseInsensitive","JSONExtractString","JSONExtractStringCaseInsensitive","JSONExtractUInt","JSONExtractUIntCaseInsensitive","JSONHas","JSONKey","JSONLength","JSONMergePatch","JSONSharedDataPaths","JSONSharedDataPathsWithTypes","JSONType","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_QUERY","JSON_VALUE","L1Distance","L1Norm","L1Normalize","L2Distance","L2Norm","L2Normalize","L2SquaredDistance","L2SquaredNorm","LAST_DAY","LinfDistance","LinfNorm","LinfNormalize","LpDistance","LpNorm","LpNormalize","MACNumToString","MACStringToNum","MACStringToOUI","MAP_FROM_ARRAYS","MD4","MD5","MILLISECOND","MINUTE","MONTH","OCTET_LENGTH","QUARTER","REGEXP_EXTRACT","REGEXP_MATCHES","REGEXP_REPLACE","RIPEMD160","SCHEMA","SECOND","SHA1","SHA224","SHA256","SHA384","SHA512","SHA512_256","STD","STDDEV_POP","STDDEV_SAMP","ST_LineFromWKB","ST_MLineFromWKB","ST_MPolyFromWKB","ST_PointFromWKB","ST_PolyFromWKB","SUBSTRING_INDEX","SVG","TIMESTAMP_DIFF","TO_BASE64","TO_DAYS","TO_UNIXTIME","ULIDStringToDateTime","URLHash","URLHierarchy","URLPathHierarchy","UTCTimestamp","UTC_timestamp","UUIDNumToString","UUIDStringToNum","UUIDToNum","UUIDv7ToDateTime","VAR_POP","VAR_SAMP","YEAR","YYYYMMDDToDate","YYYYMMDDToDate32","YYYYMMDDhhmmssToDateTime","YYYYMMDDhhmmssToDateTime64","_CAST","__actionName","__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","__patchPartitionID","__scalarSubqueryResult","abs","accurateCast","accurateCastOrDefault","accurateCastOrNull","acos","acosh","addDate","addDays","addHours","addInterval","addMicroseconds","addMilliseconds","addMinutes","addMonths","addNanoseconds","addQuarters","addSeconds","addTupleOfIntervals","addWeeks","addYears","addressToLine","addressToLineWithInlines","addressToSymbol","aes_decrypt_mysql","aes_encrypt_mysql","age","aggThrow","alphaTokens","analysisOfVariance","anova","any","anyHeavy","anyLast","anyLastRespectNulls","anyLast_respect_nulls","anyRespectNulls","anyValueRespectNulls","any_respect_nulls","any_value","any_value_respect_nulls","appendTrailingCharIfAbsent","approx_top_count","approx_top_k","approx_top_sum","argMax","argMin","array","arrayAUC","arrayAUCPR","arrayAll","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayDotProduct","arrayElement","arrayElementOrNull","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFirstOrNull","arrayFlatten","arrayFold","arrayIntersect","arrayJaccardIndex","arrayJoin","arrayLast","arrayLastIndex","arrayLastOrNull","arrayLevenshteinDistance","arrayLevenshteinDistanceWeighted","arrayMap","arrayMax","arrayMin","arrayNormalizedGini","arrayPRAUC","arrayPartialReverseSort","arrayPartialShuffle","arrayPartialSort","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayROCAUC","arrayRandomSample","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arrayRotateLeft","arrayRotateRight","arrayShiftLeft","arrayShiftRight","arrayShingles","arrayShuffle","arraySimilarity","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arraySymmetricDifference","arrayUnion","arrayUniq","arrayWithConstant","arrayZip","arrayZipUnaligned","array_agg","array_concat_agg","ascii","asin","asinh","assumeNotNull","atan","atan2","atanh","authenticatedUser","avg","avgWeighted","bar","base32Decode","base32Encode","base58Decode","base58Encode","base64Decode","base64Encode","base64URLDecode","base64URLEncode","basename","bech32Decode","bech32Encode","bin","bitAnd","bitCount","bitHammingDistance","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitSlice","bitTest","bitTestAll","bitTestAny","bitXor","bitmapAnd","bitmapAndCardinality","bitmapAndnot","bitmapAndnotCardinality","bitmapBuild","bitmapCardinality","bitmapContains","bitmapHasAll","bitmapHasAny","bitmapMax","bitmapMin","bitmapOr","bitmapOrCardinality","bitmapSubsetInRange","bitmapSubsetLimit","bitmapToArray","bitmapTransform","bitmapXor","bitmapXorCardinality","bitmaskToArray","bitmaskToList","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteHammingDistance","byteSize","byteSlice","byteSwap","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","catboostEvaluate","categoricalInformationValue","cbrt","ceil","ceiling","changeDay","changeHour","changeMinute","changeMonth","changeSecond","changeYear","char","cityHash64","clamp","coalesce","colorOKLCHToSRGB","colorSRGBToOKLCH","compareSubstrings","concat","concatAssumeInjective","concatWithSeparator","concatWithSeparatorAssumeInjective","concat_ws","connectionId","connection_id","contingency","convertCharset","corr","corrMatrix","corrStable","cos","cosh","cosineDistance","count","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstrings","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopMatrix","covarPopStable","covarSamp","covarSampMatrix","covarSampStable","cramersV","cramersVBiasCorrected","curdate","currentDatabase","currentProfiles","currentQueryID","currentRoles","currentSchemas","currentUser","current_database","current_date","current_query_id","current_schemas","current_timestamp","current_user","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomRFC","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainCustomWithWWWRFC","cutToFirstSignificantSubdomainRFC","cutToFirstSignificantSubdomainWithWWW","cutToFirstSignificantSubdomainWithWWWRFC","cutURLParameter","cutWWW","damerauLevenshteinDistance","dateDiff","dateName","dateTime64ToSnowflake","dateTime64ToSnowflakeID","dateTimeToSnowflake","dateTimeToSnowflakeID","dateTimeToUUIDv7","dateTrunc","date_bin","date_diff","decodeHTMLComponent","decodeURLComponent","decodeURLFormComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","degrees","deltaSum","deltaSumTimestamp","demangle","denseRank","dense_rank","detectCharset","detectLanguage","detectLanguageMixed","detectLanguageUnknown","detectProgrammingLanguage","detectTonality","dictGet","dictGetAll","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetIPv4","dictGetIPv4OrDefault","dictGetIPv6","dictGetIPv6OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetInt8","dictGetInt8OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","displayName","distanceL1","distanceL2","distanceL2Squared","distanceLinf","distanceLp","distinctDynamicTypes","distinctJSONPaths","distinctJSONPathsAndTypes","divide","divideDecimal","divideOrNull","domain","domainRFC","domainWithoutWWW","domainWithoutWWWRFC","dotProduct","dumpColumnStructure","dynamicElement","dynamicType","e","editDistance","editDistanceUTF8","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayInt8","emptyArrayString","emptyArrayToSingle","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","emptyArrayUInt8","enabledProfiles","enabledRoles","encodeURLComponent","encodeURLFormComponent","encodeXMLComponent","encrypt","endsWith","endsWithUTF8","entropy","equals","erf","erfc","errorCodeToName","estimateCompressionRatio","evalMLMethod","exp","exp10","exp2","exponentialMovingAverage","exponentialTimeDecayedAvg","exponentialTimeDecayedCount","exponentialTimeDecayedMax","exponentialTimeDecayedSum","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractKeyValuePairs","extractKeyValuePairsWithEscaping","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","factorial","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemUnreserved","finalizeAggregation","financialInternalRateOfReturn","financialInternalRateOfReturnExtended","financialNetPresentValue","financialNetPresentValueExtended","firstLine","firstSignificantSubdomain","firstSignificantSubdomainCustom","firstSignificantSubdomainCustomRFC","firstSignificantSubdomainRFC","firstValueRespectNulls","first_value","first_value_respect_nulls","flameGraph","flatten","flattenTuple","floor","formatDateTime","formatDateTimeInJodaSyntax","formatQuery","formatQueryOrNull","formatQuerySingleLine","formatQuerySingleLineOrNull","formatReadableDecimalSize","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","fromDaysSinceYearZero","fromDaysSinceYearZero32","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUTCTimestamp","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fromUnixTimestamp64Second","fromUnixTimestampInJodaSyntax","from_utc_timestamp","fullHostName","fuzzBits","gccMurmurHash","gcd","generateRandomStructure","generateSerialID","generateSnowflakeID","generateULID","generateUUIDv4","generateUUIDv7","geoDistance","geoToH3","geoToS2","geohashDecode","geohashEncode","geohashesInBox","getClientHTTPHeader","getMacro","getMaxTableNameLengthForDatabase","getMergeTreeSetting","getOSKernelVersion","getServerPort","getServerSetting","getSetting","getSettingOrDefault","getSizeOfEnumType","getSubcolumn","getTypeSerializationStreams","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","greatest","groupArray","groupArrayInsertAt","groupArrayIntersect","groupArrayLast","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupArraySorted","groupBitAnd","groupBitOr","groupBitXor","groupBitmap","groupBitmapAnd","groupBitmapOr","groupBitmapXor","groupConcat","groupNumericIndexedVector","groupUniqArray","group_concat","h3CellAreaM2","h3CellAreaRads2","h3Distance","h3EdgeAngle","h3EdgeLengthKm","h3EdgeLengthM","h3ExactEdgeLengthKm","h3ExactEdgeLengthM","h3ExactEdgeLengthRads","h3GetBaseCell","h3GetDestinationIndexFromUnidirectionalEdge","h3GetFaces","h3GetIndexesFromUnidirectionalEdge","h3GetOriginIndexFromUnidirectionalEdge","h3GetPentagonIndexes","h3GetRes0Indexes","h3GetResolution","h3GetUnidirectionalEdge","h3GetUnidirectionalEdgeBoundary","h3GetUnidirectionalEdgesFromHexagon","h3HexAreaKm2","h3HexAreaM2","h3HexRing","h3IndexesAreNeighbors","h3IsPentagon","h3IsResClassIII","h3IsValid","h3Line","h3NumHexagons","h3PointDistKm","h3PointDistM","h3PointDistRads","h3ToCenterChild","h3ToChildren","h3ToGeo","h3ToGeoBoundary","h3ToParent","h3ToString","h3UnidirectionalEdgeIsValid","h3kRing","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubsequence","hasSubsequenceCaseInsensitive","hasSubsequenceCaseInsensitiveUTF8","hasSubsequenceUTF8","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","hasTokenCaseInsensitiveOrNull","hasTokenOrNull","hex","hilbertDecode","hilbertEncode","histogram","hiveHash","hop","hopEnd","hopStart","hostName","hostname","hypot","icebergBucket","icebergHash","icebergTruncate","identity","idnaDecode","idnaEncode","if","ifNotFinite","ifNull","ignore","inIgnoreSet","indexHint","indexOf","indexOfAssumeSorted","initcap","initcapUTF8","initialQueryID","initialQueryStartTime","initial_query_id","initial_query_start_time","initializeAggregation","instr","intDiv","intDivOrNull","intDivOrZero","intExp10","intExp2","intHash32","intHash64","intervalLengthSum","isConstant","isDecimalOverflow","isDynamicElementInSharedData","isFinite","isIPAddressInRange","isIPv4String","isIPv6String","isInfinite","isMergeTreePartCoveredBy","isNaN","isNotDistinctFrom","isNotNull","isNull","isNullable","isValidJSON","isValidUTF8","isZeroOrNull","jaroSimilarity","jaroWinklerSimilarity","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","jsonMergePatch","jumpConsistentHash","kafkaMurmurHash","keccak256","kolmogorovSmirnovTest","kostikConsistentHash","kql_array_sort_asc","kql_array_sort_desc","kurtPop","kurtSamp","lag","lagInFrame","largestTriangleThreeBuckets","lastValueRespectNulls","last_value","last_value_respect_nulls","lcase","lcm","lead","leadInFrame","least","left","leftPad","leftPadUTF8","leftUTF8","lemmatize","length","lengthUTF8","less","lessOrEquals","levenshteinDistance","levenshteinDistanceUTF8","lgamma","ln","locate","log","log10","log1p","log2","logTrace","lowCardinalityIndices","lowCardinalityKeys","lower","lowerUTF8","lpad","ltrim","lttb","makeDate","makeDate32","makeDateTime","makeDateTime64","mannWhitneyUTest","map","mapAdd","mapAll","mapApply","mapConcat","mapContains","mapContainsKey","mapContainsKeyLike","mapContainsValue","mapContainsValueLike","mapExists","mapExtractKeyLike","mapExtractValueLike","mapFilter","mapFromArrays","mapFromString","mapKeys","mapPartialReverseSort","mapPartialSort","mapPopulateSeries","mapReverseSort","mapSort","mapSubtract","mapUpdate","mapValues","match","materialize","max","max2","maxIntersections","maxIntersectionsPosition","maxMappedArrays","meanZTest","median","medianBFloat16","medianBFloat16Weighted","medianDD","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianExactWeightedInterpolated","medianGK","medianInterpolatedWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","mergeTreePartInfo","metroHash64","mid","min","min2","minMappedArrays","minSampleSizeContinous","minSampleSizeContinuous","minSampleSizeConversion","minus","mismatches","mod","modOrNull","modulo","moduloLegacy","moduloOrNull","moduloOrZero","monthName","mortonDecode","mortonEncode","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","multiply","multiplyDecimal","murmurHash2_32","murmurHash2_64","murmurHash3_128","murmurHash3_32","murmurHash3_64","negate","neighbor","nested","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","ngrams","nonNegativeDerivative","normL1","normL2","normL2Squared","normLinf","normLp","normalizeL1","normalizeL2","normalizeLinf","normalizeLp","normalizeQuery","normalizeQueryKeepNames","normalizeUTF8NFC","normalizeUTF8NFD","normalizeUTF8NFKC","normalizeUTF8NFKD","normalizedQueryHash","normalizedQueryHashKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nothing","nothingNull","nothingUInt64","now","now64","nowInBlock","nowInBlock64","nth_value","ntile","nullIf","nullIn","nullInIgnoreSet","numbers","numericIndexedVectorAllValueSum","numericIndexedVectorBuild","numericIndexedVectorCardinality","numericIndexedVectorGetValue","numericIndexedVectorPointwiseAdd","numericIndexedVectorPointwiseDivide","numericIndexedVectorPointwiseEqual","numericIndexedVectorPointwiseGreater","numericIndexedVectorPointwiseGreaterEqual","numericIndexedVectorPointwiseLess","numericIndexedVectorPointwiseLessEqual","numericIndexedVectorPointwiseMultiply","numericIndexedVectorPointwiseNotEqual","numericIndexedVectorPointwiseSubtract","numericIndexedVectorShortDebugString","numericIndexedVectorToMap","overlay","overlayUTF8","parseDateTime","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTime64BestEffortUS","parseDateTime64BestEffortUSOrNull","parseDateTime64BestEffortUSOrZero","parseDateTime64InJodaSyntax","parseDateTime64InJodaSyntaxOrNull","parseDateTime64InJodaSyntaxOrZero","parseDateTime64OrNull","parseDateTime64OrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","parseDateTimeInJodaSyntax","parseDateTimeInJodaSyntaxOrNull","parseDateTimeInJodaSyntaxOrZero","parseDateTimeOrNull","parseDateTimeOrZero","parseReadableSize","parseReadableSizeOrNull","parseReadableSizeOrZero","parseTimeDelta","partitionID","partitionId","path","pathFull","percentRank","percent_rank","pi","plus","pmod","pmodOrNull","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectCartesian","polygonsIntersectSpherical","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","portRFC","position","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","positiveModulo","positiveModuloOrNull","positive_modulo","positive_modulo_or_null","pow","power","printf","proportionsZTest","protocol","punycodeDecode","punycodeEncode","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDD","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantileExactWeightedInterpolated","quantileGK","quantileInterpolatedWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDD","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesExactWeightedInterpolated","quantilesGK","quantilesInterpolatedWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","queryID","queryString","queryStringAndFragment","query_id","radians","rand","rand32","rand64","randBernoulli","randBinomial","randCanonical","randChiSquared","randConstant","randExponential","randFisherF","randLogNormal","randNegativeBinomial","randNormal","randPoisson","randStudentT","randUniform","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","rank","rankCorr","readWKBLineString","readWKBMultiLineString","readWKBMultiPolygon","readWKBPoint","readWKBPolygon","readWKTLineString","readWKTMultiLineString","readWKTMultiPolygon","readWKTPoint","readWKTPolygon","readWKTRing","regexpExtract","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt128","reinterpretAsInt16","reinterpretAsInt256","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt8","reinterpretAsString","reinterpretAsUInt128","reinterpretAsUInt16","reinterpretAsUInt256","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt8","reinterpretAsUUID","repeat","replace","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverse","reverseUTF8","revision","right","rightPad","rightPadUTF8","rightUTF8","round","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","row_number","rpad","rtrim","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","s2CapContains","s2CapUnion","s2CellsIntersect","s2GetNeighbors","s2RectAdd","s2RectContains","s2RectIntersection","s2RectUnion","s2ToGeo","scalarProduct","searchAll","searchAny","sequenceCount","sequenceMatch","sequenceMatchEvents","sequenceNextNode","seriesDecomposeSTL","seriesOutliersDetectTukey","seriesPeriodDetectFFT","serverTimeZone","serverTimezone","serverUUID","shardCount","shardNum","showCertificate","sigmoid","sign","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","sin","singleValueOrNull","sinh","sipHash128","sipHash128Keyed","sipHash128Reference","sipHash128ReferenceKeyed","sipHash64","sipHash64Keyed","skewPop","skewSamp","sleep","sleepEachRow","snowflakeIDToDateTime","snowflakeIDToDateTime64","snowflakeToDateTime","snowflakeToDateTime64","soundex","space","sparkBar","sparkbar","sparseGrams","sparseGramsHashes","sparseGramsHashesUTF8","sparseGramsUTF8","splitByAlpha","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","sqid","sqidDecode","sqidEncode","sqrt","startsWith","startsWithUTF8","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stem","stochasticLinearRegression","stochasticLogisticRegression","str_to_date","str_to_map","stringBytesEntropy","stringBytesUniq","stringJaccardIndex","stringJaccardIndexUTF8","stringToH3","structureToCapnProtoSchema","structureToProtobufSchema","studentTTest","subBitmap","subDate","substr","substring","substringIndex","substringIndexUTF8","substringUTF8","subtractDays","subtractHours","subtractInterval","subtractMicroseconds","subtractMilliseconds","subtractMinutes","subtractMonths","subtractNanoseconds","subtractQuarters","subtractSeconds","subtractTupleOfIntervals","subtractWeeks","subtractYears","sum","sumCount","sumKahan","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumMappedArrays","sumWithOverflow","svg","synonyms","tan","tanh","tcpPort","tgamma","theilsU","throwIf","tid","timeDiff","timeSeriesDeltaToGrid","timeSeriesDerivToGrid","timeSeriesFromGrid","timeSeriesGroupArray","timeSeriesIdToTags","timeSeriesIdToTagsGroup","timeSeriesIdeltaToGrid","timeSeriesInstantDeltaToGrid","timeSeriesInstantRateToGrid","timeSeriesIrateToGrid","timeSeriesLastToGrid","timeSeriesLastTwoSamples","timeSeriesPredictLinearToGrid","timeSeriesRange","timeSeriesRateToGrid","timeSeriesResampleToGridWithStaleness","timeSeriesStoreTags","timeSeriesTagsGroupToTags","timeSlot","timeSlots","timeZone","timeZoneOf","timeZoneOffset","time_bucket","timestamp","timestampDiff","timestamp_diff","timezone","timezoneOf","timezoneOffset","toBFloat16","toBFloat16OrNull","toBFloat16OrZero","toBool","toColumnTypeName","toDate","toDate32","toDate32OrDefault","toDate32OrNull","toDate32OrZero","toDateOrDefault","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrDefault","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrDefault","toDateTimeOrNull","toDateTimeOrZero","toDayOfMonth","toDayOfWeek","toDayOfYear","toDaysSinceYearZero","toDecimal128","toDecimal128OrDefault","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrDefault","toDecimal256OrNull","toDecimal256OrZero","toDecimal32","toDecimal32OrDefault","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrDefault","toDecimal64OrNull","toDecimal64OrZero","toDecimalString","toFixedString","toFloat32","toFloat32OrDefault","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrDefault","toFloat64OrNull","toFloat64OrZero","toHour","toIPv4","toIPv4OrDefault","toIPv4OrNull","toIPv4OrZero","toIPv6","toIPv6OrDefault","toIPv6OrNull","toIPv6OrZero","toISOWeek","toISOYear","toInt128","toInt128OrDefault","toInt128OrNull","toInt128OrZero","toInt16","toInt16OrDefault","toInt16OrNull","toInt16OrZero","toInt256","toInt256OrDefault","toInt256OrNull","toInt256OrZero","toInt32","toInt32OrDefault","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrDefault","toInt64OrNull","toInt64OrZero","toInt8","toInt8OrDefault","toInt8OrNull","toInt8OrZero","toInterval","toIntervalDay","toIntervalHour","toIntervalMicrosecond","toIntervalMillisecond","toIntervalMinute","toIntervalMonth","toIntervalNanosecond","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toJSONString","toLastDayOfMonth","toLastDayOfWeek","toLowCardinality","toMillisecond","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toMonthNumSinceEpoch","toNullable","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfFiveMinutes","toStartOfHour","toStartOfISOYear","toStartOfInterval","toStartOfMicrosecond","toStartOfMillisecond","toStartOfMinute","toStartOfMonth","toStartOfNanosecond","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTime64","toTime64OrNull","toTime64OrZero","toTimeOrNull","toTimeOrZero","toTimeWithFixedDate","toTimeZone","toTimezone","toTypeName","toUInt128","toUInt128OrDefault","toUInt128OrNull","toUInt128OrZero","toUInt16","toUInt16OrDefault","toUInt16OrNull","toUInt16OrZero","toUInt256","toUInt256OrDefault","toUInt256OrNull","toUInt256OrZero","toUInt32","toUInt32OrDefault","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrDefault","toUInt64OrNull","toUInt64OrZero","toUInt8","toUInt8OrDefault","toUInt8OrNull","toUInt8OrZero","toUTCTimestamp","toUUID","toUUIDOrDefault","toUUIDOrNull","toUUIDOrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUnixTimestamp64Second","toValidUTF8","toWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","toYear","toYearNumSinceEpoch","toYearWeek","to_utc_timestamp","today","tokens","topK","topKWeighted","topLevelDomain","topLevelDomainRFC","transactionID","transactionLatestSnapshot","transactionOldestSnapshot","transform","translate","translateUTF8","trim","trimBoth","trimLeft","trimRight","trunc","tryBase32Decode","tryBase58Decode","tryBase64Decode","tryBase64URLDecode","tryDecrypt","tryIdnaEncode","tryPunycodeDecode","tumble","tumbleEnd","tumbleStart","tuple","tupleConcat","tupleDivide","tupleDivideByNumber","tupleElement","tupleHammingDistance","tupleIntDiv","tupleIntDivByNumber","tupleIntDivOrZero","tupleIntDivOrZeroByNumber","tupleMinus","tupleModulo","tupleModuloByNumber","tupleMultiply","tupleMultiplyByNumber","tupleNames","tupleNegate","tuplePlus","tupleToNameValuePairs","ucase","unbin","unhex","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqTheta","uniqThetaIntersect","uniqThetaNot","uniqThetaUnion","uniqUpTo","upper","upperUTF8","uptime","user","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","variantElement","variantType","vectorDifference","vectorSum","version","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","week","welchTTest","widthBucket","width_bucket","windowFunnel","windowID","wkb","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","wyHash64","xor","xxHash32","xxHash64","xxh3","yandexConsistentHash","yearweek","yesterday","zookeeperSessionUptime","MergeTree","ReplacingMergeTree","SummingMergeTree","AggregatingMergeTree","CollapsingMergeTree","VersionedCollapsingMergeTree","GraphiteMergeTree","CoalescingMergeTree","Atomic","Shared","Lazy","Replicated","PostgreSQL","MySQL","SQLite","MaterializedPostgreSQL","DataLakeCatalog"],io=["ACCESS","ACTION","ADD","ADMIN","AFTER","ALGORITHM","ALIAS","ALL","ALLOWED_LATENESS","ALTER","AND","ANTI","APPEND","APPLY","AS","ASC","ASCENDING","ASOF","ASSUME","AST","ASYNC","ATTACH","AUTO_INCREMENT","AZURE","BACKUP","BAGEXPANSION","BASE_BACKUP","BCRYPT_HASH","BCRYPT_PASSWORD","BEGIN","BETWEEN","BIDIRECTIONAL","BOTH","BY","CACHE","CACHES","CASCADE","CASE","CHANGE","CHANGEABLE_IN_READONLY","CHANGED","CHARACTER","CHECK","CLEANUP","CLEAR","CLUSTER","CLUSTERS","CLUSTER_HOST_IDS","CN","CODEC","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPRESSION","CONST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","D","DATA","DATABASE","DATABASES","DAYS","DD","DDL","DEDUPLICATE","DEFAULT","DEFINER","DELAY","DELETE","DELETED","DEPENDS","DESC","DESCENDING","DESCRIBE","DETACH","DETACHED","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DIV","DOUBLE_SHA1_HASH","DOUBLE_SHA1_PASSWORD","DROP","ELSE","ENABLED","END","ENFORCED","ENGINE","ENGINES","EPHEMERAL","ESTIMATE","EVENT","EVENTS","EVERY","EXCEPT","EXCHANGE","EXISTS","EXPLAIN","EXPRESSION","EXTENDED","EXTERNAL","FAKE","FALSE","FETCH","FIELDS","FILESYSTEM","FILL","FILTER","FINAL","FIRST","FOLLOWING","FOR","FOREIGN","FORMAT","FREEZE","FROM","FULL","FULLTEXT","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GRANTEES","GRANTS","GRANULARITY","GROUP","GROUPING","GROUPS","H","HASH","HAVING","HDFS","HH","HIERARCHICAL","HOST","HOURS","HTTP","IDENTIFIED","ILIKE","IN","INDEX","INDEXES","INDICES","INFILE","INHERIT","INJECTIVE","INNER","INSERT","INTERPOLATE","INTERSECT","INTERVAL","INTO","INVISIBLE","INVOKER","IP","IS","IS_OBJECT_ID","JOIN","JWT","KERBEROS","KEY","KEYED","KEYS","KILL","KIND","LARGE","LAST","LAYOUT","LDAP","LEADING","LEVEL","LIFETIME","LIGHTWEIGHT","LIKE","LIMIT","LIMITS","LINEAR","LIST","LIVE","LOCAL","M","MASK","MATERIALIZED","MCS","MEMORY","MERGES","METRICS","MI","MICROSECOND","MICROSECONDS","MILLISECONDS","MINUTES","MM","MODIFY","MONTHS","MOVE","MS","MUTATION","N","NAME","NAMED","NANOSECOND","NANOSECONDS","NEXT","NO","NONE","NOT","NO_PASSWORD","NS","NULL","NULLS","OBJECT","OFFSET","ON","ONLY","OPTIMIZE","OPTION","OR","ORDER","OUTER","OUTFILE","OVER","OVERRIDABLE","OVERRIDE","PART","PARTIAL","PARTITION","PARTITIONS","PART_MOVE_TO_SHARD","PASTE","PERIODIC","PERMANENTLY","PERMISSIVE","PERSISTENT","PIPELINE","PLAINTEXT_PASSWORD","PLAN","POLICY","POPULATE","PRECEDING","PRECISION","PREWHERE","PRIMARY","PRIVILEGES","PROCESSLIST","PROFILE","PROJECTION","PROTOBUF","PULL","Q","QQ","QUALIFY","QUARTERS","QUERY","QUOTA","RANDOMIZE","RANDOMIZED","RANGE","READONLY","REALM","RECOMPRESS","RECURSIVE","REFERENCES","REFRESH","REGEXP","REMOVE","RENAME","RESET","RESPECT","RESTORE","RESTRICT","RESTRICTIVE","RESUME","REVOKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","S","S3","SALT","SAMPLE","SAN","SCHEME","SECONDS","SECURITY","SELECT","SEMI","SEQUENTIAL","SERVER","SET","SETS","SETTING","SETTINGS","SHA256_HASH","SHA256_PASSWORD","SHARD","SHOW","SIGNED","SIMPLE","SNAPSHOT","SOURCE","SPATIAL","SQL","SQL_TSI_DAY","SQL_TSI_HOUR","SQL_TSI_MICROSECOND","SQL_TSI_MILLISECOND","SQL_TSI_MINUTE","SQL_TSI_MONTH","SQL_TSI_NANOSECOND","SQL_TSI_QUARTER","SQL_TSI_SECOND","SQL_TSI_WEEK","SQL_TSI_YEAR","SS","SSH_KEY","SSL_CERTIFICATE","STALENESS","START","STATISTICS","STDOUT","STEP","STORAGE","STRICT","STRICTLY_ASCENDING","SUBPARTITION","SUBPARTITIONS","SUSPEND","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TAGS","TEMPORARY","TEST","THAN","THEN","TIES","TIME","TO","TOP","TOTALS","TRACKING","TRAILING","TRANSACTION","TREE","TRIGGER","TRUE","TRUNCATE","TTL","TYPE","TYPEOF","UNBOUNDED","UNDROP","UNFREEZE","UNION","UNIQUE","UNSET","UNSIGNED","UNTIL","UPDATE","URL","USE","USING","UUID","VALID","VALUES","VARYING","VIEW","VISIBLE","VOLUME","WATCH","WATERMARK","WEEKS","WHEN","WHERE","WINDOW","WITH","WITH_ITEMINDEX","WK","WRITABLE","WW","YEARS","YY","YYYY","ZKPATH"],Ro=["AGGREGATEFUNCTION","ARRAY","BFLOAT16","BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BIT","BLOB","BYTE","BYTEA","BOOL","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","DATE","DATE32","DATETIME","DATETIME32","DATETIME64","DECIMAL","DECIMAL128","DECIMAL256","DECIMAL32","DECIMAL64","DYNAMIC","ENUM","ENUM","ENUM16","ENUM8","FIXED","FLOAT","FIXEDSTRING","FLOAT32","FLOAT64","GEOMETRY","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","IPV4","IPV6","INT128","INT16","INT256","INT32","INT64","INT8","INTERVALDAY","INTERVALHOUR","INTERVALMICROSECOND","INTERVALMILLISECOND","INTERVALMINUTE","INTERVALMONTH","INTERVALNANOSECOND","INTERVALQUARTER","INTERVALSECOND","INTERVALWEEK","INTERVALYEAR","JSON","LONGBLOB","LONGTEXT","LINESTRING","LOWCARDINALITY","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","MAP","MULTILINESTRING","MULTIPOLYGON","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","NESTED","NOTHING","NULLABLE","OBJECT","POINT","POLYGON","REAL","RING","SET","SIGNED","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","SIMPLEAGGREGATEFUNCTION","STRING","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","TIME","TIME64","TUPLE","UINT128","UINT16","UINT256","UINT32","UINT64","UINT8","UNSIGNED","UUID","VARBINARY","VARCHAR","VARCHAR2","VARIANT","YEAR","BOOL","BOOLEAN"],So=y(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),No=y(["SET","WITH","FROM","SAMPLE","PREWHERE","WHERE","GROUP BY","HAVING","QUALIFY","ORDER BY","LIMIT","SETTINGS","INTO OUTFILE","FORMAT","WINDOW","PARTITION BY","INSERT INTO","VALUES","DEPENDS ON","MOVE {USER | ROLE | QUOTA | SETTINGS PROFILE | ROW POLICY}","GRANT","REVOKE","CHECK GRANT","SET [DEFAULT] ROLE [NONE | ALL | ALL EXCEPT]","DEDUPLICATE BY","MODIFY STATISTICS","TYPE","ALTER USER [IF EXISTS]","ALTER [ROW] POLICY [IF EXISTS]","DROP {USER | ROLE | QUOTA | PROFILE | SETTINGS PROFILE | ROW POLICY | POLICY} [IF EXISTS]"]),Tr=y(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),rE=y(["ALL EXCEPT","ON CLUSTER","UPDATE","SYSTEM RELOAD {DICTIONARIES | DICTIONARY | FUNCTIONS | FUNCTION | ASYNCHRONOUS METRICS}","SYSTEM DROP {DNS CACHE | MARK CACHE | ICEBERG METADATA CACHE | TEXT INDEX DICTIONARY CACHE | TEXT INDEX HEADER CACHE | TEXT INDEX POSTINGS CACHE | REPLICA | DATABASE REPLICA | UNCOMPRESSED CACHE | COMPILED EXPRESSION CACHE | QUERY CONDITION CACHE | QUERY CACHE | FORMAT SCHEMA CACHE | FILESYSTEM CACHE}","SYSTEM FLUSH LOGS","SYSTEM RELOAD {CONFIG | USERS}","SYSTEM SHUTDOWN","SYSTEM KILL","SYSTEM FLUSH DISTRIBUTED","SYSTEM START DISTRIBUTED SENDS","SYSTEM {STOP | START} {LISTEN | MERGES | TTL MERGES | MOVES | FETCHES | REPLICATED SENDS | REPLICATION QUEUES | PULLING REPLICATION LOG}","SYSTEM {SYNC | RESTART | RESTORE} REPLICA","SYSTEM {SYNC | RESTORE} DATABASE REPLICA","SYSTEM RESTART REPLICAS","SYSTEM UNFREEZE","SYSTEM WAIT LOADING PARTS","SYSTEM {LOAD | UNLOAD} PRIMARY KEY","SYSTEM {STOP | START} [REPLICATED] VIEW","SYSTEM {STOP | START} VIEWS","SYSTEM {REFRESH | CANCEL | WAIT} VIEW","WITH NAME","SHOW [CREATE] {TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE}","SHOW DATABASES [[NOT] {LIKE | ILIKE}]","SHOW [FULL] [TEMPORARY] TABLES [FROM | IN]","SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN}","ATTACH {TABLE | DICTIONARY | DATABASE} [IF NOT EXISTS]","DETACH {TABLE | DICTIONARY | DATABASE} [IF EXISTS]","PERMANENTLY","SYNC","DROP {DICTIONARY | DATABASE | PROFILE | VIEW | FUNCTION | NAMED COLLECTION} [IF EXISTS]","DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]","RENAME TO","EXISTS [TEMPORARY] {TABLE | DICTIONARY | DATABASE}","KILL QUERY","OPTIMIZE TABLE","RENAME {TABLE | DICTIONARY | DATABASE}","EXCHANGE {TABLES | DICTIONARIES}","TRUNCATE TABLE [IF EXISTS]","EXECUTE AS","USE","TO","UNDROP TABLE","CREATE {DATABASE | NAMED COLLECTION} [IF NOT EXISTS]","CREATE [OR REPLACE] {VIEW | DICTIONARY} [IF NOT EXISTS]","CREATE MATERIALIZED VIEW [IF NOT EXISTS]","CREATE FUNCTION","CREATE {USER | ROLE | QUOTA | SETTINGS PROFILE} [IF NOT EXISTS | OR REPLACE]","CREATE [ROW] POLICY [IF NOT EXISTS | OR REPLACE]","REPLACE [TEMPORARY] TABLE [IF NOT EXISTS]","ALTER {ROLE | QUOTA | SETTINGS PROFILE} [IF EXISTS]","ALTER [TEMPORARY] TABLE","ALTER NAMED COLLECTION [IF EXISTS]","GRANTEES","NOT IDENTIFIED","RESET AUTHENTICATION METHODS TO NEW","{IDENTIFIED | ADD IDENTIFIED} [WITH | BY]","[ADD | DROP] HOST {LOCAL | NAME | REGEXP | IP | LIKE}","VALID UNTIL","DROP [ALL] {PROFILES | SETTINGS}","{ADD | MODIFY} SETTINGS","ADD PROFILES","APPLY DELETED MASK","IN PARTITION","{ADD | DROP | RENAME | CLEAR | COMMENT | MODIFY | ALTER | MATERIALIZE} COLUMN","{DETACH | DROP | ATTACH | FETCH | MOVE} {PART | PARTITION}","DROP DETACHED {PART | PARTITION}","{FORGET | REPLACE} PARTITION","CLEAR COLUMN","{FREEZE | UNFREEZE} [PARTITION]","CLEAR INDEX","TO {DISK | VOLUME}","[DELETE | REWRITE PARTS] IN PARTITION","{MODIFY | RESET} SETTING","DELETE WHERE","MODIFY ORDER BY","{MODIFY | REMOVE} SAMPLE BY","{ADD | MATERIALIZE | CLEAR} INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","GRANULARITY","AFTER","FIRST","ADD CONSTRAINT [IF NOT EXISTS]","DROP CONSTRAINT [IF EXISTS]","MODIFY TTL","REMOVE TTL","ADD STATISTICS [IF NOT EXISTS]","{DROP | CLEAR} STATISTICS [IF EXISTS]","MATERIALIZE STATISTICS [ALL | IF EXISTS]","KEYED BY","NOT KEYED","FOR [RANDOMIZED] INTERVAL","AS {PERMISSIVE | RESTRICTIVE}","FOR SELECT","ADD PROJECTION [IF NOT EXISTS]","{DROP | MATERIALIZE | CLEAR} PROJECTION [IF EXISTS]","REFRESH {EVERY | AFTER}","RANDOMIZE FOR","APPEND","APPEND TO","DELETE FROM","EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE]","GRANT ON CLUSTER","GRANT CURRENT GRANTS","WITH GRANT OPTION","REVOKE ON CLUSTER","ADMIN OPTION FOR","CHECK TABLE","PARTITION ID","{DESC | DESCRIBE} TABLE"]),Io=y(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),Oo=y(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),uo=y(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),lo={name:"clickhouse",tokenizerOptions:{reservedSelect:So,reservedClauses:[...No,...Tr,...rE],reservedSetOperations:Io,reservedJoins:Oo,reservedKeywordPhrases:uo,reservedKeywords:io,reservedDataTypes:Ro,reservedFunctionNames:Ao,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:E=>{const t=/\{([^:]+):/.exec(E);return t?t[1].trim():E}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:Co},formatOptions:{onelineClauses:[...Tr,...rE],tabularOnelineClauses:rE}};function Co(E){return E.map((t,r)=>{const T=E[r+1]||It,s=E[r-1]||It;return t.type===W.RESERVED_SELECT&&(T.type===W.COMMA||s.type===W.RESERVED_CLAUSE||s.type===W.COMMA)?Object.assign(Object.assign({},t),{type:W.RESERVED_KEYWORD}):Ot.SET(t)&&T.type===W.OPEN_PAREN?Object.assign(Object.assign({},t),{type:W.RESERVED_FUNCTION_NAME}):t})}const co=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],_o=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],Lo=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],Do=y(["SELECT [ALL | DISTINCT]"]),po=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),sr=y(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),nE=y(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),Po=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),fo=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),ho=y(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Mo=y([]),Uo={name:"db2",tokenizerOptions:{reservedSelect:Do,reservedClauses:[...po,...sr,...nE],reservedSetOperations:Po,reservedJoins:fo,reservedKeywordPhrases:ho,reservedDataTypePhrases:Mo,reservedKeywords:_o,reservedDataTypes:Lo,reservedFunctionNames:co,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...sr,...nE],tabularOnelineClauses:nE}},mo=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],Bo=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],go=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],yo=y(["SELECT [ALL | DISTINCT]"]),Go=y(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),or=y(["CREATE [OR REPLACE] TABLE"]),TE=y(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),Fo=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Ho=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),bo=y(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),xo=y([]),Yo={name:"db2i",tokenizerOptions:{reservedSelect:yo,reservedClauses:[...Go,...or,...TE],reservedSetOperations:Fo,reservedJoins:Ho,reservedKeywordPhrases:bo,reservedDataTypePhrases:xo,reservedKeywords:Bo,reservedDataTypes:go,reservedFunctionNames:mo,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...or,...TE],tabularOnelineClauses:TE}},Vo=["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","RANK","ROW_NUMBER"],vo=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","IS","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],wo=["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],Wo=y(["SELECT [ALL | DISTINCT]"]),Xo=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),ar=y(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),sE=y(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),Ko=y(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),ko=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),$o=y(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),qo=y(["TIMESTAMP WITH TIME ZONE"]),Jo={name:"duckdb",tokenizerOptions:{reservedSelect:Wo,reservedClauses:[...Xo,...ar,...sE],reservedSetOperations:Ko,reservedJoins:ko,reservedKeywordPhrases:$o,reservedDataTypePhrases:qo,supportsXor:!0,reservedKeywords:vo,reservedDataTypes:wo,reservedFunctionNames:Vo,nestedBlockComments:!0,extraParens:["[]","{}"],underscoresInNumbers:!0,stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->","->>",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ar,...sE],tabularOnelineClauses:sE}},Qo=["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],Zo=["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],jo=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],zo=y(["SELECT [ALL | DISTINCT]"]),ea=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),Ar=y(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),oE=y(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),ta=y(["UNION [ALL | DISTINCT]"]),Ea=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),ra=y(["{ROWS | RANGE} BETWEEN"]),na=y([]),Ta={name:"hive",tokenizerOptions:{reservedSelect:zo,reservedClauses:[...ea,...Ar,...oE],reservedSetOperations:ta,reservedJoins:Ea,reservedKeywordPhrases:ra,reservedDataTypePhrases:na,reservedKeywords:Zo,reservedDataTypes:jo,reservedFunctionNames:Qo,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...Ar,...oE],tabularOnelineClauses:oE}};function vt(E){return E.map((t,r)=>{const T=E[r+1]||It;if(Ot.SET(t)&&T.text==="(")return Object.assign(Object.assign({},t),{type:W.RESERVED_FUNCTION_NAME});const s=E[r-1]||It;return Ot.VALUES(t)&&s.text==="="?Object.assign(Object.assign({},t),{type:W.RESERVED_FUNCTION_NAME}):t})}const sa=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],oa=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],aa=["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],Aa=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ia=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),ir=y(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),aE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),Ra=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),Sa=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Na=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Ia=y([]),Oa={name:"mariadb",tokenizerOptions:{reservedSelect:Aa,reservedClauses:[...ia,...ir,...aE],reservedSetOperations:Ra,reservedJoins:Sa,reservedKeywordPhrases:Na,reservedDataTypePhrases:Ia,supportsXor:!0,reservedKeywords:sa,reservedDataTypes:oa,reservedFunctionNames:aa,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...ir,...aE],tabularOnelineClauses:aE}},ua=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],la=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Ca=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],ca=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),_a=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Rr=y(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),AE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),La=y(["UNION [ALL | DISTINCT]"]),Da=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),pa=y(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),da=y([]),Pa={name:"mysql",tokenizerOptions:{reservedSelect:ca,reservedClauses:[..._a,...Rr,...AE],reservedSetOperations:La,reservedJoins:Da,reservedKeywordPhrases:pa,reservedDataTypePhrases:da,supportsXor:!0,reservedKeywords:ua,reservedDataTypes:la,reservedFunctionNames:Ca,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Rr,...AE],tabularOnelineClauses:AE}},fa=["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],ha=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Ma=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],Ua=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ma=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Sr=y(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),iE=y(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),Ba=y(["UNION [ALL | DISTINCT]"]),ga=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ya=y(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Ga=y([]),Fa={name:"tidb",tokenizerOptions:{reservedSelect:Ua,reservedClauses:[...ma,...Sr,...iE],reservedSetOperations:Ba,reservedJoins:ga,reservedKeywordPhrases:ya,reservedDataTypePhrases:Ga,supportsXor:!0,reservedKeywords:fa,reservedDataTypes:ha,reservedFunctionNames:Ma,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:vt},formatOptions:{onelineClauses:[...Sr,...iE],tabularOnelineClauses:iE}},Ha=["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],ba=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],xa=[],Ya=y(["SELECT [ALL | DISTINCT]"]),Va=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Nr=y(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),va=y(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),wa=y(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Wa=y(["{ROWS | RANGE | GROUPS} BETWEEN"]),Xa=y([]),Ka={name:"n1ql",tokenizerOptions:{reservedSelect:Ya,reservedClauses:[...Va,...Nr],reservedSetOperations:va,reservedJoins:wa,reservedKeywordPhrases:Wa,reservedDataTypePhrases:Xa,supportsXor:!0,reservedKeywords:ba,reservedDataTypes:xa,reservedFunctionNames:Ha,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Nr}},ka=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],$a=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],qa=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],Ja=y(["SELECT [ALL | DISTINCT | UNIQUE]"]),Qa=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ir=y(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),RE=y(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Za=y(["UNION [ALL]","MINUS","INTERSECT"]),ja=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),za=y(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),eA=y([]),tA={name:"plsql",tokenizerOptions:{reservedSelect:Ja,reservedClauses:[...Qa,...Ir,...RE],reservedSetOperations:Za,reservedJoins:ja,reservedKeywordPhrases:za,reservedDataTypePhrases:eA,supportsXor:!0,reservedKeywords:ka,reservedDataTypes:$a,reservedFunctionNames:qa,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:EA},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ir,...RE],tabularOnelineClauses:RE}};function EA(E){let t=It;return E.map(r=>Ot.SET(r)&&Ot.BY(t)?Object.assign(Object.assign({},r),{type:W.RESERVED_KEYWORD}):(Er(r.type)&&(t=r),r))}const rA=["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","GEN_RANDOM_UUID","UUIDV4","UUIDV7","UUID_EXTRACT_TIMESTAMP","UUID_EXTRACT_VERSION","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nA=["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],TA=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","UUID","VARCHAR","XML","ZONE"],sA=y(["SELECT [ALL | DISTINCT]"]),oA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Or=y(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),SE=y(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMENT ON","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),aA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),AA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),iA=y(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),RA=y(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),SA={name:"postgresql",tokenizerOptions:{reservedSelect:sA,reservedClauses:[...oA,...Or,...SE],reservedSetOperations:aA,reservedJoins:AA,reservedKeywordPhrases:iA,reservedDataTypePhrases:RA,reservedKeywords:nA,reservedDataTypes:TA,reservedFunctionNames:rA,nestedBlockComments:!0,extraParens:["[]"],underscoresInNumbers:!0,stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...Or,...SE],tabularOnelineClauses:SE}},NA=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],IA=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],OA=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],uA=y(["SELECT [ALL | DISTINCT]"]),lA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),ur=y(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),NE=y(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),CA=y(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),cA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),_A=y(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),LA=y([]),DA={name:"redshift",tokenizerOptions:{reservedSelect:uA,reservedClauses:[...lA,...ur,...NE],reservedSetOperations:CA,reservedJoins:cA,reservedKeywordPhrases:_A,reservedDataTypePhrases:LA,reservedKeywords:IA,reservedDataTypes:OA,reservedFunctionNames:NA,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...ur,...NE],tabularOnelineClauses:NE}},pA=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],dA=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],PA=["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],fA=y(["SELECT [ALL | DISTINCT]"]),hA=y(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),lr=y(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),IE=y(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),MA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),UA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),mA=y(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),BA=y([]),gA={name:"spark",tokenizerOptions:{reservedSelect:fA,reservedClauses:[...hA,...lr,...IE],reservedSetOperations:MA,reservedJoins:UA,reservedKeywordPhrases:mA,reservedDataTypePhrases:BA,supportsXor:!0,reservedKeywords:pA,reservedDataTypes:dA,reservedFunctionNames:PA,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],identChars:{allowFirstCharNumber:!0},variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:yA},formatOptions:{onelineClauses:[...lr,...IE],tabularOnelineClauses:IE}};function yA(E){return E.map((t,r)=>{const T=E[r-1]||It,s=E[r+1]||It;return Ot.WINDOW(t)&&s.type===W.OPEN_PAREN?Object.assign(Object.assign({},t),{type:W.RESERVED_FUNCTION_NAME}):t.text==="ITEMS"&&t.type===W.RESERVED_KEYWORD&&!(T.text==="COLLECTION"&&s.text==="TERMINATED")?Object.assign(Object.assign({},t),{type:W.IDENTIFIER,text:t.raw}):t})}const GA=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],FA=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],HA=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],bA=y(["SELECT [ALL | DISTINCT]"]),xA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET","RETURNING"]),Cr=y(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),OE=y(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),YA=y(["UNION [ALL]","EXCEPT","INTERSECT"]),VA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),vA=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),wA=y([]),WA={name:"sqlite",tokenizerOptions:{reservedSelect:bA,reservedClauses:[...xA,...Cr,...OE],reservedSetOperations:YA,reservedJoins:VA,reservedKeywordPhrases:vA,reservedDataTypePhrases:wA,reservedKeywords:FA,reservedDataTypes:HA,reservedFunctionNames:GA,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Cr,...OE],tabularOnelineClauses:OE}},XA=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],KA=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],kA=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],$A=y(["SELECT [ALL | DISTINCT]"]),qA=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),cr=y(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),uE=y(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),JA=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),QA=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ZA=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),jA=y([]),zA={name:"sql",tokenizerOptions:{reservedSelect:$A,reservedClauses:[...qA,...cr,...uE],reservedSetOperations:JA,reservedJoins:QA,reservedKeywordPhrases:ZA,reservedDataTypePhrases:jA,reservedKeywords:KA,reservedDataTypes:kA,reservedFunctionNames:XA,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...cr,...uE],tabularOnelineClauses:uE}},ei=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],ti=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],Ei=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],ri=y(["SELECT [ALL | DISTINCT]"]),ni=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),_r=y(["CREATE TABLE [IF NOT EXISTS]"]),lE=y(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),Ti=y(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),si=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),oi=y(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),ai=y([]),Ai={name:"trino",tokenizerOptions:{reservedSelect:ri,reservedClauses:[...ni,..._r,...lE],reservedSetOperations:Ti,reservedJoins:si,reservedKeywordPhrases:oi,reservedDataTypePhrases:ai,reservedKeywords:ti,reservedDataTypes:Ei,reservedFunctionNames:ei,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[..._r,...lE],tabularOnelineClauses:lE}},ii=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],Ri=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],Si=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],Ni=y(["SELECT [ALL | DISTINCT]"]),Ii=y(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET"]),Lr=y(["CREATE TABLE"]),CE=y(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}","ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}","DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS]","GO","USE","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION SCHEME","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),Oi=y(["UNION [ALL]","EXCEPT","INTERSECT"]),ui=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),li=y(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Ci=y([]),ci={name:"transactsql",tokenizerOptions:{reservedSelect:Ni,reservedClauses:[...Ii,...Lr,...CE],reservedSetOperations:Oi,reservedJoins:ui,reservedKeywordPhrases:li,reservedDataTypePhrases:Ci,reservedKeywords:Ri,reservedDataTypes:Si,reservedFunctionNames:ii,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Lr,...CE],tabularOnelineClauses:CE}},_i=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Li=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],Di=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],pi=y(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),di=y(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Dr=y(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),cE=y(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Pi=y(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),fi=y(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),hi=y(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Mi=y([]),Ui={name:"singlestoredb",tokenizerOptions:{reservedSelect:pi,reservedClauses:[...di,...Dr,...cE],reservedSetOperations:Pi,reservedJoins:fi,reservedKeywordPhrases:hi,reservedDataTypePhrases:Mi,reservedKeywords:_i,reservedDataTypes:Li,reservedFunctionNames:Di,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:vt},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Dr,...cE],tabularOnelineClauses:cE}},mi=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IDENTIFIER","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],Bi=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],gi=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],yi=y(["SELECT [ALL | DISTINCT]"]),Gi=y(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),pr=y(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),_E=y(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Fi=y(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),Hi=y(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),bi=y(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),xi=y([]),Yi={name:"snowflake",tokenizerOptions:{reservedSelect:yi,reservedClauses:[...Gi,...pr,..._E],reservedSetOperations:Fi,reservedJoins:Hi,reservedKeywordPhrases:bi,reservedDataTypePhrases:xi,reservedKeywords:Bi,reservedDataTypes:gi,reservedFunctionNames:mi,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pr,..._E],tabularOnelineClauses:_E}},Vi=Object.freeze(Object.defineProperty({__proto__:null,bigquery:no,clickhouse:lo,db2:Uo,db2i:Yo,duckdb:Jo,hive:Ta,mariadb:Oa,mysql:Pa,n1ql:Ka,plsql:tA,postgresql:SA,redshift:DA,singlestoredb:Ui,snowflake:Yi,spark:gA,sql:zA,sqlite:WA,tidb:Fa,transactsql:ci,trino:Ai},Symbol.toStringTag,{value:"Module"})),yt=E=>E[E.length-1],dr=E=>E.sort((t,r)=>r.length-t.length||t.localeCompare(r)),wt=E=>E.replace(/\s+/gu," "),LE=E=>/\n/.test(E),Et=E=>E.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Pr=/\s+/uy,Dt=E=>new RegExp(`(?:${E})`,"uy"),vi=E=>E.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),wi=E=>E+"(?:-"+E+")*",Wi=({prefixes:E,requirePrefix:t})=>`(?:${E.map(vi).join("|")}${t?"":"|"})`,Xi=E=>new RegExp(`(?:${E.map(Et).join("|")}).*?(?=\r
26
26
  |\r|
27
- |$)`,"uy"),fr=(E,t=[])=>{const r=E==="open"?0:1,T=["()",...t].map(o=>o[r]);return Dt(T.map(Et).join("|"))},hr=E=>Dt(`${dr(E).map(Et).join("|")}`),AR=({rest:E,dashes:t})=>E||t?`(?![${E||""}${t?"-":""}])`:"",At=(E,t={})=>{if(E.length===0)return/^\b$/u;const r=AR(t),T=dr(E).map(Et).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${T})${r}\\b`,"iuy")},DE=(E,t)=>{if(!E.length)return;const r=E.map(Et).join("|");return Dt(`(?:${r})(?:${t})`)},RR=()=>{const E={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",r=Object.entries(E).map(([A,C])=>t.replace(/{left}/g,Et(A)).replace(/{right}/g,Et(C))),T=Et(Object.keys(E).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${T}])(?:(?!\k<tag>').)*?\k<tag>`}|${r.join("|")})'`},Mr={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":RR()},Ur=E=>typeof E=="string"?Mr[E]:"regex"in E?E.regex:aR(E)+Mr[E.quote],SR=E=>Dt(E.map(t=>"regex"in t?t.regex:Ur(t)).join("|")),mr=E=>E.map(Ur).join("|"),Br=E=>Dt(mr(E)),NR=(E={})=>Dt(gr(E)),gr=({first:E,rest:t,dashes:r,allowFirstCharNumber:T}={})=>{const o="\\p{Alphabetic}\\p{Mark}_",a="\\p{Decimal_Number}",A=Et(E??""),C=Et(t??""),I=T?`[${o}${a}${A}][${o}${a}${C}]*`:`[${o}${A}][${o}${a}${C}]*`;return r?oR(I):I};function yr(E,t){const r=E.slice(0,t).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class IR{constructor(t,r){this.rules=t,this.dialectName=r,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const r=[];let T;for(;this.index<this.input.length;){const o=this.getWhitespace();if(this.index<this.input.length){if(T=this.getNextToken(),!T)throw this.createParseError();r.push(Object.assign(Object.assign({},T),{precedingWhitespace:o}))}}return r}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:r,col:T}=yr(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${r} column ${T}.
27
+ |$)`,"uy"),fr=(E,t=[])=>{const r=E==="open"?0:1,T=["()",...t].map(s=>s[r]);return Dt(T.map(Et).join("|"))},hr=E=>Dt(`${dr(E).map(Et).join("|")}`),Ki=({rest:E,dashes:t})=>E||t?`(?![${E||""}${t?"-":""}])`:"",it=(E,t={})=>{if(E.length===0)return/^\b$/u;const r=Ki(t),T=dr(E).map(Et).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${T})${r}\\b`,"iuy")},DE=(E,t)=>{if(!E.length)return;const r=E.map(Et).join("|");return Dt(`(?:${r})(?:${t})`)},ki=()=>{const E={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",r=Object.entries(E).map(([R,C])=>t.replace(/{left}/g,Et(R)).replace(/{right}/g,Et(C))),T=Et(Object.keys(E).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${T}])(?:(?!\k<tag>').)*?\k<tag>`}|${r.join("|")})'`},Mr={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":ki()},Ur=E=>typeof E=="string"?Mr[E]:"regex"in E?E.regex:Wi(E)+Mr[E.quote],$i=E=>Dt(E.map(t=>"regex"in t?t.regex:Ur(t)).join("|")),mr=E=>E.map(Ur).join("|"),Br=E=>Dt(mr(E)),qi=(E={})=>Dt(gr(E)),gr=({first:E,rest:t,dashes:r,allowFirstCharNumber:T}={})=>{const s="\\p{Alphabetic}\\p{Mark}_",a="\\p{Decimal_Number}",R=Et(E??""),C=Et(t??""),I=T?`[${s}${a}${R}][${s}${a}${C}]*`:`[${s}${R}][${s}${a}${C}]*`;return r?wi(I):I};function yr(E,t){const r=E.slice(0,t).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class Ji{constructor(t,r){this.rules=t,this.dialectName=r,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const r=[];let T;for(;this.index<this.input.length;){const s=this.getWhitespace();if(this.index<this.input.length){if(T=this.getNextToken(),!T)throw this.createParseError();r.push(Object.assign(Object.assign({},T),{precedingWhitespace:s}))}}return r}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:r,col:T}=yr(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${r} column ${T}.
28
28
  ${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
29
- If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){Pr.lastIndex=this.index;const t=Pr.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const r=this.match(t);if(r)return r}}match(t){t.regex.lastIndex=this.index;const r=t.regex.exec(this.input);if(r){const T=r[0],o={type:t.type,raw:T,text:t.text?t.text(T):T,start:this.index};return t.key&&(o.key=t.key(T)),this.index+=T.length,o}}}const Gr=/\/\*/uy,lR=/[\s\S]/uy,uR=/\*\//uy;class CR{constructor(){this.lastIndex=0}exec(t){let r="",T,o=0;if(T=this.matchSection(Gr,t))r+=T,o++;else return null;for(;o>0;)if(T=this.matchSection(Gr,t))r+=T,o++;else if(T=this.matchSection(uR,t))r+=T,o--;else if(T=this.matchSection(lR,t))r+=T;else return null;return[r]}matchSection(t,r){t.lastIndex=this.lastIndex;const T=t.exec(r);return T&&(this.lastIndex+=T[0].length),T?T[0]:null}}class cR{constructor(t,r){this.cfg=t,this.dialectName=r,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,r){const T=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,r),...this.rulesAfterParams],o=new IR(T,this.dialectName).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(o):o}buildRulesBeforeParams(t){var r,T,o;return this.validRules([{type:X.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:X.BLOCK_COMMENT,regex:t.nestedBlockComments?new CR:/(\/\*[^]*?\*\/)/uy},{type:X.LINE_COMMENT,regex:iR((r=t.lineCommentTypes)!==null&&r!==void 0?r:["--"])},{type:X.QUOTED_IDENTIFIER,regex:Br(t.identTypes)},{type:X.NUMBER,regex:t.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:X.RESERVED_KEYWORD_PHRASE,regex:At((T=t.reservedKeywordPhrases)!==null&&T!==void 0?T:[],t.identChars),text:xe},{type:X.RESERVED_DATA_TYPE_PHRASE,regex:At((o=t.reservedDataTypePhrases)!==null&&o!==void 0?o:[],t.identChars),text:xe},{type:X.CASE,regex:/CASE\b/iuy,text:xe},{type:X.END,regex:/END\b/iuy,text:xe},{type:X.BETWEEN,regex:/BETWEEN\b/iuy,text:xe},{type:X.LIMIT,regex:t.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:xe},{type:X.RESERVED_CLAUSE,regex:At(t.reservedClauses,t.identChars),text:xe},{type:X.RESERVED_SELECT,regex:At(t.reservedSelect,t.identChars),text:xe},{type:X.RESERVED_SET_OPERATION,regex:At(t.reservedSetOperations,t.identChars),text:xe},{type:X.WHEN,regex:/WHEN\b/iuy,text:xe},{type:X.ELSE,regex:/ELSE\b/iuy,text:xe},{type:X.THEN,regex:/THEN\b/iuy,text:xe},{type:X.RESERVED_JOIN,regex:At(t.reservedJoins,t.identChars),text:xe},{type:X.AND,regex:/AND\b/iuy,text:xe},{type:X.OR,regex:/OR\b/iuy,text:xe},{type:X.XOR,regex:t.supportsXor?/XOR\b/iuy:void 0,text:xe},...t.operatorKeyword?[{type:X.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:X.RESERVED_FUNCTION_NAME,regex:At(t.reservedFunctionNames,t.identChars),text:xe},{type:X.RESERVED_DATA_TYPE,regex:At(t.reservedDataTypes,t.identChars),text:xe},{type:X.RESERVED_KEYWORD,regex:At(t.reservedKeywords,t.identChars),text:xe}])}buildRulesAfterParams(t){var r,T;return this.validRules([{type:X.VARIABLE,regex:t.variableTypes?SR(t.variableTypes):void 0},{type:X.STRING,regex:Br(t.stringTypes)},{type:X.IDENTIFIER,regex:NR(t.identChars)},{type:X.DELIMITER,regex:/[;]/uy},{type:X.COMMA,regex:/[,]/y},{type:X.OPEN_PAREN,regex:fr("open",t.extraParens)},{type:X.CLOSE_PAREN,regex:fr("close",t.extraParens)},{type:X.OPERATOR,regex:hr(["+","-","/",">","<","=","<>","<=",">=","!=",...(r=t.operators)!==null&&r!==void 0?r:[]])},{type:X.ASTERISK,regex:/[*]/uy},{type:X.PROPERTY_ACCESS_OPERATOR,regex:hr([".",...(T=t.propertyAccessOperators)!==null&&T!==void 0?T:[]])}])}buildParamRules(t,r){var T,o,a,A,C;const I={named:r?.named||((T=t.paramTypes)===null||T===void 0?void 0:T.named)||[],quoted:r?.quoted||((o=t.paramTypes)===null||o===void 0?void 0:o.quoted)||[],numbered:r?.numbered||((a=t.paramTypes)===null||a===void 0?void 0:a.numbered)||[],positional:typeof r?.positional=="boolean"?r.positional:(A=t.paramTypes)===null||A===void 0?void 0:A.positional,custom:r?.custom||((C=t.paramTypes)===null||C===void 0?void 0:C.custom)||[]};return this.validRules([{type:X.NAMED_PARAMETER,regex:DE(I.named,gr(t.paramChars||t.identChars)),key:i=>i.slice(1)},{type:X.QUOTED_PARAMETER,regex:DE(I.quoted,mr(t.identTypes)),key:i=>(({tokenKey:O,quoteChar:u})=>O.replace(new RegExp(Et("\\"+u),"gu"),u))({tokenKey:i.slice(2,-1),quoteChar:i.slice(-1)})},{type:X.NUMBERED_PARAMETER,regex:DE(I.numbered,"[0-9]+"),key:i=>i.slice(1)},{type:X.POSITIONAL_PARAMETER,regex:I.positional?/[?]/y:void 0},...I.custom.map(i=>{var O;return{type:X.CUSTOM_PARAMETER,regex:Dt(i.regex),key:(O=i.key)!==null&&O!==void 0?O:u=>u}})])}validRules(t){return t.filter(r=>!!r.regex)}}const xe=E=>wt(E.toUpperCase()),Fr=new Map,_R=E=>{let t=Fr.get(E);return t||(t=LR(E),Fr.set(E,t)),t},LR=E=>({tokenizer:new cR(E.tokenizerOptions,E.name),formatOptions:DR(E.formatOptions)}),DR=E=>{var t;return{alwaysDenseOperators:E.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(E.onelineClauses.map(r=>[r,!0])),tabularOnelineClauses:Object.fromEntries(((t=E.tabularOnelineClauses)!==null&&t!==void 0?t:E.onelineClauses).map(r=>[r,!0]))}};function pR(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"?" ".repeat(10):E.useTabs?" ":" ".repeat(E.tabWidth)}function ft(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"}class dR{constructor(t){this.params=t,this.index=0}get({key:t,text:r}){return this.params?t?this.params[t]:this.params[this.index++]:r}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Wt={exports:{}},PR=Wt.exports,br;function fR(){return br||(br=1,function(E){(function(t,r){E.exports?E.exports=r():t.nearley=r()})(PR,function(){function t(i,O,u){return this.id=++t.highestId,this.name=i,this.symbols=O,this.postprocess=u,this}t.highestId=0,t.prototype.toString=function(i){var O=typeof i>"u"?this.symbols.map(I).join(" "):this.symbols.slice(0,i).map(I).join(" ")+" ● "+this.symbols.slice(i).map(I).join(" ");return this.name+" → "+O};function r(i,O,u,d){this.rule=i,this.dot=O,this.reference=u,this.data=[],this.wantedBy=d,this.isComplete=this.dot===i.symbols.length}r.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},r.prototype.nextState=function(i){var O=new r(this.rule,this.dot+1,this.reference,this.wantedBy);return O.left=this,O.right=i,O.isComplete&&(O.data=O.build(),O.right=void 0),O},r.prototype.build=function(){var i=[],O=this;do i.push(O.right.data),O=O.left;while(O.left);return i.reverse(),i},r.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,A.fail))};function T(i,O){this.grammar=i,this.index=O,this.states=[],this.wants={},this.scannable=[],this.completed={}}T.prototype.process=function(i){for(var O=this.states,u=this.wants,d=this.completed,h=0;h<O.length;h++){var G=O[h];if(G.isComplete){if(G.finish(),G.data!==A.fail){for(var J=G.wantedBy,M=J.length;M--;){var Ee=J[M];this.complete(Ee,G)}if(G.reference===this.index){var re=G.rule.name;(this.completed[re]=this.completed[re]||[]).push(G)}}}else{var re=G.rule.symbols[G.dot];if(typeof re!="string"){this.scannable.push(G);continue}if(u[re]){if(u[re].push(G),d.hasOwnProperty(re))for(var k=d[re],M=0;M<k.length;M++){var Ie=k[M];this.complete(G,Ie)}}else u[re]=[G],this.predict(re)}}},T.prototype.predict=function(i){for(var O=this.grammar.byName[i]||[],u=0;u<O.length;u++){var d=O[u],h=this.wants[i],G=new r(d,0,this.index,h);this.states.push(G)}},T.prototype.complete=function(i,O){var u=i.nextState(O);this.states.push(u)};function o(i,O){this.rules=i,this.start=O||this.rules[0].name;var u=this.byName={};this.rules.forEach(function(d){u.hasOwnProperty(d.name)||(u[d.name]=[]),u[d.name].push(d)})}o.fromCompiled=function(d,O){var u=d.Lexer;d.ParserStart&&(O=d.ParserStart,d=d.ParserRules);var d=d.map(function(G){return new t(G.name,G.symbols,G.postprocess)}),h=new o(d,O);return h.lexer=u,h};function a(){this.reset("")}a.prototype.reset=function(i,O){this.buffer=i,this.index=0,this.line=O?O.line:1,this.lastLineBreak=O?-O.col:0},a.prototype.next=function(){if(this.index<this.buffer.length){var i=this.buffer[this.index++];return i===`
30
- `&&(this.line+=1,this.lastLineBreak=this.index),{value:i}}},a.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},a.prototype.formatError=function(i,O){var u=this.buffer;if(typeof u=="string"){var d=u.split(`
31
- `).slice(Math.max(0,this.line-5),this.line),h=u.indexOf(`
32
- `,this.index);h===-1&&(h=u.length);var G=this.index-this.lastLineBreak,J=String(this.line).length;return O+=" at line "+this.line+" col "+G+`:
29
+ If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){Pr.lastIndex=this.index;const t=Pr.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const r=this.match(t);if(r)return r}}match(t){t.regex.lastIndex=this.index;const r=t.regex.exec(this.input);if(r){const T=r[0],s={type:t.type,raw:T,text:t.text?t.text(T):T,start:this.index};return t.key&&(s.key=t.key(T)),this.index+=T.length,s}}}const Gr=/\/\*/uy,Qi=/[\s\S]/uy,Zi=/\*\//uy;class ji{constructor(){this.lastIndex=0}exec(t){let r="",T,s=0;if(T=this.matchSection(Gr,t))r+=T,s++;else return null;for(;s>0;)if(T=this.matchSection(Gr,t))r+=T,s++;else if(T=this.matchSection(Zi,t))r+=T,s--;else if(T=this.matchSection(Qi,t))r+=T;else return null;return[r]}matchSection(t,r){t.lastIndex=this.lastIndex;const T=t.exec(r);return T&&(this.lastIndex+=T[0].length),T?T[0]:null}}class zi{constructor(t,r){this.cfg=t,this.dialectName=r,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,r){const T=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,r),...this.rulesAfterParams],s=new Ji(T,this.dialectName).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(t){var r,T,s;return this.validRules([{type:W.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:W.BLOCK_COMMENT,regex:t.nestedBlockComments?new ji:/(\/\*[^]*?\*\/)/uy},{type:W.LINE_COMMENT,regex:Xi((r=t.lineCommentTypes)!==null&&r!==void 0?r:["--"])},{type:W.QUOTED_IDENTIFIER,regex:Br(t.identTypes)},{type:W.NUMBER,regex:t.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:W.RESERVED_KEYWORD_PHRASE,regex:it((T=t.reservedKeywordPhrases)!==null&&T!==void 0?T:[],t.identChars),text:xe},{type:W.RESERVED_DATA_TYPE_PHRASE,regex:it((s=t.reservedDataTypePhrases)!==null&&s!==void 0?s:[],t.identChars),text:xe},{type:W.CASE,regex:/CASE\b/iuy,text:xe},{type:W.END,regex:/END\b/iuy,text:xe},{type:W.BETWEEN,regex:/BETWEEN\b/iuy,text:xe},{type:W.LIMIT,regex:t.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:xe},{type:W.RESERVED_CLAUSE,regex:it(t.reservedClauses,t.identChars),text:xe},{type:W.RESERVED_SELECT,regex:it(t.reservedSelect,t.identChars),text:xe},{type:W.RESERVED_SET_OPERATION,regex:it(t.reservedSetOperations,t.identChars),text:xe},{type:W.WHEN,regex:/WHEN\b/iuy,text:xe},{type:W.ELSE,regex:/ELSE\b/iuy,text:xe},{type:W.THEN,regex:/THEN\b/iuy,text:xe},{type:W.RESERVED_JOIN,regex:it(t.reservedJoins,t.identChars),text:xe},{type:W.AND,regex:/AND\b/iuy,text:xe},{type:W.OR,regex:/OR\b/iuy,text:xe},{type:W.XOR,regex:t.supportsXor?/XOR\b/iuy:void 0,text:xe},...t.operatorKeyword?[{type:W.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:W.RESERVED_FUNCTION_NAME,regex:it(t.reservedFunctionNames,t.identChars),text:xe},{type:W.RESERVED_DATA_TYPE,regex:it(t.reservedDataTypes,t.identChars),text:xe},{type:W.RESERVED_KEYWORD,regex:it(t.reservedKeywords,t.identChars),text:xe}])}buildRulesAfterParams(t){var r,T;return this.validRules([{type:W.VARIABLE,regex:t.variableTypes?$i(t.variableTypes):void 0},{type:W.STRING,regex:Br(t.stringTypes)},{type:W.IDENTIFIER,regex:qi(t.identChars)},{type:W.DELIMITER,regex:/[;]/uy},{type:W.COMMA,regex:/[,]/y},{type:W.OPEN_PAREN,regex:fr("open",t.extraParens)},{type:W.CLOSE_PAREN,regex:fr("close",t.extraParens)},{type:W.OPERATOR,regex:hr(["+","-","/",">","<","=","<>","<=",">=","!=",...(r=t.operators)!==null&&r!==void 0?r:[]])},{type:W.ASTERISK,regex:/[*]/uy},{type:W.PROPERTY_ACCESS_OPERATOR,regex:hr([".",...(T=t.propertyAccessOperators)!==null&&T!==void 0?T:[]])}])}buildParamRules(t,r){var T,s,a,R,C;const I={named:r?.named||((T=t.paramTypes)===null||T===void 0?void 0:T.named)||[],quoted:r?.quoted||((s=t.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:r?.numbered||((a=t.paramTypes)===null||a===void 0?void 0:a.numbered)||[],positional:typeof r?.positional=="boolean"?r.positional:(R=t.paramTypes)===null||R===void 0?void 0:R.positional,custom:r?.custom||((C=t.paramTypes)===null||C===void 0?void 0:C.custom)||[]};return this.validRules([{type:W.NAMED_PARAMETER,regex:DE(I.named,gr(t.paramChars||t.identChars)),key:A=>A.slice(1)},{type:W.QUOTED_PARAMETER,regex:DE(I.quoted,mr(t.identTypes)),key:A=>(({tokenKey:u,quoteChar:l})=>u.replace(new RegExp(Et("\\"+l),"gu"),l))({tokenKey:A.slice(2,-1),quoteChar:A.slice(-1)})},{type:W.NUMBERED_PARAMETER,regex:DE(I.numbered,"[0-9]+"),key:A=>A.slice(1)},{type:W.POSITIONAL_PARAMETER,regex:I.positional?/[?]/y:void 0},...I.custom.map(A=>{var u;return{type:W.CUSTOM_PARAMETER,regex:Dt(A.regex),key:(u=A.key)!==null&&u!==void 0?u:l=>l}})])}validRules(t){return t.filter(r=>!!r.regex)}}const xe=E=>wt(E.toUpperCase()),Fr=new Map,eR=E=>{let t=Fr.get(E);return t||(t=tR(E),Fr.set(E,t)),t},tR=E=>({tokenizer:new zi(E.tokenizerOptions,E.name),formatOptions:ER(E.formatOptions)}),ER=E=>{var t;return{alwaysDenseOperators:E.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(E.onelineClauses.map(r=>[r,!0])),tabularOnelineClauses:Object.fromEntries(((t=E.tabularOnelineClauses)!==null&&t!==void 0?t:E.onelineClauses).map(r=>[r,!0]))}};function rR(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"?" ".repeat(10):E.useTabs?" ":" ".repeat(E.tabWidth)}function ft(E){return E.indentStyle==="tabularLeft"||E.indentStyle==="tabularRight"}class nR{constructor(t){this.params=t,this.index=0}get({key:t,text:r}){return this.params?t?this.params[t]:this.params[this.index++]:r}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Wt={exports:{}},TR=Wt.exports,Hr;function sR(){return Hr||(Hr=1,function(E){(function(t,r){E.exports?E.exports=r():t.nearley=r()})(TR,function(){function t(A,u,l){return this.id=++t.highestId,this.name=A,this.symbols=u,this.postprocess=l,this}t.highestId=0,t.prototype.toString=function(A){var u=typeof A>"u"?this.symbols.map(I).join(" "):this.symbols.slice(0,A).map(I).join(" ")+" ● "+this.symbols.slice(A).map(I).join(" ");return this.name+" → "+u};function r(A,u,l,f){this.rule=A,this.dot=u,this.reference=l,this.data=[],this.wantedBy=f,this.isComplete=this.dot===A.symbols.length}r.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},r.prototype.nextState=function(A){var u=new r(this.rule,this.dot+1,this.reference,this.wantedBy);return u.left=this,u.right=A,u.isComplete&&(u.data=u.build(),u.right=void 0),u},r.prototype.build=function(){var A=[],u=this;do A.push(u.right.data),u=u.left;while(u.left);return A.reverse(),A},r.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,R.fail))};function T(A,u){this.grammar=A,this.index=u,this.states=[],this.wants={},this.scannable=[],this.completed={}}T.prototype.process=function(A){for(var u=this.states,l=this.wants,f=this.completed,M=0;M<u.length;M++){var b=u[M];if(b.isComplete){if(b.finish(),b.data!==R.fail){for(var J=b.wantedBy,U=J.length;U--;){var ee=J[U];this.complete(ee,b)}if(b.reference===this.index){var te=b.rule.name;(this.completed[te]=this.completed[te]||[]).push(b)}}}else{var te=b.rule.symbols[b.dot];if(typeof te!="string"){this.scannable.push(b);continue}if(l[te]){if(l[te].push(b),f.hasOwnProperty(te))for(var k=f[te],U=0;U<k.length;U++){var le=k[U];this.complete(b,le)}}else l[te]=[b],this.predict(te)}}},T.prototype.predict=function(A){for(var u=this.grammar.byName[A]||[],l=0;l<u.length;l++){var f=u[l],M=this.wants[A],b=new r(f,0,this.index,M);this.states.push(b)}},T.prototype.complete=function(A,u){var l=A.nextState(u);this.states.push(l)};function s(A,u){this.rules=A,this.start=u||this.rules[0].name;var l=this.byName={};this.rules.forEach(function(f){l.hasOwnProperty(f.name)||(l[f.name]=[]),l[f.name].push(f)})}s.fromCompiled=function(f,u){var l=f.Lexer;f.ParserStart&&(u=f.ParserStart,f=f.ParserRules);var f=f.map(function(b){return new t(b.name,b.symbols,b.postprocess)}),M=new s(f,u);return M.lexer=l,M};function a(){this.reset("")}a.prototype.reset=function(A,u){this.buffer=A,this.index=0,this.line=u?u.line:1,this.lastLineBreak=u?-u.col:0},a.prototype.next=function(){if(this.index<this.buffer.length){var A=this.buffer[this.index++];return A===`
30
+ `&&(this.line+=1,this.lastLineBreak=this.index),{value:A}}},a.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},a.prototype.formatError=function(A,u){var l=this.buffer;if(typeof l=="string"){var f=l.split(`
31
+ `).slice(Math.max(0,this.line-5),this.line),M=l.indexOf(`
32
+ `,this.index);M===-1&&(M=l.length);var b=this.index-this.lastLineBreak,J=String(this.line).length;return u+=" at line "+this.line+" col "+b+`:
33
33
 
34
- `,O+=d.map(function(Ee,re){return M(this.line-d.length+re+1,J)+" "+Ee},this).join(`
35
- `),O+=`
36
- `+M("",J+G)+`^
37
- `,O}else return O+" at index "+(this.index-1);function M(Ee,re){var k=String(Ee);return Array(re-k.length+1).join(" ")+k}};function A(i,O,u){if(i instanceof o)var d=i,u=O;else var d=o.fromCompiled(i,O);this.grammar=d,this.options={keepHistory:!1,lexer:d.lexer||new a};for(var h in u||{})this.options[h]=u[h];this.lexer=this.options.lexer,this.lexerState=void 0;var G=new T(d,0);this.table=[G],G.wants[d.start]=[],G.predict(d.start),G.process(),this.current=0}A.fail={},A.prototype.feed=function(i){var O=this.lexer;O.reset(i,this.lexerState);for(var u;;){try{if(u=O.next(),!u)break}catch(D){var J=new T(this.grammar,this.current+1);this.table.push(J);var d=new Error(this.reportLexerError(D));throw d.offset=this.current,d.token=D.token,d}var h=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var G=this.current+1,J=new T(this.grammar,G);this.table.push(J);for(var M=u.text!==void 0?u.text:u.value,Ee=O.constructor===a?u.value:u,re=h.scannable,k=re.length;k--;){var Ie=re[k],Ce=Ie.rule.symbols[Ie.dot];if(Ce.test?Ce.test(Ee):Ce.type?Ce.type===u.type:Ce.literal===M){var z=Ie.nextState({data:Ee,token:u,isToken:!0,reference:G-1});J.states.push(z)}}if(J.process(),J.states.length===0){var d=new Error(this.reportError(u));throw d.offset=this.current,d.token=u,d}this.options.keepHistory&&(h.lexerState=O.save()),this.current++}return h&&(this.lexerState=O.save()),this.results=this.finish(),this},A.prototype.reportLexerError=function(i){var O,u,d=i.token;return d?(O="input "+JSON.stringify(d.text[0])+" (lexer error)",u=this.lexer.formatError(d,"Syntax error")):(O="input (lexer error)",u=i.message),this.reportErrorCommon(u,O)},A.prototype.reportError=function(i){var O=(i.type?i.type+" token: ":"")+JSON.stringify(i.value!==void 0?i.value:i),u=this.lexer.formatError(i,"Syntax error");return this.reportErrorCommon(u,O)},A.prototype.reportErrorCommon=function(i,O){var u=[];u.push(i);var d=this.table.length-2,h=this.table[d],G=h.states.filter(function(M){var Ee=M.rule.symbols[M.dot];return Ee&&typeof Ee!="string"});if(G.length===0)u.push("Unexpected "+O+`. I did not expect any more input. Here is the state of my parse table:
38
- `),this.displayStateStack(h.states,u);else{u.push("Unexpected "+O+`. Instead, I was expecting to see one of the following:
39
- `);var J=G.map(function(M){return this.buildFirstStateStack(M,[])||[M]},this);J.forEach(function(M){var Ee=M[0],re=Ee.rule.symbols[Ee.dot],k=this.getSymbolDisplay(re);u.push("A "+k+" based on:"),this.displayStateStack(M,u)},this)}return u.push(""),u.join(`
40
- `)},A.prototype.displayStateStack=function(i,O){for(var u,d=0,h=0;h<i.length;h++){var G=i[h],J=G.rule.toString(G.dot);J===u?d++:(d>0&&O.push(" ^ "+d+" more lines identical to this"),d=0,O.push(" "+J)),u=J}},A.prototype.getSymbolDisplay=function(i){return C(i)},A.prototype.buildFirstStateStack=function(i,O){if(O.indexOf(i)!==-1)return null;if(i.wantedBy.length===0)return[i];var u=i.wantedBy[0],d=[i].concat(O),h=this.buildFirstStateStack(u,d);return h===null?null:[i].concat(h)},A.prototype.save=function(){var i=this.table[this.current];return i.lexerState=this.lexerState,i},A.prototype.restore=function(i){var O=i.index;this.current=O,this.table[O]=i,this.table.splice(O+1),this.lexerState=i.lexerState,this.results=this.finish()},A.prototype.rewind=function(i){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[i])},A.prototype.finish=function(){var i=[],O=this.grammar.start,u=this.table[this.table.length-1];return u.states.forEach(function(d){d.rule.name===O&&d.dot===d.rule.symbols.length&&d.reference===0&&d.data!==A.fail&&i.push(d)}),i.map(function(d){return d.data})};function C(i){var O=typeof i;if(O==="string")return i;if(O==="object"){if(i.literal)return JSON.stringify(i.literal);if(i instanceof RegExp)return"character matching "+i;if(i.type)return i.type+" token";if(i.test)return"token matching "+String(i.test);throw new Error("Unknown symbol type: "+i)}}function I(i){var O=typeof i;if(O==="string")return i;if(O==="object"){if(i.literal)return JSON.stringify(i.literal);if(i instanceof RegExp)return i.toString();if(i.type)return"%"+i.type;if(i.test)return"<"+String(i.test)+">";throw new Error("Unknown symbol type: "+i)}}return{Parser:A,Grammar:o,Rule:t}})}(Wt)),Wt.exports}var hR=fR();const MR=mE(hR);function UR(E){return E.map(mR).map(BR).map(gR).map(yR).map(GR)}const mR=(E,t,r)=>{if(Er(E.type)){const T=FR(r,t);if(T&&T.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw});const o=ht(r,t);if(o&&o.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw})}return E},BR=(E,t,r)=>{if(E.type===X.RESERVED_FUNCTION_NAME){const T=ht(r,t);if(!T||!Hr(T))return Object.assign(Object.assign({},E),{type:X.IDENTIFIER,text:E.raw})}return E},gR=(E,t,r)=>{if(E.type===X.RESERVED_DATA_TYPE){const T=ht(r,t);if(T&&Hr(T))return Object.assign(Object.assign({},E),{type:X.RESERVED_PARAMETERIZED_DATA_TYPE})}return E},yR=(E,t,r)=>{if(E.type===X.IDENTIFIER){const T=ht(r,t);if(T&&xr(T))return Object.assign(Object.assign({},E),{type:X.ARRAY_IDENTIFIER})}return E},GR=(E,t,r)=>{if(E.type===X.RESERVED_DATA_TYPE){const T=ht(r,t);if(T&&xr(T))return Object.assign(Object.assign({},E),{type:X.ARRAY_KEYWORD})}return E},FR=(E,t)=>ht(E,t,-1),ht=(E,t,r=1)=>{let T=1;for(;E[t+T*r]&&bR(E[t+T*r]);)T++;return E[t+T*r]},Hr=E=>E.type===X.OPEN_PAREN&&E.text==="(",xr=E=>E.type===X.OPEN_PAREN&&E.text==="[",bR=E=>E.type===X.BLOCK_COMMENT||E.type===X.LINE_COMMENT;class Yr{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,r){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:r,col:T}=yr(this.input,t.start);return`Parse error at token: ${t.text} at line ${r} column ${T}`}has(t){return t in X}}var ue;(function(E){E.statement="statement",E.clause="clause",E.set_operation="set_operation",E.function_call="function_call",E.parameterized_data_type="parameterized_data_type",E.array_subscript="array_subscript",E.property_access="property_access",E.parenthesis="parenthesis",E.between_predicate="between_predicate",E.case_expression="case_expression",E.case_when="case_when",E.case_else="case_else",E.limit_clause="limit_clause",E.all_columns_asterisk="all_columns_asterisk",E.literal="literal",E.identifier="identifier",E.keyword="keyword",E.data_type="data_type",E.parameter="parameter",E.operator="operator",E.comma="comma",E.line_comment="line_comment",E.block_comment="block_comment",E.disable_comment="disable_comment"})(ue=ue||(ue={}));function pE(E){return E[0]}const de=new Yr(E=>[]),pt=([[E]])=>E,Ye=E=>({type:ue.keyword,tokenType:E.type,text:E.text,raw:E.raw}),Vr=E=>({type:ue.data_type,text:E.text,raw:E.raw}),Ve=(E,{leading:t,trailing:r})=>(t?.length&&(E=Object.assign(Object.assign({},E),{leadingComments:t})),r?.length&&(E=Object.assign(Object.assign({},E),{trailingComments:r})),E),HR=(E,{leading:t,trailing:r})=>{if(t?.length){const[T,...o]=E;E=[Ve(T,{leading:t}),...o]}if(r?.length){const T=E.slice(0,-1),o=E[E.length-1];E=[...T,Ve(o,{trailing:r})]}return E},xR={Lexer:de,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:E=>E[0].concat([E[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([E])=>{const t=E[E.length-1];return t&&!t.hasSemicolon?t.children.length>0?E:E.slice(0,-1):E}},{name:"statement$subexpression$1",symbols:[de.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[de.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([E,[t]])=>({type:ue.statement,children:E,hasSemicolon:t.type===X.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([E,t])=>[...E,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:pt},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[de.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:pE},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[de.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([E,t,r,T])=>{if(T){const[o,a]=T;return{type:ue.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),offset:r,count:a}}else return{type:ue.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),count:r}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[de.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([E,[t,r]])=>({type:ue.clause,nameKw:Ye(E),children:[t,...r]})},{name:"select_clause",symbols:[de.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([E])=>({type:ue.clause,nameKw:Ye(E),children:[]})},{name:"all_columns_asterisk",symbols:[de.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:ue.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"other_clause",symbols:[de.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([E,t])=>({type:ue.clause,nameKw:Ye(E),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"set_operation",symbols:[de.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([E,t])=>({type:ue.set_operation,nameKw:Ye(E),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:pE},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([E,t])=>Ve(E,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:pt},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:pt},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pt},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:pt},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:pt},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:pt},{name:"array_subscript",symbols:[de.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([E,t,r])=>({type:ue.array_subscript,array:Ve({type:ue.identifier,quoted:!1,text:E.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[de.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([E,t,r])=>({type:ue.array_subscript,array:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[de.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([E,t,r])=>({type:ue.function_call,nameKw:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([E,t,r])=>({type:ue.parenthesis,children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",de.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([E,t,r,T,[o]])=>({type:ue.property_access,object:Ve(E,{trailing:t}),operator:r.text,property:Ve(o,{leading:T})})},{name:"between_predicate",symbols:[de.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",de.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([E,t,r,T,o,a,A])=>({type:ue.between_predicate,betweenKw:Ye(E),expr1:HR(r,{leading:t,trailing:T}),andKw:Ye(o),expr2:[Ve(A,{leading:a})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:pE},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:E=>E[0].concat([E[1]])},{name:"case_expression",symbols:[de.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",de.has("END")?{type:"END"}:END],postprocess:([E,t,r,T,o])=>({type:ue.case_expression,caseKw:Ve(Ye(E),{trailing:t}),endKw:Ye(o),expr:r||[],clauses:T})},{name:"case_clause",symbols:[de.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",de.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([E,t,r,T,o,a])=>({type:ue.case_when,whenKw:Ve(Ye(E),{trailing:t}),thenKw:Ve(Ye(T),{trailing:o}),condition:r,result:a})},{name:"case_clause",symbols:[de.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([E,t,r])=>({type:ue.case_else,elseKw:Ve(Ye(E),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[de.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[E]])=>({type:ue.comma})},{name:"asterisk$subexpression$1",symbols:[de.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[E]])=>({type:ue.operator,text:E.text})},{name:"operator$subexpression$1",symbols:[de.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[E]])=>({type:ue.operator,text:E.text})},{name:"identifier$subexpression$1",symbols:[de.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[de.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[de.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[E]])=>({type:ue.identifier,quoted:E.type!=="IDENTIFIER",text:E.text})},{name:"parameter$subexpression$1",symbols:[de.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[de.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[de.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[de.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[de.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[E]])=>({type:ue.parameter,key:E.key,text:E.text})},{name:"literal$subexpression$1",symbols:[de.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[de.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[E]])=>({type:ue.literal,text:E.text})},{name:"keyword$subexpression$1",symbols:[de.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[de.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[de.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"data_type$subexpression$1",symbols:[de.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[de.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[E]])=>Vr(E)},{name:"data_type",symbols:[de.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([E,t,r])=>({type:ue.parameterized_data_type,dataType:Ve(Vr(E),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[de.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[de.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[de.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"other_keyword$subexpression$1",symbols:[de.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[de.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[de.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[de.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:E=>E[0].concat([E[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([E])=>E},{name:"comment",symbols:[de.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([E])=>({type:ue.line_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[de.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([E])=>({type:ue.block_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[de.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([E])=>({type:ue.disable_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})}],ParserStart:"main"},{Parser:YR,Grammar:VR}=MR;function vR(E){let t={};const r=new Yr(o=>[...UR(E.tokenize(o,t)),tr(o.length)]),T=new YR(VR.fromCompiled(xR),{lexer:r});return{parse:(o,a)=>{t=a;const{results:A}=T.feed(o);if(A.length===1)return A[0];throw A.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
41
- ${JSON.stringify(A,void 0,2)}`)}}}var W;(function(E){E[E.SPACE=0]="SPACE",E[E.NO_SPACE=1]="NO_SPACE",E[E.NO_NEWLINE=2]="NO_NEWLINE",E[E.NEWLINE=3]="NEWLINE",E[E.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",E[E.INDENT=5]="INDENT",E[E.SINGLE_INDENT=6]="SINGLE_INDENT"})(W=W||(W={}));class vr{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const r of t)switch(r){case W.SPACE:this.items.push(W.SPACE);break;case W.NO_SPACE:this.trimHorizontalWhitespace();break;case W.NO_NEWLINE:this.trimWhitespace();break;case W.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(W.NEWLINE);break;case W.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(W.MANDATORY_NEWLINE);break;case W.INDENT:this.addIndentation();break;case W.SINGLE_INDENT:this.items.push(W.SINGLE_INDENT);break;default:this.items.push(r)}}trimHorizontalWhitespace(){for(;wR(yt(this.items));)this.items.pop()}trimWhitespace(){for(;WR(yt(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(yt(this.items)){case W.NEWLINE:this.items.pop(),this.items.push(t);break;case W.MANDATORY_NEWLINE:break;default:this.items.push(t);break}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(W.SINGLE_INDENT)}toString(){return this.items.map(t=>this.itemToString(t)).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case W.SPACE:return" ";case W.NEWLINE:case W.MANDATORY_NEWLINE:return`
42
- `;case W.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const wR=E=>E===W.SPACE||E===W.SINGLE_INDENT,WR=E=>E===W.SPACE||E===W.SINGLE_INDENT||E===W.NEWLINE;function wr(E,t){if(t==="standard")return E;let r=[];return E.length>=10&&E.includes(" ")&&([E,...r]=E.split(" ")),t==="tabularLeft"?E=E.padEnd(9," "):E=E.padStart(9," "),E+["",...r].join(" ")}function Wr(E){return No(E)||E===X.RESERVED_CLAUSE||E===X.RESERVED_SELECT||E===X.RESERVED_SET_OPERATION||E===X.RESERVED_JOIN||E===X.LIMIT}const dE="top-level",XR="block-level";class Xr{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(dE)}increaseBlockLevel(){this.indentTypes.push(XR)}decreaseTopLevel(){this.indentTypes.length>0&&yt(this.indentTypes)===dE&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===dE;);}}class KR extends vr{constructor(t){super(new Xr("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach(r=>this.addToLength(r)),this.length>this.expressionWidth)throw new PE;super.add(...t)}addToLength(t){if(typeof t=="string")this.length+=t.length,this.trailingSpace=!1;else{if(t===W.MANDATORY_NEWLINE||t===W.NEWLINE)throw new PE;t===W.INDENT||t===W.SINGLE_INDENT||t===W.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(t===W.NO_NEWLINE||t===W.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class PE extends Error{}class Xt{constructor({cfg:t,dialectCfg:r,params:T,layout:o,inline:a=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=r,this.inline=a,this.params=T,this.layout=o}format(t){for(this.nodes=t,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(t){this.formatComments(t.leadingComments),this.formatNodeWithoutComments(t),this.formatComments(t.trailingComments)}formatNodeWithoutComments(t){switch(t.type){case ue.function_call:return this.formatFunctionCall(t);case ue.parameterized_data_type:return this.formatParameterizedDataType(t);case ue.array_subscript:return this.formatArraySubscript(t);case ue.property_access:return this.formatPropertyAccess(t);case ue.parenthesis:return this.formatParenthesis(t);case ue.between_predicate:return this.formatBetweenPredicate(t);case ue.case_expression:return this.formatCaseExpression(t);case ue.case_when:return this.formatCaseWhen(t);case ue.case_else:return this.formatCaseElse(t);case ue.clause:return this.formatClause(t);case ue.set_operation:return this.formatSetOperation(t);case ue.limit_clause:return this.formatLimitClause(t);case ue.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case ue.literal:return this.formatLiteral(t);case ue.identifier:return this.formatIdentifier(t);case ue.parameter:return this.formatParameter(t);case ue.operator:return this.formatOperator(t);case ue.comma:return this.formatComma(t);case ue.line_comment:return this.formatLineComment(t);case ue.block_comment:return this.formatBlockComment(t);case ue.disable_comment:return this.formatBlockComment(t);case ue.data_type:return this.formatDataType(t);case ue.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,()=>{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let r;switch(t.array.type){case ue.data_type:r=this.showDataType(t.array);break;case ue.keyword:r=this.showKw(t.array);break;default:r=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(r)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(W.NO_SPACE,t.operator),this.formatNode(t.property)}formatParenthesis(t){const r=this.formatInlineExpression(t.children);r?(this.layout.add(t.openParen),this.layout.add(...r.getLayoutItems()),this.layout.add(W.NO_SPACE,t.closeParen,W.SPACE)):(this.layout.add(t.openParen,W.NEWLINE),ft(this.cfg)?(this.layout.add(W.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(W.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(W.NEWLINE,W.INDENT,t.closeParen,W.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),W.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(W.NO_SPACE,W.SPACE,this.showNonTabularKw(t.andKw),W.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(W.SPACE)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(W.NEWLINE,W.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(W.NEWLINE,W.INDENT),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(W.NEWLINE,W.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):ft(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return ft(this.cfg)?this.dialectCfg.tabularOnelineClauses[t.nameKw.text]:this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t.nameKw),W.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(W.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t.nameKw),W.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t.nameKw),W.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t.nameKw),W.NEWLINE),this.layout.add(W.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),ft(this.cfg)?this.layout.add(W.SPACE):this.layout.add(W.NEWLINE,W.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(W.NO_SPACE,",",W.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",W.SPACE)}formatLiteral(t){this.layout.add(t.text,W.SPACE)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),W.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),W.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(W.NO_SPACE,t):t===":"?this.layout.add(W.NO_SPACE,t,W.SPACE):this.layout.add(t,W.SPACE)}formatComma(t){this.inline?this.layout.add(W.NO_SPACE,",",W.SPACE):this.layout.add(W.NO_SPACE,",",W.NEWLINE,W.INDENT)}withComments(t,r){this.formatComments(t.leadingComments),r(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(r=>{r.type===ue.line_comment?this.formatLineComment(r):this.formatBlockComment(r)})}formatLineComment(t){LE(t.precedingWhitespace||"")?this.layout.add(W.NEWLINE,W.INDENT,t.text,W.MANDATORY_NEWLINE,W.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(W.NO_NEWLINE,W.SPACE,t.text,W.MANDATORY_NEWLINE,W.INDENT):this.layout.add(t.text,W.MANDATORY_NEWLINE,W.INDENT)}formatBlockComment(t){t.type===ue.block_comment&&this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(r=>{this.layout.add(W.NEWLINE,W.INDENT,r)}),this.layout.add(W.NEWLINE,W.INDENT)):this.layout.add(t.text,W.SPACE)}isMultilineBlockComment(t){return LE(t.text)||LE(t.precedingWhitespace||"")}isDocComment(t){const r=t.split(/\n/);return/^\/\*\*?$/.test(r[0])&&r.slice(1,r.length-1).every(T=>/^\s*\*/.test(T))&&/^\s*\*\/$/.test(yt(r))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(r=>/^\s*\*/.test(r)?" "+r.replace(/^\s*/,""):r):t.split(/\n/).map(r=>r.replace(/^\s*/,""))}formatSubExpression(t){return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const r=this.params.getPositionalParameterIndex();try{return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new KR(this.cfg.expressionWidth),inline:!0}).format(t)}catch(T){if(T instanceof PE){this.params.setPositionalParameterIndex(r);return}else throw T}}formatKeywordNode(t){switch(t.tokenType){case X.RESERVED_JOIN:return this.formatJoin(t);case X.AND:case X.OR:case X.XOR:return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t),W.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t),W.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),W.SPACE)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t),W.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(W.NEWLINE,W.INDENT,this.showKw(t),W.SPACE):this.layout.add(this.showKw(t),W.NEWLINE,W.INDENT)}formatDataType(t){this.layout.add(this.showDataType(t),W.SPACE)}showKw(t){return Wr(t.tokenType)?wr(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return Wr(t.tokenType)?wr(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class kR{constructor(t,r){this.dialect=t,this.cfg=r,this.params=new dR(this.cfg.params)}format(t){const r=this.parse(t);return this.formatAst(r).trimEnd()}parse(t){return vR(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map(r=>this.formatStatement(r)).join(`
43
- `.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const r=new Xt({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new vr(new Xr(pR(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?r.add(W.NEWLINE,";"):r.add(W.NO_NEWLINE,";")),r.toString()}}class Kt extends Error{}function $R(E){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of t)if(r in E)throw new Kt(`${r} config is no more supported.`);if(E.expressionWidth<=0)throw new Kt(`expressionWidth config must be positive number. Received ${E.expressionWidth} instead.`);if(E.params&&!qR(E.params)&&console.warn('WARNING: All "params" option values should be strings.'),E.paramTypes&&!JR(E.paramTypes))throw new Kt("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return E}function qR(E){return(E instanceof Array?E:Object.values(E)).every(r=>typeof r=="string")}function JR(E){return E.custom&&Array.isArray(E.custom)?E.custom.every(t=>t.regex!==""):!0}var QR=function(E,t){var r={};for(var T in E)Object.prototype.hasOwnProperty.call(E,T)&&t.indexOf(T)<0&&(r[T]=E[T]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,T=Object.getOwnPropertySymbols(E);o<T.length;o++)t.indexOf(T[o])<0&&Object.prototype.propertyIsEnumerable.call(E,T[o])&&(r[T[o]]=E[T[o]]);return r};const Kr={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},ZR=Object.keys(Kr),jR={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},kr=(E,t={})=>{if(typeof t.language=="string"&&!ZR.includes(t.language))throw new Kt(`Unsupported SQL dialect: ${t.language}`);const r=Kr[t.language||"sql"];return zR(E,Object.assign(Object.assign({},t),{dialect:sR[r]}))},zR=(E,t)=>{var{dialect:r}=t,T=QR(t,["dialect"]);if(typeof E!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof E);const o=$R(Object.assign(Object.assign({},jR),T));return new kR(_R(r),o).format(E)},$r=["SELECT","FROM","WHERE","JOIN","INNER","LEFT","RIGHT","FULL","OUTER","ON","GROUP","BY","HAVING","ORDER","LIMIT","OFFSET","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","ALTER","DROP","TABLE","DATABASE","INDEX","VIEW","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","AS","DISTINCT","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END"],eS=["WITH","SELECT","FROM","WHERE","GROUP BY","HAVING","ORDER BY","LIMIT","INSERT INTO","UPDATE","SET","DELETE FROM","CREATE","ALTER","DROP","INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL JOIN","CROSS JOIN","OUTER JOIN","JOIN","UNION ALL","UNION","INTERSECT","EXCEPT"],tS=E=>{try{if(!E||!E.trim())return{valid:!1,error:"SQL string is empty"};const t=E.toUpperCase().trim();if(!$r.some(A=>new RegExp(`\\b${A}\\b`).test(t)))return{valid:!1,error:"No valid SQL keywords found"};let T=0,o=!1,a="";for(let A=0;A<E.length;A++){const C=E[A],I=A>0?E[A-1]:"";if((C==="'"||C==='"')&&I!=="\\"&&(o?C===a&&(o=!1,a=""):(o=!0,a=C)),!o&&(C==="("&&T++,C===")"&&T--,T<0))return{valid:!1,error:"Mismatched parentheses: unexpected closing parenthesis"}}if(T!==0)return{valid:!1,error:`Mismatched parentheses: ${T} unclosed opening parenthesis`};try{return kr(E,{language:"sql"}),{valid:!0}}catch(A){return{valid:!1,error:A instanceof Error?A.message:"SQL syntax error"}}}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},ES=(E,t)=>{const r=E.match(/\bVALUES\s*/i);if(!r||r.index===void 0)return E;const T=E.slice(0,r.index+r[0].length),o=E.slice(r.index+r[0].length),a=[];let A=0,C="",I=!1,i="",O=0;for(;O<o.length;){const M=o[O],Ee=O>0?o[O-1]:"";if((M==="'"||M==='"')&&Ee!=="\\"&&(I?M===i&&(I=!1):(I=!0,i=M)),I)A>0&&(C+=M);else if(M==="(")A===0?C=M:C+=M,A++;else if(M===")")C+=M,A--,A===0&&C.trim()&&(a.push(C.trim()),C="");else{if(M===";"&&A===0)break;A>0&&(C+=M)}O++}if(a.length===0)return E;const u=" ".repeat(t),d=a.map(M=>{const Ee=M.slice(1,-1),re=[];let k="",Ie=0,Ce=!1,z="";for(let Ae=0;Ae<Ee.length;Ae++){const b=Ee[Ae],U=Ae>0?Ee[Ae-1]:"";if((b==="'"||b==='"')&&U!=="\\"&&(Ce?b===z&&(Ce=!1):(Ce=!0,z=b)),!Ce&&(b==="("&&Ie++,b===")"&&Ie--,b===","&&Ie===0)){re.push(k.trim()),k="";continue}k+=b}k.trim()&&re.push(k.trim());const D=re.map((Ae,b)=>{const U=b<re.length-1?",":"";return`${u}${u}${Ae}${U}`}).join(`
44
- `);return`${u}(
34
+ `,u+=f.map(function(ee,te){return U(this.line-f.length+te+1,J)+" "+ee},this).join(`
35
+ `),u+=`
36
+ `+U("",J+b)+`^
37
+ `,u}else return u+" at index "+(this.index-1);function U(ee,te){var k=String(ee);return Array(te-k.length+1).join(" ")+k}};function R(A,u,l){if(A instanceof s)var f=A,l=u;else var f=s.fromCompiled(A,u);this.grammar=f,this.options={keepHistory:!1,lexer:f.lexer||new a};for(var M in l||{})this.options[M]=l[M];this.lexer=this.options.lexer,this.lexerState=void 0;var b=new T(f,0);this.table=[b],b.wants[f.start]=[],b.predict(f.start),b.process(),this.current=0}R.fail={},R.prototype.feed=function(A){var u=this.lexer;u.reset(A,this.lexerState);for(var l;;){try{if(l=u.next(),!l)break}catch(D){var J=new T(this.grammar,this.current+1);this.table.push(J);var f=new Error(this.reportLexerError(D));throw f.offset=this.current,f.token=D.token,f}var M=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var b=this.current+1,J=new T(this.grammar,b);this.table.push(J);for(var U=l.text!==void 0?l.text:l.value,ee=u.constructor===a?l.value:l,te=M.scannable,k=te.length;k--;){var le=te[k],_e=le.rule.symbols[le.dot];if(_e.test?_e.test(ee):_e.type?_e.type===l.type:_e.literal===U){var j=le.nextState({data:ee,token:l,isToken:!0,reference:b-1});J.states.push(j)}}if(J.process(),J.states.length===0){var f=new Error(this.reportError(l));throw f.offset=this.current,f.token=l,f}this.options.keepHistory&&(M.lexerState=u.save()),this.current++}return M&&(this.lexerState=u.save()),this.results=this.finish(),this},R.prototype.reportLexerError=function(A){var u,l,f=A.token;return f?(u="input "+JSON.stringify(f.text[0])+" (lexer error)",l=this.lexer.formatError(f,"Syntax error")):(u="input (lexer error)",l=A.message),this.reportErrorCommon(l,u)},R.prototype.reportError=function(A){var u=(A.type?A.type+" token: ":"")+JSON.stringify(A.value!==void 0?A.value:A),l=this.lexer.formatError(A,"Syntax error");return this.reportErrorCommon(l,u)},R.prototype.reportErrorCommon=function(A,u){var l=[];l.push(A);var f=this.table.length-2,M=this.table[f],b=M.states.filter(function(U){var ee=U.rule.symbols[U.dot];return ee&&typeof ee!="string"});if(b.length===0)l.push("Unexpected "+u+`. I did not expect any more input. Here is the state of my parse table:
38
+ `),this.displayStateStack(M.states,l);else{l.push("Unexpected "+u+`. Instead, I was expecting to see one of the following:
39
+ `);var J=b.map(function(U){return this.buildFirstStateStack(U,[])||[U]},this);J.forEach(function(U){var ee=U[0],te=ee.rule.symbols[ee.dot],k=this.getSymbolDisplay(te);l.push("A "+k+" based on:"),this.displayStateStack(U,l)},this)}return l.push(""),l.join(`
40
+ `)},R.prototype.displayStateStack=function(A,u){for(var l,f=0,M=0;M<A.length;M++){var b=A[M],J=b.rule.toString(b.dot);J===l?f++:(f>0&&u.push(" ^ "+f+" more lines identical to this"),f=0,u.push(" "+J)),l=J}},R.prototype.getSymbolDisplay=function(A){return C(A)},R.prototype.buildFirstStateStack=function(A,u){if(u.indexOf(A)!==-1)return null;if(A.wantedBy.length===0)return[A];var l=A.wantedBy[0],f=[A].concat(u),M=this.buildFirstStateStack(l,f);return M===null?null:[A].concat(M)},R.prototype.save=function(){var A=this.table[this.current];return A.lexerState=this.lexerState,A},R.prototype.restore=function(A){var u=A.index;this.current=u,this.table[u]=A,this.table.splice(u+1),this.lexerState=A.lexerState,this.results=this.finish()},R.prototype.rewind=function(A){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[A])},R.prototype.finish=function(){var A=[],u=this.grammar.start,l=this.table[this.table.length-1];return l.states.forEach(function(f){f.rule.name===u&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==R.fail&&A.push(f)}),A.map(function(f){return f.data})};function C(A){var u=typeof A;if(u==="string")return A;if(u==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return"character matching "+A;if(A.type)return A.type+" token";if(A.test)return"token matching "+String(A.test);throw new Error("Unknown symbol type: "+A)}}function I(A){var u=typeof A;if(u==="string")return A;if(u==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return A.toString();if(A.type)return"%"+A.type;if(A.test)return"<"+String(A.test)+">";throw new Error("Unknown symbol type: "+A)}}return{Parser:R,Grammar:s,Rule:t}})}(Wt)),Wt.exports}var oR=sR();const aR=mE(oR);function AR(E){return E.map(iR).map(RR).map(SR).map(NR).map(IR)}const iR=(E,t,r)=>{if(Er(E.type)){const T=uR(r,t);if(T&&T.type===W.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:W.IDENTIFIER,text:E.raw});const s=ht(r,t);if(s&&s.type===W.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},E),{type:W.IDENTIFIER,text:E.raw})}return E},RR=(E,t,r)=>{if(E.type===W.RESERVED_FUNCTION_NAME){const T=ht(r,t);if(!T||!br(T))return Object.assign(Object.assign({},E),{type:W.IDENTIFIER,text:E.raw})}return E},SR=(E,t,r)=>{if(E.type===W.RESERVED_DATA_TYPE){const T=ht(r,t);if(T&&br(T))return Object.assign(Object.assign({},E),{type:W.RESERVED_PARAMETERIZED_DATA_TYPE})}return E},NR=(E,t,r)=>{if(E.type===W.IDENTIFIER){const T=ht(r,t);if(T&&xr(T))return Object.assign(Object.assign({},E),{type:W.ARRAY_IDENTIFIER})}return E},IR=(E,t,r)=>{if(E.type===W.RESERVED_DATA_TYPE){const T=ht(r,t);if(T&&xr(T))return Object.assign(Object.assign({},E),{type:W.ARRAY_KEYWORD})}return E},uR=(E,t)=>ht(E,t,-1),ht=(E,t,r=1)=>{let T=1;for(;E[t+T*r]&&lR(E[t+T*r]);)T++;return E[t+T*r]},br=E=>E.type===W.OPEN_PAREN&&E.text==="(",xr=E=>E.type===W.OPEN_PAREN&&E.text==="[",lR=E=>E.type===W.BLOCK_COMMENT||E.type===W.LINE_COMMENT;class Yr{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,r){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:r,col:T}=yr(this.input,t.start);return`Parse error at token: ${t.text} at line ${r} column ${T}`}has(t){return t in W}}var Oe;(function(E){E.statement="statement",E.clause="clause",E.set_operation="set_operation",E.function_call="function_call",E.parameterized_data_type="parameterized_data_type",E.array_subscript="array_subscript",E.property_access="property_access",E.parenthesis="parenthesis",E.between_predicate="between_predicate",E.case_expression="case_expression",E.case_when="case_when",E.case_else="case_else",E.limit_clause="limit_clause",E.all_columns_asterisk="all_columns_asterisk",E.literal="literal",E.identifier="identifier",E.keyword="keyword",E.data_type="data_type",E.parameter="parameter",E.operator="operator",E.comma="comma",E.line_comment="line_comment",E.block_comment="block_comment",E.disable_comment="disable_comment"})(Oe=Oe||(Oe={}));function pE(E){return E[0]}const Pe=new Yr(E=>[]),pt=([[E]])=>E,Ye=E=>({type:Oe.keyword,tokenType:E.type,text:E.text,raw:E.raw}),Vr=E=>({type:Oe.data_type,text:E.text,raw:E.raw}),Ve=(E,{leading:t,trailing:r})=>(t?.length&&(E=Object.assign(Object.assign({},E),{leadingComments:t})),r?.length&&(E=Object.assign(Object.assign({},E),{trailingComments:r})),E),CR=(E,{leading:t,trailing:r})=>{if(t?.length){const[T,...s]=E;E=[Ve(T,{leading:t}),...s]}if(r?.length){const T=E.slice(0,-1),s=E[E.length-1];E=[...T,Ve(s,{trailing:r})]}return E},cR={Lexer:Pe,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:E=>E[0].concat([E[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([E])=>{const t=E[E.length-1];return t&&!t.hasSemicolon?t.children.length>0?E:E.slice(0,-1):E}},{name:"statement$subexpression$1",symbols:[Pe.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[Pe.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([E,[t]])=>({type:Oe.statement,children:E,hasSemicolon:t.type===W.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:E=>E[0].concat([E[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([E,t])=>[...E,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:pt},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:pE},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[Pe.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([E,t,r,T])=>{if(T){const[s,a]=T;return{type:Oe.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),offset:r,count:a}}else return{type:Oe.limit_clause,limitKw:Ve(Ye(E),{trailing:t}),count:r}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([E,[t,r]])=>({type:Oe.clause,nameKw:Ye(E),children:[t,...r]})},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([E])=>({type:Oe.clause,nameKw:Ye(E),children:[]})},{name:"all_columns_asterisk",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Oe.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"other_clause",symbols:[Pe.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([E,t])=>({type:Oe.clause,nameKw:Ye(E),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"set_operation",symbols:[Pe.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([E,t])=>({type:Oe.set_operation,nameKw:Ye(E),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:pE},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:E=>E[0].concat([E[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([E,t])=>[E,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([E,t])=>Ve(E,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([E,t])=>Ve(t,{leading:E})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:pt},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:pt},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:pt},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:pt},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:pt},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:pt},{name:"array_subscript",symbols:[Pe.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([E,t,r])=>({type:Oe.array_subscript,array:Ve({type:Oe.identifier,quoted:!1,text:E.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[Pe.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([E,t,r])=>({type:Oe.array_subscript,array:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[Pe.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([E,t,r])=>({type:Oe.function_call,nameKw:Ve(Ye(E),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([E,t,r])=>({type:Oe.parenthesis,children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([E,t,r])=>({type:Oe.parenthesis,children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:E=>E[0].concat([E[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([E,t,r])=>({type:Oe.parenthesis,children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",Pe.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([E,t,r,T,[s]])=>({type:Oe.property_access,object:Ve(E,{trailing:t}),operator:r.text,property:Ve(s,{leading:T})})},{name:"between_predicate",symbols:[Pe.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Pe.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([E,t,r,T,s,a,R])=>({type:Oe.between_predicate,betweenKw:Ye(E),expr1:CR(r,{leading:t,trailing:T}),andKw:Ye(s),expr2:[Ve(R,{leading:a})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:pE},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:E=>E[0].concat([E[1]])},{name:"case_expression",symbols:[Pe.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",Pe.has("END")?{type:"END"}:END],postprocess:([E,t,r,T,s])=>({type:Oe.case_expression,caseKw:Ve(Ye(E),{trailing:t}),endKw:Ye(s),expr:r||[],clauses:T})},{name:"case_clause",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Pe.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([E,t,r,T,s,a])=>({type:Oe.case_when,whenKw:Ve(Ye(E),{trailing:t}),thenKw:Ve(Ye(T),{trailing:s}),condition:r,result:a})},{name:"case_clause",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([E,t,r])=>({type:Oe.case_else,elseKw:Ve(Ye(E),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[E]])=>({type:Oe.comma})},{name:"asterisk$subexpression$1",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[E]])=>({type:Oe.operator,text:E.text})},{name:"operator$subexpression$1",symbols:[Pe.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[E]])=>({type:Oe.operator,text:E.text})},{name:"identifier$subexpression$1",symbols:[Pe.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[Pe.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[E]])=>({type:Oe.identifier,quoted:E.type!=="IDENTIFIER",text:E.text})},{name:"parameter$subexpression$1",symbols:[Pe.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[Pe.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[E]])=>({type:Oe.parameter,key:E.key,text:E.text})},{name:"literal$subexpression$1",symbols:[Pe.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[Pe.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[E]])=>({type:Oe.literal,text:E.text})},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[Pe.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[Pe.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[E]])=>Vr(E)},{name:"data_type",symbols:[Pe.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([E,t,r])=>({type:Oe.parameterized_data_type,dataType:Ve(Vr(E),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[Pe.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[Pe.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"other_keyword$subexpression$1",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[Pe.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[E]])=>Ye(E)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:E=>E[0].concat([E[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([E])=>E},{name:"comment",symbols:[Pe.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([E])=>({type:Oe.line_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([E])=>({type:Oe.block_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})},{name:"comment",symbols:[Pe.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([E])=>({type:Oe.disable_comment,text:E.text,precedingWhitespace:E.precedingWhitespace})}],ParserStart:"main"},{Parser:_R,Grammar:LR}=aR;function DR(E){let t={};const r=new Yr(s=>[...AR(E.tokenize(s,t)),tr(s.length)]),T=new _R(LR.fromCompiled(cR),{lexer:r});return{parse:(s,a)=>{t=a;const{results:R}=T.feed(s);if(R.length===1)return R[0];throw R.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
41
+ ${JSON.stringify(R,void 0,2)}`)}}}var w;(function(E){E[E.SPACE=0]="SPACE",E[E.NO_SPACE=1]="NO_SPACE",E[E.NO_NEWLINE=2]="NO_NEWLINE",E[E.NEWLINE=3]="NEWLINE",E[E.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",E[E.INDENT=5]="INDENT",E[E.SINGLE_INDENT=6]="SINGLE_INDENT"})(w=w||(w={}));class vr{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const r of t)switch(r){case w.SPACE:this.items.push(w.SPACE);break;case w.NO_SPACE:this.trimHorizontalWhitespace();break;case w.NO_NEWLINE:this.trimWhitespace();break;case w.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(w.NEWLINE);break;case w.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(w.MANDATORY_NEWLINE);break;case w.INDENT:this.addIndentation();break;case w.SINGLE_INDENT:this.items.push(w.SINGLE_INDENT);break;default:this.items.push(r)}}trimHorizontalWhitespace(){for(;pR(yt(this.items));)this.items.pop()}trimWhitespace(){for(;dR(yt(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(yt(this.items)){case w.NEWLINE:this.items.pop(),this.items.push(t);break;case w.MANDATORY_NEWLINE:break;default:this.items.push(t);break}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(w.SINGLE_INDENT)}toString(){return this.items.map(t=>this.itemToString(t)).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case w.SPACE:return" ";case w.NEWLINE:case w.MANDATORY_NEWLINE:return`
42
+ `;case w.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const pR=E=>E===w.SPACE||E===w.SINGLE_INDENT,dR=E=>E===w.SPACE||E===w.SINGLE_INDENT||E===w.NEWLINE;function wr(E,t){if(t==="standard")return E;let r=[];return E.length>=10&&E.includes(" ")&&([E,...r]=E.split(" ")),t==="tabularLeft"?E=E.padEnd(9," "):E=E.padStart(9," "),E+["",...r].join(" ")}function Wr(E){return qs(E)||E===W.RESERVED_CLAUSE||E===W.RESERVED_SELECT||E===W.RESERVED_SET_OPERATION||E===W.RESERVED_JOIN||E===W.LIMIT}const dE="top-level",PR="block-level";class Xr{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(dE)}increaseBlockLevel(){this.indentTypes.push(PR)}decreaseTopLevel(){this.indentTypes.length>0&&yt(this.indentTypes)===dE&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===dE;);}}class fR extends vr{constructor(t){super(new Xr("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach(r=>this.addToLength(r)),this.length>this.expressionWidth)throw new PE;super.add(...t)}addToLength(t){if(typeof t=="string")this.length+=t.length,this.trailingSpace=!1;else{if(t===w.MANDATORY_NEWLINE||t===w.NEWLINE)throw new PE;t===w.INDENT||t===w.SINGLE_INDENT||t===w.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(t===w.NO_NEWLINE||t===w.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class PE extends Error{}class Xt{constructor({cfg:t,dialectCfg:r,params:T,layout:s,inline:a=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=r,this.inline=a,this.params=T,this.layout=s}format(t){for(this.nodes=t,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(t){this.formatComments(t.leadingComments),this.formatNodeWithoutComments(t),this.formatComments(t.trailingComments)}formatNodeWithoutComments(t){switch(t.type){case Oe.function_call:return this.formatFunctionCall(t);case Oe.parameterized_data_type:return this.formatParameterizedDataType(t);case Oe.array_subscript:return this.formatArraySubscript(t);case Oe.property_access:return this.formatPropertyAccess(t);case Oe.parenthesis:return this.formatParenthesis(t);case Oe.between_predicate:return this.formatBetweenPredicate(t);case Oe.case_expression:return this.formatCaseExpression(t);case Oe.case_when:return this.formatCaseWhen(t);case Oe.case_else:return this.formatCaseElse(t);case Oe.clause:return this.formatClause(t);case Oe.set_operation:return this.formatSetOperation(t);case Oe.limit_clause:return this.formatLimitClause(t);case Oe.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case Oe.literal:return this.formatLiteral(t);case Oe.identifier:return this.formatIdentifier(t);case Oe.parameter:return this.formatParameter(t);case Oe.operator:return this.formatOperator(t);case Oe.comma:return this.formatComma(t);case Oe.line_comment:return this.formatLineComment(t);case Oe.block_comment:return this.formatBlockComment(t);case Oe.disable_comment:return this.formatBlockComment(t);case Oe.data_type:return this.formatDataType(t);case Oe.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,()=>{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let r;switch(t.array.type){case Oe.data_type:r=this.showDataType(t.array);break;case Oe.keyword:r=this.showKw(t.array);break;default:r=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(r)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(w.NO_SPACE,t.operator),this.formatNode(t.property)}formatParenthesis(t){const r=this.formatInlineExpression(t.children);r?(this.layout.add(t.openParen),this.layout.add(...r.getLayoutItems()),this.layout.add(w.NO_SPACE,t.closeParen,w.SPACE)):(this.layout.add(t.openParen,w.NEWLINE),ft(this.cfg)?(this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(w.NEWLINE,w.INDENT,t.closeParen,w.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),w.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(w.NO_SPACE,w.SPACE,this.showNonTabularKw(t.andKw),w.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(w.SPACE)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(w.NEWLINE,w.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):ft(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return ft(this.cfg)?this.dialectCfg.tabularOnelineClauses[t.nameKw.text]:this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.nameKw),w.NEWLINE),this.layout.add(w.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),ft(this.cfg)?this.layout.add(w.SPACE):this.layout.add(w.NEWLINE,w.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(w.NO_SPACE,",",w.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",w.SPACE)}formatLiteral(t){this.layout.add(t.text,w.SPACE)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),w.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),w.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(w.NO_SPACE,t):t===":"?this.layout.add(w.NO_SPACE,t,w.SPACE):this.layout.add(t,w.SPACE)}formatComma(t){this.inline?this.layout.add(w.NO_SPACE,",",w.SPACE):this.layout.add(w.NO_SPACE,",",w.NEWLINE,w.INDENT)}withComments(t,r){this.formatComments(t.leadingComments),r(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(r=>{r.type===Oe.line_comment?this.formatLineComment(r):this.formatBlockComment(r)})}formatLineComment(t){LE(t.precedingWhitespace||"")?this.layout.add(w.NEWLINE,w.INDENT,t.text,w.MANDATORY_NEWLINE,w.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(w.NO_NEWLINE,w.SPACE,t.text,w.MANDATORY_NEWLINE,w.INDENT):this.layout.add(t.text,w.MANDATORY_NEWLINE,w.INDENT)}formatBlockComment(t){t.type===Oe.block_comment&&this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(r=>{this.layout.add(w.NEWLINE,w.INDENT,r)}),this.layout.add(w.NEWLINE,w.INDENT)):this.layout.add(t.text,w.SPACE)}isMultilineBlockComment(t){return LE(t.text)||LE(t.precedingWhitespace||"")}isDocComment(t){const r=t.split(/\n/);return/^\/\*\*?$/.test(r[0])&&r.slice(1,r.length-1).every(T=>/^\s*\*/.test(T))&&/^\s*\*\/$/.test(yt(r))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(r=>/^\s*\*/.test(r)?" "+r.replace(/^\s*/,""):r):t.split(/\n/).map(r=>r.replace(/^\s*/,""))}formatSubExpression(t){return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const r=this.params.getPositionalParameterIndex();try{return new Xt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new fR(this.cfg.expressionWidth),inline:!0}).format(t)}catch(T){if(T instanceof PE){this.params.setPositionalParameterIndex(r);return}else throw T}}formatKeywordNode(t){switch(t.tokenType){case W.RESERVED_JOIN:return this.formatJoin(t);case W.AND:case W.OR:case W.XOR:return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),w.SPACE)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?ft(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(w.NEWLINE,w.INDENT,this.showKw(t),w.SPACE):this.layout.add(this.showKw(t),w.NEWLINE,w.INDENT)}formatDataType(t){this.layout.add(this.showDataType(t),w.SPACE)}showKw(t){return Wr(t.tokenType)?wr(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return Wr(t.tokenType)?wr(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return wt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class hR{constructor(t,r){this.dialect=t,this.cfg=r,this.params=new nR(this.cfg.params)}format(t){const r=this.parse(t);return this.formatAst(r).trimEnd()}parse(t){return DR(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map(r=>this.formatStatement(r)).join(`
43
+ `.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const r=new Xt({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new vr(new Xr(rR(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?r.add(w.NEWLINE,";"):r.add(w.NO_NEWLINE,";")),r.toString()}}class Kt extends Error{}function MR(E){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of t)if(r in E)throw new Kt(`${r} config is no more supported.`);if(E.expressionWidth<=0)throw new Kt(`expressionWidth config must be positive number. Received ${E.expressionWidth} instead.`);if(E.params&&!UR(E.params)&&console.warn('WARNING: All "params" option values should be strings.'),E.paramTypes&&!mR(E.paramTypes))throw new Kt("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return E}function UR(E){return(E instanceof Array?E:Object.values(E)).every(r=>typeof r=="string")}function mR(E){return E.custom&&Array.isArray(E.custom)?E.custom.every(t=>t.regex!==""):!0}var BR=function(E,t){var r={};for(var T in E)Object.prototype.hasOwnProperty.call(E,T)&&t.indexOf(T)<0&&(r[T]=E[T]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,T=Object.getOwnPropertySymbols(E);s<T.length;s++)t.indexOf(T[s])<0&&Object.prototype.propertyIsEnumerable.call(E,T[s])&&(r[T[s]]=E[T[s]]);return r};const Kr={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},gR=Object.keys(Kr),yR={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},kr=(E,t={})=>{if(typeof t.language=="string"&&!gR.includes(t.language))throw new Kt(`Unsupported SQL dialect: ${t.language}`);const r=Kr[t.language||"sql"];return GR(E,Object.assign(Object.assign({},t),{dialect:Vi[r]}))},GR=(E,t)=>{var{dialect:r}=t,T=BR(t,["dialect"]);if(typeof E!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof E);const s=MR(Object.assign(Object.assign({},yR),T));return new hR(eR(r),s).format(E)},$r=["SELECT","FROM","WHERE","JOIN","INNER","LEFT","RIGHT","FULL","OUTER","ON","GROUP","BY","HAVING","ORDER","LIMIT","OFFSET","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","ALTER","DROP","TABLE","DATABASE","INDEX","VIEW","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","AS","DISTINCT","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END"],FR=["WITH","SELECT","FROM","WHERE","GROUP BY","HAVING","ORDER BY","LIMIT","INSERT INTO","UPDATE","SET","DELETE FROM","CREATE","ALTER","DROP","INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL JOIN","CROSS JOIN","OUTER JOIN","JOIN","UNION ALL","UNION","INTERSECT","EXCEPT"],HR=E=>{try{if(!E||!E.trim())return{valid:!1,error:"SQL string is empty"};const t=E.toUpperCase().trim();if(!$r.some(R=>new RegExp(`\\b${R}\\b`).test(t)))return{valid:!1,error:"No valid SQL keywords found"};let T=0,s=!1,a="";for(let R=0;R<E.length;R++){const C=E[R],I=R>0?E[R-1]:"";if((C==="'"||C==='"')&&I!=="\\"&&(s?C===a&&(s=!1,a=""):(s=!0,a=C)),!s&&(C==="("&&T++,C===")"&&T--,T<0))return{valid:!1,error:"Mismatched parentheses: unexpected closing parenthesis"}}if(T!==0)return{valid:!1,error:`Mismatched parentheses: ${T} unclosed opening parenthesis`};try{return kr(E,{language:"sql"}),{valid:!0}}catch(R){return{valid:!1,error:R instanceof Error?R.message:"SQL syntax error"}}}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Unknown validation error"}}},bR=(E,t)=>{const r=E.match(/\bVALUES\s*/i);if(!r||r.index===void 0)return E;const T=E.slice(0,r.index+r[0].length),s=E.slice(r.index+r[0].length),a=[];let R=0,C="",I=!1,A="",u=0;for(;u<s.length;){const U=s[u],ee=u>0?s[u-1]:"";if((U==="'"||U==='"')&&ee!=="\\"&&(I?U===A&&(I=!1):(I=!0,A=U)),I)R>0&&(C+=U);else if(U==="(")R===0?C=U:C+=U,R++;else if(U===")")C+=U,R--,R===0&&C.trim()&&(a.push(C.trim()),C="");else{if(U===";"&&R===0)break;R>0&&(C+=U)}u++}if(a.length===0)return E;const l=" ".repeat(t),f=a.map(U=>{const ee=U.slice(1,-1),te=[];let k="",le=0,_e=!1,j="";for(let Ae=0;Ae<ee.length;Ae++){const H=ee[Ae],B=Ae>0?ee[Ae-1]:"";if((H==="'"||H==='"')&&B!=="\\"&&(_e?H===j&&(_e=!1):(_e=!0,j=H)),!_e&&(H==="("&&le++,H===")"&&le--,H===","&&le===0)){te.push(k.trim()),k="";continue}k+=H}k.trim()&&te.push(k.trim());const D=te.map((Ae,H)=>{const B=H<te.length-1?",":"";return`${l}${l}${Ae}${B}`}).join(`
44
+ `);return`${l}(
45
45
  ${D}
46
- ${u})`}),h=d.map((M,Ee)=>{const re=Ee<d.length-1?",":";";return M+re}).join(`
47
- `);let G=O;G<o.length&&o[G]===";"&&G++;const J=o.slice(G);return T.trimEnd()+`
48
- `+h+J},fE=(E,t)=>{try{const r=t?.dialect||"sql",T=t?.tabWidth||2,o=t?.keywordCase||"upper",a=t?.useTabs||!1,A=t?.linesBetweenQueries||1,I={sql:"sql",mysql:"mysql",postgresql:"postgresql",sqlite:"sqlite",plsql:"plsql",tsql:"tsql"}[r]||"sql";let i=kr(E,{language:I,tabWidth:T,keywordCase:o,useTabs:a,linesBetweenQueries:A,indentStyle:"standard"});return/\bINSERT\s+INTO\b/i.test(i)&&/\bVALUES\b/i.test(i)&&(i=ES(i,T)),i}catch(r){return console.error("SQL formatting error:",r),E}},rS=E=>{try{const t=[];let r=E.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,T=>(t.push(T),`__STR_${t.length-1}__`));return r=r.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),r=r.replace(/\s+/g," ").trim(),t.forEach((T,o)=>{r=r.replace(`__STR_${o}__`,T)}),r}catch(t){return console.error("SQL compression error:",t),E}},qr=(E,t)=>{const r=[],T=E.match(/^(.*?\bVALUES\b)/is);if(!T)return[];const o=T[1].trim();r.push({type:"VALUES",content:o,raw:o,collapsible:!1,path:`clause-${t}`});let A=E.slice(T[1].length).trim(),C=0,I=0,i="",O=!1,u="";for(let d=0;d<A.length;d++){const h=A[d],G=d>0?A[d-1]:"";if((h==="'"||h==='"')&&G!=="\\"&&(O?h===u&&(O=!1):(O=!0,u=h)),O)I>0&&(i+=h);else if(h==="("&&I===0)I++,i=h;else if(h==="(")I++,i+=h;else if(h===")"){if(i+=h,I--,I===0){let J=d+1,M="";for(;J<A.length;){const re=A[J];if(re===","||re===";"){M=re;break}else if(!/\s/.test(re))break;J++}const Ee=i.trim();Ee&&(r.push({type:"VALUE_TUPLE",content:Ee+M,raw:Ee+M,collapsible:!0,path:`clause-${t}-value-${C}`}),C++),i="",M&&(d=J)}}else I>0&&(i+=h)}return r},nS=E=>{const t=[];try{const T=fE(E,{keywordCase:"upper"}).split(`
49
- `);let o=null,a=[],A=[];for(const C of T){const I=C.trim();if(!I){o&&a.push(C);continue}if(I.startsWith("--")||I.startsWith("/*")){o?a.push(C):A.push(C);continue}let O=!1,u="UNKNOWN";const d=[...eS].sort((h,G)=>G.length-h.length);for(const h of d)if(new RegExp(`^${h}\\b`,"i").test(I)){O=!0,h.includes(" "),u=h.toUpperCase();break}if(O){if(o&&a.length>0){const h=a.join(`
50
- `);if(o.content=h,o.raw=h,o.type==="INSERT INTO"&&/\bVALUES\b/i.test(h)){const G=h.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(G){t.push({type:"INSERT INTO",content:G[1].trim(),raw:G[1].trim(),collapsible:!0,path:`clause-${t.length}`});const J=h.slice(G[1].length).trim(),M=qr(J,t.length);t.push(...M)}else t.push(o)}else t.push(o)}A.length>0&&(t.push({type:"UNKNOWN",content:A.join(`
51
- `),raw:A.join(`
52
- `),collapsible:!1,path:`clause-${t.length}`}),A=[]),a=[C],o={type:u,content:"",raw:"",collapsible:!0,path:`clause-${t.length}`}}else o?a.push(C):(a=[...A,C],A=[],o={type:"UNKNOWN",content:"",raw:"",collapsible:!1,path:`clause-${t.length}`})}if(o&&a.length>0){const C=a.join(`
53
- `);if(o.content=C,o.raw=C,o.type==="INSERT INTO"&&/\bVALUES\b/i.test(C)){const I=C.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(I){t.push({type:"INSERT INTO",content:I[1].trim(),raw:I[1].trim(),collapsible:!0,path:`clause-${t.length}`});const i=C.slice(I[1].length).trim(),O=qr(i,t.length);t.push(...O)}else t.push(o)}else t.push(o)}return A.length>0&&t.push({type:"UNKNOWN",content:A.join(`
54
- `),raw:A.join(`
55
- `),collapsible:!1,path:`clause-${t.length}`}),{clauses:t,raw:E}}catch{return{clauses:[{type:"UNKNOWN",content:E,raw:E,collapsible:!1,path:"clause-0"}],raw:E}}},sS=E=>{const t=[];let r=E;const T=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],o=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],a=["(",")",",",";","."];for(;r.length>0;){let A=!1;const C=r.match(/^(\s+)/);if(C){t.push({type:"whitespace",value:C[1]}),r=r.slice(C[1].length);continue}const I=r.match(/^(--[^\n]*)/);if(I){t.push({type:"comment",value:I[1]}),r=r.slice(I[1].length);continue}const i=r.match(/^(\/\*[\s\S]*?\*\/)/);if(i){t.push({type:"comment",value:i[1]}),r=r.slice(i[1].length);continue}const O=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(O){t.push({type:"string",value:O[0]}),r=r.slice(O[0].length);continue}const u=r.match(/^(\d+\.?\d*|\.\d+)/);if(u){t.push({type:"number",value:u[1]}),r=r.slice(u[1].length);continue}for(const h of o)if(r.startsWith(h)){t.push({type:"operator",value:h}),r=r.slice(h.length),A=!0;break}if(A)continue;for(const h of a)if(r.startsWith(h)){t.push({type:"punctuation",value:h}),r=r.slice(h.length),A=!0;break}if(A)continue;const d=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(d){const h=d[1],G=h.toUpperCase();$r.includes(G)?t.push({type:"keyword",value:h}):T.includes(G)?t.push({type:"function",value:h}):t.push({type:"identifier",value:h}),r=r.slice(h.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},TS={key:0,class:"sql-format__toolbar"},oS={class:"sql-format__actions"},aS=["disabled"],iS=["disabled"],AS=["disabled"],RS=["disabled"],SS=["disabled"],NS={class:"sql-format__info"},IS={key:0,class:"sql-format__status sql-format__status--success"},lS={key:1,class:"sql-format__status sql-format__status--error"},OS={class:"sql-format__content"},uS={key:0,class:"sql-format__error"},CS={key:1,class:"sql-format__viewer"},cS={key:0,class:"sql-format__clauses"},_S=["onClick"],LS=["onClick","title"],DS={key:1,class:"sql-format__toggle-spacer"},pS={class:"sql-format__clause-keyword"},dS={class:"sql-format__clause-code"},PS=["innerHTML"],fS={key:0,class:"sql-format__clause-content"},hS={class:"sql-format__clause-code"},MS=["innerHTML"],US={key:1,class:"sql-format__code"},mS=["innerHTML"],BS=Mt(n.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){n.useCssVars(U=>({"0f8e0258":u.value.colors.background,"1168a353":u.value.colors.text,"3b9fe0d2":u.value.colors.border,"7c0c3955":u.value.colors.surfaceBackground,"05229bb8":u.value.colors.buttonBorder,ae8a51b4:u.value.colors.buttonBackground,"5cffa125":u.value.colors.buttonText,"3b12ec94":u.value.colors.buttonBackgroundHover,ccbae1ec:u.value.colors.buttonPrimary,"35da2052":u.value.colors.buttonPrimaryHover,"27804daa":u.value.colors.successBackground,"75e12fc6":u.value.colors.success,"049b8770":u.value.colors.errorBackground,"1ade38a2":u.value.colors.error,"4124fb61":u.value.colors.textSecondary}));const T=E,o=r,a=n.ref(""),A=n.ref(T.dialect),C=n.ref([]),I=n.ref(new Set),i=n.ref(""),O=n.computed(()=>a.value===""),u=n.computed(()=>no(T.theme)),d=U=>{if(!U||!U.trim()){a.value="",C.value=[],I.value.clear();return}try{const $=tS(U);if(!$.valid){a.value=$.error||"Invalid SQL",C.value=[],i.value="";return}const w=nS(U);C.value=w.clauses,i.value=fE(U,{dialect:A.value,tabWidth:T.tabWidth}),I.value=new Set(w.clauses.map(K=>K.path||"")),a.value=""}catch($){a.value=$ instanceof Error?$.message:"Unknown parse error",C.value=[],i.value=""}},h=U=>{const $=sS(U),w=u.value.colors;return $.map(K=>{let ae=w.text;switch(K.type){case"keyword":ae=w.sqlKeyword;break;case"function":ae=w.sqlFunction;break;case"string":ae=w.sqlString;break;case"number":ae=w.sqlNumber;break;case"comment":ae=w.sqlComment;break;case"operator":ae=w.sqlOperator;break;case"identifier":ae=w.sqlIdentifier;break;case"punctuation":ae=w.sqlPunctuation;break;case"whitespace":return K.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
56
- `)}const Oe=K.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${ae}">${Oe}</span>`}).join("")},G=U=>{I.value.has(U)?I.value.delete(U):I.value.add(U),I.value=new Set(I.value)},J=U=>I.value.has(U),M=U=>{const $=U.content.split(`
57
- `);if($.length===0)return"";for(const w of $)if(w.trim())return w;return""},Ee=U=>{const $=M(U),w=J(U.path||""),K=!!re(U);return U.collapsible&&!w&&K?`${h($)}<span style="color: ${u.value.colors.textSecondary}; opacity: 0.6; font-style: italic; margin-left: 4px;"> ...</span>`:h($)},re=U=>{const $=U.content.split(`
58
- `);if($.length<=1)return"";let w=0;for(let ae=0;ae<$.length;ae++)if($[ae].trim()){w=ae;break}return $.slice(w+1).join(`
59
- `)},k=()=>{I.value=new Set(C.value.map(U=>U.path||"")),o("expand-all")},Ie=()=>{I.value=new Set,o("collapse-all")},Ce=async()=>{if(O.value)try{const U=i.value||T.modelValue;await navigator.clipboard.writeText(U),o("copy-success",U)}catch(U){const $=U instanceof Error?U:new Error("Failed to copy");o("copy-error",$)}},z=()=>{if(O.value)try{const U=fE(T.modelValue,{dialect:A.value,tabWidth:T.tabWidth});o("update:modelValue",U),o("format",U)}catch(U){console.error("Format error:",U)}},D=()=>{if(O.value)try{const U=rS(T.modelValue);o("update:modelValue",U),o("compress",U)}catch(U){console.error("Compress error:",U)}},Ae=()=>null,b=()=>a.value;return n.watch(()=>T.modelValue,U=>{d(U)},{immediate:!0}),n.watch(()=>T.dialect,U=>{A.value=U}),t({copySql:Ce,formatSource:z,compressSource:D,expandAll:k,collapseAll:Ie,toggleExpand:G,isValidSql:()=>O.value,getParsedSql:Ae,getParseError:b}),(U,$)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["sql-format",`sql-format--${u.value.name}`])},[U.showToolbar?(n.openBlock(),n.createElementBlock("div",TS,[n.createElementVNode("div",oS,[n.createElementVNode("button",{class:"sql-format__btn sql-format__btn--primary",onClick:Ce,disabled:!O.value,title:"Copy SQL"}," 📋 Copy ",8,aS),n.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:z,disabled:!O.value,title:"Format SQL"}," ✨ Format ",8,iS),n.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:D,disabled:!O.value,title:"Compress SQL"}," 📦 Compress ",8,AS),n.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:k,disabled:!O.value||C.value.length===0,title:"Expand All Clauses"}," ⬇️ Expand All ",8,RS),n.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:Ie,disabled:!O.value||C.value.length===0,title:"Collapse All Clauses"}," ⬆️ Collapse All ",8,SS),n.withDirectives(n.createElementVNode("select",{"onUpdate:modelValue":$[0]||($[0]=w=>A.value=w),class:"sql-format__dialect-select",title:"SQL Dialect"},$[1]||($[1]=[n.createStaticVNode('<option value="sql" data-v-14525f87>SQL</option><option value="mysql" data-v-14525f87>MySQL</option><option value="postgresql" data-v-14525f87>PostgreSQL</option><option value="sqlite" data-v-14525f87>SQLite</option><option value="plsql" data-v-14525f87>PL/SQL</option><option value="tsql" data-v-14525f87>T-SQL</option>',6)]),512),[[n.vModelSelect,A.value]])]),n.createElementVNode("div",NS,[O.value?(n.openBlock(),n.createElementBlock("span",IS," ✅ Valid SQL ")):(n.openBlock(),n.createElementBlock("span",lS," ❌ Invalid SQL "))])])):n.createCommentVNode("",!0),n.createElementVNode("div",OS,[O.value?(n.openBlock(),n.createElementBlock("div",CS,[C.value.length>0?(n.openBlock(),n.createElementBlock("div",cS,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(C.value,w=>(n.openBlock(),n.createElementBlock("div",{key:w.path,class:"sql-format__clause"},[n.createElementVNode("div",{class:"sql-format__clause-header",onClick:K=>w.collapsible&&G(w.path||"")},[w.collapsible?(n.openBlock(),n.createElementBlock("button",{key:0,class:"sql-format__toggle-btn",onClick:n.withModifiers(K=>G(w.path||""),["stop"]),title:J(w.path||"")?"Collapse":"Expand"},[n.createElementVNode("span",{class:n.normalizeClass(["sql-format__toggle-icon",{"sql-format__toggle-icon--expanded":J(w.path||"")}])},"▶",2)],8,LS)):(n.openBlock(),n.createElementBlock("span",DS)),n.createElementVNode("div",pS,[n.createElementVNode("pre",dS,[n.createElementVNode("code",{innerHTML:Ee(w)},null,8,PS)])])],8,_S),J(w.path||"")&&re(w)?(n.openBlock(),n.createElementBlock("div",fS,[n.createElementVNode("pre",hS,[n.createElementVNode("code",{innerHTML:h(re(w))},null,8,MS)])])):n.createCommentVNode("",!0)]))),128))])):(n.openBlock(),n.createElementBlock("pre",US,[n.createElementVNode("code",{innerHTML:h(T.modelValue)},null,8,mS)]))])):(n.openBlock(),n.createElementBlock("div",uS,[$[2]||($[2]=n.createElementVNode("h4",null,"SQL Parse Error:",-1)),n.createElementVNode("pre",null,n.toDisplayString(a.value),1)]))])],2))}}),[["__scopeId","data-v-14525f87"]]),gS=[UE],yS={install:E=>{gS.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";E.component(r,t)})}};rt.JsonFormat=UE,rt.SqlFormat=BS,rt.XmlFormat=ro,rt.default=yS,Object.defineProperties(rt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
46
+ ${l})`}),M=f.map((U,ee)=>{const te=ee<f.length-1?",":";";return U+te}).join(`
47
+ `);let b=u;b<s.length&&s[b]===";"&&b++;const J=s.slice(b);return T.trimEnd()+`
48
+ `+M+J},fE=(E,t)=>{try{const r=t?.dialect||"sql",T=t?.tabWidth||2,s=t?.keywordCase||"upper",a=t?.useTabs||!1,R=t?.linesBetweenQueries||1,I={sql:"sql",mysql:"mysql",postgresql:"postgresql",sqlite:"sqlite",plsql:"plsql",tsql:"tsql"}[r]||"sql";let A=kr(E,{language:I,tabWidth:T,keywordCase:s,useTabs:a,linesBetweenQueries:R,indentStyle:"standard"});return/\bINSERT\s+INTO\b/i.test(A)&&/\bVALUES\b/i.test(A)&&(A=bR(A,T)),A}catch(r){return console.error("SQL formatting error:",r),E}},xR=E=>{try{const t=[];let r=E.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,T=>(t.push(T),`__STR_${t.length-1}__`));return r=r.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),r=r.replace(/\s+/g," ").trim(),t.forEach((T,s)=>{r=r.replace(`__STR_${s}__`,T)}),r}catch(t){return console.error("SQL compression error:",t),E}},qr=(E,t)=>{const r=[],T=E.match(/^(.*?\bVALUES\b)/is);if(!T)return[];const s=T[1].trim();r.push({type:"VALUES",content:s,raw:s,collapsible:!1,path:`clause-${t}`});let R=E.slice(T[1].length).trim(),C=0,I=0,A="",u=!1,l="";for(let f=0;f<R.length;f++){const M=R[f],b=f>0?R[f-1]:"";if((M==="'"||M==='"')&&b!=="\\"&&(u?M===l&&(u=!1):(u=!0,l=M)),u)I>0&&(A+=M);else if(M==="("&&I===0)I++,A=M;else if(M==="(")I++,A+=M;else if(M===")"){if(A+=M,I--,I===0){let J=f+1,U="";for(;J<R.length;){const te=R[J];if(te===","||te===";"){U=te;break}else if(!/\s/.test(te))break;J++}const ee=A.trim();ee&&(r.push({type:"VALUE_TUPLE",content:ee+U,raw:ee+U,collapsible:!0,path:`clause-${t}-value-${C}`}),C++),A="",U&&(f=J)}}else I>0&&(A+=M)}return r},YR=E=>{const t=[];try{const T=fE(E,{keywordCase:"upper"}).split(`
49
+ `);let s=null,a=[],R=[];for(const C of T){const I=C.trim();if(!I){s&&a.push(C);continue}if(I.startsWith("--")||I.startsWith("/*")){s?a.push(C):R.push(C);continue}let u=!1,l="UNKNOWN";const f=[...FR].sort((M,b)=>b.length-M.length);for(const M of f)if(new RegExp(`^${M}\\b`,"i").test(I)){u=!0,M.includes(" "),l=M.toUpperCase();break}if(u){if(s&&a.length>0){const M=a.join(`
50
+ `);if(s.content=M,s.raw=M,s.type==="INSERT INTO"&&/\bVALUES\b/i.test(M)){const b=M.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(b){t.push({type:"INSERT INTO",content:b[1].trim(),raw:b[1].trim(),collapsible:!0,path:`clause-${t.length}`});const J=M.slice(b[1].length).trim(),U=qr(J,t.length);t.push(...U)}else t.push(s)}else t.push(s)}R.length>0&&(t.push({type:"UNKNOWN",content:R.join(`
51
+ `),raw:R.join(`
52
+ `),collapsible:!1,path:`clause-${t.length}`}),R=[]),a=[C],s={type:l,content:"",raw:"",collapsible:!0,path:`clause-${t.length}`}}else s?a.push(C):(a=[...R,C],R=[],s={type:"UNKNOWN",content:"",raw:"",collapsible:!1,path:`clause-${t.length}`})}if(s&&a.length>0){const C=a.join(`
53
+ `);if(s.content=C,s.raw=C,s.type==="INSERT INTO"&&/\bVALUES\b/i.test(C)){const I=C.match(/^(.*?\bINSERT\s+INTO\s+[^(]+\s*\([^)]+\))/is);if(I){t.push({type:"INSERT INTO",content:I[1].trim(),raw:I[1].trim(),collapsible:!0,path:`clause-${t.length}`});const A=C.slice(I[1].length).trim(),u=qr(A,t.length);t.push(...u)}else t.push(s)}else t.push(s)}return R.length>0&&t.push({type:"UNKNOWN",content:R.join(`
54
+ `),raw:R.join(`
55
+ `),collapsible:!1,path:`clause-${t.length}`}),{clauses:t,raw:E}}catch{return{clauses:[{type:"UNKNOWN",content:E,raw:E,collapsible:!1,path:"clause-0"}],raw:E}}},VR=E=>{const t=[];let r=E;const T=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],s=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],a=["(",")",",",";","."];for(;r.length>0;){let R=!1;const C=r.match(/^(\s+)/);if(C){t.push({type:"whitespace",value:C[1]}),r=r.slice(C[1].length);continue}const I=r.match(/^(--[^\n]*)/);if(I){t.push({type:"comment",value:I[1]}),r=r.slice(I[1].length);continue}const A=r.match(/^(\/\*[\s\S]*?\*\/)/);if(A){t.push({type:"comment",value:A[1]}),r=r.slice(A[1].length);continue}const u=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(u){t.push({type:"string",value:u[0]}),r=r.slice(u[0].length);continue}const l=r.match(/^(\d+\.?\d*|\.\d+)/);if(l){t.push({type:"number",value:l[1]}),r=r.slice(l[1].length);continue}for(const M of s)if(r.startsWith(M)){t.push({type:"operator",value:M}),r=r.slice(M.length),R=!0;break}if(R)continue;for(const M of a)if(r.startsWith(M)){t.push({type:"punctuation",value:M}),r=r.slice(M.length),R=!0;break}if(R)continue;const f=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(f){const M=f[1],b=M.toUpperCase();$r.includes(b)?t.push({type:"keyword",value:M}):T.includes(b)?t.push({type:"function",value:M}):t.push({type:"identifier",value:M}),r=r.slice(M.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},vR={class:"sql-format__content"},wR={key:0,class:"sql-format__error"},WR={key:1,class:"sql-format__viewer"},XR={key:0,class:"sql-format__clauses"},KR=["onClick"],kR=["onClick","title"],$R={key:1,class:"sql-format__toggle-spacer"},qR={class:"sql-format__clause-keyword"},JR={class:"sql-format__clause-code"},QR=["innerHTML"],ZR={key:0,class:"sql-format__clause-content"},jR={class:"sql-format__clause-code"},zR=["innerHTML"],eS={key:1,class:"sql-format__code"},tS=["innerHTML"],ES=Mt(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(E,{expose:t,emit:r}){o.useCssVars(B=>({ca47134a:l.value.colors.background,"187be7cc":l.value.colors.text,f22ea76e:l.value.colors.errorBackground,f89c2e8a:l.value.colors.error,a410fb0c:l.value.colors.textSecondary,"06751623":l.value.colors.buttonPrimary}));const T=E,s=r,a=o.ref(""),R=o.ref(T.dialect),C=o.ref([]),I=o.ref(new Set),A=o.ref(""),u=o.computed(()=>a.value===""),l=o.computed(()=>Ys(T.theme)),f=B=>{if(!B||!B.trim()){a.value="",C.value=[],I.value.clear();return}try{const Q=HR(B);if(!Q.valid){a.value=Q.error||"Invalid SQL",C.value=[],A.value="";return}const X=YR(B);C.value=X.clauses,A.value=fE(B,{dialect:R.value,tabWidth:T.tabWidth}),I.value=new Set(X.clauses.map(K=>K.path||"")),a.value=""}catch(Q){a.value=Q instanceof Error?Q.message:"Unknown parse error",C.value=[],A.value=""}},M=B=>{const Q=VR(B),X=l.value.colors;return Q.map(K=>{let oe=X.text;switch(K.type){case"keyword":oe=X.sqlKeyword;break;case"function":oe=X.sqlFunction;break;case"string":oe=X.sqlString;break;case"number":oe=X.sqlNumber;break;case"comment":oe=X.sqlComment;break;case"operator":oe=X.sqlOperator;break;case"identifier":oe=X.sqlIdentifier;break;case"punctuation":oe=X.sqlPunctuation;break;case"whitespace":return K.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
56
+ `)}const ue=K.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${oe}">${ue}</span>`}).join("")},b=B=>{I.value.has(B)?I.value.delete(B):I.value.add(B),I.value=new Set(I.value)},J=B=>I.value.has(B),U=B=>{const Q=B.content.split(`
57
+ `);if(Q.length===0)return"";for(const X of Q)if(X.trim())return X;return""},ee=B=>{const Q=U(B),X=J(B.path||""),K=!!te(B);return B.collapsible&&!X&&K?`${M(Q)}<span style="color: ${l.value.colors.textSecondary}; opacity: 0.6; font-style: italic; margin-left: 4px;"> ...</span>`:M(Q)},te=B=>{const Q=B.content.split(`
58
+ `);if(Q.length<=1)return"";let X=0;for(let oe=0;oe<Q.length;oe++)if(Q[oe].trim()){X=oe;break}return Q.slice(X+1).join(`
59
+ `)},k=()=>{I.value=new Set(C.value.map(B=>B.path||"")),s("expand-all")},le=()=>{I.value=new Set,s("collapse-all")},_e=async()=>{if(u.value)try{const B=A.value||T.modelValue;await navigator.clipboard.writeText(B),s("copy-success",B)}catch(B){const Q=B instanceof Error?B:new Error("Failed to copy");s("copy-error",Q)}},j=()=>{if(u.value)try{const B=fE(T.modelValue,{dialect:R.value,tabWidth:T.tabWidth});s("update:modelValue",B),s("format",B)}catch(B){console.error("Format error:",B)}},D=()=>{if(u.value)try{const B=xR(T.modelValue);s("update:modelValue",B),s("compress",B)}catch(B){console.error("Compress error:",B)}},Ae=()=>null,H=()=>a.value;return o.watch(()=>T.modelValue,B=>{f(B)},{immediate:!0}),o.watch(()=>T.dialect,B=>{R.value=B}),t({copySql:_e,formatSource:j,compressSource:D,expandAll:k,collapseAll:le,toggleExpand:b,isValidSql:()=>u.value,getParsedSql:Ae,getParseError:H}),(B,Q)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["sql-format",`sql-format--${l.value.name}`])},[o.createElementVNode("div",vR,[u.value?(o.openBlock(),o.createElementBlock("div",WR,[C.value.length>0?(o.openBlock(),o.createElementBlock("div",XR,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(C.value,X=>(o.openBlock(),o.createElementBlock("div",{key:X.path,class:"sql-format__clause"},[o.createElementVNode("div",{class:"sql-format__clause-header",onClick:K=>X.collapsible&&b(X.path||"")},[X.collapsible?(o.openBlock(),o.createElementBlock("button",{key:0,class:"sql-format__toggle-btn",onClick:o.withModifiers(K=>b(X.path||""),["stop"]),title:J(X.path||"")?"Collapse":"Expand"},[o.createElementVNode("span",{class:o.normalizeClass(["sql-format__toggle-icon",{"sql-format__toggle-icon--expanded":J(X.path||"")}])},"▶",2)],8,kR)):(o.openBlock(),o.createElementBlock("span",$R)),o.createElementVNode("div",qR,[o.createElementVNode("pre",JR,[o.createElementVNode("code",{innerHTML:ee(X)},null,8,QR)])])],8,KR),J(X.path||"")&&te(X)?(o.openBlock(),o.createElementBlock("div",ZR,[o.createElementVNode("pre",jR,[o.createElementVNode("code",{innerHTML:M(te(X))},null,8,zR)])])):o.createCommentVNode("",!0)]))),128))])):(o.openBlock(),o.createElementBlock("pre",eS,[o.createElementVNode("code",{innerHTML:M(T.modelValue)},null,8,tS)]))])):(o.openBlock(),o.createElementBlock("div",wR,[Q[0]||(Q[0]=o.createElementVNode("h4",null,"SQL Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(a.value),1)]))])],2))}}),[["__scopeId","data-v-3faa3df9"]]),rS=[UE],nS={install:E=>{rS.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";E.component(r,t)})}};rt.JsonFormat=UE,rt.SqlFormat=ES,rt.XmlFormat=xs,rt.default=nS,Object.defineProperties(rt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});