pgexplain 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,227 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlanGraph-0P3xGm2e.js","assets/PlanGraph-C5ap-Sga.css"])))=>i.map(i=>d[i]);
2
- function uU(n,e){for(var t=0;t<e.length;t++){const i=e[t];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in n)){const o=Object.getOwnPropertyDescriptor(i,s);o&&Object.defineProperty(n,s,o.get?o:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();function bL(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var od={exports:{}},ga={};/**
3
- * @license React
4
- * react-jsx-runtime.production.js
5
- *
6
- * Copyright (c) Meta Platforms, Inc. and affiliates.
7
- *
8
- * This source code is licensed under the MIT license found in the
9
- * LICENSE file in the root directory of this source tree.
10
- */var jI;function EU(){if(jI)return ga;jI=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function t(i,s,o){var a=null;if(o!==void 0&&(a=""+o),s.key!==void 0&&(a=""+s.key),"key"in s){o={};for(var u in s)u!=="key"&&(o[u]=s[u])}else o=s;return s=o.ref,{$$typeof:n,type:i,key:a,ref:s!==void 0?s:null,props:o}}return ga.Fragment=e,ga.jsx=t,ga.jsxs=t,ga}var JI;function fU(){return JI||(JI=1,od.exports=EU()),od.exports}var p=fU(),ad={exports:{}},Ue={};/**
11
- * @license React
12
- * react.production.js
13
- *
14
- * Copyright (c) Meta Platforms, Inc. and affiliates.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE file in the root directory of this source tree.
18
- */var qI;function hU(){if(qI)return Ue;qI=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),a=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),R=Symbol.iterator;function O(P){return P===null||typeof P!="object"?null:(P=R&&P[R]||P["@@iterator"],typeof P=="function"?P:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,C={};function L(P,X,re){this.props=P,this.context=X,this.refs=C,this.updater=re||N}L.prototype.isReactComponent={},L.prototype.setState=function(P,X){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,X,"setState")},L.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function _(){}_.prototype=L.prototype;function D(P,X,re){this.props=P,this.context=X,this.refs=C,this.updater=re||N}var v=D.prototype=new _;v.constructor=D,m(v,L.prototype),v.isPureReactComponent=!0;var U=Array.isArray;function G(){}var B={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function le(P,X,re){var se=re.ref;return{$$typeof:n,type:P,key:X,ref:se!==void 0?se:null,props:re}}function fe(P,X){return le(P.type,X,P.props)}function ie(P){return typeof P=="object"&&P!==null&&P.$$typeof===n}function ee(P){var X={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(re){return X[re]})}var Ee=/\/+/g;function oe(P,X){return typeof P=="object"&&P!==null&&P.key!=null?ee(""+P.key):X.toString(36)}function Te(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(G,G):(P.status="pending",P.then(function(X){P.status==="pending"&&(P.status="fulfilled",P.value=X)},function(X){P.status==="pending"&&(P.status="rejected",P.reason=X)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function x(P,X,re,se,he){var Se=typeof P;(Se==="undefined"||Se==="boolean")&&(P=null);var ue=!1;if(P===null)ue=!0;else switch(Se){case"bigint":case"string":case"number":ue=!0;break;case"object":switch(P.$$typeof){case n:case e:ue=!0;break;case T:return ue=P._init,x(ue(P._payload),X,re,se,he)}}if(ue)return he=he(P),ue=se===""?"."+oe(P,0):se,U(he)?(re="",ue!=null&&(re=ue.replace(Ee,"$&/")+"/"),x(he,X,re,"",function(ve){return ve})):he!=null&&(ie(he)&&(he=fe(he,re+(he.key==null||P&&P.key===he.key?"":(""+he.key).replace(Ee,"$&/")+"/")+ue)),X.push(he)),1;ue=0;var Me=se===""?".":se+":";if(U(P))for(var Oe=0;Oe<P.length;Oe++)se=P[Oe],Se=Me+oe(se,Oe),ue+=x(se,X,re,Se,he);else if(Oe=O(P),typeof Oe=="function")for(P=Oe.call(P),Oe=0;!(se=P.next()).done;)se=se.value,Se=Me+oe(se,Oe++),ue+=x(se,X,re,Se,he);else if(Se==="object"){if(typeof P.then=="function")return x(Te(P),X,re,se,he);throw X=String(P),Error("Objects are not valid as a React child (found: "+(X==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":X)+"). If you meant to render a collection of children, use an array instead.")}return ue}function z(P,X,re){if(P==null)return P;var se=[],he=0;return x(P,se,"","",function(Se){return X.call(re,Se,he++)}),se}function ne(P){if(P._status===-1){var X=P._result;X=X(),X.then(function(re){(P._status===0||P._status===-1)&&(P._status=1,P._result=re)},function(re){(P._status===0||P._status===-1)&&(P._status=2,P._result=re)}),P._status===-1&&(P._status=0,P._result=X)}if(P._status===1)return P._result.default;throw P._result}var ae=typeof reportError=="function"?reportError:function(P){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var X=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof P=="object"&&P!==null&&typeof P.message=="string"?String(P.message):String(P),error:P});if(!window.dispatchEvent(X))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",P);return}console.error(P)},J={map:z,forEach:function(P,X,re){z(P,function(){X.apply(this,arguments)},re)},count:function(P){var X=0;return z(P,function(){X++}),X},toArray:function(P){return z(P,function(X){return X})||[]},only:function(P){if(!ie(P))throw Error("React.Children.only expected to receive a single React element child.");return P}};return Ue.Activity=A,Ue.Children=J,Ue.Component=L,Ue.Fragment=t,Ue.Profiler=s,Ue.PureComponent=D,Ue.StrictMode=i,Ue.Suspense=E,Ue.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=B,Ue.__COMPILER_RUNTIME={__proto__:null,c:function(P){return B.H.useMemoCache(P)}},Ue.cache=function(P){return function(){return P.apply(null,arguments)}},Ue.cacheSignal=function(){return null},Ue.cloneElement=function(P,X,re){if(P==null)throw Error("The argument must be a React element, but you passed "+P+".");var se=m({},P.props),he=P.key;if(X!=null)for(Se in X.key!==void 0&&(he=""+X.key),X)!F.call(X,Se)||Se==="key"||Se==="__self"||Se==="__source"||Se==="ref"&&X.ref===void 0||(se[Se]=X[Se]);var Se=arguments.length-2;if(Se===1)se.children=re;else if(1<Se){for(var ue=Array(Se),Me=0;Me<Se;Me++)ue[Me]=arguments[Me+2];se.children=ue}return le(P.type,he,se)},Ue.createContext=function(P){return P={$$typeof:a,_currentValue:P,_currentValue2:P,_threadCount:0,Provider:null,Consumer:null},P.Provider=P,P.Consumer={$$typeof:o,_context:P},P},Ue.createElement=function(P,X,re){var se,he={},Se=null;if(X!=null)for(se in X.key!==void 0&&(Se=""+X.key),X)F.call(X,se)&&se!=="key"&&se!=="__self"&&se!=="__source"&&(he[se]=X[se]);var ue=arguments.length-2;if(ue===1)he.children=re;else if(1<ue){for(var Me=Array(ue),Oe=0;Oe<ue;Oe++)Me[Oe]=arguments[Oe+2];he.children=Me}if(P&&P.defaultProps)for(se in ue=P.defaultProps,ue)he[se]===void 0&&(he[se]=ue[se]);return le(P,Se,he)},Ue.createRef=function(){return{current:null}},Ue.forwardRef=function(P){return{$$typeof:u,render:P}},Ue.isValidElement=ie,Ue.lazy=function(P){return{$$typeof:T,_payload:{_status:-1,_result:P},_init:ne}},Ue.memo=function(P,X){return{$$typeof:h,type:P,compare:X===void 0?null:X}},Ue.startTransition=function(P){var X=B.T,re={};B.T=re;try{var se=P(),he=B.S;he!==null&&he(re,se),typeof se=="object"&&se!==null&&typeof se.then=="function"&&se.then(G,ae)}catch(Se){ae(Se)}finally{X!==null&&re.types!==null&&(X.types=re.types),B.T=X}},Ue.unstable_useCacheRefresh=function(){return B.H.useCacheRefresh()},Ue.use=function(P){return B.H.use(P)},Ue.useActionState=function(P,X,re){return B.H.useActionState(P,X,re)},Ue.useCallback=function(P,X){return B.H.useCallback(P,X)},Ue.useContext=function(P){return B.H.useContext(P)},Ue.useDebugValue=function(){},Ue.useDeferredValue=function(P,X){return B.H.useDeferredValue(P,X)},Ue.useEffect=function(P,X){return B.H.useEffect(P,X)},Ue.useEffectEvent=function(P){return B.H.useEffectEvent(P)},Ue.useId=function(){return B.H.useId()},Ue.useImperativeHandle=function(P,X,re){return B.H.useImperativeHandle(P,X,re)},Ue.useInsertionEffect=function(P,X){return B.H.useInsertionEffect(P,X)},Ue.useLayoutEffect=function(P,X){return B.H.useLayoutEffect(P,X)},Ue.useMemo=function(P,X){return B.H.useMemo(P,X)},Ue.useOptimistic=function(P,X){return B.H.useOptimistic(P,X)},Ue.useReducer=function(P,X,re){return B.H.useReducer(P,X,re)},Ue.useRef=function(P){return B.H.useRef(P)},Ue.useState=function(P){return B.H.useState(P)},Ue.useSyncExternalStore=function(P,X,re){return B.H.useSyncExternalStore(P,X,re)},Ue.useTransition=function(){return B.H.useTransition()},Ue.version="19.2.7",Ue}var QI;function YS(){return QI||(QI=1,ad.exports=hU()),ad.exports}var M=YS();const TU=bL(M),Ac=uU({__proto__:null,default:TU},[M]);var cd={exports:{}},La={},ud={exports:{}},Ed={};/**
19
- * @license React
20
- * scheduler.production.js
21
- *
22
- * Copyright (c) Meta Platforms, Inc. and affiliates.
23
- *
24
- * This source code is licensed under the MIT license found in the
25
- * LICENSE file in the root directory of this source tree.
26
- */var ZI;function dU(){return ZI||(ZI=1,(function(n){function e(x,z){var ne=x.length;x.push(z);e:for(;0<ne;){var ae=ne-1>>>1,J=x[ae];if(0<s(J,z))x[ae]=z,x[ne]=J,ne=ae;else break e}}function t(x){return x.length===0?null:x[0]}function i(x){if(x.length===0)return null;var z=x[0],ne=x.pop();if(ne!==z){x[0]=ne;e:for(var ae=0,J=x.length,P=J>>>1;ae<P;){var X=2*(ae+1)-1,re=x[X],se=X+1,he=x[se];if(0>s(re,ne))se<J&&0>s(he,re)?(x[ae]=he,x[se]=ne,ae=se):(x[ae]=re,x[X]=ne,ae=X);else if(se<J&&0>s(he,ne))x[ae]=he,x[se]=ne,ae=se;else break e}}return z}function s(x,z){var ne=x.sortIndex-z.sortIndex;return ne!==0?ne:x.id-z.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var a=Date,u=a.now();n.unstable_now=function(){return a.now()-u}}var E=[],h=[],T=1,A=null,R=3,O=!1,N=!1,m=!1,C=!1,L=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function v(x){for(var z=t(h);z!==null;){if(z.callback===null)i(h);else if(z.startTime<=x)i(h),z.sortIndex=z.expirationTime,e(E,z);else break;z=t(h)}}function U(x){if(m=!1,v(x),!N)if(t(E)!==null)N=!0,G||(G=!0,ee());else{var z=t(h);z!==null&&Te(U,z.startTime-x)}}var G=!1,B=-1,F=5,le=-1;function fe(){return C?!0:!(n.unstable_now()-le<F)}function ie(){if(C=!1,G){var x=n.unstable_now();le=x;var z=!0;try{e:{N=!1,m&&(m=!1,_(B),B=-1),O=!0;var ne=R;try{t:{for(v(x),A=t(E);A!==null&&!(A.expirationTime>x&&fe());){var ae=A.callback;if(typeof ae=="function"){A.callback=null,R=A.priorityLevel;var J=ae(A.expirationTime<=x);if(x=n.unstable_now(),typeof J=="function"){A.callback=J,v(x),z=!0;break t}A===t(E)&&i(E),v(x)}else i(E);A=t(E)}if(A!==null)z=!0;else{var P=t(h);P!==null&&Te(U,P.startTime-x),z=!1}}break e}finally{A=null,R=ne,O=!1}z=void 0}}finally{z?ee():G=!1}}}var ee;if(typeof D=="function")ee=function(){D(ie)};else if(typeof MessageChannel<"u"){var Ee=new MessageChannel,oe=Ee.port2;Ee.port1.onmessage=ie,ee=function(){oe.postMessage(null)}}else ee=function(){L(ie,0)};function Te(x,z){B=L(function(){x(n.unstable_now())},z)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(x){x.callback=null},n.unstable_forceFrameRate=function(x){0>x||125<x?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<x?Math.floor(1e3/x):5},n.unstable_getCurrentPriorityLevel=function(){return R},n.unstable_next=function(x){switch(R){case 1:case 2:case 3:var z=3;break;default:z=R}var ne=R;R=z;try{return x()}finally{R=ne}},n.unstable_requestPaint=function(){C=!0},n.unstable_runWithPriority=function(x,z){switch(x){case 1:case 2:case 3:case 4:case 5:break;default:x=3}var ne=R;R=x;try{return z()}finally{R=ne}},n.unstable_scheduleCallback=function(x,z,ne){var ae=n.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?ae+ne:ae):ne=ae,x){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=ne+J,x={id:T++,callback:z,priorityLevel:x,startTime:ne,expirationTime:J,sortIndex:-1},ne>ae?(x.sortIndex=ne,e(h,x),t(E)===null&&x===t(h)&&(m?(_(B),B=-1):m=!0,Te(U,ne-ae))):(x.sortIndex=J,e(E,x),N||O||(N=!0,G||(G=!0,ee()))),x},n.unstable_shouldYield=fe,n.unstable_wrapCallback=function(x){var z=R;return function(){var ne=R;R=z;try{return x.apply(this,arguments)}finally{R=ne}}}})(Ed)),Ed}var ep;function AU(){return ep||(ep=1,ud.exports=dU()),ud.exports}var fd={exports:{}},ln={};/**
27
- * @license React
28
- * react-dom.production.js
29
- *
30
- * Copyright (c) Meta Platforms, Inc. and affiliates.
31
- *
32
- * This source code is licensed under the MIT license found in the
33
- * LICENSE file in the root directory of this source tree.
34
- */var tp;function SU(){if(tp)return ln;tp=1;var n=YS();function e(E){var h="https://react.dev/errors/"+E;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var T=2;T<arguments.length;T++)h+="&args[]="+encodeURIComponent(arguments[T])}return"Minified React error #"+E+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function t(){}var i={d:{f:t,r:function(){throw Error(e(522))},D:t,C:t,L:t,m:t,X:t,S:t,M:t},p:0,findDOMNode:null},s=Symbol.for("react.portal");function o(E,h,T){var A=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:A==null?null:""+A,children:E,containerInfo:h,implementation:T}}var a=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(E,h){if(E==="font")return"";if(typeof h=="string")return h==="use-credentials"?h:""}return ln.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,ln.createPortal=function(E,h){var T=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!h||h.nodeType!==1&&h.nodeType!==9&&h.nodeType!==11)throw Error(e(299));return o(E,h,null,T)},ln.flushSync=function(E){var h=a.T,T=i.p;try{if(a.T=null,i.p=2,E)return E()}finally{a.T=h,i.p=T,i.d.f()}},ln.preconnect=function(E,h){typeof E=="string"&&(h?(h=h.crossOrigin,h=typeof h=="string"?h==="use-credentials"?h:"":void 0):h=null,i.d.C(E,h))},ln.prefetchDNS=function(E){typeof E=="string"&&i.d.D(E)},ln.preinit=function(E,h){if(typeof E=="string"&&h&&typeof h.as=="string"){var T=h.as,A=u(T,h.crossOrigin),R=typeof h.integrity=="string"?h.integrity:void 0,O=typeof h.fetchPriority=="string"?h.fetchPriority:void 0;T==="style"?i.d.S(E,typeof h.precedence=="string"?h.precedence:void 0,{crossOrigin:A,integrity:R,fetchPriority:O}):T==="script"&&i.d.X(E,{crossOrigin:A,integrity:R,fetchPriority:O,nonce:typeof h.nonce=="string"?h.nonce:void 0})}},ln.preinitModule=function(E,h){if(typeof E=="string")if(typeof h=="object"&&h!==null){if(h.as==null||h.as==="script"){var T=u(h.as,h.crossOrigin);i.d.M(E,{crossOrigin:T,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0})}}else h==null&&i.d.M(E)},ln.preload=function(E,h){if(typeof E=="string"&&typeof h=="object"&&h!==null&&typeof h.as=="string"){var T=h.as,A=u(T,h.crossOrigin);i.d.L(E,T,{crossOrigin:A,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0,type:typeof h.type=="string"?h.type:void 0,fetchPriority:typeof h.fetchPriority=="string"?h.fetchPriority:void 0,referrerPolicy:typeof h.referrerPolicy=="string"?h.referrerPolicy:void 0,imageSrcSet:typeof h.imageSrcSet=="string"?h.imageSrcSet:void 0,imageSizes:typeof h.imageSizes=="string"?h.imageSizes:void 0,media:typeof h.media=="string"?h.media:void 0})}},ln.preloadModule=function(E,h){if(typeof E=="string")if(h){var T=u(h.as,h.crossOrigin);i.d.m(E,{as:typeof h.as=="string"&&h.as!=="script"?h.as:void 0,crossOrigin:T,integrity:typeof h.integrity=="string"?h.integrity:void 0})}else i.d.m(E)},ln.requestFormReset=function(E){i.d.r(E)},ln.unstable_batchedUpdates=function(E,h){return E(h)},ln.useFormState=function(E,h,T){return a.H.useFormState(E,h,T)},ln.useFormStatus=function(){return a.H.useHostTransitionStatus()},ln.version="19.2.7",ln}var np;function xL(){if(np)return fd.exports;np=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),fd.exports=SU(),fd.exports}/**
35
- * @license React
36
- * react-dom-client.production.js
37
- *
38
- * Copyright (c) Meta Platforms, Inc. and affiliates.
39
- *
40
- * This source code is licensed under the MIT license found in the
41
- * LICENSE file in the root directory of this source tree.
42
- */var ip;function RU(){if(ip)return La;ip=1;var n=AU(),e=YS(),t=xL();function i(r){var l="https://react.dev/errors/"+r;if(1<arguments.length){l+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)l+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+r+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function o(r){var l=r,c=r;if(r.alternate)for(;l.return;)l=l.return;else{r=l;do l=r,(l.flags&4098)!==0&&(c=l.return),r=l.return;while(r)}return l.tag===3?c:null}function a(r){if(r.tag===13){var l=r.memoizedState;if(l===null&&(r=r.alternate,r!==null&&(l=r.memoizedState)),l!==null)return l.dehydrated}return null}function u(r){if(r.tag===31){var l=r.memoizedState;if(l===null&&(r=r.alternate,r!==null&&(l=r.memoizedState)),l!==null)return l.dehydrated}return null}function E(r){if(o(r)!==r)throw Error(i(188))}function h(r){var l=r.alternate;if(!l){if(l=o(r),l===null)throw Error(i(188));return l!==r?null:r}for(var c=r,f=l;;){var d=c.return;if(d===null)break;var S=d.alternate;if(S===null){if(f=d.return,f!==null){c=f;continue}break}if(d.child===S.child){for(S=d.child;S;){if(S===c)return E(d),r;if(S===f)return E(d),l;S=S.sibling}throw Error(i(188))}if(c.return!==f.return)c=d,f=S;else{for(var I=!1,g=d.child;g;){if(g===c){I=!0,c=d,f=S;break}if(g===f){I=!0,f=d,c=S;break}g=g.sibling}if(!I){for(g=S.child;g;){if(g===c){I=!0,c=S,f=d;break}if(g===f){I=!0,f=S,c=d;break}g=g.sibling}if(!I)throw Error(i(189))}}if(c.alternate!==f)throw Error(i(190))}if(c.tag!==3)throw Error(i(188));return c.stateNode.current===c?r:l}function T(r){var l=r.tag;if(l===5||l===26||l===27||l===6)return r;for(r=r.child;r!==null;){if(l=T(r),l!==null)return l;r=r.sibling}return null}var A=Object.assign,R=Symbol.for("react.element"),O=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),D=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),U=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),B=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),le=Symbol.for("react.activity"),fe=Symbol.for("react.memo_cache_sentinel"),ie=Symbol.iterator;function ee(r){return r===null||typeof r!="object"?null:(r=ie&&r[ie]||r["@@iterator"],typeof r=="function"?r:null)}var Ee=Symbol.for("react.client.reference");function oe(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===Ee?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case m:return"Fragment";case L:return"Profiler";case C:return"StrictMode";case U:return"Suspense";case G:return"SuspenseList";case le:return"Activity"}if(typeof r=="object")switch(r.$$typeof){case N:return"Portal";case D:return r.displayName||"Context";case _:return(r._context.displayName||"Context")+".Consumer";case v:var l=r.render;return r=r.displayName,r||(r=l.displayName||l.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case B:return l=r.displayName||null,l!==null?l:oe(r.type)||"Memo";case F:l=r._payload,r=r._init;try{return oe(r(l))}catch{}}return null}var Te=Array.isArray,x=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},ae=[],J=-1;function P(r){return{current:r}}function X(r){0>J||(r.current=ae[J],ae[J]=null,J--)}function re(r,l){J++,ae[J]=r.current,r.current=l}var se=P(null),he=P(null),Se=P(null),ue=P(null);function Me(r,l){switch(re(Se,l),re(he,r),re(se,null),l.nodeType){case 9:case 11:r=(r=l.documentElement)&&(r=r.namespaceURI)?RI(r):0;break;default:if(r=l.tagName,l=l.namespaceURI)l=RI(l),r=OI(l,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}X(se),re(se,r)}function Oe(){X(se),X(he),X(Se)}function ve(r){r.memoizedState!==null&&re(ue,r);var l=se.current,c=OI(l,r.type);l!==c&&(re(he,r),re(se,c))}function ye(r){he.current===r&&(X(se),X(he)),ue.current===r&&(X(ue),ma._currentValue=ne)}var xe,pt;function je(r){if(xe===void 0)try{throw Error()}catch(c){var l=c.stack.trim().match(/\n( *(at )?)/);xe=l&&l[1]||"",pt=-1<c.stack.indexOf(`
43
- at`)?" (<anonymous>)":-1<c.stack.indexOf("@")?"@unknown:0:0":""}return`
44
- `+xe+r+pt}var dt=!1;function xt(r,l){if(!r||dt)return"";dt=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(l){var te=function(){throw Error()};if(Object.defineProperty(te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(te,[])}catch(K){var W=K}Reflect.construct(r,[],te)}else{try{te.call()}catch(K){W=K}r.call(te.prototype)}}else{try{throw Error()}catch(K){W=K}(te=r())&&typeof te.catch=="function"&&te.catch(function(){})}}catch(K){if(K&&W&&typeof K.stack=="string")return[K.stack,W.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var d=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");d&&d.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var S=f.DetermineComponentFrameRoot(),I=S[0],g=S[1];if(I&&g){var y=I.split(`
45
- `),k=g.split(`
46
- `);for(d=f=0;f<y.length&&!y[f].includes("DetermineComponentFrameRoot");)f++;for(;d<k.length&&!k[d].includes("DetermineComponentFrameRoot");)d++;if(f===y.length||d===k.length)for(f=y.length-1,d=k.length-1;1<=f&&0<=d&&y[f]!==k[d];)d--;for(;1<=f&&0<=d;f--,d--)if(y[f]!==k[d]){if(f!==1||d!==1)do if(f--,d--,0>d||y[f]!==k[d]){var $=`
47
- `+y[f].replace(" at new "," at ");return r.displayName&&$.includes("<anonymous>")&&($=$.replace("<anonymous>",r.displayName)),$}while(1<=f&&0<=d);break}}}finally{dt=!1,Error.prepareStackTrace=c}return(c=r?r.displayName||r.name:"")?je(c):""}function ce(r,l){switch(r.tag){case 26:case 27:case 5:return je(r.type);case 16:return je("Lazy");case 13:return r.child!==l&&l!==null?je("Suspense Fallback"):je("Suspense");case 19:return je("SuspenseList");case 0:case 15:return xt(r.type,!1);case 11:return xt(r.type.render,!1);case 1:return xt(r.type,!0);case 31:return je("Activity");default:return""}}function Ge(r){try{var l="",c=null;do l+=ce(r,c),c=r,r=r.return;while(r);return l}catch(f){return`
48
- Error generating stack: `+f.message+`
49
- `+f.stack}}var St=Object.prototype.hasOwnProperty,ct=n.unstable_scheduleCallback,Ii=n.unstable_cancelCallback,ky=n.unstable_shouldYield,Vy=n.unstable_requestPaint,Pn=n.unstable_now,Wy=n.unstable_getCurrentPriorityLevel,JR=n.unstable_ImmediatePriority,qR=n.unstable_UserBlockingPriority,Lc=n.unstable_NormalPriority,Xy=n.unstable_LowPriority,QR=n.unstable_IdlePriority,Ky=n.log,zy=n.unstable_setDisableYieldValue,Uo=null,yn=null;function ps(r){if(typeof Ky=="function"&&zy(r),yn&&typeof yn.setStrictMode=="function")try{yn.setStrictMode(Uo,r)}catch{}}var vn=Math.clz32?Math.clz32:Jy,$y=Math.log,jy=Math.LN2;function Jy(r){return r>>>=0,r===0?32:31-($y(r)/jy|0)|0}var _c=256,Dc=262144,Mc=4194304;function mr(r){var l=r&42;if(l!==0)return l;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Pc(r,l,c){var f=r.pendingLanes;if(f===0)return 0;var d=0,S=r.suspendedLanes,I=r.pingedLanes;r=r.warmLanes;var g=f&134217727;return g!==0?(f=g&~S,f!==0?d=mr(f):(I&=g,I!==0?d=mr(I):c||(c=g&~r,c!==0&&(d=mr(c))))):(g=f&~S,g!==0?d=mr(g):I!==0?d=mr(I):c||(c=f&~r,c!==0&&(d=mr(c)))),d===0?0:l!==0&&l!==d&&(l&S)===0&&(S=d&-d,c=l&-l,S>=c||S===32&&(c&4194048)!==0)?l:d}function bo(r,l){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&l)===0}function qy(r,l){switch(r){case 1:case 2:case 4:case 8:case 64:return l+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ZR(){var r=Mc;return Mc<<=1,(Mc&62914560)===0&&(Mc=4194304),r}function jf(r){for(var l=[],c=0;31>c;c++)l.push(r);return l}function xo(r,l){r.pendingLanes|=l,l!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function Qy(r,l,c,f,d,S){var I=r.pendingLanes;r.pendingLanes=c,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=c,r.entangledLanes&=c,r.errorRecoveryDisabledLanes&=c,r.shellSuspendCounter=0;var g=r.entanglements,y=r.expirationTimes,k=r.hiddenUpdates;for(c=I&~c;0<c;){var $=31-vn(c),te=1<<$;g[$]=0,y[$]=-1;var W=k[$];if(W!==null)for(k[$]=null,$=0;$<W.length;$++){var K=W[$];K!==null&&(K.lane&=-536870913)}c&=~te}f!==0&&eO(r,f,0),S!==0&&d===0&&r.tag!==0&&(r.suspendedLanes|=S&~(I&~l))}function eO(r,l,c){r.pendingLanes|=l,r.suspendedLanes&=~l;var f=31-vn(l);r.entangledLanes|=l,r.entanglements[f]=r.entanglements[f]|1073741824|c&261930}function tO(r,l){var c=r.entangledLanes|=l;for(r=r.entanglements;c;){var f=31-vn(c),d=1<<f;d&l|r[f]&l&&(r[f]|=l),c&=~d}}function nO(r,l){var c=l&-l;return c=(c&42)!==0?1:Jf(c),(c&(r.suspendedLanes|l))!==0?0:c}function Jf(r){switch(r){case 2:r=1;break;case 8:r=4;break;case 32:r=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:r=128;break;case 268435456:r=134217728;break;default:r=0}return r}function qf(r){return r&=-r,2<r?8<r?(r&134217727)!==0?32:268435456:8:2}function iO(){var r=z.p;return r!==0?r:(r=window.event,r===void 0?32:kI(r.type))}function sO(r,l){var c=z.p;try{return z.p=r,l()}finally{z.p=c}}var Cs=Math.random().toString(36).slice(2),qt="__reactFiber$"+Cs,dn="__reactProps$"+Cs,cl="__reactContainer$"+Cs,Qf="__reactEvents$"+Cs,Zy="__reactListeners$"+Cs,e0="__reactHandles$"+Cs,rO="__reactResources$"+Cs,Bo="__reactMarker$"+Cs;function Zf(r){delete r[qt],delete r[dn],delete r[Qf],delete r[Zy],delete r[e0]}function ul(r){var l=r[qt];if(l)return l;for(var c=r.parentNode;c;){if(l=c[cl]||c[qt]){if(c=l.alternate,l.child!==null||c!==null&&c.child!==null)for(r=LI(r);r!==null;){if(c=r[qt])return c;r=LI(r)}return l}r=c,c=r.parentNode}return null}function El(r){if(r=r[qt]||r[cl]){var l=r.tag;if(l===5||l===6||l===13||l===31||l===26||l===27||l===3)return r}return null}function Go(r){var l=r.tag;if(l===5||l===26||l===27||l===6)return r.stateNode;throw Error(i(33))}function fl(r){var l=r[rO];return l||(l=r[rO]={hoistableStyles:new Map,hoistableScripts:new Map}),l}function Yt(r){r[Bo]=!0}var lO=new Set,oO={};function Ir(r,l){hl(r,l),hl(r+"Capture",l)}function hl(r,l){for(oO[r]=l,r=0;r<l.length;r++)lO.add(l[r])}var t0=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),aO={},cO={};function n0(r){return St.call(cO,r)?!0:St.call(aO,r)?!1:t0.test(r)?cO[r]=!0:(aO[r]=!0,!1)}function yc(r,l,c){if(n0(l))if(c===null)r.removeAttribute(l);else{switch(typeof c){case"undefined":case"function":case"symbol":r.removeAttribute(l);return;case"boolean":var f=l.toLowerCase().slice(0,5);if(f!=="data-"&&f!=="aria-"){r.removeAttribute(l);return}}r.setAttribute(l,""+c)}}function vc(r,l,c){if(c===null)r.removeAttribute(l);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(l);return}r.setAttribute(l,""+c)}}function ji(r,l,c,f){if(f===null)r.removeAttribute(c);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(c);return}r.setAttributeNS(l,c,""+f)}}function Kn(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function uO(r){var l=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function i0(r,l,c){var f=Object.getOwnPropertyDescriptor(r.constructor.prototype,l);if(!r.hasOwnProperty(l)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var d=f.get,S=f.set;return Object.defineProperty(r,l,{configurable:!0,get:function(){return d.call(this)},set:function(I){c=""+I,S.call(this,I)}}),Object.defineProperty(r,l,{enumerable:f.enumerable}),{getValue:function(){return c},setValue:function(I){c=""+I},stopTracking:function(){r._valueTracker=null,delete r[l]}}}}function eh(r){if(!r._valueTracker){var l=uO(r)?"checked":"value";r._valueTracker=i0(r,l,""+r[l])}}function EO(r){if(!r)return!1;var l=r._valueTracker;if(!l)return!0;var c=l.getValue(),f="";return r&&(f=uO(r)?r.checked?"true":"false":r.value),r=f,r!==c?(l.setValue(r),!0):!1}function Uc(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var s0=/[\n"\\]/g;function zn(r){return r.replace(s0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function th(r,l,c,f,d,S,I,g){r.name="",I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"?r.type=I:r.removeAttribute("type"),l!=null?I==="number"?(l===0&&r.value===""||r.value!=l)&&(r.value=""+Kn(l)):r.value!==""+Kn(l)&&(r.value=""+Kn(l)):I!=="submit"&&I!=="reset"||r.removeAttribute("value"),l!=null?nh(r,I,Kn(l)):c!=null?nh(r,I,Kn(c)):f!=null&&r.removeAttribute("value"),d==null&&S!=null&&(r.defaultChecked=!!S),d!=null&&(r.checked=d&&typeof d!="function"&&typeof d!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?r.name=""+Kn(g):r.removeAttribute("name")}function fO(r,l,c,f,d,S,I,g){if(S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"&&(r.type=S),l!=null||c!=null){if(!(S!=="submit"&&S!=="reset"||l!=null)){eh(r);return}c=c!=null?""+Kn(c):"",l=l!=null?""+Kn(l):c,g||l===r.value||(r.value=l),r.defaultValue=l}f=f??d,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=g?r.checked:!!f,r.defaultChecked=!!f,I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"&&(r.name=I),eh(r)}function nh(r,l,c){l==="number"&&Uc(r.ownerDocument)===r||r.defaultValue===""+c||(r.defaultValue=""+c)}function Tl(r,l,c,f){if(r=r.options,l){l={};for(var d=0;d<c.length;d++)l["$"+c[d]]=!0;for(c=0;c<r.length;c++)d=l.hasOwnProperty("$"+r[c].value),r[c].selected!==d&&(r[c].selected=d),d&&f&&(r[c].defaultSelected=!0)}else{for(c=""+Kn(c),l=null,d=0;d<r.length;d++){if(r[d].value===c){r[d].selected=!0,f&&(r[d].defaultSelected=!0);return}l!==null||r[d].disabled||(l=r[d])}l!==null&&(l.selected=!0)}}function hO(r,l,c){if(l!=null&&(l=""+Kn(l),l!==r.value&&(r.value=l),c==null)){r.defaultValue!==l&&(r.defaultValue=l);return}r.defaultValue=c!=null?""+Kn(c):""}function TO(r,l,c,f){if(l==null){if(f!=null){if(c!=null)throw Error(i(92));if(Te(f)){if(1<f.length)throw Error(i(93));f=f[0]}c=f}c==null&&(c=""),l=c}c=Kn(l),r.defaultValue=c,f=r.textContent,f===c&&f!==""&&f!==null&&(r.value=f),eh(r)}function dl(r,l){if(l){var c=r.firstChild;if(c&&c===r.lastChild&&c.nodeType===3){c.nodeValue=l;return}}r.textContent=l}var r0=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function dO(r,l,c){var f=l.indexOf("--")===0;c==null||typeof c=="boolean"||c===""?f?r.setProperty(l,""):l==="float"?r.cssFloat="":r[l]="":f?r.setProperty(l,c):typeof c!="number"||c===0||r0.has(l)?l==="float"?r.cssFloat=c:r[l]=(""+c).trim():r[l]=c+"px"}function AO(r,l,c){if(l!=null&&typeof l!="object")throw Error(i(62));if(r=r.style,c!=null){for(var f in c)!c.hasOwnProperty(f)||l!=null&&l.hasOwnProperty(f)||(f.indexOf("--")===0?r.setProperty(f,""):f==="float"?r.cssFloat="":r[f]="");for(var d in l)f=l[d],l.hasOwnProperty(d)&&c[d]!==f&&dO(r,d,f)}else for(var S in l)l.hasOwnProperty(S)&&dO(r,S,l[S])}function ih(r){if(r.indexOf("-")===-1)return!1;switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var l0=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),o0=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function bc(r){return o0.test(""+r)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":r}function Ji(){}var sh=null;function rh(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Al=null,Sl=null;function SO(r){var l=El(r);if(l&&(r=l.stateNode)){var c=r[dn]||null;e:switch(r=l.stateNode,l.type){case"input":if(th(r,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name),l=c.name,c.type==="radio"&&l!=null){for(c=r;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll('input[name="'+zn(""+l)+'"][type="radio"]'),l=0;l<c.length;l++){var f=c[l];if(f!==r&&f.form===r.form){var d=f[dn]||null;if(!d)throw Error(i(90));th(f,d.value,d.defaultValue,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name)}}for(l=0;l<c.length;l++)f=c[l],f.form===r.form&&EO(f)}break e;case"textarea":hO(r,c.value,c.defaultValue);break e;case"select":l=c.value,l!=null&&Tl(r,!!c.multiple,l,!1)}}}var lh=!1;function RO(r,l,c){if(lh)return r(l,c);lh=!0;try{var f=r(l);return f}finally{if(lh=!1,(Al!==null||Sl!==null)&&(mu(),Al&&(l=Al,r=Sl,Sl=Al=null,SO(l),r)))for(l=0;l<r.length;l++)SO(r[l])}}function Ho(r,l){var c=r.stateNode;if(c===null)return null;var f=c[dn]||null;if(f===null)return null;c=f[l];e:switch(l){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(f=!f.disabled)||(r=r.type,f=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!f;break e;default:r=!1}if(r)return null;if(c&&typeof c!="function")throw Error(i(231,l,typeof c));return c}var qi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),oh=!1;if(qi)try{var wo={};Object.defineProperty(wo,"passive",{get:function(){oh=!0}}),window.addEventListener("test",wo,wo),window.removeEventListener("test",wo,wo)}catch{oh=!1}var gs=null,ah=null,xc=null;function OO(){if(xc)return xc;var r,l=ah,c=l.length,f,d="value"in gs?gs.value:gs.textContent,S=d.length;for(r=0;r<c&&l[r]===d[r];r++);var I=c-r;for(f=1;f<=I&&l[c-f]===d[S-f];f++);return xc=d.slice(r,1<f?1-f:void 0)}function Bc(r){var l=r.keyCode;return"charCode"in r?(r=r.charCode,r===0&&l===13&&(r=13)):r=l,r===10&&(r=13),32<=r||r===13?r:0}function Gc(){return!0}function NO(){return!1}function An(r){function l(c,f,d,S,I){this._reactName=c,this._targetInst=d,this.type=f,this.nativeEvent=S,this.target=I,this.currentTarget=null;for(var g in r)r.hasOwnProperty(g)&&(c=r[g],this[g]=c?c(S):S[g]);return this.isDefaultPrevented=(S.defaultPrevented!=null?S.defaultPrevented:S.returnValue===!1)?Gc:NO,this.isPropagationStopped=NO,this}return A(l.prototype,{preventDefault:function(){this.defaultPrevented=!0;var c=this.nativeEvent;c&&(c.preventDefault?c.preventDefault():typeof c.returnValue!="unknown"&&(c.returnValue=!1),this.isDefaultPrevented=Gc)},stopPropagation:function(){var c=this.nativeEvent;c&&(c.stopPropagation?c.stopPropagation():typeof c.cancelBubble!="unknown"&&(c.cancelBubble=!0),this.isPropagationStopped=Gc)},persist:function(){},isPersistent:Gc}),l}var pr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Hc=An(pr),Fo=A({},pr,{view:0,detail:0}),a0=An(Fo),ch,uh,Yo,wc=A({},Fo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:fh,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==Yo&&(Yo&&r.type==="mousemove"?(ch=r.screenX-Yo.screenX,uh=r.screenY-Yo.screenY):uh=ch=0,Yo=r),ch)},movementY:function(r){return"movementY"in r?r.movementY:uh}}),mO=An(wc),c0=A({},wc,{dataTransfer:0}),u0=An(c0),E0=A({},Fo,{relatedTarget:0}),Eh=An(E0),f0=A({},pr,{animationName:0,elapsedTime:0,pseudoElement:0}),h0=An(f0),T0=A({},pr,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),d0=An(T0),A0=A({},pr,{data:0}),IO=An(A0),S0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},R0={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},O0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function N0(r){var l=this.nativeEvent;return l.getModifierState?l.getModifierState(r):(r=O0[r])?!!l[r]:!1}function fh(){return N0}var m0=A({},Fo,{key:function(r){if(r.key){var l=S0[r.key]||r.key;if(l!=="Unidentified")return l}return r.type==="keypress"?(r=Bc(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?R0[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:fh,charCode:function(r){return r.type==="keypress"?Bc(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?Bc(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),I0=An(m0),p0=A({},wc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),pO=An(p0),C0=A({},Fo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:fh}),g0=An(C0),L0=A({},pr,{propertyName:0,elapsedTime:0,pseudoElement:0}),_0=An(L0),D0=A({},wc,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),M0=An(D0),P0=A({},pr,{newState:0,oldState:0}),y0=An(P0),v0=[9,13,27,32],hh=qi&&"CompositionEvent"in window,ko=null;qi&&"documentMode"in document&&(ko=document.documentMode);var U0=qi&&"TextEvent"in window&&!ko,CO=qi&&(!hh||ko&&8<ko&&11>=ko),gO=" ",LO=!1;function _O(r,l){switch(r){case"keyup":return v0.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function DO(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Rl=!1;function b0(r,l){switch(r){case"compositionend":return DO(l);case"keypress":return l.which!==32?null:(LO=!0,gO);case"textInput":return r=l.data,r===gO&&LO?null:r;default:return null}}function x0(r,l){if(Rl)return r==="compositionend"||!hh&&_O(r,l)?(r=OO(),xc=ah=gs=null,Rl=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1<l.char.length)return l.char;if(l.which)return String.fromCharCode(l.which)}return null;case"compositionend":return CO&&l.locale!=="ko"?null:l.data;default:return null}}var B0={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function MO(r){var l=r&&r.nodeName&&r.nodeName.toLowerCase();return l==="input"?!!B0[r.type]:l==="textarea"}function PO(r,l,c,f){Al?Sl?Sl.push(f):Sl=[f]:Al=f,l=Du(l,"onChange"),0<l.length&&(c=new Hc("onChange","change",null,c,f),r.push({event:c,listeners:l}))}var Vo=null,Wo=null;function G0(r){fI(r,0)}function Fc(r){var l=Go(r);if(EO(l))return r}function yO(r,l){if(r==="change")return l}var vO=!1;if(qi){var Th;if(qi){var dh="oninput"in document;if(!dh){var UO=document.createElement("div");UO.setAttribute("oninput","return;"),dh=typeof UO.oninput=="function"}Th=dh}else Th=!1;vO=Th&&(!document.documentMode||9<document.documentMode)}function bO(){Vo&&(Vo.detachEvent("onpropertychange",xO),Wo=Vo=null)}function xO(r){if(r.propertyName==="value"&&Fc(Wo)){var l=[];PO(l,Wo,r,rh(r)),RO(G0,l)}}function H0(r,l,c){r==="focusin"?(bO(),Vo=l,Wo=c,Vo.attachEvent("onpropertychange",xO)):r==="focusout"&&bO()}function w0(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return Fc(Wo)}function F0(r,l){if(r==="click")return Fc(l)}function Y0(r,l){if(r==="input"||r==="change")return Fc(l)}function k0(r,l){return r===l&&(r!==0||1/r===1/l)||r!==r&&l!==l}var Un=typeof Object.is=="function"?Object.is:k0;function Xo(r,l){if(Un(r,l))return!0;if(typeof r!="object"||r===null||typeof l!="object"||l===null)return!1;var c=Object.keys(r),f=Object.keys(l);if(c.length!==f.length)return!1;for(f=0;f<c.length;f++){var d=c[f];if(!St.call(l,d)||!Un(r[d],l[d]))return!1}return!0}function BO(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function GO(r,l){var c=BO(r);r=0;for(var f;c;){if(c.nodeType===3){if(f=r+c.textContent.length,r<=l&&f>=l)return{node:c,offset:l-r};r=f}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=BO(c)}}function HO(r,l){return r&&l?r===l?!0:r&&r.nodeType===3?!1:l&&l.nodeType===3?HO(r,l.parentNode):"contains"in r?r.contains(l):r.compareDocumentPosition?!!(r.compareDocumentPosition(l)&16):!1:!1}function wO(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var l=Uc(r.document);l instanceof r.HTMLIFrameElement;){try{var c=typeof l.contentWindow.location.href=="string"}catch{c=!1}if(c)r=l.contentWindow;else break;l=Uc(r.document)}return l}function Ah(r){var l=r&&r.nodeName&&r.nodeName.toLowerCase();return l&&(l==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||l==="textarea"||r.contentEditable==="true")}var V0=qi&&"documentMode"in document&&11>=document.documentMode,Ol=null,Sh=null,Ko=null,Rh=!1;function FO(r,l,c){var f=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;Rh||Ol==null||Ol!==Uc(f)||(f=Ol,"selectionStart"in f&&Ah(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Ko&&Xo(Ko,f)||(Ko=f,f=Du(Sh,"onSelect"),0<f.length&&(l=new Hc("onSelect","select",null,l,c),r.push({event:l,listeners:f}),l.target=Ol)))}function Cr(r,l){var c={};return c[r.toLowerCase()]=l.toLowerCase(),c["Webkit"+r]="webkit"+l,c["Moz"+r]="moz"+l,c}var Nl={animationend:Cr("Animation","AnimationEnd"),animationiteration:Cr("Animation","AnimationIteration"),animationstart:Cr("Animation","AnimationStart"),transitionrun:Cr("Transition","TransitionRun"),transitionstart:Cr("Transition","TransitionStart"),transitioncancel:Cr("Transition","TransitionCancel"),transitionend:Cr("Transition","TransitionEnd")},Oh={},YO={};qi&&(YO=document.createElement("div").style,"AnimationEvent"in window||(delete Nl.animationend.animation,delete Nl.animationiteration.animation,delete Nl.animationstart.animation),"TransitionEvent"in window||delete Nl.transitionend.transition);function gr(r){if(Oh[r])return Oh[r];if(!Nl[r])return r;var l=Nl[r],c;for(c in l)if(l.hasOwnProperty(c)&&c in YO)return Oh[r]=l[c];return r}var kO=gr("animationend"),VO=gr("animationiteration"),WO=gr("animationstart"),W0=gr("transitionrun"),X0=gr("transitionstart"),K0=gr("transitioncancel"),XO=gr("transitionend"),KO=new Map,Nh="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Nh.push("scrollEnd");function ai(r,l){KO.set(r,l),Ir(l,[r])}var Yc=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)},$n=[],ml=0,mh=0;function kc(){for(var r=ml,l=mh=ml=0;l<r;){var c=$n[l];$n[l++]=null;var f=$n[l];$n[l++]=null;var d=$n[l];$n[l++]=null;var S=$n[l];if($n[l++]=null,f!==null&&d!==null){var I=f.pending;I===null?d.next=d:(d.next=I.next,I.next=d),f.pending=d}S!==0&&zO(c,d,S)}}function Vc(r,l,c,f){$n[ml++]=r,$n[ml++]=l,$n[ml++]=c,$n[ml++]=f,mh|=f,r.lanes|=f,r=r.alternate,r!==null&&(r.lanes|=f)}function Ih(r,l,c,f){return Vc(r,l,c,f),Wc(r)}function Lr(r,l){return Vc(r,null,null,l),Wc(r)}function zO(r,l,c){r.lanes|=c;var f=r.alternate;f!==null&&(f.lanes|=c);for(var d=!1,S=r.return;S!==null;)S.childLanes|=c,f=S.alternate,f!==null&&(f.childLanes|=c),S.tag===22&&(r=S.stateNode,r===null||r._visibility&1||(d=!0)),r=S,S=S.return;return r.tag===3?(S=r.stateNode,d&&l!==null&&(d=31-vn(c),r=S.hiddenUpdates,f=r[d],f===null?r[d]=[l]:f.push(l),l.lane=c|536870912),S):null}function Wc(r){if(50<Ta)throw Ta=0,yT=null,Error(i(185));for(var l=r.return;l!==null;)r=l,l=r.return;return r.tag===3?r.stateNode:null}var Il={};function z0(r,l,c,f){this.tag=r,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=f,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function bn(r,l,c,f){return new z0(r,l,c,f)}function ph(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Qi(r,l){var c=r.alternate;return c===null?(c=bn(r.tag,l,r.key,r.mode),c.elementType=r.elementType,c.type=r.type,c.stateNode=r.stateNode,c.alternate=r,r.alternate=c):(c.pendingProps=l,c.type=r.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=r.flags&65011712,c.childLanes=r.childLanes,c.lanes=r.lanes,c.child=r.child,c.memoizedProps=r.memoizedProps,c.memoizedState=r.memoizedState,c.updateQueue=r.updateQueue,l=r.dependencies,c.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},c.sibling=r.sibling,c.index=r.index,c.ref=r.ref,c.refCleanup=r.refCleanup,c}function $O(r,l){r.flags&=65011714;var c=r.alternate;return c===null?(r.childLanes=0,r.lanes=l,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=c.childLanes,r.lanes=c.lanes,r.child=c.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=c.memoizedProps,r.memoizedState=c.memoizedState,r.updateQueue=c.updateQueue,r.type=c.type,l=c.dependencies,r.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),r}function Xc(r,l,c,f,d,S){var I=0;if(f=r,typeof r=="function")ph(r)&&(I=1);else if(typeof r=="string")I=Qv(r,c,se.current)?26:r==="html"||r==="head"||r==="body"?27:5;else e:switch(r){case le:return r=bn(31,c,l,d),r.elementType=le,r.lanes=S,r;case m:return _r(c.children,d,S,l);case C:I=8,d|=24;break;case L:return r=bn(12,c,l,d|2),r.elementType=L,r.lanes=S,r;case U:return r=bn(13,c,l,d),r.elementType=U,r.lanes=S,r;case G:return r=bn(19,c,l,d),r.elementType=G,r.lanes=S,r;default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case D:I=10;break e;case _:I=9;break e;case v:I=11;break e;case B:I=14;break e;case F:I=16,f=null;break e}I=29,c=Error(i(130,r===null?"null":typeof r,"")),f=null}return l=bn(I,c,l,d),l.elementType=r,l.type=f,l.lanes=S,l}function _r(r,l,c,f){return r=bn(7,r,f,l),r.lanes=c,r}function Ch(r,l,c){return r=bn(6,r,null,l),r.lanes=c,r}function jO(r){var l=bn(18,null,null,0);return l.stateNode=r,l}function gh(r,l,c){return l=bn(4,r.children!==null?r.children:[],r.key,l),l.lanes=c,l.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},l}var JO=new WeakMap;function jn(r,l){if(typeof r=="object"&&r!==null){var c=JO.get(r);return c!==void 0?c:(l={value:r,source:l,stack:Ge(l)},JO.set(r,l),l)}return{value:r,source:l,stack:Ge(l)}}var pl=[],Cl=0,Kc=null,zo=0,Jn=[],qn=0,Ls=null,pi=1,Ci="";function Zi(r,l){pl[Cl++]=zo,pl[Cl++]=Kc,Kc=r,zo=l}function qO(r,l,c){Jn[qn++]=pi,Jn[qn++]=Ci,Jn[qn++]=Ls,Ls=r;var f=pi;r=Ci;var d=32-vn(f)-1;f&=~(1<<d),c+=1;var S=32-vn(l)+d;if(30<S){var I=d-d%5;S=(f&(1<<I)-1).toString(32),f>>=I,d-=I,pi=1<<32-vn(l)+d|c<<d|f,Ci=S+r}else pi=1<<S|c<<d|f,Ci=r}function Lh(r){r.return!==null&&(Zi(r,1),qO(r,1,0))}function _h(r){for(;r===Kc;)Kc=pl[--Cl],pl[Cl]=null,zo=pl[--Cl],pl[Cl]=null;for(;r===Ls;)Ls=Jn[--qn],Jn[qn]=null,Ci=Jn[--qn],Jn[qn]=null,pi=Jn[--qn],Jn[qn]=null}function QO(r,l){Jn[qn++]=pi,Jn[qn++]=Ci,Jn[qn++]=Ls,pi=l.id,Ci=l.overflow,Ls=r}var Qt=null,Et=null,Ke=!1,_s=null,Qn=!1,Dh=Error(i(519));function Ds(r){var l=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw $o(jn(l,r)),Dh}function ZO(r){var l=r.stateNode,c=r.type,f=r.memoizedProps;switch(l[qt]=r,l[dn]=f,c){case"dialog":Ve("cancel",l),Ve("close",l);break;case"iframe":case"object":case"embed":Ve("load",l);break;case"video":case"audio":for(c=0;c<Aa.length;c++)Ve(Aa[c],l);break;case"source":Ve("error",l);break;case"img":case"image":case"link":Ve("error",l),Ve("load",l);break;case"details":Ve("toggle",l);break;case"input":Ve("invalid",l),fO(l,f.value,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name,!0);break;case"select":Ve("invalid",l);break;case"textarea":Ve("invalid",l),TO(l,f.value,f.defaultValue,f.children)}c=f.children,typeof c!="string"&&typeof c!="number"&&typeof c!="bigint"||l.textContent===""+c||f.suppressHydrationWarning===!0||AI(l.textContent,c)?(f.popover!=null&&(Ve("beforetoggle",l),Ve("toggle",l)),f.onScroll!=null&&Ve("scroll",l),f.onScrollEnd!=null&&Ve("scrollend",l),f.onClick!=null&&(l.onclick=Ji),l=!0):l=!1,l||Ds(r,!0)}function eN(r){for(Qt=r.return;Qt;)switch(Qt.tag){case 5:case 31:case 13:Qn=!1;return;case 27:case 3:Qn=!0;return;default:Qt=Qt.return}}function gl(r){if(r!==Qt)return!1;if(!Ke)return eN(r),Ke=!0,!1;var l=r.tag,c;if((c=l!==3&&l!==27)&&((c=l===5)&&(c=r.type,c=!(c!=="form"&&c!=="button")||KT(r.type,r.memoizedProps)),c=!c),c&&Et&&Ds(r),eN(r),l===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(317));Et=gI(r)}else if(l===31){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(317));Et=gI(r)}else l===27?(l=Et,ks(r.type)?(r=qT,qT=null,Et=r):Et=l):Et=Qt?ei(r.stateNode.nextSibling):null;return!0}function Dr(){Et=Qt=null,Ke=!1}function Mh(){var r=_s;return r!==null&&(Nn===null?Nn=r:Nn.push.apply(Nn,r),_s=null),r}function $o(r){_s===null?_s=[r]:_s.push(r)}var Ph=P(null),Mr=null,es=null;function Ms(r,l,c){re(Ph,l._currentValue),l._currentValue=c}function ts(r){r._currentValue=Ph.current,X(Ph)}function yh(r,l,c){for(;r!==null;){var f=r.alternate;if((r.childLanes&l)!==l?(r.childLanes|=l,f!==null&&(f.childLanes|=l)):f!==null&&(f.childLanes&l)!==l&&(f.childLanes|=l),r===c)break;r=r.return}}function vh(r,l,c,f){var d=r.child;for(d!==null&&(d.return=r);d!==null;){var S=d.dependencies;if(S!==null){var I=d.child;S=S.firstContext;e:for(;S!==null;){var g=S;S=d;for(var y=0;y<l.length;y++)if(g.context===l[y]){S.lanes|=c,g=S.alternate,g!==null&&(g.lanes|=c),yh(S.return,c,r),f||(I=null);break e}S=g.next}}else if(d.tag===18){if(I=d.return,I===null)throw Error(i(341));I.lanes|=c,S=I.alternate,S!==null&&(S.lanes|=c),yh(I,c,r),I=null}else I=d.child;if(I!==null)I.return=d;else for(I=d;I!==null;){if(I===r){I=null;break}if(d=I.sibling,d!==null){d.return=I.return,I=d;break}I=I.return}d=I}}function Ll(r,l,c,f){r=null;for(var d=l,S=!1;d!==null;){if(!S){if((d.flags&524288)!==0)S=!0;else if((d.flags&262144)!==0)break}if(d.tag===10){var I=d.alternate;if(I===null)throw Error(i(387));if(I=I.memoizedProps,I!==null){var g=d.type;Un(d.pendingProps.value,I.value)||(r!==null?r.push(g):r=[g])}}else if(d===ue.current){if(I=d.alternate,I===null)throw Error(i(387));I.memoizedState.memoizedState!==d.memoizedState.memoizedState&&(r!==null?r.push(ma):r=[ma])}d=d.return}r!==null&&vh(l,r,c,f),l.flags|=262144}function zc(r){for(r=r.firstContext;r!==null;){if(!Un(r.context._currentValue,r.memoizedValue))return!0;r=r.next}return!1}function Pr(r){Mr=r,es=null,r=r.dependencies,r!==null&&(r.firstContext=null)}function Zt(r){return tN(Mr,r)}function $c(r,l){return Mr===null&&Pr(r),tN(r,l)}function tN(r,l){var c=l._currentValue;if(l={context:l,memoizedValue:c,next:null},es===null){if(r===null)throw Error(i(308));es=l,r.dependencies={lanes:0,firstContext:l},r.flags|=524288}else es=es.next=l;return c}var $0=typeof AbortController<"u"?AbortController:function(){var r=[],l=this.signal={aborted:!1,addEventListener:function(c,f){r.push(f)}};this.abort=function(){l.aborted=!0,r.forEach(function(c){return c()})}},j0=n.unstable_scheduleCallback,J0=n.unstable_NormalPriority,Pt={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Uh(){return{controller:new $0,data:new Map,refCount:0}}function jo(r){r.refCount--,r.refCount===0&&j0(J0,function(){r.controller.abort()})}var Jo=null,bh=0,_l=0,Dl=null;function q0(r,l){if(Jo===null){var c=Jo=[];bh=0,_l=GT(),Dl={status:"pending",value:void 0,then:function(f){c.push(f)}}}return bh++,l.then(nN,nN),l}function nN(){if(--bh===0&&Jo!==null){Dl!==null&&(Dl.status="fulfilled");var r=Jo;Jo=null,_l=0,Dl=null;for(var l=0;l<r.length;l++)(0,r[l])()}}function Q0(r,l){var c=[],f={status:"pending",value:null,reason:null,then:function(d){c.push(d)}};return r.then(function(){f.status="fulfilled",f.value=l;for(var d=0;d<c.length;d++)(0,c[d])(l)},function(d){for(f.status="rejected",f.reason=d,d=0;d<c.length;d++)(0,c[d])(void 0)}),f}var iN=x.S;x.S=function(r,l){Fm=Pn(),typeof l=="object"&&l!==null&&typeof l.then=="function"&&q0(r,l),iN!==null&&iN(r,l)};var yr=P(null);function xh(){var r=yr.current;return r!==null?r:lt.pooledCache}function jc(r,l){l===null?re(yr,yr.current):re(yr,l.pool)}function sN(){var r=xh();return r===null?null:{parent:Pt._currentValue,pool:r}}var Ml=Error(i(460)),Bh=Error(i(474)),Jc=Error(i(542)),qc={then:function(){}};function rN(r){return r=r.status,r==="fulfilled"||r==="rejected"}function lN(r,l,c){switch(c=r[c],c===void 0?r.push(l):c!==l&&(l.then(Ji,Ji),l=c),l.status){case"fulfilled":return l.value;case"rejected":throw r=l.reason,aN(r),r;default:if(typeof l.status=="string")l.then(Ji,Ji);else{if(r=lt,r!==null&&100<r.shellSuspendCounter)throw Error(i(482));r=l,r.status="pending",r.then(function(f){if(l.status==="pending"){var d=l;d.status="fulfilled",d.value=f}},function(f){if(l.status==="pending"){var d=l;d.status="rejected",d.reason=f}})}switch(l.status){case"fulfilled":return l.value;case"rejected":throw r=l.reason,aN(r),r}throw Ur=l,Ml}}function vr(r){try{var l=r._init;return l(r._payload)}catch(c){throw c!==null&&typeof c=="object"&&typeof c.then=="function"?(Ur=c,Ml):c}}var Ur=null;function oN(){if(Ur===null)throw Error(i(459));var r=Ur;return Ur=null,r}function aN(r){if(r===Ml||r===Jc)throw Error(i(483))}var Pl=null,qo=0;function Qc(r){var l=qo;return qo+=1,Pl===null&&(Pl=[]),lN(Pl,r,l)}function Qo(r,l){l=l.props.ref,r.ref=l!==void 0?l:null}function Zc(r,l){throw l.$$typeof===R?Error(i(525)):(r=Object.prototype.toString.call(l),Error(i(31,r==="[object Object]"?"object with keys {"+Object.keys(l).join(", ")+"}":r)))}function cN(r){function l(H,b){if(r){var Y=H.deletions;Y===null?(H.deletions=[b],H.flags|=16):Y.push(b)}}function c(H,b){if(!r)return null;for(;b!==null;)l(H,b),b=b.sibling;return null}function f(H){for(var b=new Map;H!==null;)H.key!==null?b.set(H.key,H):b.set(H.index,H),H=H.sibling;return b}function d(H,b){return H=Qi(H,b),H.index=0,H.sibling=null,H}function S(H,b,Y){return H.index=Y,r?(Y=H.alternate,Y!==null?(Y=Y.index,Y<b?(H.flags|=67108866,b):Y):(H.flags|=67108866,b)):(H.flags|=1048576,b)}function I(H){return r&&H.alternate===null&&(H.flags|=67108866),H}function g(H,b,Y,Q){return b===null||b.tag!==6?(b=Ch(Y,H.mode,Q),b.return=H,b):(b=d(b,Y),b.return=H,b)}function y(H,b,Y,Q){var Le=Y.type;return Le===m?$(H,b,Y.props.children,Q,Y.key):b!==null&&(b.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===F&&vr(Le)===b.type)?(b=d(b,Y.props),Qo(b,Y),b.return=H,b):(b=Xc(Y.type,Y.key,Y.props,null,H.mode,Q),Qo(b,Y),b.return=H,b)}function k(H,b,Y,Q){return b===null||b.tag!==4||b.stateNode.containerInfo!==Y.containerInfo||b.stateNode.implementation!==Y.implementation?(b=gh(Y,H.mode,Q),b.return=H,b):(b=d(b,Y.children||[]),b.return=H,b)}function $(H,b,Y,Q,Le){return b===null||b.tag!==7?(b=_r(Y,H.mode,Q,Le),b.return=H,b):(b=d(b,Y),b.return=H,b)}function te(H,b,Y){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return b=Ch(""+b,H.mode,Y),b.return=H,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case O:return Y=Xc(b.type,b.key,b.props,null,H.mode,Y),Qo(Y,b),Y.return=H,Y;case N:return b=gh(b,H.mode,Y),b.return=H,b;case F:return b=vr(b),te(H,b,Y)}if(Te(b)||ee(b))return b=_r(b,H.mode,Y,null),b.return=H,b;if(typeof b.then=="function")return te(H,Qc(b),Y);if(b.$$typeof===D)return te(H,$c(H,b),Y);Zc(H,b)}return null}function W(H,b,Y,Q){var Le=b!==null?b.key:null;if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return Le!==null?null:g(H,b,""+Y,Q);if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case O:return Y.key===Le?y(H,b,Y,Q):null;case N:return Y.key===Le?k(H,b,Y,Q):null;case F:return Y=vr(Y),W(H,b,Y,Q)}if(Te(Y)||ee(Y))return Le!==null?null:$(H,b,Y,Q,null);if(typeof Y.then=="function")return W(H,b,Qc(Y),Q);if(Y.$$typeof===D)return W(H,b,$c(H,Y),Q);Zc(H,Y)}return null}function K(H,b,Y,Q,Le){if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return H=H.get(Y)||null,g(b,H,""+Q,Le);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case O:return H=H.get(Q.key===null?Y:Q.key)||null,y(b,H,Q,Le);case N:return H=H.get(Q.key===null?Y:Q.key)||null,k(b,H,Q,Le);case F:return Q=vr(Q),K(H,b,Y,Q,Le)}if(Te(Q)||ee(Q))return H=H.get(Y)||null,$(b,H,Q,Le,null);if(typeof Q.then=="function")return K(H,b,Y,Qc(Q),Le);if(Q.$$typeof===D)return K(H,b,Y,$c(b,Q),Le);Zc(b,Q)}return null}function pe(H,b,Y,Q){for(var Le=null,Je=null,ge=b,He=b=0,Xe=null;ge!==null&&He<Y.length;He++){ge.index>He?(Xe=ge,ge=null):Xe=ge.sibling;var qe=W(H,ge,Y[He],Q);if(qe===null){ge===null&&(ge=Xe);break}r&&ge&&qe.alternate===null&&l(H,ge),b=S(qe,b,He),Je===null?Le=qe:Je.sibling=qe,Je=qe,ge=Xe}if(He===Y.length)return c(H,ge),Ke&&Zi(H,He),Le;if(ge===null){for(;He<Y.length;He++)ge=te(H,Y[He],Q),ge!==null&&(b=S(ge,b,He),Je===null?Le=ge:Je.sibling=ge,Je=ge);return Ke&&Zi(H,He),Le}for(ge=f(ge);He<Y.length;He++)Xe=K(ge,H,He,Y[He],Q),Xe!==null&&(r&&Xe.alternate!==null&&ge.delete(Xe.key===null?He:Xe.key),b=S(Xe,b,He),Je===null?Le=Xe:Je.sibling=Xe,Je=Xe);return r&&ge.forEach(function(zs){return l(H,zs)}),Ke&&Zi(H,He),Le}function De(H,b,Y,Q){if(Y==null)throw Error(i(151));for(var Le=null,Je=null,ge=b,He=b=0,Xe=null,qe=Y.next();ge!==null&&!qe.done;He++,qe=Y.next()){ge.index>He?(Xe=ge,ge=null):Xe=ge.sibling;var zs=W(H,ge,qe.value,Q);if(zs===null){ge===null&&(ge=Xe);break}r&&ge&&zs.alternate===null&&l(H,ge),b=S(zs,b,He),Je===null?Le=zs:Je.sibling=zs,Je=zs,ge=Xe}if(qe.done)return c(H,ge),Ke&&Zi(H,He),Le;if(ge===null){for(;!qe.done;He++,qe=Y.next())qe=te(H,qe.value,Q),qe!==null&&(b=S(qe,b,He),Je===null?Le=qe:Je.sibling=qe,Je=qe);return Ke&&Zi(H,He),Le}for(ge=f(ge);!qe.done;He++,qe=Y.next())qe=K(ge,H,He,qe.value,Q),qe!==null&&(r&&qe.alternate!==null&&ge.delete(qe.key===null?He:qe.key),b=S(qe,b,He),Je===null?Le=qe:Je.sibling=qe,Je=qe);return r&&ge.forEach(function(cU){return l(H,cU)}),Ke&&Zi(H,He),Le}function it(H,b,Y,Q){if(typeof Y=="object"&&Y!==null&&Y.type===m&&Y.key===null&&(Y=Y.props.children),typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case O:e:{for(var Le=Y.key;b!==null;){if(b.key===Le){if(Le=Y.type,Le===m){if(b.tag===7){c(H,b.sibling),Q=d(b,Y.props.children),Q.return=H,H=Q;break e}}else if(b.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===F&&vr(Le)===b.type){c(H,b.sibling),Q=d(b,Y.props),Qo(Q,Y),Q.return=H,H=Q;break e}c(H,b);break}else l(H,b);b=b.sibling}Y.type===m?(Q=_r(Y.props.children,H.mode,Q,Y.key),Q.return=H,H=Q):(Q=Xc(Y.type,Y.key,Y.props,null,H.mode,Q),Qo(Q,Y),Q.return=H,H=Q)}return I(H);case N:e:{for(Le=Y.key;b!==null;){if(b.key===Le)if(b.tag===4&&b.stateNode.containerInfo===Y.containerInfo&&b.stateNode.implementation===Y.implementation){c(H,b.sibling),Q=d(b,Y.children||[]),Q.return=H,H=Q;break e}else{c(H,b);break}else l(H,b);b=b.sibling}Q=gh(Y,H.mode,Q),Q.return=H,H=Q}return I(H);case F:return Y=vr(Y),it(H,b,Y,Q)}if(Te(Y))return pe(H,b,Y,Q);if(ee(Y)){if(Le=ee(Y),typeof Le!="function")throw Error(i(150));return Y=Le.call(Y),De(H,b,Y,Q)}if(typeof Y.then=="function")return it(H,b,Qc(Y),Q);if(Y.$$typeof===D)return it(H,b,$c(H,Y),Q);Zc(H,Y)}return typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint"?(Y=""+Y,b!==null&&b.tag===6?(c(H,b.sibling),Q=d(b,Y),Q.return=H,H=Q):(c(H,b),Q=Ch(Y,H.mode,Q),Q.return=H,H=Q),I(H)):c(H,b)}return function(H,b,Y,Q){try{qo=0;var Le=it(H,b,Y,Q);return Pl=null,Le}catch(ge){if(ge===Ml||ge===Jc)throw ge;var Je=bn(29,ge,null,H.mode);return Je.lanes=Q,Je.return=H,Je}finally{}}}var br=cN(!0),uN=cN(!1),Ps=!1;function Gh(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Hh(r,l){r=r.updateQueue,l.updateQueue===r&&(l.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function ys(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function vs(r,l,c){var f=r.updateQueue;if(f===null)return null;if(f=f.shared,(Qe&2)!==0){var d=f.pending;return d===null?l.next=l:(l.next=d.next,d.next=l),f.pending=l,l=Wc(r),zO(r,null,c),l}return Vc(r,f,l,c),Wc(r)}function Zo(r,l,c){if(l=l.updateQueue,l!==null&&(l=l.shared,(c&4194048)!==0)){var f=l.lanes;f&=r.pendingLanes,c|=f,l.lanes=c,tO(r,c)}}function wh(r,l){var c=r.updateQueue,f=r.alternate;if(f!==null&&(f=f.updateQueue,c===f)){var d=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var I={lane:c.lane,tag:c.tag,payload:c.payload,callback:null,next:null};S===null?d=S=I:S=S.next=I,c=c.next}while(c!==null);S===null?d=S=l:S=S.next=l}else d=S=l;c={baseState:f.baseState,firstBaseUpdate:d,lastBaseUpdate:S,shared:f.shared,callbacks:f.callbacks},r.updateQueue=c;return}r=c.lastBaseUpdate,r===null?c.firstBaseUpdate=l:r.next=l,c.lastBaseUpdate=l}var Fh=!1;function ea(){if(Fh){var r=Dl;if(r!==null)throw r}}function ta(r,l,c,f){Fh=!1;var d=r.updateQueue;Ps=!1;var S=d.firstBaseUpdate,I=d.lastBaseUpdate,g=d.shared.pending;if(g!==null){d.shared.pending=null;var y=g,k=y.next;y.next=null,I===null?S=k:I.next=k,I=y;var $=r.alternate;$!==null&&($=$.updateQueue,g=$.lastBaseUpdate,g!==I&&(g===null?$.firstBaseUpdate=k:g.next=k,$.lastBaseUpdate=y))}if(S!==null){var te=d.baseState;I=0,$=k=y=null,g=S;do{var W=g.lane&-536870913,K=W!==g.lane;if(K?(We&W)===W:(f&W)===W){W!==0&&W===_l&&(Fh=!0),$!==null&&($=$.next={lane:0,tag:g.tag,payload:g.payload,callback:null,next:null});e:{var pe=r,De=g;W=l;var it=c;switch(De.tag){case 1:if(pe=De.payload,typeof pe=="function"){te=pe.call(it,te,W);break e}te=pe;break e;case 3:pe.flags=pe.flags&-65537|128;case 0:if(pe=De.payload,W=typeof pe=="function"?pe.call(it,te,W):pe,W==null)break e;te=A({},te,W);break e;case 2:Ps=!0}}W=g.callback,W!==null&&(r.flags|=64,K&&(r.flags|=8192),K=d.callbacks,K===null?d.callbacks=[W]:K.push(W))}else K={lane:W,tag:g.tag,payload:g.payload,callback:g.callback,next:null},$===null?(k=$=K,y=te):$=$.next=K,I|=W;if(g=g.next,g===null){if(g=d.shared.pending,g===null)break;K=g,g=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);$===null&&(y=te),d.baseState=y,d.firstBaseUpdate=k,d.lastBaseUpdate=$,S===null&&(d.shared.lanes=0),Gs|=I,r.lanes=I,r.memoizedState=te}}function EN(r,l){if(typeof r!="function")throw Error(i(191,r));r.call(l)}function fN(r,l){var c=r.callbacks;if(c!==null)for(r.callbacks=null,r=0;r<c.length;r++)EN(c[r],l)}var yl=P(null),eu=P(0);function hN(r,l){r=us,re(eu,r),re(yl,l),us=r|l.baseLanes}function Yh(){re(eu,us),re(yl,yl.current)}function kh(){us=eu.current,X(yl),X(eu)}var xn=P(null),Zn=null;function Us(r){var l=r.alternate;re(Ct,Ct.current&1),re(xn,r),Zn===null&&(l===null||yl.current!==null||l.memoizedState!==null)&&(Zn=r)}function Vh(r){re(Ct,Ct.current),re(xn,r),Zn===null&&(Zn=r)}function TN(r){r.tag===22?(re(Ct,Ct.current),re(xn,r),Zn===null&&(Zn=r)):bs()}function bs(){re(Ct,Ct.current),re(xn,xn.current)}function Bn(r){X(xn),Zn===r&&(Zn=null),X(Ct)}var Ct=P(0);function tu(r){for(var l=r;l!==null;){if(l.tag===13){var c=l.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||jT(c)||JT(c)))return l}else if(l.tag===19&&(l.memoizedProps.revealOrder==="forwards"||l.memoizedProps.revealOrder==="backwards"||l.memoizedProps.revealOrder==="unstable_legacy-backwards"||l.memoizedProps.revealOrder==="together")){if((l.flags&128)!==0)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===r)break;for(;l.sibling===null;){if(l.return===null||l.return===r)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}var ns=0,Be=null,tt=null,yt=null,nu=!1,vl=!1,xr=!1,iu=0,na=0,Ul=null,Z0=0;function Rt(){throw Error(i(321))}function Wh(r,l){if(l===null)return!1;for(var c=0;c<l.length&&c<r.length;c++)if(!Un(r[c],l[c]))return!1;return!0}function Xh(r,l,c,f,d,S){return ns=S,Be=l,l.memoizedState=null,l.updateQueue=null,l.lanes=0,x.H=r===null||r.memoizedState===null?qN:lT,xr=!1,S=c(f,d),xr=!1,vl&&(S=AN(l,c,f,d)),dN(r),S}function dN(r){x.H=ra;var l=tt!==null&&tt.next!==null;if(ns=0,yt=tt=Be=null,nu=!1,na=0,Ul=null,l)throw Error(i(300));r===null||vt||(r=r.dependencies,r!==null&&zc(r)&&(vt=!0))}function AN(r,l,c,f){Be=r;var d=0;do{if(vl&&(Ul=null),na=0,vl=!1,25<=d)throw Error(i(301));if(d+=1,yt=tt=null,r.updateQueue!=null){var S=r.updateQueue;S.lastEffect=null,S.events=null,S.stores=null,S.memoCache!=null&&(S.memoCache.index=0)}x.H=QN,S=l(c,f)}while(vl);return S}function ev(){var r=x.H,l=r.useState()[0];return l=typeof l.then=="function"?ia(l):l,r=r.useState()[0],(tt!==null?tt.memoizedState:null)!==r&&(Be.flags|=1024),l}function Kh(){var r=iu!==0;return iu=0,r}function zh(r,l,c){l.updateQueue=r.updateQueue,l.flags&=-2053,r.lanes&=~c}function $h(r){if(nu){for(r=r.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}nu=!1}ns=0,yt=tt=Be=null,vl=!1,na=iu=0,Ul=null}function un(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return yt===null?Be.memoizedState=yt=r:yt=yt.next=r,yt}function gt(){if(tt===null){var r=Be.alternate;r=r!==null?r.memoizedState:null}else r=tt.next;var l=yt===null?Be.memoizedState:yt.next;if(l!==null)yt=l,tt=r;else{if(r===null)throw Be.alternate===null?Error(i(467)):Error(i(310));tt=r,r={memoizedState:tt.memoizedState,baseState:tt.baseState,baseQueue:tt.baseQueue,queue:tt.queue,next:null},yt===null?Be.memoizedState=yt=r:yt=yt.next=r}return yt}function su(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ia(r){var l=na;return na+=1,Ul===null&&(Ul=[]),r=lN(Ul,r,l),l=Be,(yt===null?l.memoizedState:yt.next)===null&&(l=l.alternate,x.H=l===null||l.memoizedState===null?qN:lT),r}function ru(r){if(r!==null&&typeof r=="object"){if(typeof r.then=="function")return ia(r);if(r.$$typeof===D)return Zt(r)}throw Error(i(438,String(r)))}function jh(r){var l=null,c=Be.updateQueue;if(c!==null&&(l=c.memoCache),l==null){var f=Be.alternate;f!==null&&(f=f.updateQueue,f!==null&&(f=f.memoCache,f!=null&&(l={data:f.data.map(function(d){return d.slice()}),index:0})))}if(l==null&&(l={data:[],index:0}),c===null&&(c=su(),Be.updateQueue=c),c.memoCache=l,c=l.data[l.index],c===void 0)for(c=l.data[l.index]=Array(r),f=0;f<r;f++)c[f]=fe;return l.index++,c}function is(r,l){return typeof l=="function"?l(r):l}function lu(r){var l=gt();return Jh(l,tt,r)}function Jh(r,l,c){var f=r.queue;if(f===null)throw Error(i(311));f.lastRenderedReducer=c;var d=r.baseQueue,S=f.pending;if(S!==null){if(d!==null){var I=d.next;d.next=S.next,S.next=I}l.baseQueue=d=S,f.pending=null}if(S=r.baseState,d===null)r.memoizedState=S;else{l=d.next;var g=I=null,y=null,k=l,$=!1;do{var te=k.lane&-536870913;if(te!==k.lane?(We&te)===te:(ns&te)===te){var W=k.revertLane;if(W===0)y!==null&&(y=y.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),te===_l&&($=!0);else if((ns&W)===W){k=k.next,W===_l&&($=!0);continue}else te={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},y===null?(g=y=te,I=S):y=y.next=te,Be.lanes|=W,Gs|=W;te=k.action,xr&&c(S,te),S=k.hasEagerState?k.eagerState:c(S,te)}else W={lane:te,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},y===null?(g=y=W,I=S):y=y.next=W,Be.lanes|=te,Gs|=te;k=k.next}while(k!==null&&k!==l);if(y===null?I=S:y.next=g,!Un(S,r.memoizedState)&&(vt=!0,$&&(c=Dl,c!==null)))throw c;r.memoizedState=S,r.baseState=I,r.baseQueue=y,f.lastRenderedState=S}return d===null&&(f.lanes=0),[r.memoizedState,f.dispatch]}function qh(r){var l=gt(),c=l.queue;if(c===null)throw Error(i(311));c.lastRenderedReducer=r;var f=c.dispatch,d=c.pending,S=l.memoizedState;if(d!==null){c.pending=null;var I=d=d.next;do S=r(S,I.action),I=I.next;while(I!==d);Un(S,l.memoizedState)||(vt=!0),l.memoizedState=S,l.baseQueue===null&&(l.baseState=S),c.lastRenderedState=S}return[S,f]}function SN(r,l,c){var f=Be,d=gt(),S=Ke;if(S){if(c===void 0)throw Error(i(407));c=c()}else c=l();var I=!Un((tt||d).memoizedState,c);if(I&&(d.memoizedState=c,vt=!0),d=d.queue,eT(NN.bind(null,f,d,r),[r]),d.getSnapshot!==l||I||yt!==null&&yt.memoizedState.tag&1){if(f.flags|=2048,bl(9,{destroy:void 0},ON.bind(null,f,d,c,l),null),lt===null)throw Error(i(349));S||(ns&127)!==0||RN(f,l,c)}return c}function RN(r,l,c){r.flags|=16384,r={getSnapshot:l,value:c},l=Be.updateQueue,l===null?(l=su(),Be.updateQueue=l,l.stores=[r]):(c=l.stores,c===null?l.stores=[r]:c.push(r))}function ON(r,l,c,f){l.value=c,l.getSnapshot=f,mN(l)&&IN(r)}function NN(r,l,c){return c(function(){mN(l)&&IN(r)})}function mN(r){var l=r.getSnapshot;r=r.value;try{var c=l();return!Un(r,c)}catch{return!0}}function IN(r){var l=Lr(r,2);l!==null&&mn(l,r,2)}function Qh(r){var l=un();if(typeof r=="function"){var c=r;if(r=c(),xr){ps(!0);try{c()}finally{ps(!1)}}}return l.memoizedState=l.baseState=r,l.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:is,lastRenderedState:r},l}function pN(r,l,c,f){return r.baseState=c,Jh(r,tt,typeof f=="function"?f:is)}function tv(r,l,c,f,d){if(cu(r))throw Error(i(485));if(r=l.action,r!==null){var S={payload:d,action:r,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(I){S.listeners.push(I)}};x.T!==null?c(!0):S.isTransition=!1,f(S),c=l.pending,c===null?(S.next=l.pending=S,CN(l,S)):(S.next=c.next,l.pending=c.next=S)}}function CN(r,l){var c=l.action,f=l.payload,d=r.state;if(l.isTransition){var S=x.T,I={};x.T=I;try{var g=c(d,f),y=x.S;y!==null&&y(I,g),gN(r,l,g)}catch(k){Zh(r,l,k)}finally{S!==null&&I.types!==null&&(S.types=I.types),x.T=S}}else try{S=c(d,f),gN(r,l,S)}catch(k){Zh(r,l,k)}}function gN(r,l,c){c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(function(f){LN(r,l,f)},function(f){return Zh(r,l,f)}):LN(r,l,c)}function LN(r,l,c){l.status="fulfilled",l.value=c,_N(l),r.state=c,l=r.pending,l!==null&&(c=l.next,c===l?r.pending=null:(c=c.next,l.next=c,CN(r,c)))}function Zh(r,l,c){var f=r.pending;if(r.pending=null,f!==null){f=f.next;do l.status="rejected",l.reason=c,_N(l),l=l.next;while(l!==f)}r.action=null}function _N(r){r=r.listeners;for(var l=0;l<r.length;l++)(0,r[l])()}function DN(r,l){return l}function MN(r,l){if(Ke){var c=lt.formState;if(c!==null){e:{var f=Be;if(Ke){if(Et){t:{for(var d=Et,S=Qn;d.nodeType!==8;){if(!S){d=null;break t}if(d=ei(d.nextSibling),d===null){d=null;break t}}S=d.data,d=S==="F!"||S==="F"?d:null}if(d){Et=ei(d.nextSibling),f=d.data==="F!";break e}}Ds(f)}f=!1}f&&(l=c[0])}}return c=un(),c.memoizedState=c.baseState=l,f={pending:null,lanes:0,dispatch:null,lastRenderedReducer:DN,lastRenderedState:l},c.queue=f,c=$N.bind(null,Be,f),f.dispatch=c,f=Qh(!1),S=rT.bind(null,Be,!1,f.queue),f=un(),d={state:l,dispatch:null,action:r,pending:null},f.queue=d,c=tv.bind(null,Be,d,S,c),d.dispatch=c,f.memoizedState=r,[l,c,!1]}function PN(r){var l=gt();return yN(l,tt,r)}function yN(r,l,c){if(l=Jh(r,l,DN)[0],r=lu(is)[0],typeof l=="object"&&l!==null&&typeof l.then=="function")try{var f=ia(l)}catch(I){throw I===Ml?Jc:I}else f=l;l=gt();var d=l.queue,S=d.dispatch;return c!==l.memoizedState&&(Be.flags|=2048,bl(9,{destroy:void 0},nv.bind(null,d,c),null)),[f,S,r]}function nv(r,l){r.action=l}function vN(r){var l=gt(),c=tt;if(c!==null)return yN(l,c,r);gt(),l=l.memoizedState,c=gt();var f=c.queue.dispatch;return c.memoizedState=r,[l,f,!1]}function bl(r,l,c,f){return r={tag:r,create:c,deps:f,inst:l,next:null},l=Be.updateQueue,l===null&&(l=su(),Be.updateQueue=l),c=l.lastEffect,c===null?l.lastEffect=r.next=r:(f=c.next,c.next=r,r.next=f,l.lastEffect=r),r}function UN(){return gt().memoizedState}function ou(r,l,c,f){var d=un();Be.flags|=r,d.memoizedState=bl(1|l,{destroy:void 0},c,f===void 0?null:f)}function au(r,l,c,f){var d=gt();f=f===void 0?null:f;var S=d.memoizedState.inst;tt!==null&&f!==null&&Wh(f,tt.memoizedState.deps)?d.memoizedState=bl(l,S,c,f):(Be.flags|=r,d.memoizedState=bl(1|l,S,c,f))}function bN(r,l){ou(8390656,8,r,l)}function eT(r,l){au(2048,8,r,l)}function iv(r){Be.flags|=4;var l=Be.updateQueue;if(l===null)l=su(),Be.updateQueue=l,l.events=[r];else{var c=l.events;c===null?l.events=[r]:c.push(r)}}function xN(r){var l=gt().memoizedState;return iv({ref:l,nextImpl:r}),function(){if((Qe&2)!==0)throw Error(i(440));return l.impl.apply(void 0,arguments)}}function BN(r,l){return au(4,2,r,l)}function GN(r,l){return au(4,4,r,l)}function HN(r,l){if(typeof l=="function"){r=r();var c=l(r);return function(){typeof c=="function"?c():l(null)}}if(l!=null)return r=r(),l.current=r,function(){l.current=null}}function wN(r,l,c){c=c!=null?c.concat([r]):null,au(4,4,HN.bind(null,l,r),c)}function tT(){}function FN(r,l){var c=gt();l=l===void 0?null:l;var f=c.memoizedState;return l!==null&&Wh(l,f[1])?f[0]:(c.memoizedState=[r,l],r)}function YN(r,l){var c=gt();l=l===void 0?null:l;var f=c.memoizedState;if(l!==null&&Wh(l,f[1]))return f[0];if(f=r(),xr){ps(!0);try{r()}finally{ps(!1)}}return c.memoizedState=[f,l],f}function nT(r,l,c){return c===void 0||(ns&1073741824)!==0&&(We&261930)===0?r.memoizedState=l:(r.memoizedState=c,r=km(),Be.lanes|=r,Gs|=r,c)}function kN(r,l,c,f){return Un(c,l)?c:yl.current!==null?(r=nT(r,c,f),Un(r,l)||(vt=!0),r):(ns&42)===0||(ns&1073741824)!==0&&(We&261930)===0?(vt=!0,r.memoizedState=c):(r=km(),Be.lanes|=r,Gs|=r,l)}function VN(r,l,c,f,d){var S=z.p;z.p=S!==0&&8>S?S:8;var I=x.T,g={};x.T=g,rT(r,!1,l,c);try{var y=d(),k=x.S;if(k!==null&&k(g,y),y!==null&&typeof y=="object"&&typeof y.then=="function"){var $=Q0(y,f);sa(r,l,$,wn(r))}else sa(r,l,f,wn(r))}catch(te){sa(r,l,{then:function(){},status:"rejected",reason:te},wn())}finally{z.p=S,I!==null&&g.types!==null&&(I.types=g.types),x.T=I}}function sv(){}function iT(r,l,c,f){if(r.tag!==5)throw Error(i(476));var d=WN(r).queue;VN(r,d,l,ne,c===null?sv:function(){return XN(r),c(f)})}function WN(r){var l=r.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:is,lastRenderedState:ne},next:null};var c={};return l.next={memoizedState:c,baseState:c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:is,lastRenderedState:c},next:null},r.memoizedState=l,r=r.alternate,r!==null&&(r.memoizedState=l),l}function XN(r){var l=WN(r);l.next===null&&(l=r.alternate.memoizedState),sa(r,l.next.queue,{},wn())}function sT(){return Zt(ma)}function KN(){return gt().memoizedState}function zN(){return gt().memoizedState}function rv(r){for(var l=r.return;l!==null;){switch(l.tag){case 24:case 3:var c=wn();r=ys(c);var f=vs(l,r,c);f!==null&&(mn(f,l,c),Zo(f,l,c)),l={cache:Uh()},r.payload=l;return}l=l.return}}function lv(r,l,c){var f=wn();c={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},cu(r)?jN(l,c):(c=Ih(r,l,c,f),c!==null&&(mn(c,r,f),JN(c,l,f)))}function $N(r,l,c){var f=wn();sa(r,l,c,f)}function sa(r,l,c,f){var d={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null};if(cu(r))jN(l,d);else{var S=r.alternate;if(r.lanes===0&&(S===null||S.lanes===0)&&(S=l.lastRenderedReducer,S!==null))try{var I=l.lastRenderedState,g=S(I,c);if(d.hasEagerState=!0,d.eagerState=g,Un(g,I))return Vc(r,l,d,0),lt===null&&kc(),!1}catch{}finally{}if(c=Ih(r,l,d,f),c!==null)return mn(c,r,f),JN(c,l,f),!0}return!1}function rT(r,l,c,f){if(f={lane:2,revertLane:GT(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},cu(r)){if(l)throw Error(i(479))}else l=Ih(r,c,f,2),l!==null&&mn(l,r,2)}function cu(r){var l=r.alternate;return r===Be||l!==null&&l===Be}function jN(r,l){vl=nu=!0;var c=r.pending;c===null?l.next=l:(l.next=c.next,c.next=l),r.pending=l}function JN(r,l,c){if((c&4194048)!==0){var f=l.lanes;f&=r.pendingLanes,c|=f,l.lanes=c,tO(r,c)}}var ra={readContext:Zt,use:ru,useCallback:Rt,useContext:Rt,useEffect:Rt,useImperativeHandle:Rt,useLayoutEffect:Rt,useInsertionEffect:Rt,useMemo:Rt,useReducer:Rt,useRef:Rt,useState:Rt,useDebugValue:Rt,useDeferredValue:Rt,useTransition:Rt,useSyncExternalStore:Rt,useId:Rt,useHostTransitionStatus:Rt,useFormState:Rt,useActionState:Rt,useOptimistic:Rt,useMemoCache:Rt,useCacheRefresh:Rt};ra.useEffectEvent=Rt;var qN={readContext:Zt,use:ru,useCallback:function(r,l){return un().memoizedState=[r,l===void 0?null:l],r},useContext:Zt,useEffect:bN,useImperativeHandle:function(r,l,c){c=c!=null?c.concat([r]):null,ou(4194308,4,HN.bind(null,l,r),c)},useLayoutEffect:function(r,l){return ou(4194308,4,r,l)},useInsertionEffect:function(r,l){ou(4,2,r,l)},useMemo:function(r,l){var c=un();l=l===void 0?null:l;var f=r();if(xr){ps(!0);try{r()}finally{ps(!1)}}return c.memoizedState=[f,l],f},useReducer:function(r,l,c){var f=un();if(c!==void 0){var d=c(l);if(xr){ps(!0);try{c(l)}finally{ps(!1)}}}else d=l;return f.memoizedState=f.baseState=d,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:d},f.queue=r,r=r.dispatch=lv.bind(null,Be,r),[f.memoizedState,r]},useRef:function(r){var l=un();return r={current:r},l.memoizedState=r},useState:function(r){r=Qh(r);var l=r.queue,c=$N.bind(null,Be,l);return l.dispatch=c,[r.memoizedState,c]},useDebugValue:tT,useDeferredValue:function(r,l){var c=un();return nT(c,r,l)},useTransition:function(){var r=Qh(!1);return r=VN.bind(null,Be,r.queue,!0,!1),un().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,l,c){var f=Be,d=un();if(Ke){if(c===void 0)throw Error(i(407));c=c()}else{if(c=l(),lt===null)throw Error(i(349));(We&127)!==0||RN(f,l,c)}d.memoizedState=c;var S={value:c,getSnapshot:l};return d.queue=S,bN(NN.bind(null,f,S,r),[r]),f.flags|=2048,bl(9,{destroy:void 0},ON.bind(null,f,S,c,l),null),c},useId:function(){var r=un(),l=lt.identifierPrefix;if(Ke){var c=Ci,f=pi;c=(f&~(1<<32-vn(f)-1)).toString(32)+c,l="_"+l+"R_"+c,c=iu++,0<c&&(l+="H"+c.toString(32)),l+="_"}else c=Z0++,l="_"+l+"r_"+c.toString(32)+"_";return r.memoizedState=l},useHostTransitionStatus:sT,useFormState:MN,useActionState:MN,useOptimistic:function(r){var l=un();l.memoizedState=l.baseState=r;var c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return l.queue=c,l=rT.bind(null,Be,!0,c),c.dispatch=l,[r,l]},useMemoCache:jh,useCacheRefresh:function(){return un().memoizedState=rv.bind(null,Be)},useEffectEvent:function(r){var l=un(),c={impl:r};return l.memoizedState=c,function(){if((Qe&2)!==0)throw Error(i(440));return c.impl.apply(void 0,arguments)}}},lT={readContext:Zt,use:ru,useCallback:FN,useContext:Zt,useEffect:eT,useImperativeHandle:wN,useInsertionEffect:BN,useLayoutEffect:GN,useMemo:YN,useReducer:lu,useRef:UN,useState:function(){return lu(is)},useDebugValue:tT,useDeferredValue:function(r,l){var c=gt();return kN(c,tt.memoizedState,r,l)},useTransition:function(){var r=lu(is)[0],l=gt().memoizedState;return[typeof r=="boolean"?r:ia(r),l]},useSyncExternalStore:SN,useId:KN,useHostTransitionStatus:sT,useFormState:PN,useActionState:PN,useOptimistic:function(r,l){var c=gt();return pN(c,tt,r,l)},useMemoCache:jh,useCacheRefresh:zN};lT.useEffectEvent=xN;var QN={readContext:Zt,use:ru,useCallback:FN,useContext:Zt,useEffect:eT,useImperativeHandle:wN,useInsertionEffect:BN,useLayoutEffect:GN,useMemo:YN,useReducer:qh,useRef:UN,useState:function(){return qh(is)},useDebugValue:tT,useDeferredValue:function(r,l){var c=gt();return tt===null?nT(c,r,l):kN(c,tt.memoizedState,r,l)},useTransition:function(){var r=qh(is)[0],l=gt().memoizedState;return[typeof r=="boolean"?r:ia(r),l]},useSyncExternalStore:SN,useId:KN,useHostTransitionStatus:sT,useFormState:vN,useActionState:vN,useOptimistic:function(r,l){var c=gt();return tt!==null?pN(c,tt,r,l):(c.baseState=r,[r,c.queue.dispatch])},useMemoCache:jh,useCacheRefresh:zN};QN.useEffectEvent=xN;function oT(r,l,c,f){l=r.memoizedState,c=c(f,l),c=c==null?l:A({},l,c),r.memoizedState=c,r.lanes===0&&(r.updateQueue.baseState=c)}var aT={enqueueSetState:function(r,l,c){r=r._reactInternals;var f=wn(),d=ys(f);d.payload=l,c!=null&&(d.callback=c),l=vs(r,d,f),l!==null&&(mn(l,r,f),Zo(l,r,f))},enqueueReplaceState:function(r,l,c){r=r._reactInternals;var f=wn(),d=ys(f);d.tag=1,d.payload=l,c!=null&&(d.callback=c),l=vs(r,d,f),l!==null&&(mn(l,r,f),Zo(l,r,f))},enqueueForceUpdate:function(r,l){r=r._reactInternals;var c=wn(),f=ys(c);f.tag=2,l!=null&&(f.callback=l),l=vs(r,f,c),l!==null&&(mn(l,r,c),Zo(l,r,c))}};function ZN(r,l,c,f,d,S,I){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,S,I):l.prototype&&l.prototype.isPureReactComponent?!Xo(c,f)||!Xo(d,S):!0}function em(r,l,c,f){r=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(c,f),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(c,f),l.state!==r&&aT.enqueueReplaceState(l,l.state,null)}function Br(r,l){var c=l;if("ref"in l){c={};for(var f in l)f!=="ref"&&(c[f]=l[f])}if(r=r.defaultProps){c===l&&(c=A({},c));for(var d in r)c[d]===void 0&&(c[d]=r[d])}return c}function tm(r){Yc(r)}function nm(r){console.error(r)}function im(r){Yc(r)}function uu(r,l){try{var c=r.onUncaughtError;c(l.value,{componentStack:l.stack})}catch(f){setTimeout(function(){throw f})}}function sm(r,l,c){try{var f=r.onCaughtError;f(c.value,{componentStack:c.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function cT(r,l,c){return c=ys(c),c.tag=3,c.payload={element:null},c.callback=function(){uu(r,l)},c}function rm(r){return r=ys(r),r.tag=3,r}function lm(r,l,c,f){var d=c.type.getDerivedStateFromError;if(typeof d=="function"){var S=f.value;r.payload=function(){return d(S)},r.callback=function(){sm(l,c,f)}}var I=c.stateNode;I!==null&&typeof I.componentDidCatch=="function"&&(r.callback=function(){sm(l,c,f),typeof d!="function"&&(Hs===null?Hs=new Set([this]):Hs.add(this));var g=f.stack;this.componentDidCatch(f.value,{componentStack:g!==null?g:""})})}function ov(r,l,c,f,d){if(c.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(l=c.alternate,l!==null&&Ll(l,c,d,!0),c=xn.current,c!==null){switch(c.tag){case 31:case 13:return Zn===null?Iu():c.alternate===null&&Ot===0&&(Ot=3),c.flags&=-257,c.flags|=65536,c.lanes=d,f===qc?c.flags|=16384:(l=c.updateQueue,l===null?c.updateQueue=new Set([f]):l.add(f),bT(r,f,d)),!1;case 22:return c.flags|=65536,f===qc?c.flags|=16384:(l=c.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([f])},c.updateQueue=l):(c=l.retryQueue,c===null?l.retryQueue=new Set([f]):c.add(f)),bT(r,f,d)),!1}throw Error(i(435,c.tag))}return bT(r,f,d),Iu(),!1}if(Ke)return l=xn.current,l!==null?((l.flags&65536)===0&&(l.flags|=256),l.flags|=65536,l.lanes=d,f!==Dh&&(r=Error(i(422),{cause:f}),$o(jn(r,c)))):(f!==Dh&&(l=Error(i(423),{cause:f}),$o(jn(l,c))),r=r.current.alternate,r.flags|=65536,d&=-d,r.lanes|=d,f=jn(f,c),d=cT(r.stateNode,f,d),wh(r,d),Ot!==4&&(Ot=2)),!1;var S=Error(i(520),{cause:f});if(S=jn(S,c),ha===null?ha=[S]:ha.push(S),Ot!==4&&(Ot=2),l===null)return!0;f=jn(f,c),c=l;do{switch(c.tag){case 3:return c.flags|=65536,r=d&-d,c.lanes|=r,r=cT(c.stateNode,f,r),wh(c,r),!1;case 1:if(l=c.type,S=c.stateNode,(c.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||S!==null&&typeof S.componentDidCatch=="function"&&(Hs===null||!Hs.has(S))))return c.flags|=65536,d&=-d,c.lanes|=d,d=rm(d),lm(d,r,c,f),wh(c,d),!1}c=c.return}while(c!==null);return!1}var uT=Error(i(461)),vt=!1;function en(r,l,c,f){l.child=r===null?uN(l,null,c,f):br(l,r.child,c,f)}function om(r,l,c,f,d){c=c.render;var S=l.ref;if("ref"in f){var I={};for(var g in f)g!=="ref"&&(I[g]=f[g])}else I=f;return Pr(l),f=Xh(r,l,c,I,S,d),g=Kh(),r!==null&&!vt?(zh(r,l,d),ss(r,l,d)):(Ke&&g&&Lh(l),l.flags|=1,en(r,l,f,d),l.child)}function am(r,l,c,f,d){if(r===null){var S=c.type;return typeof S=="function"&&!ph(S)&&S.defaultProps===void 0&&c.compare===null?(l.tag=15,l.type=S,cm(r,l,S,f,d)):(r=Xc(c.type,null,f,l,l.mode,d),r.ref=l.ref,r.return=l,l.child=r)}if(S=r.child,!RT(r,d)){var I=S.memoizedProps;if(c=c.compare,c=c!==null?c:Xo,c(I,f)&&r.ref===l.ref)return ss(r,l,d)}return l.flags|=1,r=Qi(S,f),r.ref=l.ref,r.return=l,l.child=r}function cm(r,l,c,f,d){if(r!==null){var S=r.memoizedProps;if(Xo(S,f)&&r.ref===l.ref)if(vt=!1,l.pendingProps=f=S,RT(r,d))(r.flags&131072)!==0&&(vt=!0);else return l.lanes=r.lanes,ss(r,l,d)}return ET(r,l,c,f,d)}function um(r,l,c,f){var d=f.children,S=r!==null?r.memoizedState:null;if(r===null&&l.stateNode===null&&(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),f.mode==="hidden"){if((l.flags&128)!==0){if(S=S!==null?S.baseLanes|c:c,r!==null){for(f=l.child=r.child,d=0;f!==null;)d=d|f.lanes|f.childLanes,f=f.sibling;f=d&~S}else f=0,l.child=null;return Em(r,l,S,c,f)}if((c&536870912)!==0)l.memoizedState={baseLanes:0,cachePool:null},r!==null&&jc(l,S!==null?S.cachePool:null),S!==null?hN(l,S):Yh(),TN(l);else return f=l.lanes=536870912,Em(r,l,S!==null?S.baseLanes|c:c,c,f)}else S!==null?(jc(l,S.cachePool),hN(l,S),bs(),l.memoizedState=null):(r!==null&&jc(l,null),Yh(),bs());return en(r,l,d,c),l.child}function la(r,l){return r!==null&&r.tag===22||l.stateNode!==null||(l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.sibling}function Em(r,l,c,f,d){var S=xh();return S=S===null?null:{parent:Pt._currentValue,pool:S},l.memoizedState={baseLanes:c,cachePool:S},r!==null&&jc(l,null),Yh(),TN(l),r!==null&&Ll(r,l,f,!0),l.childLanes=d,null}function Eu(r,l){return l=hu({mode:l.mode,children:l.children},r.mode),l.ref=r.ref,r.child=l,l.return=r,l}function fm(r,l,c){return br(l,r.child,null,c),r=Eu(l,l.pendingProps),r.flags|=2,Bn(l),l.memoizedState=null,r}function av(r,l,c){var f=l.pendingProps,d=(l.flags&128)!==0;if(l.flags&=-129,r===null){if(Ke){if(f.mode==="hidden")return r=Eu(l,f),l.lanes=536870912,la(null,r);if(Vh(l),(r=Et)?(r=CI(r,Qn),r=r!==null&&r.data==="&"?r:null,r!==null&&(l.memoizedState={dehydrated:r,treeContext:Ls!==null?{id:pi,overflow:Ci}:null,retryLane:536870912,hydrationErrors:null},c=jO(r),c.return=l,l.child=c,Qt=l,Et=null)):r=null,r===null)throw Ds(l);return l.lanes=536870912,null}return Eu(l,f)}var S=r.memoizedState;if(S!==null){var I=S.dehydrated;if(Vh(l),d)if(l.flags&256)l.flags&=-257,l=fm(r,l,c);else if(l.memoizedState!==null)l.child=r.child,l.flags|=128,l=null;else throw Error(i(558));else if(vt||Ll(r,l,c,!1),d=(c&r.childLanes)!==0,vt||d){if(f=lt,f!==null&&(I=nO(f,c),I!==0&&I!==S.retryLane))throw S.retryLane=I,Lr(r,I),mn(f,r,I),uT;Iu(),l=fm(r,l,c)}else r=S.treeContext,Et=ei(I.nextSibling),Qt=l,Ke=!0,_s=null,Qn=!1,r!==null&&QO(l,r),l=Eu(l,f),l.flags|=4096;return l}return r=Qi(r.child,{mode:f.mode,children:f.children}),r.ref=l.ref,l.child=r,r.return=l,r}function fu(r,l){var c=l.ref;if(c===null)r!==null&&r.ref!==null&&(l.flags|=4194816);else{if(typeof c!="function"&&typeof c!="object")throw Error(i(284));(r===null||r.ref!==c)&&(l.flags|=4194816)}}function ET(r,l,c,f,d){return Pr(l),c=Xh(r,l,c,f,void 0,d),f=Kh(),r!==null&&!vt?(zh(r,l,d),ss(r,l,d)):(Ke&&f&&Lh(l),l.flags|=1,en(r,l,c,d),l.child)}function hm(r,l,c,f,d,S){return Pr(l),l.updateQueue=null,c=AN(l,f,c,d),dN(r),f=Kh(),r!==null&&!vt?(zh(r,l,S),ss(r,l,S)):(Ke&&f&&Lh(l),l.flags|=1,en(r,l,c,S),l.child)}function Tm(r,l,c,f,d){if(Pr(l),l.stateNode===null){var S=Il,I=c.contextType;typeof I=="object"&&I!==null&&(S=Zt(I)),S=new c(f,S),l.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,S.updater=aT,l.stateNode=S,S._reactInternals=l,S=l.stateNode,S.props=f,S.state=l.memoizedState,S.refs={},Gh(l),I=c.contextType,S.context=typeof I=="object"&&I!==null?Zt(I):Il,S.state=l.memoizedState,I=c.getDerivedStateFromProps,typeof I=="function"&&(oT(l,c,I,f),S.state=l.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof S.getSnapshotBeforeUpdate=="function"||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(I=S.state,typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount(),I!==S.state&&aT.enqueueReplaceState(S,S.state,null),ta(l,f,S,d),ea(),S.state=l.memoizedState),typeof S.componentDidMount=="function"&&(l.flags|=4194308),f=!0}else if(r===null){S=l.stateNode;var g=l.memoizedProps,y=Br(c,g);S.props=y;var k=S.context,$=c.contextType;I=Il,typeof $=="object"&&$!==null&&(I=Zt($));var te=c.getDerivedStateFromProps;$=typeof te=="function"||typeof S.getSnapshotBeforeUpdate=="function",g=l.pendingProps!==g,$||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(g||k!==I)&&em(l,S,f,I),Ps=!1;var W=l.memoizedState;S.state=W,ta(l,f,S,d),ea(),k=l.memoizedState,g||W!==k||Ps?(typeof te=="function"&&(oT(l,c,te,f),k=l.memoizedState),(y=Ps||ZN(l,c,y,f,W,k,I))?($||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount()),typeof S.componentDidMount=="function"&&(l.flags|=4194308)):(typeof S.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=f,l.memoizedState=k),S.props=f,S.state=k,S.context=I,f=y):(typeof S.componentDidMount=="function"&&(l.flags|=4194308),f=!1)}else{S=l.stateNode,Hh(r,l),I=l.memoizedProps,$=Br(c,I),S.props=$,te=l.pendingProps,W=S.context,k=c.contextType,y=Il,typeof k=="object"&&k!==null&&(y=Zt(k)),g=c.getDerivedStateFromProps,(k=typeof g=="function"||typeof S.getSnapshotBeforeUpdate=="function")||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(I!==te||W!==y)&&em(l,S,f,y),Ps=!1,W=l.memoizedState,S.state=W,ta(l,f,S,d),ea();var K=l.memoizedState;I!==te||W!==K||Ps||r!==null&&r.dependencies!==null&&zc(r.dependencies)?(typeof g=="function"&&(oT(l,c,g,f),K=l.memoizedState),($=Ps||ZN(l,c,$,f,W,K,y)||r!==null&&r.dependencies!==null&&zc(r.dependencies))?(k||typeof S.UNSAFE_componentWillUpdate!="function"&&typeof S.componentWillUpdate!="function"||(typeof S.componentWillUpdate=="function"&&S.componentWillUpdate(f,K,y),typeof S.UNSAFE_componentWillUpdate=="function"&&S.UNSAFE_componentWillUpdate(f,K,y)),typeof S.componentDidUpdate=="function"&&(l.flags|=4),typeof S.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof S.componentDidUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=1024),l.memoizedProps=f,l.memoizedState=K),S.props=f,S.state=K,S.context=y,f=$):(typeof S.componentDidUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||I===r.memoizedProps&&W===r.memoizedState||(l.flags|=1024),f=!1)}return S=f,fu(r,l),f=(l.flags&128)!==0,S||f?(S=l.stateNode,c=f&&typeof c.getDerivedStateFromError!="function"?null:S.render(),l.flags|=1,r!==null&&f?(l.child=br(l,r.child,null,d),l.child=br(l,null,c,d)):en(r,l,c,d),l.memoizedState=S.state,r=l.child):r=ss(r,l,d),r}function dm(r,l,c,f){return Dr(),l.flags|=256,en(r,l,c,f),l.child}var fT={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function hT(r){return{baseLanes:r,cachePool:sN()}}function TT(r,l,c){return r=r!==null?r.childLanes&~c:0,l&&(r|=Hn),r}function Am(r,l,c){var f=l.pendingProps,d=!1,S=(l.flags&128)!==0,I;if((I=S)||(I=r!==null&&r.memoizedState===null?!1:(Ct.current&2)!==0),I&&(d=!0,l.flags&=-129),I=(l.flags&32)!==0,l.flags&=-33,r===null){if(Ke){if(d?Us(l):bs(),(r=Et)?(r=CI(r,Qn),r=r!==null&&r.data!=="&"?r:null,r!==null&&(l.memoizedState={dehydrated:r,treeContext:Ls!==null?{id:pi,overflow:Ci}:null,retryLane:536870912,hydrationErrors:null},c=jO(r),c.return=l,l.child=c,Qt=l,Et=null)):r=null,r===null)throw Ds(l);return JT(r)?l.lanes=32:l.lanes=536870912,null}var g=f.children;return f=f.fallback,d?(bs(),d=l.mode,g=hu({mode:"hidden",children:g},d),f=_r(f,d,c,null),g.return=l,f.return=l,g.sibling=f,l.child=g,f=l.child,f.memoizedState=hT(c),f.childLanes=TT(r,I,c),l.memoizedState=fT,la(null,f)):(Us(l),dT(l,g))}var y=r.memoizedState;if(y!==null&&(g=y.dehydrated,g!==null)){if(S)l.flags&256?(Us(l),l.flags&=-257,l=AT(r,l,c)):l.memoizedState!==null?(bs(),l.child=r.child,l.flags|=128,l=null):(bs(),g=f.fallback,d=l.mode,f=hu({mode:"visible",children:f.children},d),g=_r(g,d,c,null),g.flags|=2,f.return=l,g.return=l,f.sibling=g,l.child=f,br(l,r.child,null,c),f=l.child,f.memoizedState=hT(c),f.childLanes=TT(r,I,c),l.memoizedState=fT,l=la(null,f));else if(Us(l),JT(g)){if(I=g.nextSibling&&g.nextSibling.dataset,I)var k=I.dgst;I=k,f=Error(i(419)),f.stack="",f.digest=I,$o({value:f,source:null,stack:null}),l=AT(r,l,c)}else if(vt||Ll(r,l,c,!1),I=(c&r.childLanes)!==0,vt||I){if(I=lt,I!==null&&(f=nO(I,c),f!==0&&f!==y.retryLane))throw y.retryLane=f,Lr(r,f),mn(I,r,f),uT;jT(g)||Iu(),l=AT(r,l,c)}else jT(g)?(l.flags|=192,l.child=r.child,l=null):(r=y.treeContext,Et=ei(g.nextSibling),Qt=l,Ke=!0,_s=null,Qn=!1,r!==null&&QO(l,r),l=dT(l,f.children),l.flags|=4096);return l}return d?(bs(),g=f.fallback,d=l.mode,y=r.child,k=y.sibling,f=Qi(y,{mode:"hidden",children:f.children}),f.subtreeFlags=y.subtreeFlags&65011712,k!==null?g=Qi(k,g):(g=_r(g,d,c,null),g.flags|=2),g.return=l,f.return=l,f.sibling=g,l.child=f,la(null,f),f=l.child,g=r.child.memoizedState,g===null?g=hT(c):(d=g.cachePool,d!==null?(y=Pt._currentValue,d=d.parent!==y?{parent:y,pool:y}:d):d=sN(),g={baseLanes:g.baseLanes|c,cachePool:d}),f.memoizedState=g,f.childLanes=TT(r,I,c),l.memoizedState=fT,la(r.child,f)):(Us(l),c=r.child,r=c.sibling,c=Qi(c,{mode:"visible",children:f.children}),c.return=l,c.sibling=null,r!==null&&(I=l.deletions,I===null?(l.deletions=[r],l.flags|=16):I.push(r)),l.child=c,l.memoizedState=null,c)}function dT(r,l){return l=hu({mode:"visible",children:l},r.mode),l.return=r,r.child=l}function hu(r,l){return r=bn(22,r,null,l),r.lanes=0,r}function AT(r,l,c){return br(l,r.child,null,c),r=dT(l,l.pendingProps.children),r.flags|=2,l.memoizedState=null,r}function Sm(r,l,c){r.lanes|=l;var f=r.alternate;f!==null&&(f.lanes|=l),yh(r.return,l,c)}function ST(r,l,c,f,d,S){var I=r.memoizedState;I===null?r.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:f,tail:c,tailMode:d,treeForkCount:S}:(I.isBackwards=l,I.rendering=null,I.renderingStartTime=0,I.last=f,I.tail=c,I.tailMode=d,I.treeForkCount=S)}function Rm(r,l,c){var f=l.pendingProps,d=f.revealOrder,S=f.tail;f=f.children;var I=Ct.current,g=(I&2)!==0;if(g?(I=I&1|2,l.flags|=128):I&=1,re(Ct,I),en(r,l,f,c),f=Ke?zo:0,!g&&r!==null&&(r.flags&128)!==0)e:for(r=l.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&Sm(r,c,l);else if(r.tag===19)Sm(r,c,l);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===l)break e;for(;r.sibling===null;){if(r.return===null||r.return===l)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}switch(d){case"forwards":for(c=l.child,d=null;c!==null;)r=c.alternate,r!==null&&tu(r)===null&&(d=c),c=c.sibling;c=d,c===null?(d=l.child,l.child=null):(d=c.sibling,c.sibling=null),ST(l,!1,d,c,S,f);break;case"backwards":case"unstable_legacy-backwards":for(c=null,d=l.child,l.child=null;d!==null;){if(r=d.alternate,r!==null&&tu(r)===null){l.child=d;break}r=d.sibling,d.sibling=c,c=d,d=r}ST(l,!0,c,null,S,f);break;case"together":ST(l,!1,null,null,void 0,f);break;default:l.memoizedState=null}return l.child}function ss(r,l,c){if(r!==null&&(l.dependencies=r.dependencies),Gs|=l.lanes,(c&l.childLanes)===0)if(r!==null){if(Ll(r,l,c,!1),(c&l.childLanes)===0)return null}else return null;if(r!==null&&l.child!==r.child)throw Error(i(153));if(l.child!==null){for(r=l.child,c=Qi(r,r.pendingProps),l.child=c,c.return=l;r.sibling!==null;)r=r.sibling,c=c.sibling=Qi(r,r.pendingProps),c.return=l;c.sibling=null}return l.child}function RT(r,l){return(r.lanes&l)!==0?!0:(r=r.dependencies,!!(r!==null&&zc(r)))}function cv(r,l,c){switch(l.tag){case 3:Me(l,l.stateNode.containerInfo),Ms(l,Pt,r.memoizedState.cache),Dr();break;case 27:case 5:ve(l);break;case 4:Me(l,l.stateNode.containerInfo);break;case 10:Ms(l,l.type,l.memoizedProps.value);break;case 31:if(l.memoizedState!==null)return l.flags|=128,Vh(l),null;break;case 13:var f=l.memoizedState;if(f!==null)return f.dehydrated!==null?(Us(l),l.flags|=128,null):(c&l.child.childLanes)!==0?Am(r,l,c):(Us(l),r=ss(r,l,c),r!==null?r.sibling:null);Us(l);break;case 19:var d=(r.flags&128)!==0;if(f=(c&l.childLanes)!==0,f||(Ll(r,l,c,!1),f=(c&l.childLanes)!==0),d){if(f)return Rm(r,l,c);l.flags|=128}if(d=l.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),re(Ct,Ct.current),f)break;return null;case 22:return l.lanes=0,um(r,l,c,l.pendingProps);case 24:Ms(l,Pt,r.memoizedState.cache)}return ss(r,l,c)}function Om(r,l,c){if(r!==null)if(r.memoizedProps!==l.pendingProps)vt=!0;else{if(!RT(r,c)&&(l.flags&128)===0)return vt=!1,cv(r,l,c);vt=(r.flags&131072)!==0}else vt=!1,Ke&&(l.flags&1048576)!==0&&qO(l,zo,l.index);switch(l.lanes=0,l.tag){case 16:e:{var f=l.pendingProps;if(r=vr(l.elementType),l.type=r,typeof r=="function")ph(r)?(f=Br(r,f),l.tag=1,l=Tm(null,l,r,f,c)):(l.tag=0,l=ET(null,l,r,f,c));else{if(r!=null){var d=r.$$typeof;if(d===v){l.tag=11,l=om(null,l,r,f,c);break e}else if(d===B){l.tag=14,l=am(null,l,r,f,c);break e}}throw l=oe(r)||r,Error(i(306,l,""))}}return l;case 0:return ET(r,l,l.type,l.pendingProps,c);case 1:return f=l.type,d=Br(f,l.pendingProps),Tm(r,l,f,d,c);case 3:e:{if(Me(l,l.stateNode.containerInfo),r===null)throw Error(i(387));f=l.pendingProps;var S=l.memoizedState;d=S.element,Hh(r,l),ta(l,f,null,c);var I=l.memoizedState;if(f=I.cache,Ms(l,Pt,f),f!==S.cache&&vh(l,[Pt],c,!0),ea(),f=I.element,S.isDehydrated)if(S={element:f,isDehydrated:!1,cache:I.cache},l.updateQueue.baseState=S,l.memoizedState=S,l.flags&256){l=dm(r,l,f,c);break e}else if(f!==d){d=jn(Error(i(424)),l),$o(d),l=dm(r,l,f,c);break e}else{switch(r=l.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(Et=ei(r.firstChild),Qt=l,Ke=!0,_s=null,Qn=!0,c=uN(l,null,f,c),l.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling}else{if(Dr(),f===d){l=ss(r,l,c);break e}en(r,l,f,c)}l=l.child}return l;case 26:return fu(r,l),r===null?(c=PI(l.type,null,l.pendingProps,null))?l.memoizedState=c:Ke||(c=l.type,r=l.pendingProps,f=Mu(Se.current).createElement(c),f[qt]=l,f[dn]=r,tn(f,c,r),Yt(f),l.stateNode=f):l.memoizedState=PI(l.type,r.memoizedProps,l.pendingProps,r.memoizedState),null;case 27:return ve(l),r===null&&Ke&&(f=l.stateNode=_I(l.type,l.pendingProps,Se.current),Qt=l,Qn=!0,d=Et,ks(l.type)?(qT=d,Et=ei(f.firstChild)):Et=d),en(r,l,l.pendingProps.children,c),fu(r,l),r===null&&(l.flags|=4194304),l.child;case 5:return r===null&&Ke&&((d=f=Et)&&(f=wv(f,l.type,l.pendingProps,Qn),f!==null?(l.stateNode=f,Qt=l,Et=ei(f.firstChild),Qn=!1,d=!0):d=!1),d||Ds(l)),ve(l),d=l.type,S=l.pendingProps,I=r!==null?r.memoizedProps:null,f=S.children,KT(d,S)?f=null:I!==null&&KT(d,I)&&(l.flags|=32),l.memoizedState!==null&&(d=Xh(r,l,ev,null,null,c),ma._currentValue=d),fu(r,l),en(r,l,f,c),l.child;case 6:return r===null&&Ke&&((r=c=Et)&&(c=Fv(c,l.pendingProps,Qn),c!==null?(l.stateNode=c,Qt=l,Et=null,r=!0):r=!1),r||Ds(l)),null;case 13:return Am(r,l,c);case 4:return Me(l,l.stateNode.containerInfo),f=l.pendingProps,r===null?l.child=br(l,null,f,c):en(r,l,f,c),l.child;case 11:return om(r,l,l.type,l.pendingProps,c);case 7:return en(r,l,l.pendingProps,c),l.child;case 8:return en(r,l,l.pendingProps.children,c),l.child;case 12:return en(r,l,l.pendingProps.children,c),l.child;case 10:return f=l.pendingProps,Ms(l,l.type,f.value),en(r,l,f.children,c),l.child;case 9:return d=l.type._context,f=l.pendingProps.children,Pr(l),d=Zt(d),f=f(d),l.flags|=1,en(r,l,f,c),l.child;case 14:return am(r,l,l.type,l.pendingProps,c);case 15:return cm(r,l,l.type,l.pendingProps,c);case 19:return Rm(r,l,c);case 31:return av(r,l,c);case 22:return um(r,l,c,l.pendingProps);case 24:return Pr(l),f=Zt(Pt),r===null?(d=xh(),d===null&&(d=lt,S=Uh(),d.pooledCache=S,S.refCount++,S!==null&&(d.pooledCacheLanes|=c),d=S),l.memoizedState={parent:f,cache:d},Gh(l),Ms(l,Pt,d)):((r.lanes&c)!==0&&(Hh(r,l),ta(l,null,null,c),ea()),d=r.memoizedState,S=l.memoizedState,d.parent!==f?(d={parent:f,cache:f},l.memoizedState=d,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=d),Ms(l,Pt,f)):(f=S.cache,Ms(l,Pt,f),f!==d.cache&&vh(l,[Pt],c,!0))),en(r,l,l.pendingProps.children,c),l.child;case 29:throw l.pendingProps}throw Error(i(156,l.tag))}function rs(r){r.flags|=4}function OT(r,l,c,f,d){if((l=(r.mode&32)!==0)&&(l=!1),l){if(r.flags|=16777216,(d&335544128)===d)if(r.stateNode.complete)r.flags|=8192;else if(Km())r.flags|=8192;else throw Ur=qc,Bh}else r.flags&=-16777217}function Nm(r,l){if(l.type!=="stylesheet"||(l.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!xI(l))if(Km())r.flags|=8192;else throw Ur=qc,Bh}function Tu(r,l){l!==null&&(r.flags|=4),r.flags&16384&&(l=r.tag!==22?ZR():536870912,r.lanes|=l,Hl|=l)}function oa(r,l){if(!Ke)switch(r.tailMode){case"hidden":l=r.tail;for(var c=null;l!==null;)l.alternate!==null&&(c=l),l=l.sibling;c===null?r.tail=null:c.sibling=null;break;case"collapsed":c=r.tail;for(var f=null;c!==null;)c.alternate!==null&&(f=c),c=c.sibling;f===null?l||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function ft(r){var l=r.alternate!==null&&r.alternate.child===r.child,c=0,f=0;if(l)for(var d=r.child;d!==null;)c|=d.lanes|d.childLanes,f|=d.subtreeFlags&65011712,f|=d.flags&65011712,d.return=r,d=d.sibling;else for(d=r.child;d!==null;)c|=d.lanes|d.childLanes,f|=d.subtreeFlags,f|=d.flags,d.return=r,d=d.sibling;return r.subtreeFlags|=f,r.childLanes=c,l}function uv(r,l,c){var f=l.pendingProps;switch(_h(l),l.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ft(l),null;case 1:return ft(l),null;case 3:return c=l.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),l.memoizedState.cache!==f&&(l.flags|=2048),ts(Pt),Oe(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(r===null||r.child===null)&&(gl(l)?rs(l):r===null||r.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,Mh())),ft(l),null;case 26:var d=l.type,S=l.memoizedState;return r===null?(rs(l),S!==null?(ft(l),Nm(l,S)):(ft(l),OT(l,d,null,f,c))):S?S!==r.memoizedState?(rs(l),ft(l),Nm(l,S)):(ft(l),l.flags&=-16777217):(r=r.memoizedProps,r!==f&&rs(l),ft(l),OT(l,d,r,f,c)),null;case 27:if(ye(l),c=Se.current,d=l.type,r!==null&&l.stateNode!=null)r.memoizedProps!==f&&rs(l);else{if(!f){if(l.stateNode===null)throw Error(i(166));return ft(l),null}r=se.current,gl(l)?ZO(l):(r=_I(d,f,c),l.stateNode=r,rs(l))}return ft(l),null;case 5:if(ye(l),d=l.type,r!==null&&l.stateNode!=null)r.memoizedProps!==f&&rs(l);else{if(!f){if(l.stateNode===null)throw Error(i(166));return ft(l),null}if(S=se.current,gl(l))ZO(l);else{var I=Mu(Se.current);switch(S){case 1:S=I.createElementNS("http://www.w3.org/2000/svg",d);break;case 2:S=I.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;default:switch(d){case"svg":S=I.createElementNS("http://www.w3.org/2000/svg",d);break;case"math":S=I.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;case"script":S=I.createElement("div"),S.innerHTML="<script><\/script>",S=S.removeChild(S.firstChild);break;case"select":S=typeof f.is=="string"?I.createElement("select",{is:f.is}):I.createElement("select"),f.multiple?S.multiple=!0:f.size&&(S.size=f.size);break;default:S=typeof f.is=="string"?I.createElement(d,{is:f.is}):I.createElement(d)}}S[qt]=l,S[dn]=f;e:for(I=l.child;I!==null;){if(I.tag===5||I.tag===6)S.appendChild(I.stateNode);else if(I.tag!==4&&I.tag!==27&&I.child!==null){I.child.return=I,I=I.child;continue}if(I===l)break e;for(;I.sibling===null;){if(I.return===null||I.return===l)break e;I=I.return}I.sibling.return=I.return,I=I.sibling}l.stateNode=S;e:switch(tn(S,d,f),d){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&rs(l)}}return ft(l),OT(l,l.type,r===null?null:r.memoizedProps,l.pendingProps,c),null;case 6:if(r&&l.stateNode!=null)r.memoizedProps!==f&&rs(l);else{if(typeof f!="string"&&l.stateNode===null)throw Error(i(166));if(r=Se.current,gl(l)){if(r=l.stateNode,c=l.memoizedProps,f=null,d=Qt,d!==null)switch(d.tag){case 27:case 5:f=d.memoizedProps}r[qt]=l,r=!!(r.nodeValue===c||f!==null&&f.suppressHydrationWarning===!0||AI(r.nodeValue,c)),r||Ds(l,!0)}else r=Mu(r).createTextNode(f),r[qt]=l,l.stateNode=r}return ft(l),null;case 31:if(c=l.memoizedState,r===null||r.memoizedState!==null){if(f=gl(l),c!==null){if(r===null){if(!f)throw Error(i(318));if(r=l.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(i(557));r[qt]=l}else Dr(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ft(l),r=!1}else c=Mh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=c),r=!0;if(!r)return l.flags&256?(Bn(l),l):(Bn(l),null);if((l.flags&128)!==0)throw Error(i(558))}return ft(l),null;case 13:if(f=l.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(d=gl(l),f!==null&&f.dehydrated!==null){if(r===null){if(!d)throw Error(i(318));if(d=l.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(i(317));d[qt]=l}else Dr(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;ft(l),d=!1}else d=Mh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=d),d=!0;if(!d)return l.flags&256?(Bn(l),l):(Bn(l),null)}return Bn(l),(l.flags&128)!==0?(l.lanes=c,l):(c=f!==null,r=r!==null&&r.memoizedState!==null,c&&(f=l.child,d=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(d=f.alternate.memoizedState.cachePool.pool),S=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(S=f.memoizedState.cachePool.pool),S!==d&&(f.flags|=2048)),c!==r&&c&&(l.child.flags|=8192),Tu(l,l.updateQueue),ft(l),null);case 4:return Oe(),r===null&&YT(l.stateNode.containerInfo),ft(l),null;case 10:return ts(l.type),ft(l),null;case 19:if(X(Ct),f=l.memoizedState,f===null)return ft(l),null;if(d=(l.flags&128)!==0,S=f.rendering,S===null)if(d)oa(f,!1);else{if(Ot!==0||r!==null&&(r.flags&128)!==0)for(r=l.child;r!==null;){if(S=tu(r),S!==null){for(l.flags|=128,oa(f,!1),r=S.updateQueue,l.updateQueue=r,Tu(l,r),l.subtreeFlags=0,r=c,c=l.child;c!==null;)$O(c,r),c=c.sibling;return re(Ct,Ct.current&1|2),Ke&&Zi(l,f.treeForkCount),l.child}r=r.sibling}f.tail!==null&&Pn()>Ou&&(l.flags|=128,d=!0,oa(f,!1),l.lanes=4194304)}else{if(!d)if(r=tu(S),r!==null){if(l.flags|=128,d=!0,r=r.updateQueue,l.updateQueue=r,Tu(l,r),oa(f,!0),f.tail===null&&f.tailMode==="hidden"&&!S.alternate&&!Ke)return ft(l),null}else 2*Pn()-f.renderingStartTime>Ou&&c!==536870912&&(l.flags|=128,d=!0,oa(f,!1),l.lanes=4194304);f.isBackwards?(S.sibling=l.child,l.child=S):(r=f.last,r!==null?r.sibling=S:l.child=S,f.last=S)}return f.tail!==null?(r=f.tail,f.rendering=r,f.tail=r.sibling,f.renderingStartTime=Pn(),r.sibling=null,c=Ct.current,re(Ct,d?c&1|2:c&1),Ke&&Zi(l,f.treeForkCount),r):(ft(l),null);case 22:case 23:return Bn(l),kh(),f=l.memoizedState!==null,r!==null?r.memoizedState!==null!==f&&(l.flags|=8192):f&&(l.flags|=8192),f?(c&536870912)!==0&&(l.flags&128)===0&&(ft(l),l.subtreeFlags&6&&(l.flags|=8192)):ft(l),c=l.updateQueue,c!==null&&Tu(l,c.retryQueue),c=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),f=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(f=l.memoizedState.cachePool.pool),f!==c&&(l.flags|=2048),r!==null&&X(yr),null;case 24:return c=null,r!==null&&(c=r.memoizedState.cache),l.memoizedState.cache!==c&&(l.flags|=2048),ts(Pt),ft(l),null;case 25:return null;case 30:return null}throw Error(i(156,l.tag))}function Ev(r,l){switch(_h(l),l.tag){case 1:return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 3:return ts(Pt),Oe(),r=l.flags,(r&65536)!==0&&(r&128)===0?(l.flags=r&-65537|128,l):null;case 26:case 27:case 5:return ye(l),null;case 31:if(l.memoizedState!==null){if(Bn(l),l.alternate===null)throw Error(i(340));Dr()}return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 13:if(Bn(l),r=l.memoizedState,r!==null&&r.dehydrated!==null){if(l.alternate===null)throw Error(i(340));Dr()}return r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 19:return X(Ct),null;case 4:return Oe(),null;case 10:return ts(l.type),null;case 22:case 23:return Bn(l),kh(),r!==null&&X(yr),r=l.flags,r&65536?(l.flags=r&-65537|128,l):null;case 24:return ts(Pt),null;case 25:return null;default:return null}}function mm(r,l){switch(_h(l),l.tag){case 3:ts(Pt),Oe();break;case 26:case 27:case 5:ye(l);break;case 4:Oe();break;case 31:l.memoizedState!==null&&Bn(l);break;case 13:Bn(l);break;case 19:X(Ct);break;case 10:ts(l.type);break;case 22:case 23:Bn(l),kh(),r!==null&&X(yr);break;case 24:ts(Pt)}}function aa(r,l){try{var c=l.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var d=f.next;c=d;do{if((c.tag&r)===r){f=void 0;var S=c.create,I=c.inst;f=S(),I.destroy=f}c=c.next}while(c!==d)}}catch(g){et(l,l.return,g)}}function xs(r,l,c){try{var f=l.updateQueue,d=f!==null?f.lastEffect:null;if(d!==null){var S=d.next;f=S;do{if((f.tag&r)===r){var I=f.inst,g=I.destroy;if(g!==void 0){I.destroy=void 0,d=l;var y=c,k=g;try{k()}catch($){et(d,y,$)}}}f=f.next}while(f!==S)}}catch($){et(l,l.return,$)}}function Im(r){var l=r.updateQueue;if(l!==null){var c=r.stateNode;try{fN(l,c)}catch(f){et(r,r.return,f)}}}function pm(r,l,c){c.props=Br(r.type,r.memoizedProps),c.state=r.memoizedState;try{c.componentWillUnmount()}catch(f){et(r,l,f)}}function ca(r,l){try{var c=r.ref;if(c!==null){switch(r.tag){case 26:case 27:case 5:var f=r.stateNode;break;case 30:f=r.stateNode;break;default:f=r.stateNode}typeof c=="function"?r.refCleanup=c(f):c.current=f}}catch(d){et(r,l,d)}}function gi(r,l){var c=r.ref,f=r.refCleanup;if(c!==null)if(typeof f=="function")try{f()}catch(d){et(r,l,d)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof c=="function")try{c(null)}catch(d){et(r,l,d)}else c.current=null}function Cm(r){var l=r.type,c=r.memoizedProps,f=r.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":c.autoFocus&&f.focus();break e;case"img":c.src?f.src=c.src:c.srcSet&&(f.srcset=c.srcSet)}}catch(d){et(r,r.return,d)}}function NT(r,l,c){try{var f=r.stateNode;Uv(f,r.type,c,l),f[dn]=l}catch(d){et(r,r.return,d)}}function gm(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&ks(r.type)||r.tag===4}function mT(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||gm(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&ks(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function IT(r,l,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,l?(c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c).insertBefore(r,l):(l=c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c,l.appendChild(r),c=c._reactRootContainer,c!=null||l.onclick!==null||(l.onclick=Ji));else if(f!==4&&(f===27&&ks(r.type)&&(c=r.stateNode,l=null),r=r.child,r!==null))for(IT(r,l,c),r=r.sibling;r!==null;)IT(r,l,c),r=r.sibling}function du(r,l,c){var f=r.tag;if(f===5||f===6)r=r.stateNode,l?c.insertBefore(r,l):c.appendChild(r);else if(f!==4&&(f===27&&ks(r.type)&&(c=r.stateNode),r=r.child,r!==null))for(du(r,l,c),r=r.sibling;r!==null;)du(r,l,c),r=r.sibling}function Lm(r){var l=r.stateNode,c=r.memoizedProps;try{for(var f=r.type,d=l.attributes;d.length;)l.removeAttributeNode(d[0]);tn(l,f,c),l[qt]=r,l[dn]=c}catch(S){et(r,r.return,S)}}var ls=!1,Ut=!1,pT=!1,_m=typeof WeakSet=="function"?WeakSet:Set,kt=null;function fv(r,l){if(r=r.containerInfo,WT=Bu,r=wO(r),Ah(r)){if("selectionStart"in r)var c={start:r.selectionStart,end:r.selectionEnd};else e:{c=(c=r.ownerDocument)&&c.defaultView||window;var f=c.getSelection&&c.getSelection();if(f&&f.rangeCount!==0){c=f.anchorNode;var d=f.anchorOffset,S=f.focusNode;f=f.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var I=0,g=-1,y=-1,k=0,$=0,te=r,W=null;t:for(;;){for(var K;te!==c||d!==0&&te.nodeType!==3||(g=I+d),te!==S||f!==0&&te.nodeType!==3||(y=I+f),te.nodeType===3&&(I+=te.nodeValue.length),(K=te.firstChild)!==null;)W=te,te=K;for(;;){if(te===r)break t;if(W===c&&++k===d&&(g=I),W===S&&++$===f&&(y=I),(K=te.nextSibling)!==null)break;te=W,W=te.parentNode}te=K}c=g===-1||y===-1?null:{start:g,end:y}}else c=null}c=c||{start:0,end:0}}else c=null;for(XT={focusedElem:r,selectionRange:c},Bu=!1,kt=l;kt!==null;)if(l=kt,r=l.child,(l.subtreeFlags&1028)!==0&&r!==null)r.return=l,kt=r;else for(;kt!==null;){switch(l=kt,S=l.alternate,r=l.flags,l.tag){case 0:if((r&4)!==0&&(r=l.updateQueue,r=r!==null?r.events:null,r!==null))for(c=0;c<r.length;c++)d=r[c],d.ref.impl=d.nextImpl;break;case 11:case 15:break;case 1:if((r&1024)!==0&&S!==null){r=void 0,c=l,d=S.memoizedProps,S=S.memoizedState,f=c.stateNode;try{var pe=Br(c.type,d);r=f.getSnapshotBeforeUpdate(pe,S),f.__reactInternalSnapshotBeforeUpdate=r}catch(De){et(c,c.return,De)}}break;case 3:if((r&1024)!==0){if(r=l.stateNode.containerInfo,c=r.nodeType,c===9)$T(r);else if(c===1)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":$T(r);break;default:r.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((r&1024)!==0)throw Error(i(163))}if(r=l.sibling,r!==null){r.return=l.return,kt=r;break}kt=l.return}}function Dm(r,l,c){var f=c.flags;switch(c.tag){case 0:case 11:case 15:as(r,c),f&4&&aa(5,c);break;case 1:if(as(r,c),f&4)if(r=c.stateNode,l===null)try{r.componentDidMount()}catch(I){et(c,c.return,I)}else{var d=Br(c.type,l.memoizedProps);l=l.memoizedState;try{r.componentDidUpdate(d,l,r.__reactInternalSnapshotBeforeUpdate)}catch(I){et(c,c.return,I)}}f&64&&Im(c),f&512&&ca(c,c.return);break;case 3:if(as(r,c),f&64&&(r=c.updateQueue,r!==null)){if(l=null,c.child!==null)switch(c.child.tag){case 27:case 5:l=c.child.stateNode;break;case 1:l=c.child.stateNode}try{fN(r,l)}catch(I){et(c,c.return,I)}}break;case 27:l===null&&f&4&&Lm(c);case 26:case 5:as(r,c),l===null&&f&4&&Cm(c),f&512&&ca(c,c.return);break;case 12:as(r,c);break;case 31:as(r,c),f&4&&ym(r,c);break;case 13:as(r,c),f&4&&vm(r,c),f&64&&(r=c.memoizedState,r!==null&&(r=r.dehydrated,r!==null&&(c=mv.bind(null,c),Yv(r,c))));break;case 22:if(f=c.memoizedState!==null||ls,!f){l=l!==null&&l.memoizedState!==null||Ut,d=ls;var S=Ut;ls=f,(Ut=l)&&!S?cs(r,c,(c.subtreeFlags&8772)!==0):as(r,c),ls=d,Ut=S}break;case 30:break;default:as(r,c)}}function Mm(r){var l=r.alternate;l!==null&&(r.alternate=null,Mm(l)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(l=r.stateNode,l!==null&&Zf(l)),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}var ht=null,Sn=!1;function os(r,l,c){for(c=c.child;c!==null;)Pm(r,l,c),c=c.sibling}function Pm(r,l,c){if(yn&&typeof yn.onCommitFiberUnmount=="function")try{yn.onCommitFiberUnmount(Uo,c)}catch{}switch(c.tag){case 26:Ut||gi(c,l),os(r,l,c),c.memoizedState?c.memoizedState.count--:c.stateNode&&(c=c.stateNode,c.parentNode.removeChild(c));break;case 27:Ut||gi(c,l);var f=ht,d=Sn;ks(c.type)&&(ht=c.stateNode,Sn=!1),os(r,l,c),Ra(c.stateNode),ht=f,Sn=d;break;case 5:Ut||gi(c,l);case 6:if(f=ht,d=Sn,ht=null,os(r,l,c),ht=f,Sn=d,ht!==null)if(Sn)try{(ht.nodeType===9?ht.body:ht.nodeName==="HTML"?ht.ownerDocument.body:ht).removeChild(c.stateNode)}catch(S){et(c,l,S)}else try{ht.removeChild(c.stateNode)}catch(S){et(c,l,S)}break;case 18:ht!==null&&(Sn?(r=ht,II(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,c.stateNode),Kl(r)):II(ht,c.stateNode));break;case 4:f=ht,d=Sn,ht=c.stateNode.containerInfo,Sn=!0,os(r,l,c),ht=f,Sn=d;break;case 0:case 11:case 14:case 15:xs(2,c,l),Ut||xs(4,c,l),os(r,l,c);break;case 1:Ut||(gi(c,l),f=c.stateNode,typeof f.componentWillUnmount=="function"&&pm(c,l,f)),os(r,l,c);break;case 21:os(r,l,c);break;case 22:Ut=(f=Ut)||c.memoizedState!==null,os(r,l,c),Ut=f;break;default:os(r,l,c)}}function ym(r,l){if(l.memoizedState===null&&(r=l.alternate,r!==null&&(r=r.memoizedState,r!==null))){r=r.dehydrated;try{Kl(r)}catch(c){et(l,l.return,c)}}}function vm(r,l){if(l.memoizedState===null&&(r=l.alternate,r!==null&&(r=r.memoizedState,r!==null&&(r=r.dehydrated,r!==null))))try{Kl(r)}catch(c){et(l,l.return,c)}}function hv(r){switch(r.tag){case 31:case 13:case 19:var l=r.stateNode;return l===null&&(l=r.stateNode=new _m),l;case 22:return r=r.stateNode,l=r._retryCache,l===null&&(l=r._retryCache=new _m),l;default:throw Error(i(435,r.tag))}}function Au(r,l){var c=hv(r);l.forEach(function(f){if(!c.has(f)){c.add(f);var d=Iv.bind(null,r,f);f.then(d,d)}})}function Rn(r,l){var c=l.deletions;if(c!==null)for(var f=0;f<c.length;f++){var d=c[f],S=r,I=l,g=I;e:for(;g!==null;){switch(g.tag){case 27:if(ks(g.type)){ht=g.stateNode,Sn=!1;break e}break;case 5:ht=g.stateNode,Sn=!1;break e;case 3:case 4:ht=g.stateNode.containerInfo,Sn=!0;break e}g=g.return}if(ht===null)throw Error(i(160));Pm(S,I,d),ht=null,Sn=!1,S=d.alternate,S!==null&&(S.return=null),d.return=null}if(l.subtreeFlags&13886)for(l=l.child;l!==null;)Um(l,r),l=l.sibling}var ci=null;function Um(r,l){var c=r.alternate,f=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:Rn(l,r),On(r),f&4&&(xs(3,r,r.return),aa(3,r),xs(5,r,r.return));break;case 1:Rn(l,r),On(r),f&512&&(Ut||c===null||gi(c,c.return)),f&64&&ls&&(r=r.updateQueue,r!==null&&(f=r.callbacks,f!==null&&(c=r.shared.hiddenCallbacks,r.shared.hiddenCallbacks=c===null?f:c.concat(f))));break;case 26:var d=ci;if(Rn(l,r),On(r),f&512&&(Ut||c===null||gi(c,c.return)),f&4){var S=c!==null?c.memoizedState:null;if(f=r.memoizedState,c===null)if(f===null)if(r.stateNode===null){e:{f=r.type,c=r.memoizedProps,d=d.ownerDocument||d;t:switch(f){case"title":S=d.getElementsByTagName("title")[0],(!S||S[Bo]||S[qt]||S.namespaceURI==="http://www.w3.org/2000/svg"||S.hasAttribute("itemprop"))&&(S=d.createElement(f),d.head.insertBefore(S,d.querySelector("head > title"))),tn(S,f,c),S[qt]=r,Yt(S),f=S;break e;case"link":var I=UI("link","href",d).get(f+(c.href||""));if(I){for(var g=0;g<I.length;g++)if(S=I[g],S.getAttribute("href")===(c.href==null||c.href===""?null:c.href)&&S.getAttribute("rel")===(c.rel==null?null:c.rel)&&S.getAttribute("title")===(c.title==null?null:c.title)&&S.getAttribute("crossorigin")===(c.crossOrigin==null?null:c.crossOrigin)){I.splice(g,1);break t}}S=d.createElement(f),tn(S,f,c),d.head.appendChild(S);break;case"meta":if(I=UI("meta","content",d).get(f+(c.content||""))){for(g=0;g<I.length;g++)if(S=I[g],S.getAttribute("content")===(c.content==null?null:""+c.content)&&S.getAttribute("name")===(c.name==null?null:c.name)&&S.getAttribute("property")===(c.property==null?null:c.property)&&S.getAttribute("http-equiv")===(c.httpEquiv==null?null:c.httpEquiv)&&S.getAttribute("charset")===(c.charSet==null?null:c.charSet)){I.splice(g,1);break t}}S=d.createElement(f),tn(S,f,c),d.head.appendChild(S);break;default:throw Error(i(468,f))}S[qt]=r,Yt(S),f=S}r.stateNode=f}else bI(d,r.type,r.stateNode);else r.stateNode=vI(d,f,r.memoizedProps);else S!==f?(S===null?c.stateNode!==null&&(c=c.stateNode,c.parentNode.removeChild(c)):S.count--,f===null?bI(d,r.type,r.stateNode):vI(d,f,r.memoizedProps)):f===null&&r.stateNode!==null&&NT(r,r.memoizedProps,c.memoizedProps)}break;case 27:Rn(l,r),On(r),f&512&&(Ut||c===null||gi(c,c.return)),c!==null&&f&4&&NT(r,r.memoizedProps,c.memoizedProps);break;case 5:if(Rn(l,r),On(r),f&512&&(Ut||c===null||gi(c,c.return)),r.flags&32){d=r.stateNode;try{dl(d,"")}catch(pe){et(r,r.return,pe)}}f&4&&r.stateNode!=null&&(d=r.memoizedProps,NT(r,d,c!==null?c.memoizedProps:d)),f&1024&&(pT=!0);break;case 6:if(Rn(l,r),On(r),f&4){if(r.stateNode===null)throw Error(i(162));f=r.memoizedProps,c=r.stateNode;try{c.nodeValue=f}catch(pe){et(r,r.return,pe)}}break;case 3:if(vu=null,d=ci,ci=Pu(l.containerInfo),Rn(l,r),ci=d,On(r),f&4&&c!==null&&c.memoizedState.isDehydrated)try{Kl(l.containerInfo)}catch(pe){et(r,r.return,pe)}pT&&(pT=!1,bm(r));break;case 4:f=ci,ci=Pu(r.stateNode.containerInfo),Rn(l,r),On(r),ci=f;break;case 12:Rn(l,r),On(r);break;case 31:Rn(l,r),On(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Au(r,f)));break;case 13:Rn(l,r),On(r),r.child.flags&8192&&r.memoizedState!==null!=(c!==null&&c.memoizedState!==null)&&(Ru=Pn()),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Au(r,f)));break;case 22:d=r.memoizedState!==null;var y=c!==null&&c.memoizedState!==null,k=ls,$=Ut;if(ls=k||d,Ut=$||y,Rn(l,r),Ut=$,ls=k,On(r),f&8192)e:for(l=r.stateNode,l._visibility=d?l._visibility&-2:l._visibility|1,d&&(c===null||y||ls||Ut||Gr(r)),c=null,l=r;;){if(l.tag===5||l.tag===26){if(c===null){y=c=l;try{if(S=y.stateNode,d)I=S.style,typeof I.setProperty=="function"?I.setProperty("display","none","important"):I.display="none";else{g=y.stateNode;var te=y.memoizedProps.style,W=te!=null&&te.hasOwnProperty("display")?te.display:null;g.style.display=W==null||typeof W=="boolean"?"":(""+W).trim()}}catch(pe){et(y,y.return,pe)}}}else if(l.tag===6){if(c===null){y=l;try{y.stateNode.nodeValue=d?"":y.memoizedProps}catch(pe){et(y,y.return,pe)}}}else if(l.tag===18){if(c===null){y=l;try{var K=y.stateNode;d?pI(K,!0):pI(y.stateNode,!1)}catch(pe){et(y,y.return,pe)}}}else if((l.tag!==22&&l.tag!==23||l.memoizedState===null||l===r)&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===r)break e;for(;l.sibling===null;){if(l.return===null||l.return===r)break e;c===l&&(c=null),l=l.return}c===l&&(c=null),l.sibling.return=l.return,l=l.sibling}f&4&&(f=r.updateQueue,f!==null&&(c=f.retryQueue,c!==null&&(f.retryQueue=null,Au(r,c))));break;case 19:Rn(l,r),On(r),f&4&&(f=r.updateQueue,f!==null&&(r.updateQueue=null,Au(r,f)));break;case 30:break;case 21:break;default:Rn(l,r),On(r)}}function On(r){var l=r.flags;if(l&2){try{for(var c,f=r.return;f!==null;){if(gm(f)){c=f;break}f=f.return}if(c==null)throw Error(i(160));switch(c.tag){case 27:var d=c.stateNode,S=mT(r);du(r,S,d);break;case 5:var I=c.stateNode;c.flags&32&&(dl(I,""),c.flags&=-33);var g=mT(r);du(r,g,I);break;case 3:case 4:var y=c.stateNode.containerInfo,k=mT(r);IT(r,k,y);break;default:throw Error(i(161))}}catch($){et(r,r.return,$)}r.flags&=-3}l&4096&&(r.flags&=-4097)}function bm(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var l=r;bm(l),l.tag===5&&l.flags&1024&&l.stateNode.reset(),r=r.sibling}}function as(r,l){if(l.subtreeFlags&8772)for(l=l.child;l!==null;)Dm(r,l.alternate,l),l=l.sibling}function Gr(r){for(r=r.child;r!==null;){var l=r;switch(l.tag){case 0:case 11:case 14:case 15:xs(4,l,l.return),Gr(l);break;case 1:gi(l,l.return);var c=l.stateNode;typeof c.componentWillUnmount=="function"&&pm(l,l.return,c),Gr(l);break;case 27:Ra(l.stateNode);case 26:case 5:gi(l,l.return),Gr(l);break;case 22:l.memoizedState===null&&Gr(l);break;case 30:Gr(l);break;default:Gr(l)}r=r.sibling}}function cs(r,l,c){for(c=c&&(l.subtreeFlags&8772)!==0,l=l.child;l!==null;){var f=l.alternate,d=r,S=l,I=S.flags;switch(S.tag){case 0:case 11:case 15:cs(d,S,c),aa(4,S);break;case 1:if(cs(d,S,c),f=S,d=f.stateNode,typeof d.componentDidMount=="function")try{d.componentDidMount()}catch(k){et(f,f.return,k)}if(f=S,d=f.updateQueue,d!==null){var g=f.stateNode;try{var y=d.shared.hiddenCallbacks;if(y!==null)for(d.shared.hiddenCallbacks=null,d=0;d<y.length;d++)EN(y[d],g)}catch(k){et(f,f.return,k)}}c&&I&64&&Im(S),ca(S,S.return);break;case 27:Lm(S);case 26:case 5:cs(d,S,c),c&&f===null&&I&4&&Cm(S),ca(S,S.return);break;case 12:cs(d,S,c);break;case 31:cs(d,S,c),c&&I&4&&ym(d,S);break;case 13:cs(d,S,c),c&&I&4&&vm(d,S);break;case 22:S.memoizedState===null&&cs(d,S,c),ca(S,S.return);break;case 30:break;default:cs(d,S,c)}l=l.sibling}}function CT(r,l){var c=null;r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),r=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(r=l.memoizedState.cachePool.pool),r!==c&&(r!=null&&r.refCount++,c!=null&&jo(c))}function gT(r,l){r=null,l.alternate!==null&&(r=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==r&&(l.refCount++,r!=null&&jo(r))}function ui(r,l,c,f){if(l.subtreeFlags&10256)for(l=l.child;l!==null;)xm(r,l,c,f),l=l.sibling}function xm(r,l,c,f){var d=l.flags;switch(l.tag){case 0:case 11:case 15:ui(r,l,c,f),d&2048&&aa(9,l);break;case 1:ui(r,l,c,f);break;case 3:ui(r,l,c,f),d&2048&&(r=null,l.alternate!==null&&(r=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==r&&(l.refCount++,r!=null&&jo(r)));break;case 12:if(d&2048){ui(r,l,c,f),r=l.stateNode;try{var S=l.memoizedProps,I=S.id,g=S.onPostCommit;typeof g=="function"&&g(I,l.alternate===null?"mount":"update",r.passiveEffectDuration,-0)}catch(y){et(l,l.return,y)}}else ui(r,l,c,f);break;case 31:ui(r,l,c,f);break;case 13:ui(r,l,c,f);break;case 23:break;case 22:S=l.stateNode,I=l.alternate,l.memoizedState!==null?S._visibility&2?ui(r,l,c,f):ua(r,l):S._visibility&2?ui(r,l,c,f):(S._visibility|=2,xl(r,l,c,f,(l.subtreeFlags&10256)!==0||!1)),d&2048&&CT(I,l);break;case 24:ui(r,l,c,f),d&2048&&gT(l.alternate,l);break;default:ui(r,l,c,f)}}function xl(r,l,c,f,d){for(d=d&&((l.subtreeFlags&10256)!==0||!1),l=l.child;l!==null;){var S=r,I=l,g=c,y=f,k=I.flags;switch(I.tag){case 0:case 11:case 15:xl(S,I,g,y,d),aa(8,I);break;case 23:break;case 22:var $=I.stateNode;I.memoizedState!==null?$._visibility&2?xl(S,I,g,y,d):ua(S,I):($._visibility|=2,xl(S,I,g,y,d)),d&&k&2048&&CT(I.alternate,I);break;case 24:xl(S,I,g,y,d),d&&k&2048&&gT(I.alternate,I);break;default:xl(S,I,g,y,d)}l=l.sibling}}function ua(r,l){if(l.subtreeFlags&10256)for(l=l.child;l!==null;){var c=r,f=l,d=f.flags;switch(f.tag){case 22:ua(c,f),d&2048&&CT(f.alternate,f);break;case 24:ua(c,f),d&2048&&gT(f.alternate,f);break;default:ua(c,f)}l=l.sibling}}var Ea=8192;function Bl(r,l,c){if(r.subtreeFlags&Ea)for(r=r.child;r!==null;)Bm(r,l,c),r=r.sibling}function Bm(r,l,c){switch(r.tag){case 26:Bl(r,l,c),r.flags&Ea&&r.memoizedState!==null&&Zv(c,ci,r.memoizedState,r.memoizedProps);break;case 5:Bl(r,l,c);break;case 3:case 4:var f=ci;ci=Pu(r.stateNode.containerInfo),Bl(r,l,c),ci=f;break;case 22:r.memoizedState===null&&(f=r.alternate,f!==null&&f.memoizedState!==null?(f=Ea,Ea=16777216,Bl(r,l,c),Ea=f):Bl(r,l,c));break;default:Bl(r,l,c)}}function Gm(r){var l=r.alternate;if(l!==null&&(r=l.child,r!==null)){l.child=null;do l=r.sibling,r.sibling=null,r=l;while(r!==null)}}function fa(r){var l=r.deletions;if((r.flags&16)!==0){if(l!==null)for(var c=0;c<l.length;c++){var f=l[c];kt=f,wm(f,r)}Gm(r)}if(r.subtreeFlags&10256)for(r=r.child;r!==null;)Hm(r),r=r.sibling}function Hm(r){switch(r.tag){case 0:case 11:case 15:fa(r),r.flags&2048&&xs(9,r,r.return);break;case 3:fa(r);break;case 12:fa(r);break;case 22:var l=r.stateNode;r.memoizedState!==null&&l._visibility&2&&(r.return===null||r.return.tag!==13)?(l._visibility&=-3,Su(r)):fa(r);break;default:fa(r)}}function Su(r){var l=r.deletions;if((r.flags&16)!==0){if(l!==null)for(var c=0;c<l.length;c++){var f=l[c];kt=f,wm(f,r)}Gm(r)}for(r=r.child;r!==null;){switch(l=r,l.tag){case 0:case 11:case 15:xs(8,l,l.return),Su(l);break;case 22:c=l.stateNode,c._visibility&2&&(c._visibility&=-3,Su(l));break;default:Su(l)}r=r.sibling}}function wm(r,l){for(;kt!==null;){var c=kt;switch(c.tag){case 0:case 11:case 15:xs(8,c,l);break;case 23:case 22:if(c.memoizedState!==null&&c.memoizedState.cachePool!==null){var f=c.memoizedState.cachePool.pool;f!=null&&f.refCount++}break;case 24:jo(c.memoizedState.cache)}if(f=c.child,f!==null)f.return=c,kt=f;else e:for(c=r;kt!==null;){f=kt;var d=f.sibling,S=f.return;if(Mm(f),f===c){kt=null;break e}if(d!==null){d.return=S,kt=d;break e}kt=S}}}var Tv={getCacheForType:function(r){var l=Zt(Pt),c=l.data.get(r);return c===void 0&&(c=r(),l.data.set(r,c)),c},cacheSignal:function(){return Zt(Pt).controller.signal}},dv=typeof WeakMap=="function"?WeakMap:Map,Qe=0,lt=null,ke=null,We=0,Ze=0,Gn=null,Bs=!1,Gl=!1,LT=!1,us=0,Ot=0,Gs=0,Hr=0,_T=0,Hn=0,Hl=0,ha=null,Nn=null,DT=!1,Ru=0,Fm=0,Ou=1/0,Nu=null,Hs=null,Bt=0,ws=null,wl=null,Es=0,MT=0,PT=null,Ym=null,Ta=0,yT=null;function wn(){return(Qe&2)!==0&&We!==0?We&-We:x.T!==null?GT():iO()}function km(){if(Hn===0)if((We&536870912)===0||Ke){var r=Dc;Dc<<=1,(Dc&3932160)===0&&(Dc=262144),Hn=r}else Hn=536870912;return r=xn.current,r!==null&&(r.flags|=32),Hn}function mn(r,l,c){(r===lt&&(Ze===2||Ze===9)||r.cancelPendingCommit!==null)&&(Fl(r,0),Fs(r,We,Hn,!1)),xo(r,c),((Qe&2)===0||r!==lt)&&(r===lt&&((Qe&2)===0&&(Hr|=c),Ot===4&&Fs(r,We,Hn,!1)),Li(r))}function Vm(r,l,c){if((Qe&6)!==0)throw Error(i(327));var f=!c&&(l&127)===0&&(l&r.expiredLanes)===0||bo(r,l),d=f?Rv(r,l):UT(r,l,!0),S=f;do{if(d===0){Gl&&!f&&Fs(r,l,0,!1);break}else{if(c=r.current.alternate,S&&!Av(c)){d=UT(r,l,!1),S=!1;continue}if(d===2){if(S=l,r.errorRecoveryDisabledLanes&S)var I=0;else I=r.pendingLanes&-536870913,I=I!==0?I:I&536870912?536870912:0;if(I!==0){l=I;e:{var g=r;d=ha;var y=g.current.memoizedState.isDehydrated;if(y&&(Fl(g,I).flags|=256),I=UT(g,I,!1),I!==2){if(LT&&!y){g.errorRecoveryDisabledLanes|=S,Hr|=S,d=4;break e}S=Nn,Nn=d,S!==null&&(Nn===null?Nn=S:Nn.push.apply(Nn,S))}d=I}if(S=!1,d!==2)continue}}if(d===1){Fl(r,0),Fs(r,l,0,!0);break}e:{switch(f=r,S=d,S){case 0:case 1:throw Error(i(345));case 4:if((l&4194048)!==l)break;case 6:Fs(f,l,Hn,!Bs);break e;case 2:Nn=null;break;case 3:case 5:break;default:throw Error(i(329))}if((l&62914560)===l&&(d=Ru+300-Pn(),10<d)){if(Fs(f,l,Hn,!Bs),Pc(f,0,!0)!==0)break e;Es=l,f.timeoutHandle=NI(Wm.bind(null,f,c,Nn,Nu,DT,l,Hn,Hr,Hl,Bs,S,"Throttled",-0,0),d);break e}Wm(f,c,Nn,Nu,DT,l,Hn,Hr,Hl,Bs,S,null,-0,0)}}break}while(!0);Li(r)}function Wm(r,l,c,f,d,S,I,g,y,k,$,te,W,K){if(r.timeoutHandle=-1,te=l.subtreeFlags,te&8192||(te&16785408)===16785408){te={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ji},Bm(l,S,te);var pe=(S&62914560)===S?Ru-Pn():(S&4194048)===S?Fm-Pn():0;if(pe=eU(te,pe),pe!==null){Es=S,r.cancelPendingCommit=pe(Qm.bind(null,r,l,S,c,f,d,I,g,y,$,te,null,W,K)),Fs(r,S,I,!k);return}}Qm(r,l,S,c,f,d,I,g,y)}function Av(r){for(var l=r;;){var c=l.tag;if((c===0||c===11||c===15)&&l.flags&16384&&(c=l.updateQueue,c!==null&&(c=c.stores,c!==null)))for(var f=0;f<c.length;f++){var d=c[f],S=d.getSnapshot;d=d.value;try{if(!Un(S(),d))return!1}catch{return!1}}if(c=l.child,l.subtreeFlags&16384&&c!==null)c.return=l,l=c;else{if(l===r)break;for(;l.sibling===null;){if(l.return===null||l.return===r)return!0;l=l.return}l.sibling.return=l.return,l=l.sibling}}return!0}function Fs(r,l,c,f){l&=~_T,l&=~Hr,r.suspendedLanes|=l,r.pingedLanes&=~l,f&&(r.warmLanes|=l),f=r.expirationTimes;for(var d=l;0<d;){var S=31-vn(d),I=1<<S;f[S]=-1,d&=~I}c!==0&&eO(r,c,l)}function mu(){return(Qe&6)===0?(da(0),!1):!0}function vT(){if(ke!==null){if(Ze===0)var r=ke.return;else r=ke,es=Mr=null,$h(r),Pl=null,qo=0,r=ke;for(;r!==null;)mm(r.alternate,r),r=r.return;ke=null}}function Fl(r,l){var c=r.timeoutHandle;c!==-1&&(r.timeoutHandle=-1,Bv(c)),c=r.cancelPendingCommit,c!==null&&(r.cancelPendingCommit=null,c()),Es=0,vT(),lt=r,ke=c=Qi(r.current,null),We=l,Ze=0,Gn=null,Bs=!1,Gl=bo(r,l),LT=!1,Hl=Hn=_T=Hr=Gs=Ot=0,Nn=ha=null,DT=!1,(l&8)!==0&&(l|=l&32);var f=r.entangledLanes;if(f!==0)for(r=r.entanglements,f&=l;0<f;){var d=31-vn(f),S=1<<d;l|=r[d],f&=~S}return us=l,kc(),c}function Xm(r,l){Be=null,x.H=ra,l===Ml||l===Jc?(l=oN(),Ze=3):l===Bh?(l=oN(),Ze=4):Ze=l===uT?8:l!==null&&typeof l=="object"&&typeof l.then=="function"?6:1,Gn=l,ke===null&&(Ot=1,uu(r,jn(l,r.current)))}function Km(){var r=xn.current;return r===null?!0:(We&4194048)===We?Zn===null:(We&62914560)===We||(We&536870912)!==0?r===Zn:!1}function zm(){var r=x.H;return x.H=ra,r===null?ra:r}function $m(){var r=x.A;return x.A=Tv,r}function Iu(){Ot=4,Bs||(We&4194048)!==We&&xn.current!==null||(Gl=!0),(Gs&134217727)===0&&(Hr&134217727)===0||lt===null||Fs(lt,We,Hn,!1)}function UT(r,l,c){var f=Qe;Qe|=2;var d=zm(),S=$m();(lt!==r||We!==l)&&(Nu=null,Fl(r,l)),l=!1;var I=Ot;e:do try{if(Ze!==0&&ke!==null){var g=ke,y=Gn;switch(Ze){case 8:vT(),I=6;break e;case 3:case 2:case 9:case 6:xn.current===null&&(l=!0);var k=Ze;if(Ze=0,Gn=null,Yl(r,g,y,k),c&&Gl){I=0;break e}break;default:k=Ze,Ze=0,Gn=null,Yl(r,g,y,k)}}Sv(),I=Ot;break}catch($){Xm(r,$)}while(!0);return l&&r.shellSuspendCounter++,es=Mr=null,Qe=f,x.H=d,x.A=S,ke===null&&(lt=null,We=0,kc()),I}function Sv(){for(;ke!==null;)jm(ke)}function Rv(r,l){var c=Qe;Qe|=2;var f=zm(),d=$m();lt!==r||We!==l?(Nu=null,Ou=Pn()+500,Fl(r,l)):Gl=bo(r,l);e:do try{if(Ze!==0&&ke!==null){l=ke;var S=Gn;t:switch(Ze){case 1:Ze=0,Gn=null,Yl(r,l,S,1);break;case 2:case 9:if(rN(S)){Ze=0,Gn=null,Jm(l);break}l=function(){Ze!==2&&Ze!==9||lt!==r||(Ze=7),Li(r)},S.then(l,l);break e;case 3:Ze=7;break e;case 4:Ze=5;break e;case 7:rN(S)?(Ze=0,Gn=null,Jm(l)):(Ze=0,Gn=null,Yl(r,l,S,7));break;case 5:var I=null;switch(ke.tag){case 26:I=ke.memoizedState;case 5:case 27:var g=ke;if(I?xI(I):g.stateNode.complete){Ze=0,Gn=null;var y=g.sibling;if(y!==null)ke=y;else{var k=g.return;k!==null?(ke=k,pu(k)):ke=null}break t}}Ze=0,Gn=null,Yl(r,l,S,5);break;case 6:Ze=0,Gn=null,Yl(r,l,S,6);break;case 8:vT(),Ot=6;break e;default:throw Error(i(462))}}Ov();break}catch($){Xm(r,$)}while(!0);return es=Mr=null,x.H=f,x.A=d,Qe=c,ke!==null?0:(lt=null,We=0,kc(),Ot)}function Ov(){for(;ke!==null&&!ky();)jm(ke)}function jm(r){var l=Om(r.alternate,r,us);r.memoizedProps=r.pendingProps,l===null?pu(r):ke=l}function Jm(r){var l=r,c=l.alternate;switch(l.tag){case 15:case 0:l=hm(c,l,l.pendingProps,l.type,void 0,We);break;case 11:l=hm(c,l,l.pendingProps,l.type.render,l.ref,We);break;case 5:$h(l);default:mm(c,l),l=ke=$O(l,us),l=Om(c,l,us)}r.memoizedProps=r.pendingProps,l===null?pu(r):ke=l}function Yl(r,l,c,f){es=Mr=null,$h(l),Pl=null,qo=0;var d=l.return;try{if(ov(r,d,l,c,We)){Ot=1,uu(r,jn(c,r.current)),ke=null;return}}catch(S){if(d!==null)throw ke=d,S;Ot=1,uu(r,jn(c,r.current)),ke=null;return}l.flags&32768?(Ke||f===1?r=!0:Gl||(We&536870912)!==0?r=!1:(Bs=r=!0,(f===2||f===9||f===3||f===6)&&(f=xn.current,f!==null&&f.tag===13&&(f.flags|=16384))),qm(l,r)):pu(l)}function pu(r){var l=r;do{if((l.flags&32768)!==0){qm(l,Bs);return}r=l.return;var c=uv(l.alternate,l,us);if(c!==null){ke=c;return}if(l=l.sibling,l!==null){ke=l;return}ke=l=r}while(l!==null);Ot===0&&(Ot=5)}function qm(r,l){do{var c=Ev(r.alternate,r);if(c!==null){c.flags&=32767,ke=c;return}if(c=r.return,c!==null&&(c.flags|=32768,c.subtreeFlags=0,c.deletions=null),!l&&(r=r.sibling,r!==null)){ke=r;return}ke=r=c}while(r!==null);Ot=6,ke=null}function Qm(r,l,c,f,d,S,I,g,y){r.cancelPendingCommit=null;do Cu();while(Bt!==0);if((Qe&6)!==0)throw Error(i(327));if(l!==null){if(l===r.current)throw Error(i(177));if(S=l.lanes|l.childLanes,S|=mh,Qy(r,c,S,I,g,y),r===lt&&(ke=lt=null,We=0),wl=l,ws=r,Es=c,MT=S,PT=d,Ym=f,(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?(r.callbackNode=null,r.callbackPriority=0,pv(Lc,function(){return iI(),null})):(r.callbackNode=null,r.callbackPriority=0),f=(l.flags&13878)!==0,(l.subtreeFlags&13878)!==0||f){f=x.T,x.T=null,d=z.p,z.p=2,I=Qe,Qe|=4;try{fv(r,l,c)}finally{Qe=I,z.p=d,x.T=f}}Bt=1,Zm(),eI(),tI()}}function Zm(){if(Bt===1){Bt=0;var r=ws,l=wl,c=(l.flags&13878)!==0;if((l.subtreeFlags&13878)!==0||c){c=x.T,x.T=null;var f=z.p;z.p=2;var d=Qe;Qe|=4;try{Um(l,r);var S=XT,I=wO(r.containerInfo),g=S.focusedElem,y=S.selectionRange;if(I!==g&&g&&g.ownerDocument&&HO(g.ownerDocument.documentElement,g)){if(y!==null&&Ah(g)){var k=y.start,$=y.end;if($===void 0&&($=k),"selectionStart"in g)g.selectionStart=k,g.selectionEnd=Math.min($,g.value.length);else{var te=g.ownerDocument||document,W=te&&te.defaultView||window;if(W.getSelection){var K=W.getSelection(),pe=g.textContent.length,De=Math.min(y.start,pe),it=y.end===void 0?De:Math.min(y.end,pe);!K.extend&&De>it&&(I=it,it=De,De=I);var H=GO(g,De),b=GO(g,it);if(H&&b&&(K.rangeCount!==1||K.anchorNode!==H.node||K.anchorOffset!==H.offset||K.focusNode!==b.node||K.focusOffset!==b.offset)){var Y=te.createRange();Y.setStart(H.node,H.offset),K.removeAllRanges(),De>it?(K.addRange(Y),K.extend(b.node,b.offset)):(Y.setEnd(b.node,b.offset),K.addRange(Y))}}}}for(te=[],K=g;K=K.parentNode;)K.nodeType===1&&te.push({element:K,left:K.scrollLeft,top:K.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<te.length;g++){var Q=te[g];Q.element.scrollLeft=Q.left,Q.element.scrollTop=Q.top}}Bu=!!WT,XT=WT=null}finally{Qe=d,z.p=f,x.T=c}}r.current=l,Bt=2}}function eI(){if(Bt===2){Bt=0;var r=ws,l=wl,c=(l.flags&8772)!==0;if((l.subtreeFlags&8772)!==0||c){c=x.T,x.T=null;var f=z.p;z.p=2;var d=Qe;Qe|=4;try{Dm(r,l.alternate,l)}finally{Qe=d,z.p=f,x.T=c}}Bt=3}}function tI(){if(Bt===4||Bt===3){Bt=0,Vy();var r=ws,l=wl,c=Es,f=Ym;(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?Bt=5:(Bt=0,wl=ws=null,nI(r,r.pendingLanes));var d=r.pendingLanes;if(d===0&&(Hs=null),qf(c),l=l.stateNode,yn&&typeof yn.onCommitFiberRoot=="function")try{yn.onCommitFiberRoot(Uo,l,void 0,(l.current.flags&128)===128)}catch{}if(f!==null){l=x.T,d=z.p,z.p=2,x.T=null;try{for(var S=r.onRecoverableError,I=0;I<f.length;I++){var g=f[I];S(g.value,{componentStack:g.stack})}}finally{x.T=l,z.p=d}}(Es&3)!==0&&Cu(),Li(r),d=r.pendingLanes,(c&261930)!==0&&(d&42)!==0?r===yT?Ta++:(Ta=0,yT=r):Ta=0,da(0)}}function nI(r,l){(r.pooledCacheLanes&=l)===0&&(l=r.pooledCache,l!=null&&(r.pooledCache=null,jo(l)))}function Cu(){return Zm(),eI(),tI(),iI()}function iI(){if(Bt!==5)return!1;var r=ws,l=MT;MT=0;var c=qf(Es),f=x.T,d=z.p;try{z.p=32>c?32:c,x.T=null,c=PT,PT=null;var S=ws,I=Es;if(Bt=0,wl=ws=null,Es=0,(Qe&6)!==0)throw Error(i(331));var g=Qe;if(Qe|=4,Hm(S.current),xm(S,S.current,I,c),Qe=g,da(0,!1),yn&&typeof yn.onPostCommitFiberRoot=="function")try{yn.onPostCommitFiberRoot(Uo,S)}catch{}return!0}finally{z.p=d,x.T=f,nI(r,l)}}function sI(r,l,c){l=jn(c,l),l=cT(r.stateNode,l,2),r=vs(r,l,2),r!==null&&(xo(r,2),Li(r))}function et(r,l,c){if(r.tag===3)sI(r,r,c);else for(;l!==null;){if(l.tag===3){sI(l,r,c);break}else if(l.tag===1){var f=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(Hs===null||!Hs.has(f))){r=jn(c,r),c=rm(2),f=vs(l,c,2),f!==null&&(lm(c,f,l,r),xo(f,2),Li(f));break}}l=l.return}}function bT(r,l,c){var f=r.pingCache;if(f===null){f=r.pingCache=new dv;var d=new Set;f.set(l,d)}else d=f.get(l),d===void 0&&(d=new Set,f.set(l,d));d.has(c)||(LT=!0,d.add(c),r=Nv.bind(null,r,l,c),l.then(r,r))}function Nv(r,l,c){var f=r.pingCache;f!==null&&f.delete(l),r.pingedLanes|=r.suspendedLanes&c,r.warmLanes&=~c,lt===r&&(We&c)===c&&(Ot===4||Ot===3&&(We&62914560)===We&&300>Pn()-Ru?(Qe&2)===0&&Fl(r,0):_T|=c,Hl===We&&(Hl=0)),Li(r)}function rI(r,l){l===0&&(l=ZR()),r=Lr(r,l),r!==null&&(xo(r,l),Li(r))}function mv(r){var l=r.memoizedState,c=0;l!==null&&(c=l.retryLane),rI(r,c)}function Iv(r,l){var c=0;switch(r.tag){case 31:case 13:var f=r.stateNode,d=r.memoizedState;d!==null&&(c=d.retryLane);break;case 19:f=r.stateNode;break;case 22:f=r.stateNode._retryCache;break;default:throw Error(i(314))}f!==null&&f.delete(l),rI(r,c)}function pv(r,l){return ct(r,l)}var gu=null,kl=null,xT=!1,Lu=!1,BT=!1,Ys=0;function Li(r){r!==kl&&r.next===null&&(kl===null?gu=kl=r:kl=kl.next=r),Lu=!0,xT||(xT=!0,gv())}function da(r,l){if(!BT&&Lu){BT=!0;do for(var c=!1,f=gu;f!==null;){if(r!==0){var d=f.pendingLanes;if(d===0)var S=0;else{var I=f.suspendedLanes,g=f.pingedLanes;S=(1<<31-vn(42|r)+1)-1,S&=d&~(I&~g),S=S&201326741?S&201326741|1:S?S|2:0}S!==0&&(c=!0,cI(f,S))}else S=We,S=Pc(f,f===lt?S:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(S&3)===0||bo(f,S)||(c=!0,cI(f,S));f=f.next}while(c);BT=!1}}function Cv(){lI()}function lI(){Lu=xT=!1;var r=0;Ys!==0&&xv()&&(r=Ys);for(var l=Pn(),c=null,f=gu;f!==null;){var d=f.next,S=oI(f,l);S===0?(f.next=null,c===null?gu=d:c.next=d,d===null&&(kl=c)):(c=f,(r!==0||(S&3)!==0)&&(Lu=!0)),f=d}Bt!==0&&Bt!==5||da(r),Ys!==0&&(Ys=0)}function oI(r,l){for(var c=r.suspendedLanes,f=r.pingedLanes,d=r.expirationTimes,S=r.pendingLanes&-62914561;0<S;){var I=31-vn(S),g=1<<I,y=d[I];y===-1?((g&c)===0||(g&f)!==0)&&(d[I]=qy(g,l)):y<=l&&(r.expiredLanes|=g),S&=~g}if(l=lt,c=We,c=Pc(r,r===l?c:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f=r.callbackNode,c===0||r===l&&(Ze===2||Ze===9)||r.cancelPendingCommit!==null)return f!==null&&f!==null&&Ii(f),r.callbackNode=null,r.callbackPriority=0;if((c&3)===0||bo(r,c)){if(l=c&-c,l===r.callbackPriority)return l;switch(f!==null&&Ii(f),qf(c)){case 2:case 8:c=qR;break;case 32:c=Lc;break;case 268435456:c=QR;break;default:c=Lc}return f=aI.bind(null,r),c=ct(c,f),r.callbackPriority=l,r.callbackNode=c,l}return f!==null&&f!==null&&Ii(f),r.callbackPriority=2,r.callbackNode=null,2}function aI(r,l){if(Bt!==0&&Bt!==5)return r.callbackNode=null,r.callbackPriority=0,null;var c=r.callbackNode;if(Cu()&&r.callbackNode!==c)return null;var f=We;return f=Pc(r,r===lt?f:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),f===0?null:(Vm(r,f,l),oI(r,Pn()),r.callbackNode!=null&&r.callbackNode===c?aI.bind(null,r):null)}function cI(r,l){if(Cu())return null;Vm(r,l,!0)}function gv(){Gv(function(){(Qe&6)!==0?ct(JR,Cv):lI()})}function GT(){if(Ys===0){var r=_l;r===0&&(r=_c,_c<<=1,(_c&261888)===0&&(_c=256)),Ys=r}return Ys}function uI(r){return r==null||typeof r=="symbol"||typeof r=="boolean"?null:typeof r=="function"?r:bc(""+r)}function EI(r,l){var c=l.ownerDocument.createElement("input");return c.name=l.name,c.value=l.value,r.id&&c.setAttribute("form",r.id),l.parentNode.insertBefore(c,l),r=new FormData(r),c.parentNode.removeChild(c),r}function Lv(r,l,c,f,d){if(l==="submit"&&c&&c.stateNode===d){var S=uI((d[dn]||null).action),I=f.submitter;I&&(l=(l=I[dn]||null)?uI(l.formAction):I.getAttribute("formAction"),l!==null&&(S=l,I=null));var g=new Hc("action","action",null,f,d);r.push({event:g,listeners:[{instance:null,listener:function(){if(f.defaultPrevented){if(Ys!==0){var y=I?EI(d,I):new FormData(d);iT(c,{pending:!0,data:y,method:d.method,action:S},null,y)}}else typeof S=="function"&&(g.preventDefault(),y=I?EI(d,I):new FormData(d),iT(c,{pending:!0,data:y,method:d.method,action:S},S,y))},currentTarget:d}]})}}for(var HT=0;HT<Nh.length;HT++){var wT=Nh[HT],_v=wT.toLowerCase(),Dv=wT[0].toUpperCase()+wT.slice(1);ai(_v,"on"+Dv)}ai(kO,"onAnimationEnd"),ai(VO,"onAnimationIteration"),ai(WO,"onAnimationStart"),ai("dblclick","onDoubleClick"),ai("focusin","onFocus"),ai("focusout","onBlur"),ai(W0,"onTransitionRun"),ai(X0,"onTransitionStart"),ai(K0,"onTransitionCancel"),ai(XO,"onTransitionEnd"),hl("onMouseEnter",["mouseout","mouseover"]),hl("onMouseLeave",["mouseout","mouseover"]),hl("onPointerEnter",["pointerout","pointerover"]),hl("onPointerLeave",["pointerout","pointerover"]),Ir("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ir("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ir("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ir("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ir("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ir("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Aa="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mv=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Aa));function fI(r,l){l=(l&4)!==0;for(var c=0;c<r.length;c++){var f=r[c],d=f.event;f=f.listeners;e:{var S=void 0;if(l)for(var I=f.length-1;0<=I;I--){var g=f[I],y=g.instance,k=g.currentTarget;if(g=g.listener,y!==S&&d.isPropagationStopped())break e;S=g,d.currentTarget=k;try{S(d)}catch($){Yc($)}d.currentTarget=null,S=y}else for(I=0;I<f.length;I++){if(g=f[I],y=g.instance,k=g.currentTarget,g=g.listener,y!==S&&d.isPropagationStopped())break e;S=g,d.currentTarget=k;try{S(d)}catch($){Yc($)}d.currentTarget=null,S=y}}}}function Ve(r,l){var c=l[Qf];c===void 0&&(c=l[Qf]=new Set);var f=r+"__bubble";c.has(f)||(hI(l,r,2,!1),c.add(f))}function FT(r,l,c){var f=0;l&&(f|=4),hI(c,r,f,l)}var _u="_reactListening"+Math.random().toString(36).slice(2);function YT(r){if(!r[_u]){r[_u]=!0,lO.forEach(function(c){c!=="selectionchange"&&(Mv.has(c)||FT(c,!1,r),FT(c,!0,r))});var l=r.nodeType===9?r:r.ownerDocument;l===null||l[_u]||(l[_u]=!0,FT("selectionchange",!1,l))}}function hI(r,l,c,f){switch(kI(l)){case 2:var d=iU;break;case 8:d=sU;break;default:d=nd}c=d.bind(null,l,c,r),d=void 0,!oh||l!=="touchstart"&&l!=="touchmove"&&l!=="wheel"||(d=!0),f?d!==void 0?r.addEventListener(l,c,{capture:!0,passive:d}):r.addEventListener(l,c,!0):d!==void 0?r.addEventListener(l,c,{passive:d}):r.addEventListener(l,c,!1)}function kT(r,l,c,f,d){var S=f;if((l&1)===0&&(l&2)===0&&f!==null)e:for(;;){if(f===null)return;var I=f.tag;if(I===3||I===4){var g=f.stateNode.containerInfo;if(g===d)break;if(I===4)for(I=f.return;I!==null;){var y=I.tag;if((y===3||y===4)&&I.stateNode.containerInfo===d)return;I=I.return}for(;g!==null;){if(I=ul(g),I===null)return;if(y=I.tag,y===5||y===6||y===26||y===27){f=S=I;continue e}g=g.parentNode}}f=f.return}RO(function(){var k=S,$=rh(c),te=[];e:{var W=KO.get(r);if(W!==void 0){var K=Hc,pe=r;switch(r){case"keypress":if(Bc(c)===0)break e;case"keydown":case"keyup":K=I0;break;case"focusin":pe="focus",K=Eh;break;case"focusout":pe="blur",K=Eh;break;case"beforeblur":case"afterblur":K=Eh;break;case"click":if(c.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":K=mO;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":K=u0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":K=g0;break;case kO:case VO:case WO:K=h0;break;case XO:K=_0;break;case"scroll":case"scrollend":K=a0;break;case"wheel":K=M0;break;case"copy":case"cut":case"paste":K=d0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":K=pO;break;case"toggle":case"beforetoggle":K=y0}var De=(l&4)!==0,it=!De&&(r==="scroll"||r==="scrollend"),H=De?W!==null?W+"Capture":null:W;De=[];for(var b=k,Y;b!==null;){var Q=b;if(Y=Q.stateNode,Q=Q.tag,Q!==5&&Q!==26&&Q!==27||Y===null||H===null||(Q=Ho(b,H),Q!=null&&De.push(Sa(b,Q,Y))),it)break;b=b.return}0<De.length&&(W=new K(W,pe,null,c,$),te.push({event:W,listeners:De}))}}if((l&7)===0){e:{if(W=r==="mouseover"||r==="pointerover",K=r==="mouseout"||r==="pointerout",W&&c!==sh&&(pe=c.relatedTarget||c.fromElement)&&(ul(pe)||pe[cl]))break e;if((K||W)&&(W=$.window===$?$:(W=$.ownerDocument)?W.defaultView||W.parentWindow:window,K?(pe=c.relatedTarget||c.toElement,K=k,pe=pe?ul(pe):null,pe!==null&&(it=o(pe),De=pe.tag,pe!==it||De!==5&&De!==27&&De!==6)&&(pe=null)):(K=null,pe=k),K!==pe)){if(De=mO,Q="onMouseLeave",H="onMouseEnter",b="mouse",(r==="pointerout"||r==="pointerover")&&(De=pO,Q="onPointerLeave",H="onPointerEnter",b="pointer"),it=K==null?W:Go(K),Y=pe==null?W:Go(pe),W=new De(Q,b+"leave",K,c,$),W.target=it,W.relatedTarget=Y,Q=null,ul($)===k&&(De=new De(H,b+"enter",pe,c,$),De.target=Y,De.relatedTarget=it,Q=De),it=Q,K&&pe)t:{for(De=Pv,H=K,b=pe,Y=0,Q=H;Q;Q=De(Q))Y++;Q=0;for(var Le=b;Le;Le=De(Le))Q++;for(;0<Y-Q;)H=De(H),Y--;for(;0<Q-Y;)b=De(b),Q--;for(;Y--;){if(H===b||b!==null&&H===b.alternate){De=H;break t}H=De(H),b=De(b)}De=null}else De=null;K!==null&&TI(te,W,K,De,!1),pe!==null&&it!==null&&TI(te,it,pe,De,!0)}}e:{if(W=k?Go(k):window,K=W.nodeName&&W.nodeName.toLowerCase(),K==="select"||K==="input"&&W.type==="file")var Je=yO;else if(MO(W))if(vO)Je=Y0;else{Je=w0;var ge=H0}else K=W.nodeName,!K||K.toLowerCase()!=="input"||W.type!=="checkbox"&&W.type!=="radio"?k&&ih(k.elementType)&&(Je=yO):Je=F0;if(Je&&(Je=Je(r,k))){PO(te,Je,c,$);break e}ge&&ge(r,W,k),r==="focusout"&&k&&W.type==="number"&&k.memoizedProps.value!=null&&nh(W,"number",W.value)}switch(ge=k?Go(k):window,r){case"focusin":(MO(ge)||ge.contentEditable==="true")&&(Ol=ge,Sh=k,Ko=null);break;case"focusout":Ko=Sh=Ol=null;break;case"mousedown":Rh=!0;break;case"contextmenu":case"mouseup":case"dragend":Rh=!1,FO(te,c,$);break;case"selectionchange":if(V0)break;case"keydown":case"keyup":FO(te,c,$)}var He;if(hh)e:{switch(r){case"compositionstart":var Xe="onCompositionStart";break e;case"compositionend":Xe="onCompositionEnd";break e;case"compositionupdate":Xe="onCompositionUpdate";break e}Xe=void 0}else Rl?_O(r,c)&&(Xe="onCompositionEnd"):r==="keydown"&&c.keyCode===229&&(Xe="onCompositionStart");Xe&&(CO&&c.locale!=="ko"&&(Rl||Xe!=="onCompositionStart"?Xe==="onCompositionEnd"&&Rl&&(He=OO()):(gs=$,ah="value"in gs?gs.value:gs.textContent,Rl=!0)),ge=Du(k,Xe),0<ge.length&&(Xe=new IO(Xe,r,null,c,$),te.push({event:Xe,listeners:ge}),He?Xe.data=He:(He=DO(c),He!==null&&(Xe.data=He)))),(He=U0?b0(r,c):x0(r,c))&&(Xe=Du(k,"onBeforeInput"),0<Xe.length&&(ge=new IO("onBeforeInput","beforeinput",null,c,$),te.push({event:ge,listeners:Xe}),ge.data=He)),Lv(te,r,k,c,$)}fI(te,l)})}function Sa(r,l,c){return{instance:r,listener:l,currentTarget:c}}function Du(r,l){for(var c=l+"Capture",f=[];r!==null;){var d=r,S=d.stateNode;if(d=d.tag,d!==5&&d!==26&&d!==27||S===null||(d=Ho(r,c),d!=null&&f.unshift(Sa(r,d,S)),d=Ho(r,l),d!=null&&f.push(Sa(r,d,S))),r.tag===3)return f;r=r.return}return[]}function Pv(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5&&r.tag!==27);return r||null}function TI(r,l,c,f,d){for(var S=l._reactName,I=[];c!==null&&c!==f;){var g=c,y=g.alternate,k=g.stateNode;if(g=g.tag,y!==null&&y===f)break;g!==5&&g!==26&&g!==27||k===null||(y=k,d?(k=Ho(c,S),k!=null&&I.unshift(Sa(c,k,y))):d||(k=Ho(c,S),k!=null&&I.push(Sa(c,k,y)))),c=c.return}I.length!==0&&r.push({event:l,listeners:I})}var yv=/\r\n?/g,vv=/\u0000|\uFFFD/g;function dI(r){return(typeof r=="string"?r:""+r).replace(yv,`
50
- `).replace(vv,"")}function AI(r,l){return l=dI(l),dI(r)===l}function nt(r,l,c,f,d,S){switch(c){case"children":typeof f=="string"?l==="body"||l==="textarea"&&f===""||dl(r,f):(typeof f=="number"||typeof f=="bigint")&&l!=="body"&&dl(r,""+f);break;case"className":vc(r,"class",f);break;case"tabIndex":vc(r,"tabindex",f);break;case"dir":case"role":case"viewBox":case"width":case"height":vc(r,c,f);break;case"style":AO(r,f,S);break;case"data":if(l!=="object"){vc(r,"data",f);break}case"src":case"href":if(f===""&&(l!=="a"||c!=="href")){r.removeAttribute(c);break}if(f==null||typeof f=="function"||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=bc(""+f),r.setAttribute(c,f);break;case"action":case"formAction":if(typeof f=="function"){r.setAttribute(c,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof S=="function"&&(c==="formAction"?(l!=="input"&&nt(r,l,"name",d.name,d,null),nt(r,l,"formEncType",d.formEncType,d,null),nt(r,l,"formMethod",d.formMethod,d,null),nt(r,l,"formTarget",d.formTarget,d,null)):(nt(r,l,"encType",d.encType,d,null),nt(r,l,"method",d.method,d,null),nt(r,l,"target",d.target,d,null)));if(f==null||typeof f=="symbol"||typeof f=="boolean"){r.removeAttribute(c);break}f=bc(""+f),r.setAttribute(c,f);break;case"onClick":f!=null&&(r.onclick=Ji);break;case"onScroll":f!=null&&Ve("scroll",r);break;case"onScrollEnd":f!=null&&Ve("scrollend",r);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(i(61));if(c=f.__html,c!=null){if(d.children!=null)throw Error(i(60));r.innerHTML=c}}break;case"multiple":r.multiple=f&&typeof f!="function"&&typeof f!="symbol";break;case"muted":r.muted=f&&typeof f!="function"&&typeof f!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(f==null||typeof f=="function"||typeof f=="boolean"||typeof f=="symbol"){r.removeAttribute("xlink:href");break}c=bc(""+f),r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",c);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""+f):r.removeAttribute(c);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":f&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,""):r.removeAttribute(c);break;case"capture":case"download":f===!0?r.setAttribute(c,""):f!==!1&&f!=null&&typeof f!="function"&&typeof f!="symbol"?r.setAttribute(c,f):r.removeAttribute(c);break;case"cols":case"rows":case"size":case"span":f!=null&&typeof f!="function"&&typeof f!="symbol"&&!isNaN(f)&&1<=f?r.setAttribute(c,f):r.removeAttribute(c);break;case"rowSpan":case"start":f==null||typeof f=="function"||typeof f=="symbol"||isNaN(f)?r.removeAttribute(c):r.setAttribute(c,f);break;case"popover":Ve("beforetoggle",r),Ve("toggle",r),yc(r,"popover",f);break;case"xlinkActuate":ji(r,"http://www.w3.org/1999/xlink","xlink:actuate",f);break;case"xlinkArcrole":ji(r,"http://www.w3.org/1999/xlink","xlink:arcrole",f);break;case"xlinkRole":ji(r,"http://www.w3.org/1999/xlink","xlink:role",f);break;case"xlinkShow":ji(r,"http://www.w3.org/1999/xlink","xlink:show",f);break;case"xlinkTitle":ji(r,"http://www.w3.org/1999/xlink","xlink:title",f);break;case"xlinkType":ji(r,"http://www.w3.org/1999/xlink","xlink:type",f);break;case"xmlBase":ji(r,"http://www.w3.org/XML/1998/namespace","xml:base",f);break;case"xmlLang":ji(r,"http://www.w3.org/XML/1998/namespace","xml:lang",f);break;case"xmlSpace":ji(r,"http://www.w3.org/XML/1998/namespace","xml:space",f);break;case"is":yc(r,"is",f);break;case"innerText":case"textContent":break;default:(!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(c=l0.get(c)||c,yc(r,c,f))}}function VT(r,l,c,f,d,S){switch(c){case"style":AO(r,f,S);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(i(61));if(c=f.__html,c!=null){if(d.children!=null)throw Error(i(60));r.innerHTML=c}}break;case"children":typeof f=="string"?dl(r,f):(typeof f=="number"||typeof f=="bigint")&&dl(r,""+f);break;case"onScroll":f!=null&&Ve("scroll",r);break;case"onScrollEnd":f!=null&&Ve("scrollend",r);break;case"onClick":f!=null&&(r.onclick=Ji);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!oO.hasOwnProperty(c))e:{if(c[0]==="o"&&c[1]==="n"&&(d=c.endsWith("Capture"),l=c.slice(2,d?c.length-7:void 0),S=r[dn]||null,S=S!=null?S[c]:null,typeof S=="function"&&r.removeEventListener(l,S,d),typeof f=="function")){typeof S!="function"&&S!==null&&(c in r?r[c]=null:r.hasAttribute(c)&&r.removeAttribute(c)),r.addEventListener(l,f,d);break e}c in r?r[c]=f:f===!0?r.setAttribute(c,""):yc(r,c,f)}}}function tn(r,l,c){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ve("error",r),Ve("load",r);var f=!1,d=!1,S;for(S in c)if(c.hasOwnProperty(S)){var I=c[S];if(I!=null)switch(S){case"src":f=!0;break;case"srcSet":d=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(i(137,l));default:nt(r,l,S,I,c,null)}}d&&nt(r,l,"srcSet",c.srcSet,c,null),f&&nt(r,l,"src",c.src,c,null);return;case"input":Ve("invalid",r);var g=S=I=d=null,y=null,k=null;for(f in c)if(c.hasOwnProperty(f)){var $=c[f];if($!=null)switch(f){case"name":d=$;break;case"type":I=$;break;case"checked":y=$;break;case"defaultChecked":k=$;break;case"value":S=$;break;case"defaultValue":g=$;break;case"children":case"dangerouslySetInnerHTML":if($!=null)throw Error(i(137,l));break;default:nt(r,l,f,$,c,null)}}fO(r,S,g,y,k,I,d,!1);return;case"select":Ve("invalid",r),f=I=S=null;for(d in c)if(c.hasOwnProperty(d)&&(g=c[d],g!=null))switch(d){case"value":S=g;break;case"defaultValue":I=g;break;case"multiple":f=g;default:nt(r,l,d,g,c,null)}l=S,c=I,r.multiple=!!f,l!=null?Tl(r,!!f,l,!1):c!=null&&Tl(r,!!f,c,!0);return;case"textarea":Ve("invalid",r),S=d=f=null;for(I in c)if(c.hasOwnProperty(I)&&(g=c[I],g!=null))switch(I){case"value":f=g;break;case"defaultValue":d=g;break;case"children":S=g;break;case"dangerouslySetInnerHTML":if(g!=null)throw Error(i(91));break;default:nt(r,l,I,g,c,null)}TO(r,f,d,S);return;case"option":for(y in c)if(c.hasOwnProperty(y)&&(f=c[y],f!=null))switch(y){case"selected":r.selected=f&&typeof f!="function"&&typeof f!="symbol";break;default:nt(r,l,y,f,c,null)}return;case"dialog":Ve("beforetoggle",r),Ve("toggle",r),Ve("cancel",r),Ve("close",r);break;case"iframe":case"object":Ve("load",r);break;case"video":case"audio":for(f=0;f<Aa.length;f++)Ve(Aa[f],r);break;case"image":Ve("error",r),Ve("load",r);break;case"details":Ve("toggle",r);break;case"embed":case"source":case"link":Ve("error",r),Ve("load",r);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(k in c)if(c.hasOwnProperty(k)&&(f=c[k],f!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(i(137,l));default:nt(r,l,k,f,c,null)}return;default:if(ih(l)){for($ in c)c.hasOwnProperty($)&&(f=c[$],f!==void 0&&VT(r,l,$,f,c,void 0));return}}for(g in c)c.hasOwnProperty(g)&&(f=c[g],f!=null&&nt(r,l,g,f,c,null))}function Uv(r,l,c,f){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var d=null,S=null,I=null,g=null,y=null,k=null,$=null;for(K in c){var te=c[K];if(c.hasOwnProperty(K)&&te!=null)switch(K){case"checked":break;case"value":break;case"defaultValue":y=te;default:f.hasOwnProperty(K)||nt(r,l,K,null,f,te)}}for(var W in f){var K=f[W];if(te=c[W],f.hasOwnProperty(W)&&(K!=null||te!=null))switch(W){case"type":S=K;break;case"name":d=K;break;case"checked":k=K;break;case"defaultChecked":$=K;break;case"value":I=K;break;case"defaultValue":g=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(i(137,l));break;default:K!==te&&nt(r,l,W,K,f,te)}}th(r,I,g,y,k,$,S,d);return;case"select":K=I=g=W=null;for(S in c)if(y=c[S],c.hasOwnProperty(S)&&y!=null)switch(S){case"value":break;case"multiple":K=y;default:f.hasOwnProperty(S)||nt(r,l,S,null,f,y)}for(d in f)if(S=f[d],y=c[d],f.hasOwnProperty(d)&&(S!=null||y!=null))switch(d){case"value":W=S;break;case"defaultValue":g=S;break;case"multiple":I=S;default:S!==y&&nt(r,l,d,S,f,y)}l=g,c=I,f=K,W!=null?Tl(r,!!c,W,!1):!!f!=!!c&&(l!=null?Tl(r,!!c,l,!0):Tl(r,!!c,c?[]:"",!1));return;case"textarea":K=W=null;for(g in c)if(d=c[g],c.hasOwnProperty(g)&&d!=null&&!f.hasOwnProperty(g))switch(g){case"value":break;case"children":break;default:nt(r,l,g,null,f,d)}for(I in f)if(d=f[I],S=c[I],f.hasOwnProperty(I)&&(d!=null||S!=null))switch(I){case"value":W=d;break;case"defaultValue":K=d;break;case"children":break;case"dangerouslySetInnerHTML":if(d!=null)throw Error(i(91));break;default:d!==S&&nt(r,l,I,d,f,S)}hO(r,W,K);return;case"option":for(var pe in c)if(W=c[pe],c.hasOwnProperty(pe)&&W!=null&&!f.hasOwnProperty(pe))switch(pe){case"selected":r.selected=!1;break;default:nt(r,l,pe,null,f,W)}for(y in f)if(W=f[y],K=c[y],f.hasOwnProperty(y)&&W!==K&&(W!=null||K!=null))switch(y){case"selected":r.selected=W&&typeof W!="function"&&typeof W!="symbol";break;default:nt(r,l,y,W,f,K)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var De in c)W=c[De],c.hasOwnProperty(De)&&W!=null&&!f.hasOwnProperty(De)&&nt(r,l,De,null,f,W);for(k in f)if(W=f[k],K=c[k],f.hasOwnProperty(k)&&W!==K&&(W!=null||K!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(i(137,l));break;default:nt(r,l,k,W,f,K)}return;default:if(ih(l)){for(var it in c)W=c[it],c.hasOwnProperty(it)&&W!==void 0&&!f.hasOwnProperty(it)&&VT(r,l,it,void 0,f,W);for($ in f)W=f[$],K=c[$],!f.hasOwnProperty($)||W===K||W===void 0&&K===void 0||VT(r,l,$,W,f,K);return}}for(var H in c)W=c[H],c.hasOwnProperty(H)&&W!=null&&!f.hasOwnProperty(H)&&nt(r,l,H,null,f,W);for(te in f)W=f[te],K=c[te],!f.hasOwnProperty(te)||W===K||W==null&&K==null||nt(r,l,te,W,f,K)}function SI(r){switch(r){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function bv(){if(typeof performance.getEntriesByType=="function"){for(var r=0,l=0,c=performance.getEntriesByType("resource"),f=0;f<c.length;f++){var d=c[f],S=d.transferSize,I=d.initiatorType,g=d.duration;if(S&&g&&SI(I)){for(I=0,g=d.responseEnd,f+=1;f<c.length;f++){var y=c[f],k=y.startTime;if(k>g)break;var $=y.transferSize,te=y.initiatorType;$&&SI(te)&&(y=y.responseEnd,I+=$*(y<g?1:(g-k)/(y-k)))}if(--f,l+=8*(S+I)/(d.duration/1e3),r++,10<r)break}}if(0<r)return l/r/1e6}return navigator.connection&&(r=navigator.connection.downlink,typeof r=="number")?r:5}var WT=null,XT=null;function Mu(r){return r.nodeType===9?r:r.ownerDocument}function RI(r){switch(r){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function OI(r,l){if(r===0)switch(l){case"svg":return 1;case"math":return 2;default:return 0}return r===1&&l==="foreignObject"?0:r}function KT(r,l){return r==="textarea"||r==="noscript"||typeof l.children=="string"||typeof l.children=="number"||typeof l.children=="bigint"||typeof l.dangerouslySetInnerHTML=="object"&&l.dangerouslySetInnerHTML!==null&&l.dangerouslySetInnerHTML.__html!=null}var zT=null;function xv(){var r=window.event;return r&&r.type==="popstate"?r===zT?!1:(zT=r,!0):(zT=null,!1)}var NI=typeof setTimeout=="function"?setTimeout:void 0,Bv=typeof clearTimeout=="function"?clearTimeout:void 0,mI=typeof Promise=="function"?Promise:void 0,Gv=typeof queueMicrotask=="function"?queueMicrotask:typeof mI<"u"?function(r){return mI.resolve(null).then(r).catch(Hv)}:NI;function Hv(r){setTimeout(function(){throw r})}function ks(r){return r==="head"}function II(r,l){var c=l,f=0;do{var d=c.nextSibling;if(r.removeChild(c),d&&d.nodeType===8)if(c=d.data,c==="/$"||c==="/&"){if(f===0){r.removeChild(d),Kl(l);return}f--}else if(c==="$"||c==="$?"||c==="$~"||c==="$!"||c==="&")f++;else if(c==="html")Ra(r.ownerDocument.documentElement);else if(c==="head"){c=r.ownerDocument.head,Ra(c);for(var S=c.firstChild;S;){var I=S.nextSibling,g=S.nodeName;S[Bo]||g==="SCRIPT"||g==="STYLE"||g==="LINK"&&S.rel.toLowerCase()==="stylesheet"||c.removeChild(S),S=I}}else c==="body"&&Ra(r.ownerDocument.body);c=d}while(c);Kl(l)}function pI(r,l){var c=r;r=0;do{var f=c.nextSibling;if(c.nodeType===1?l?(c._stashedDisplay=c.style.display,c.style.display="none"):(c.style.display=c._stashedDisplay||"",c.getAttribute("style")===""&&c.removeAttribute("style")):c.nodeType===3&&(l?(c._stashedText=c.nodeValue,c.nodeValue=""):c.nodeValue=c._stashedText||""),f&&f.nodeType===8)if(c=f.data,c==="/$"){if(r===0)break;r--}else c!=="$"&&c!=="$?"&&c!=="$~"&&c!=="$!"||r++;c=f}while(c)}function $T(r){var l=r.firstChild;for(l&&l.nodeType===10&&(l=l.nextSibling);l;){var c=l;switch(l=l.nextSibling,c.nodeName){case"HTML":case"HEAD":case"BODY":$T(c),Zf(c);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(c.rel.toLowerCase()==="stylesheet")continue}r.removeChild(c)}}function wv(r,l,c,f){for(;r.nodeType===1;){var d=c;if(r.nodeName.toLowerCase()!==l.toLowerCase()){if(!f&&(r.nodeName!=="INPUT"||r.type!=="hidden"))break}else if(f){if(!r[Bo])switch(l){case"meta":if(!r.hasAttribute("itemprop"))break;return r;case"link":if(S=r.getAttribute("rel"),S==="stylesheet"&&r.hasAttribute("data-precedence"))break;if(S!==d.rel||r.getAttribute("href")!==(d.href==null||d.href===""?null:d.href)||r.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin)||r.getAttribute("title")!==(d.title==null?null:d.title))break;return r;case"style":if(r.hasAttribute("data-precedence"))break;return r;case"script":if(S=r.getAttribute("src"),(S!==(d.src==null?null:d.src)||r.getAttribute("type")!==(d.type==null?null:d.type)||r.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin))&&S&&r.hasAttribute("async")&&!r.hasAttribute("itemprop"))break;return r;default:return r}}else if(l==="input"&&r.type==="hidden"){var S=d.name==null?null:""+d.name;if(d.type==="hidden"&&r.getAttribute("name")===S)return r}else return r;if(r=ei(r.nextSibling),r===null)break}return null}function Fv(r,l,c){if(l==="")return null;for(;r.nodeType!==3;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!c||(r=ei(r.nextSibling),r===null))return null;return r}function CI(r,l){for(;r.nodeType!==8;)if((r.nodeType!==1||r.nodeName!=="INPUT"||r.type!=="hidden")&&!l||(r=ei(r.nextSibling),r===null))return null;return r}function jT(r){return r.data==="$?"||r.data==="$~"}function JT(r){return r.data==="$!"||r.data==="$?"&&r.ownerDocument.readyState!=="loading"}function Yv(r,l){var c=r.ownerDocument;if(r.data==="$~")r._reactRetry=l;else if(r.data!=="$?"||c.readyState!=="loading")l();else{var f=function(){l(),c.removeEventListener("DOMContentLoaded",f)};c.addEventListener("DOMContentLoaded",f),r._reactRetry=f}}function ei(r){for(;r!=null;r=r.nextSibling){var l=r.nodeType;if(l===1||l===3)break;if(l===8){if(l=r.data,l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"||l==="F!"||l==="F")break;if(l==="/$"||l==="/&")return null}}return r}var qT=null;function gI(r){r=r.nextSibling;for(var l=0;r;){if(r.nodeType===8){var c=r.data;if(c==="/$"||c==="/&"){if(l===0)return ei(r.nextSibling);l--}else c!=="$"&&c!=="$!"&&c!=="$?"&&c!=="$~"&&c!=="&"||l++}r=r.nextSibling}return null}function LI(r){r=r.previousSibling;for(var l=0;r;){if(r.nodeType===8){var c=r.data;if(c==="$"||c==="$!"||c==="$?"||c==="$~"||c==="&"){if(l===0)return r;l--}else c!=="/$"&&c!=="/&"||l++}r=r.previousSibling}return null}function _I(r,l,c){switch(l=Mu(c),r){case"html":if(r=l.documentElement,!r)throw Error(i(452));return r;case"head":if(r=l.head,!r)throw Error(i(453));return r;case"body":if(r=l.body,!r)throw Error(i(454));return r;default:throw Error(i(451))}}function Ra(r){for(var l=r.attributes;l.length;)r.removeAttributeNode(l[0]);Zf(r)}var ti=new Map,DI=new Set;function Pu(r){return typeof r.getRootNode=="function"?r.getRootNode():r.nodeType===9?r:r.ownerDocument}var fs=z.d;z.d={f:kv,r:Vv,D:Wv,C:Xv,L:Kv,m:zv,X:jv,S:$v,M:Jv};function kv(){var r=fs.f(),l=mu();return r||l}function Vv(r){var l=El(r);l!==null&&l.tag===5&&l.type==="form"?XN(l):fs.r(r)}var Vl=typeof document>"u"?null:document;function MI(r,l,c){var f=Vl;if(f&&typeof l=="string"&&l){var d=zn(l);d='link[rel="'+r+'"][href="'+d+'"]',typeof c=="string"&&(d+='[crossorigin="'+c+'"]'),DI.has(d)||(DI.add(d),r={rel:r,crossOrigin:c,href:l},f.querySelector(d)===null&&(l=f.createElement("link"),tn(l,"link",r),Yt(l),f.head.appendChild(l)))}}function Wv(r){fs.D(r),MI("dns-prefetch",r,null)}function Xv(r,l){fs.C(r,l),MI("preconnect",r,l)}function Kv(r,l,c){fs.L(r,l,c);var f=Vl;if(f&&r&&l){var d='link[rel="preload"][as="'+zn(l)+'"]';l==="image"&&c&&c.imageSrcSet?(d+='[imagesrcset="'+zn(c.imageSrcSet)+'"]',typeof c.imageSizes=="string"&&(d+='[imagesizes="'+zn(c.imageSizes)+'"]')):d+='[href="'+zn(r)+'"]';var S=d;switch(l){case"style":S=Wl(r);break;case"script":S=Xl(r)}ti.has(S)||(r=A({rel:"preload",href:l==="image"&&c&&c.imageSrcSet?void 0:r,as:l},c),ti.set(S,r),f.querySelector(d)!==null||l==="style"&&f.querySelector(Oa(S))||l==="script"&&f.querySelector(Na(S))||(l=f.createElement("link"),tn(l,"link",r),Yt(l),f.head.appendChild(l)))}}function zv(r,l){fs.m(r,l);var c=Vl;if(c&&r){var f=l&&typeof l.as=="string"?l.as:"script",d='link[rel="modulepreload"][as="'+zn(f)+'"][href="'+zn(r)+'"]',S=d;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":S=Xl(r)}if(!ti.has(S)&&(r=A({rel:"modulepreload",href:r},l),ti.set(S,r),c.querySelector(d)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(c.querySelector(Na(S)))return}f=c.createElement("link"),tn(f,"link",r),Yt(f),c.head.appendChild(f)}}}function $v(r,l,c){fs.S(r,l,c);var f=Vl;if(f&&r){var d=fl(f).hoistableStyles,S=Wl(r);l=l||"default";var I=d.get(S);if(!I){var g={loading:0,preload:null};if(I=f.querySelector(Oa(S)))g.loading=5;else{r=A({rel:"stylesheet",href:r,"data-precedence":l},c),(c=ti.get(S))&&QT(r,c);var y=I=f.createElement("link");Yt(y),tn(y,"link",r),y._p=new Promise(function(k,$){y.onload=k,y.onerror=$}),y.addEventListener("load",function(){g.loading|=1}),y.addEventListener("error",function(){g.loading|=2}),g.loading|=4,yu(I,l,f)}I={type:"stylesheet",instance:I,count:1,state:g},d.set(S,I)}}}function jv(r,l){fs.X(r,l);var c=Vl;if(c&&r){var f=fl(c).hoistableScripts,d=Xl(r),S=f.get(d);S||(S=c.querySelector(Na(d)),S||(r=A({src:r,async:!0},l),(l=ti.get(d))&&ZT(r,l),S=c.createElement("script"),Yt(S),tn(S,"link",r),c.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},f.set(d,S))}}function Jv(r,l){fs.M(r,l);var c=Vl;if(c&&r){var f=fl(c).hoistableScripts,d=Xl(r),S=f.get(d);S||(S=c.querySelector(Na(d)),S||(r=A({src:r,async:!0,type:"module"},l),(l=ti.get(d))&&ZT(r,l),S=c.createElement("script"),Yt(S),tn(S,"link",r),c.head.appendChild(S)),S={type:"script",instance:S,count:1,state:null},f.set(d,S))}}function PI(r,l,c,f){var d=(d=Se.current)?Pu(d):null;if(!d)throw Error(i(446));switch(r){case"meta":case"title":return null;case"style":return typeof c.precedence=="string"&&typeof c.href=="string"?(l=Wl(c.href),c=fl(d).hoistableStyles,f=c.get(l),f||(f={type:"style",instance:null,count:0,state:null},c.set(l,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(c.rel==="stylesheet"&&typeof c.href=="string"&&typeof c.precedence=="string"){r=Wl(c.href);var S=fl(d).hoistableStyles,I=S.get(r);if(I||(d=d.ownerDocument||d,I={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},S.set(r,I),(S=d.querySelector(Oa(r)))&&!S._p&&(I.instance=S,I.state.loading=5),ti.has(r)||(c={rel:"preload",as:"style",href:c.href,crossOrigin:c.crossOrigin,integrity:c.integrity,media:c.media,hrefLang:c.hrefLang,referrerPolicy:c.referrerPolicy},ti.set(r,c),S||qv(d,r,c,I.state))),l&&f===null)throw Error(i(528,""));return I}if(l&&f!==null)throw Error(i(529,""));return null;case"script":return l=c.async,c=c.src,typeof c=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=Xl(c),c=fl(d).hoistableScripts,f=c.get(l),f||(f={type:"script",instance:null,count:0,state:null},c.set(l,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,r))}}function Wl(r){return'href="'+zn(r)+'"'}function Oa(r){return'link[rel="stylesheet"]['+r+"]"}function yI(r){return A({},r,{"data-precedence":r.precedence,precedence:null})}function qv(r,l,c,f){r.querySelector('link[rel="preload"][as="style"]['+l+"]")?f.loading=1:(l=r.createElement("link"),f.preload=l,l.addEventListener("load",function(){return f.loading|=1}),l.addEventListener("error",function(){return f.loading|=2}),tn(l,"link",c),Yt(l),r.head.appendChild(l))}function Xl(r){return'[src="'+zn(r)+'"]'}function Na(r){return"script[async]"+r}function vI(r,l,c){if(l.count++,l.instance===null)switch(l.type){case"style":var f=r.querySelector('style[data-href~="'+zn(c.href)+'"]');if(f)return l.instance=f,Yt(f),f;var d=A({},c,{"data-href":c.href,"data-precedence":c.precedence,href:null,precedence:null});return f=(r.ownerDocument||r).createElement("style"),Yt(f),tn(f,"style",d),yu(f,c.precedence,r),l.instance=f;case"stylesheet":d=Wl(c.href);var S=r.querySelector(Oa(d));if(S)return l.state.loading|=4,l.instance=S,Yt(S),S;f=yI(c),(d=ti.get(d))&&QT(f,d),S=(r.ownerDocument||r).createElement("link"),Yt(S);var I=S;return I._p=new Promise(function(g,y){I.onload=g,I.onerror=y}),tn(S,"link",f),l.state.loading|=4,yu(S,c.precedence,r),l.instance=S;case"script":return S=Xl(c.src),(d=r.querySelector(Na(S)))?(l.instance=d,Yt(d),d):(f=c,(d=ti.get(S))&&(f=A({},c),ZT(f,d)),r=r.ownerDocument||r,d=r.createElement("script"),Yt(d),tn(d,"link",f),r.head.appendChild(d),l.instance=d);case"void":return null;default:throw Error(i(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(f=l.instance,l.state.loading|=4,yu(f,c.precedence,r));return l.instance}function yu(r,l,c){for(var f=c.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),d=f.length?f[f.length-1]:null,S=d,I=0;I<f.length;I++){var g=f[I];if(g.dataset.precedence===l)S=g;else if(S!==d)break}S?S.parentNode.insertBefore(r,S.nextSibling):(l=c.nodeType===9?c.head:c,l.insertBefore(r,l.firstChild))}function QT(r,l){r.crossOrigin==null&&(r.crossOrigin=l.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=l.referrerPolicy),r.title==null&&(r.title=l.title)}function ZT(r,l){r.crossOrigin==null&&(r.crossOrigin=l.crossOrigin),r.referrerPolicy==null&&(r.referrerPolicy=l.referrerPolicy),r.integrity==null&&(r.integrity=l.integrity)}var vu=null;function UI(r,l,c){if(vu===null){var f=new Map,d=vu=new Map;d.set(c,f)}else d=vu,f=d.get(c),f||(f=new Map,d.set(c,f));if(f.has(r))return f;for(f.set(r,null),c=c.getElementsByTagName(r),d=0;d<c.length;d++){var S=c[d];if(!(S[Bo]||S[qt]||r==="link"&&S.getAttribute("rel")==="stylesheet")&&S.namespaceURI!=="http://www.w3.org/2000/svg"){var I=S.getAttribute(l)||"";I=r+I;var g=f.get(I);g?g.push(S):f.set(I,[S])}}return f}function bI(r,l,c){r=r.ownerDocument||r,r.head.insertBefore(c,l==="title"?r.querySelector("head > title"):null)}function Qv(r,l,c){if(c===1||l.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return r=l.disabled,typeof l.precedence=="string"&&r==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function xI(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function Zv(r,l,c,f){if(c.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(c.state.loading&4)===0){if(c.instance===null){var d=Wl(f.href),S=l.querySelector(Oa(d));if(S){l=S._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(r.count++,r=Uu.bind(r),l.then(r,r)),c.state.loading|=4,c.instance=S,Yt(S);return}S=l.ownerDocument||l,f=yI(f),(d=ti.get(d))&&QT(f,d),S=S.createElement("link"),Yt(S);var I=S;I._p=new Promise(function(g,y){I.onload=g,I.onerror=y}),tn(S,"link",f),c.instance=S}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(c,l),(l=c.state.preload)&&(c.state.loading&3)===0&&(r.count++,c=Uu.bind(r),l.addEventListener("load",c),l.addEventListener("error",c))}}var ed=0;function eU(r,l){return r.stylesheets&&r.count===0&&xu(r,r.stylesheets),0<r.count||0<r.imgCount?function(c){var f=setTimeout(function(){if(r.stylesheets&&xu(r,r.stylesheets),r.unsuspend){var S=r.unsuspend;r.unsuspend=null,S()}},6e4+l);0<r.imgBytes&&ed===0&&(ed=62500*bv());var d=setTimeout(function(){if(r.waitingForImages=!1,r.count===0&&(r.stylesheets&&xu(r,r.stylesheets),r.unsuspend)){var S=r.unsuspend;r.unsuspend=null,S()}},(r.imgBytes>ed?50:800)+l);return r.unsuspend=c,function(){r.unsuspend=null,clearTimeout(f),clearTimeout(d)}}:null}function Uu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var bu=null;function xu(r,l){r.stylesheets=null,r.unsuspend!==null&&(r.count++,bu=new Map,l.forEach(tU,r),bu=null,Uu.call(r))}function tU(r,l){if(!(l.state.loading&4)){var c=bu.get(r);if(c)var f=c.get(null);else{c=new Map,bu.set(r,c);for(var d=r.querySelectorAll("link[data-precedence],style[data-precedence]"),S=0;S<d.length;S++){var I=d[S];(I.nodeName==="LINK"||I.getAttribute("media")!=="not all")&&(c.set(I.dataset.precedence,I),f=I)}f&&c.set(null,f)}d=l.instance,I=d.getAttribute("data-precedence"),S=c.get(I)||f,S===f&&c.set(null,d),c.set(I,d),this.count++,f=Uu.bind(this),d.addEventListener("load",f),d.addEventListener("error",f),S?S.parentNode.insertBefore(d,S.nextSibling):(r=r.nodeType===9?r.head:r,r.insertBefore(d,r.firstChild)),l.state.loading|=4}}var ma={$$typeof:D,Provider:null,Consumer:null,_currentValue:ne,_currentValue2:ne,_threadCount:0};function nU(r,l,c,f,d,S,I,g,y){this.tag=1,this.containerInfo=r,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=jf(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=jf(0),this.hiddenUpdates=jf(null),this.identifierPrefix=f,this.onUncaughtError=d,this.onCaughtError=S,this.onRecoverableError=I,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=y,this.incompleteTransitions=new Map}function BI(r,l,c,f,d,S,I,g,y,k,$,te){return r=new nU(r,l,c,I,y,k,$,te,g),l=1,S===!0&&(l|=24),S=bn(3,null,null,l),r.current=S,S.stateNode=r,l=Uh(),l.refCount++,r.pooledCache=l,l.refCount++,S.memoizedState={element:f,isDehydrated:c,cache:l},Gh(S),r}function GI(r){return r?(r=Il,r):Il}function HI(r,l,c,f,d,S){d=GI(d),f.context===null?f.context=d:f.pendingContext=d,f=ys(l),f.payload={element:c},S=S===void 0?null:S,S!==null&&(f.callback=S),c=vs(r,f,l),c!==null&&(mn(c,r,l),Zo(c,r,l))}function wI(r,l){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var c=r.retryLane;r.retryLane=c!==0&&c<l?c:l}}function td(r,l){wI(r,l),(r=r.alternate)&&wI(r,l)}function FI(r){if(r.tag===13||r.tag===31){var l=Lr(r,67108864);l!==null&&mn(l,r,67108864),td(r,67108864)}}function YI(r){if(r.tag===13||r.tag===31){var l=wn();l=Jf(l);var c=Lr(r,l);c!==null&&mn(c,r,l),td(r,l)}}var Bu=!0;function iU(r,l,c,f){var d=x.T;x.T=null;var S=z.p;try{z.p=2,nd(r,l,c,f)}finally{z.p=S,x.T=d}}function sU(r,l,c,f){var d=x.T;x.T=null;var S=z.p;try{z.p=8,nd(r,l,c,f)}finally{z.p=S,x.T=d}}function nd(r,l,c,f){if(Bu){var d=id(f);if(d===null)kT(r,l,f,Gu,c),VI(r,f);else if(lU(d,r,l,c,f))f.stopPropagation();else if(VI(r,f),l&4&&-1<rU.indexOf(r)){for(;d!==null;){var S=El(d);if(S!==null)switch(S.tag){case 3:if(S=S.stateNode,S.current.memoizedState.isDehydrated){var I=mr(S.pendingLanes);if(I!==0){var g=S;for(g.pendingLanes|=2,g.entangledLanes|=2;I;){var y=1<<31-vn(I);g.entanglements[1]|=y,I&=~y}Li(S),(Qe&6)===0&&(Ou=Pn()+500,da(0))}}break;case 31:case 13:g=Lr(S,2),g!==null&&mn(g,S,2),mu(),td(S,2)}if(S=id(f),S===null&&kT(r,l,f,Gu,c),S===d)break;d=S}d!==null&&f.stopPropagation()}else kT(r,l,f,null,c)}}function id(r){return r=rh(r),sd(r)}var Gu=null;function sd(r){if(Gu=null,r=ul(r),r!==null){var l=o(r);if(l===null)r=null;else{var c=l.tag;if(c===13){if(r=a(l),r!==null)return r;r=null}else if(c===31){if(r=u(l),r!==null)return r;r=null}else if(c===3){if(l.stateNode.current.memoizedState.isDehydrated)return l.tag===3?l.stateNode.containerInfo:null;r=null}else l!==r&&(r=null)}}return Gu=r,null}function kI(r){switch(r){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Wy()){case JR:return 2;case qR:return 8;case Lc:case Xy:return 32;case QR:return 268435456;default:return 32}default:return 32}}var rd=!1,Vs=null,Ws=null,Xs=null,Ia=new Map,pa=new Map,Ks=[],rU="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function VI(r,l){switch(r){case"focusin":case"focusout":Vs=null;break;case"dragenter":case"dragleave":Ws=null;break;case"mouseover":case"mouseout":Xs=null;break;case"pointerover":case"pointerout":Ia.delete(l.pointerId);break;case"gotpointercapture":case"lostpointercapture":pa.delete(l.pointerId)}}function Ca(r,l,c,f,d,S){return r===null||r.nativeEvent!==S?(r={blockedOn:l,domEventName:c,eventSystemFlags:f,nativeEvent:S,targetContainers:[d]},l!==null&&(l=El(l),l!==null&&FI(l)),r):(r.eventSystemFlags|=f,l=r.targetContainers,d!==null&&l.indexOf(d)===-1&&l.push(d),r)}function lU(r,l,c,f,d){switch(l){case"focusin":return Vs=Ca(Vs,r,l,c,f,d),!0;case"dragenter":return Ws=Ca(Ws,r,l,c,f,d),!0;case"mouseover":return Xs=Ca(Xs,r,l,c,f,d),!0;case"pointerover":var S=d.pointerId;return Ia.set(S,Ca(Ia.get(S)||null,r,l,c,f,d)),!0;case"gotpointercapture":return S=d.pointerId,pa.set(S,Ca(pa.get(S)||null,r,l,c,f,d)),!0}return!1}function WI(r){var l=ul(r.target);if(l!==null){var c=o(l);if(c!==null){if(l=c.tag,l===13){if(l=a(c),l!==null){r.blockedOn=l,sO(r.priority,function(){YI(c)});return}}else if(l===31){if(l=u(c),l!==null){r.blockedOn=l,sO(r.priority,function(){YI(c)});return}}else if(l===3&&c.stateNode.current.memoizedState.isDehydrated){r.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}r.blockedOn=null}function Hu(r){if(r.blockedOn!==null)return!1;for(var l=r.targetContainers;0<l.length;){var c=id(r.nativeEvent);if(c===null){c=r.nativeEvent;var f=new c.constructor(c.type,c);sh=f,c.target.dispatchEvent(f),sh=null}else return l=El(c),l!==null&&FI(l),r.blockedOn=c,!1;l.shift()}return!0}function XI(r,l,c){Hu(r)&&c.delete(l)}function oU(){rd=!1,Vs!==null&&Hu(Vs)&&(Vs=null),Ws!==null&&Hu(Ws)&&(Ws=null),Xs!==null&&Hu(Xs)&&(Xs=null),Ia.forEach(XI),pa.forEach(XI)}function wu(r,l){r.blockedOn===l&&(r.blockedOn=null,rd||(rd=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,oU)))}var Fu=null;function KI(r){Fu!==r&&(Fu=r,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){Fu===r&&(Fu=null);for(var l=0;l<r.length;l+=3){var c=r[l],f=r[l+1],d=r[l+2];if(typeof f!="function"){if(sd(f||c)===null)continue;break}var S=El(c);S!==null&&(r.splice(l,3),l-=3,iT(S,{pending:!0,data:d,method:c.method,action:f},f,d))}}))}function Kl(r){function l(y){return wu(y,r)}Vs!==null&&wu(Vs,r),Ws!==null&&wu(Ws,r),Xs!==null&&wu(Xs,r),Ia.forEach(l),pa.forEach(l);for(var c=0;c<Ks.length;c++){var f=Ks[c];f.blockedOn===r&&(f.blockedOn=null)}for(;0<Ks.length&&(c=Ks[0],c.blockedOn===null);)WI(c),c.blockedOn===null&&Ks.shift();if(c=(r.ownerDocument||r).$$reactFormReplay,c!=null)for(f=0;f<c.length;f+=3){var d=c[f],S=c[f+1],I=d[dn]||null;if(typeof S=="function")I||KI(c);else if(I){var g=null;if(S&&S.hasAttribute("formAction")){if(d=S,I=S[dn]||null)g=I.formAction;else if(sd(d)!==null)continue}else g=I.action;typeof g=="function"?c[f+1]=g:(c.splice(f,3),f-=3),KI(c)}}}function zI(){function r(S){S.canIntercept&&S.info==="react-transition"&&S.intercept({handler:function(){return new Promise(function(I){return d=I})},focusReset:"manual",scroll:"manual"})}function l(){d!==null&&(d(),d=null),f||setTimeout(c,20)}function c(){if(!f&&!navigation.transition){var S=navigation.currentEntry;S&&S.url!=null&&navigation.navigate(S.url,{state:S.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var f=!1,d=null;return navigation.addEventListener("navigate",r),navigation.addEventListener("navigatesuccess",l),navigation.addEventListener("navigateerror",l),setTimeout(c,100),function(){f=!0,navigation.removeEventListener("navigate",r),navigation.removeEventListener("navigatesuccess",l),navigation.removeEventListener("navigateerror",l),d!==null&&(d(),d=null)}}}function ld(r){this._internalRoot=r}Yu.prototype.render=ld.prototype.render=function(r){var l=this._internalRoot;if(l===null)throw Error(i(409));var c=l.current,f=wn();HI(c,f,r,l,null,null)},Yu.prototype.unmount=ld.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var l=r.containerInfo;HI(r.current,2,null,r,null,null),mu(),l[cl]=null}};function Yu(r){this._internalRoot=r}Yu.prototype.unstable_scheduleHydration=function(r){if(r){var l=iO();r={blockedOn:null,target:r,priority:l};for(var c=0;c<Ks.length&&l!==0&&l<Ks[c].priority;c++);Ks.splice(c,0,r),c===0&&WI(r)}};var $I=e.version;if($I!=="19.2.7")throw Error(i(527,$I,"19.2.7"));z.findDOMNode=function(r){var l=r._reactInternals;if(l===void 0)throw typeof r.render=="function"?Error(i(188)):(r=Object.keys(r).join(","),Error(i(268,r)));return r=h(l),r=r!==null?T(r):null,r=r===null?null:r.stateNode,r};var aU={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:x,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ku=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ku.isDisabled&&ku.supportsFiber)try{Uo=ku.inject(aU),yn=ku}catch{}}return La.createRoot=function(r,l){if(!s(r))throw Error(i(299));var c=!1,f="",d=tm,S=nm,I=im;return l!=null&&(l.unstable_strictMode===!0&&(c=!0),l.identifierPrefix!==void 0&&(f=l.identifierPrefix),l.onUncaughtError!==void 0&&(d=l.onUncaughtError),l.onCaughtError!==void 0&&(S=l.onCaughtError),l.onRecoverableError!==void 0&&(I=l.onRecoverableError)),l=BI(r,1,!1,null,null,c,f,null,d,S,I,zI),r[cl]=l.current,YT(r),new ld(l)},La.hydrateRoot=function(r,l,c){if(!s(r))throw Error(i(299));var f=!1,d="",S=tm,I=nm,g=im,y=null;return c!=null&&(c.unstable_strictMode===!0&&(f=!0),c.identifierPrefix!==void 0&&(d=c.identifierPrefix),c.onUncaughtError!==void 0&&(S=c.onUncaughtError),c.onCaughtError!==void 0&&(I=c.onCaughtError),c.onRecoverableError!==void 0&&(g=c.onRecoverableError),c.formState!==void 0&&(y=c.formState)),l=BI(r,1,!0,l,c??null,f,d,y,S,I,g,zI),l.context=GI(null),c=l.current,f=wn(),f=Jf(f),d=ys(f),d.callback=null,vs(c,d,f),c=f,l.current.lanes=c,xo(l,c),Li(l),r[cl]=l.current,YT(r),new Yu(l)},La.version="19.2.7",La}var sp;function OU(){if(sp)return cd.exports;sp=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),cd.exports=RU(),cd.exports}var NU=OU();const mU="modulepreload",IU=function(n){return"/"+n},rp={},pU=function(e,t,i){let s=Promise.resolve();if(t&&t.length>0){let a=function(h){return Promise.all(h.map(T=>Promise.resolve(T).then(A=>({status:"fulfilled",value:A}),A=>({status:"rejected",reason:A}))))};document.getElementsByTagName("link");const u=document.querySelector("meta[property=csp-nonce]"),E=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));s=a(t.map(h=>{if(h=IU(h),h in rp)return;rp[h]=!0;const T=h.endsWith(".css"),A=T?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${A}`))return;const R=document.createElement("link");if(R.rel=T?"stylesheet":mU,T||(R.as="script"),R.crossOrigin="",R.href=h,E&&R.setAttribute("nonce",E),document.head.appendChild(R),T)return new Promise((O,N)=>{R.addEventListener("load",O),R.addEventListener("error",()=>N(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(a){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=a,window.dispatchEvent(u),!u.defaultPrevented)throw a}return s.then(a=>{for(const u of a||[])u.status==="rejected"&&o(u.reason);return e().catch(o)})};function BL(n){var e,t,i="";if(typeof n=="string"||typeof n=="number")i+=n;else if(typeof n=="object")if(Array.isArray(n)){var s=n.length;for(e=0;e<s;e++)n[e]&&(t=BL(n[e]))&&(i&&(i+=" "),i+=t)}else for(t in n)n[t]&&(i&&(i+=" "),i+=t);return i}function GL(){for(var n,e,t=0,i="",s=arguments.length;t<s;t++)(n=arguments[t])&&(e=BL(n))&&(i&&(i+=" "),i+=e);return i}const lp=n=>typeof n=="boolean"?`${n}`:n===0?"0":n,op=GL,CU=(n,e)=>t=>{var i;if((e==null?void 0:e.variants)==null)return op(n,t==null?void 0:t.class,t==null?void 0:t.className);const{variants:s,defaultVariants:o}=e,a=Object.keys(s).map(h=>{const T=t==null?void 0:t[h],A=o==null?void 0:o[h];if(T===null)return null;const R=lp(T)||lp(A);return s[h][R]}),u=t&&Object.entries(t).reduce((h,T)=>{let[A,R]=T;return R===void 0||(h[A]=R),h},{}),E=e==null||(i=e.compoundVariants)===null||i===void 0?void 0:i.reduce((h,T)=>{let{class:A,className:R,...O}=T;return Object.entries(O).every(N=>{let[m,C]=N;return Array.isArray(C)?C.includes({...o,...u}[m]):{...o,...u}[m]===C})?[...h,A,R]:h},[]);return op(n,a,E,t==null?void 0:t.class,t==null?void 0:t.className)};var Sc=xL();function ap(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function gU(...n){return e=>{let t=!1;const i=n.map(s=>{const o=ap(s,e);return!t&&typeof o=="function"&&(t=!0),o});if(t)return()=>{for(let s=0;s<i.length;s++){const o=i[s];typeof o=="function"?o():ap(n[s],null)}}}}function $t(...n){return M.useCallback(gU(...n),n)}function za(n){const e=M.forwardRef((t,i)=>{let{children:s,...o}=t,a=null,u=!1;const E=[];cp(s)&&typeof Vu=="function"&&(s=Vu(s._payload)),M.Children.forEach(s,R=>{var O;if(yU(R)){u=!0;const N=R;let m="child"in N.props?N.props.child:N.props.children;cp(m)&&typeof Vu=="function"&&(m=Vu(m._payload)),a=DU(N,m),E.push((O=a==null?void 0:a.props)==null?void 0:O.children)}else E.push(R)}),a?a=M.cloneElement(a,void 0,E):!u&&M.Children.count(s)===1&&M.isValidElement(s)&&(a=s);const h=a?PU(a):void 0,T=$t(i,h);if(!a){if(s||s===0)throw new Error(u?xU(n):bU(n));return s}const A=MU(o,a.props??{});return a.type!==M.Fragment&&(A.ref=i?T:h),M.cloneElement(a,A)});return e.displayName=`${n}.Slot`,e}var LU=za("Slot"),_U=Symbol.for("radix.slottable"),DU=(n,e)=>{if("child"in n.props){const t=n.props.child;return M.isValidElement(t)?M.cloneElement(t,void 0,n.props.children(t.props.children)):null}return M.isValidElement(e)?e:null};function MU(n,e){const t={...e};for(const i in e){const s=n[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?t[i]=(...u)=>{const E=o(...u);return s(...u),E}:s&&(t[i]=s):i==="style"?t[i]={...s,...o}:i==="className"&&(t[i]=[s,o].filter(Boolean).join(" "))}return{...n,...t}}function PU(n){var i,s;let e=(i=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}function yU(n){return M.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===_U}var vU=Symbol.for("react.lazy");function cp(n){return n!=null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===vU&&"_payload"in n&&UU(n._payload)}function UU(n){return typeof n=="object"&&n!==null&&"then"in n}var bU=n=>`${n} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,xU=n=>`${n} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Vu=Ac[" use ".trim().toString()],BU=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Mt=BU.reduce((n,e)=>{const t=za(`Primitive.${e}`),i=M.forwardRef((s,o)=>{const{asChild:a,...u}=s,E=a?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(E,{...u,ref:o})});return i.displayName=`Primitive.${e}`,{...n,[e]:i}},{});function GU(n,e){n&&Sc.flushSync(()=>n.dispatchEvent(e))}var HL=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),HU="VisuallyHidden",wU=M.forwardRef((n,e)=>p.jsx(Mt.span,{...n,ref:e,style:{...HL,...n.style}}));wU.displayName=HU;function kS(n,e=[]){let t=[];function i(o,a){const u=M.createContext(a);u.displayName=o+"Context";const E=t.length;t=[...t,a];const h=A=>{var L;const{scope:R,children:O,...N}=A,m=((L=R==null?void 0:R[n])==null?void 0:L[E])||u,C=M.useMemo(()=>N,Object.values(N));return p.jsx(m.Provider,{value:C,children:O})};h.displayName=o+"Provider";function T(A,R){var m;const O=((m=R==null?void 0:R[n])==null?void 0:m[E])||u,N=M.useContext(O);if(N)return N;if(a!==void 0)return a;throw new Error(`\`${A}\` must be used within \`${o}\``)}return[h,T]}const s=()=>{const o=t.map(a=>M.createContext(a));return function(u){const E=(u==null?void 0:u[n])||o;return M.useMemo(()=>({[`__scope${n}`]:{...u,[n]:E}}),[u,E])}};return s.scopeName=n,[i,FU(s,...e)]}function FU(...n){const e=n[0];if(n.length===1)return e;const t=()=>{const i=n.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(o){const a=i.reduce((u,{useScope:E,scopeName:h})=>{const A=E(o)[`__scope${h}`];return{...u,...A}},{});return M.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return t.scopeName=e.scopeName,t}function YU(n){const e=n+"CollectionProvider",[t,i]=kS(e),[s,o]=t(e,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:C,children:L}=m,_=M.useRef(null),D=M.useRef(new Map).current;return p.jsx(s,{scope:C,itemMap:D,collectionRef:_,children:L})};a.displayName=e;const u=n+"CollectionSlot",E=za(u),h=M.forwardRef((m,C)=>{const{scope:L,children:_}=m,D=o(u,L),v=$t(C,D.collectionRef);return p.jsx(E,{ref:v,children:_})});h.displayName=u;const T=n+"CollectionItemSlot",A="data-radix-collection-item",R=za(T),O=M.forwardRef((m,C)=>{const{scope:L,children:_,...D}=m,v=M.useRef(null),U=$t(C,v),G=o(T,L);return M.useEffect(()=>(G.itemMap.set(v,{ref:v,...D}),()=>void G.itemMap.delete(v))),p.jsx(R,{[A]:"",ref:U,children:_})});O.displayName=T;function N(m){const C=o(n+"CollectionConsumer",m);return M.useCallback(()=>{const _=C.collectionRef.current;if(!_)return[];const D=Array.from(_.querySelectorAll(`[${A}]`));return Array.from(C.itemMap.values()).sort((G,B)=>D.indexOf(G.ref.current)-D.indexOf(B.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:a,Slot:h,ItemSlot:O},N,i]}function bt(n,e,{checkForDefaultPrevented:t=!0}={}){return function(s){if(n==null||n(s),t===!1||!s.defaultPrevented)return e==null?void 0:e(s)}}var zt=globalThis!=null&&globalThis.document?M.useLayoutEffect:()=>{},up=Ac[" useEffectEvent ".trim().toString()],Ep=Ac[" useInsertionEffect ".trim().toString()];function kU(n){if(typeof up=="function")return up(n);const e=M.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof Ep=="function"?Ep(()=>{e.current=n}):zt(()=>{e.current=n}),M.useMemo(()=>((...t)=>{var i;return(i=e.current)==null?void 0:i.call(e,...t)}),[])}var VU=Ac[" useInsertionEffect ".trim().toString()]||zt;function fp({prop:n,defaultProp:e,onChange:t=()=>{},caller:i}){const[s,o,a]=WU({defaultProp:e,onChange:t}),u=n!==void 0,E=u?n:s;{const T=M.useRef(n!==void 0);M.useEffect(()=>{const A=T.current;A!==u&&console.warn(`${i} is changing from ${A?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),T.current=u},[u,i])}const h=M.useCallback(T=>{var A;if(u){const R=XU(T)?T(n):T;R!==n&&((A=a.current)==null||A.call(a,R))}else o(T)},[u,n,o,a]);return[E,h]}function WU({defaultProp:n,onChange:e}){const[t,i]=M.useState(n),s=M.useRef(t),o=M.useRef(e);return VU(()=>{o.current=e},[e]),M.useEffect(()=>{var a;s.current!==t&&((a=o.current)==null||a.call(o,t),s.current=t)},[t,s]),[t,i,o]}function XU(n){return typeof n=="function"}function KU(n,e){return M.useReducer((t,i)=>e[t][i]??t,n)}var wL=n=>{const{present:e,children:t}=n,i=zU(e),s=typeof t=="function"?t({present:i.isPresent}):M.Children.only(t),o=$U(i.ref,jU(s));return typeof t=="function"||i.isPresent?M.cloneElement(s,{ref:o}):null};wL.displayName="Presence";function zU(n){const[e,t]=M.useState(),i=M.useRef(null),s=M.useRef(n),o=M.useRef("none"),a=n?"mounted":"unmounted",[u,E]=KU(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return M.useEffect(()=>{const h=Wu(i.current);o.current=u==="mounted"?h:"none"},[u]),zt(()=>{const h=i.current,T=s.current;if(T!==n){const R=o.current,O=Wu(h);n?E("MOUNT"):O==="none"||(h==null?void 0:h.display)==="none"?E("UNMOUNT"):E(T&&R!==O?"ANIMATION_OUT":"UNMOUNT"),s.current=n}},[n,E]),zt(()=>{if(e){let h;const T=e.ownerDocument.defaultView??window,A=O=>{const m=Wu(i.current).includes(CSS.escape(O.animationName));if(O.target===e&&m&&(E("ANIMATION_END"),!s.current)){const C=e.style.animationFillMode;e.style.animationFillMode="forwards",h=T.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=C)})}},R=O=>{O.target===e&&(o.current=Wu(i.current))};return e.addEventListener("animationstart",R),e.addEventListener("animationcancel",A),e.addEventListener("animationend",A),()=>{T.clearTimeout(h),e.removeEventListener("animationstart",R),e.removeEventListener("animationcancel",A),e.removeEventListener("animationend",A)}}else E("ANIMATION_END")},[e,E]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:M.useCallback(h=>{i.current=h?getComputedStyle(h):null,t(h)},[])}}function hp(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function $U(...n){const e=M.useRef(n);return e.current=n,M.useCallback(t=>{const i=e.current;let s=!1;const o=i.map(a=>{const u=hp(a,t);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let a=0;a<o.length;a++){const u=o[a];typeof u=="function"?u():hp(i[a],null)}}},[])}function Wu(n){return(n==null?void 0:n.animationName)||"none"}function jU(n){var i,s;let e=(i=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}var JU=Ac[" useId ".trim().toString()]||(()=>{}),qU=0;function VS(n){const[e,t]=M.useState(JU());return zt(()=>{t(i=>i??String(qU++))},[n]),e?`radix-${e}`:""}var QU=M.createContext(void 0);function ZU(n){const e=M.useContext(QU);return n||e||"ltr"}function ir(n){const e=M.useRef(n);return M.useEffect(()=>{e.current=n}),M.useMemo(()=>((...t)=>{var i;return(i=e.current)==null?void 0:i.call(e,...t)}),[])}var eb="DismissableLayer",yA="dismissableLayer.update",tb="dismissableLayer.pointerDownOutside",nb="dismissableLayer.focusOutside",Tp,FL=M.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),YL=M.forwardRef((n,e)=>{const{disableOutsidePointerEvents:t=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:u,onDismiss:E,...h}=n,T=M.useContext(FL),[A,R]=M.useState(null),O=(A==null?void 0:A.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,N]=M.useState({}),m=$t(e,R),C=Array.from(T.layers),[L]=[...T.layersWithOutsidePointerEventsDisabled].slice(-1),_=C.indexOf(L),D=A?C.indexOf(A):-1,v=T.layersWithOutsidePointerEventsDisabled.size>0,U=D>=_,G=M.useRef(!1),B=rb(ie=>{const ee=ie.target;if(!(ee instanceof Node))return;const Ee=[...T.branches].some(oe=>oe.contains(ee));!U||Ee||(o==null||o(ie),u==null||u(ie),ie.defaultPrevented||E==null||E())},{ownerDocument:O,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:G,dismissableSurfaces:T.dismissableSurfaces}),F=lb(ie=>{if(i&&G.current)return;const ee=ie.target;[...T.branches].some(oe=>oe.contains(ee))||(a==null||a(ie),u==null||u(ie),ie.defaultPrevented||E==null||E())},O),le=A?D===C.length-1:!1,fe=kU(ie=>{ie.key==="Escape"&&(s==null||s(ie),!ie.defaultPrevented&&E&&(ie.preventDefault(),E()))});return M.useEffect(()=>{if(le)return O.addEventListener("keydown",fe,{capture:!0}),()=>O.removeEventListener("keydown",fe,{capture:!0})},[O,le]),M.useEffect(()=>{if(A)return t&&(T.layersWithOutsidePointerEventsDisabled.size===0&&(Tp=O.body.style.pointerEvents,O.body.style.pointerEvents="none"),T.layersWithOutsidePointerEventsDisabled.add(A)),T.layers.add(A),dp(),()=>{t&&(T.layersWithOutsidePointerEventsDisabled.delete(A),T.layersWithOutsidePointerEventsDisabled.size===0&&(O.body.style.pointerEvents=Tp))}},[A,O,t,T]),M.useEffect(()=>()=>{A&&(T.layers.delete(A),T.layersWithOutsidePointerEventsDisabled.delete(A),dp())},[A,T]),M.useEffect(()=>{const ie=()=>N({});return document.addEventListener(yA,ie),()=>document.removeEventListener(yA,ie)},[]),p.jsx(Mt.div,{...h,ref:m,style:{pointerEvents:v?U?"auto":"none":void 0,...n.style},onFocusCapture:bt(n.onFocusCapture,F.onFocusCapture),onBlurCapture:bt(n.onBlurCapture,F.onBlurCapture),onPointerDownCapture:bt(n.onPointerDownCapture,B.onPointerDownCapture)})});YL.displayName=eb;var ib="DismissableLayerBranch",sb=M.forwardRef((n,e)=>{const t=M.useContext(FL),i=M.useRef(null),s=$t(e,i);return M.useEffect(()=>{const o=i.current;if(o)return t.branches.add(o),()=>{t.branches.delete(o)}},[t.branches]),p.jsx(Mt.div,{...n,ref:s})});sb.displayName=ib;function rb(n,e){const{ownerDocument:t=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:o}=e,a=ir(n),u=M.useRef(!1),E=M.useRef(!1),h=M.useRef(new Map),T=M.useRef(()=>{});return M.useEffect(()=>{function A(){E.current=!1,s.current=!1,h.current.clear()}function R(){return Array.from(h.current.values()).some(Boolean)}function O(_){if(!E.current)return;const D=_.target;D instanceof Node&&[...o].some(U=>U.contains(D))||h.current.set(_.type,!0),_.type==="click"&&window.setTimeout(()=>{E.current&&T.current()},0)}function N(_){E.current&&h.current.set(_.type,!1)}const m=_=>{if(_.target&&!u.current){let D=function(){t.removeEventListener("click",T.current);const U=R();A(),U||kL(tb,a,v,{discrete:!0})};const v={originalEvent:_};E.current=!0,s.current=i&&_.button===0,h.current.clear(),!i||_.button!==0?D():(t.removeEventListener("click",T.current),T.current=D,t.addEventListener("click",T.current,{once:!0}))}else t.removeEventListener("click",T.current),A();u.current=!1},C=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const _ of C)t.addEventListener(_,O,!0),t.addEventListener(_,N);const L=window.setTimeout(()=>{t.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(L),t.removeEventListener("pointerdown",m),t.removeEventListener("click",T.current);for(const _ of C)t.removeEventListener(_,O,!0),t.removeEventListener(_,N)}},[t,a,i,s,o]),{onPointerDownCapture:()=>u.current=!0}}function lb(n,e=globalThis==null?void 0:globalThis.document){const t=ir(n),i=M.useRef(!1);return M.useEffect(()=>{const s=o=>{o.target&&!i.current&&kL(nb,t,{originalEvent:o},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,t]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function dp(){const n=new CustomEvent(yA);document.dispatchEvent(n)}function kL(n,e,t,{discrete:i}){const s=t.originalEvent.target,o=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:t});e&&s.addEventListener(n,e,{once:!0}),i?GU(s,o):s.dispatchEvent(o)}var hd="focusScope.autoFocusOnMount",Td="focusScope.autoFocusOnUnmount",Ap={bubbles:!1,cancelable:!0},ob="FocusScope",VL=M.forwardRef((n,e)=>{const{loop:t=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:o,...a}=n,[u,E]=M.useState(null),h=ir(s),T=ir(o),A=M.useRef(null),R=$t(e,E),O=M.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;M.useEffect(()=>{if(i){let m=function(D){if(O.paused||!u)return;const v=D.target;u.contains(v)?A.current=v:js(A.current,{select:!0})},C=function(D){if(O.paused||!u)return;const v=D.relatedTarget;v!==null&&(u.contains(v)||js(A.current,{select:!0}))},L=function(D){if(document.activeElement===document.body)for(const U of D)U.removedNodes.length>0&&js(u)};document.addEventListener("focusin",m),document.addEventListener("focusout",C);const _=new MutationObserver(L);return u&&_.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",C),_.disconnect()}}},[i,u,O.paused]),M.useEffect(()=>{if(u){Rp.add(O);const m=document.activeElement;if(!u.contains(m)){const L=new CustomEvent(hd,Ap);u.addEventListener(hd,h),u.dispatchEvent(L),L.defaultPrevented||(ab(hb(WL(u)),{select:!0}),document.activeElement===m&&js(u))}return()=>{u.removeEventListener(hd,h),setTimeout(()=>{const L=new CustomEvent(Td,Ap);u.addEventListener(Td,T),u.dispatchEvent(L),L.defaultPrevented||js(m??document.body,{select:!0}),u.removeEventListener(Td,T),Rp.remove(O)},0)}}},[u,h,T,O]);const N=M.useCallback(m=>{if(!t&&!i||O.paused)return;const C=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,L=document.activeElement;if(C&&L){const _=m.currentTarget,[D,v]=cb(_);D&&v?!m.shiftKey&&L===v?(m.preventDefault(),t&&js(D,{select:!0})):m.shiftKey&&L===D&&(m.preventDefault(),t&&js(v,{select:!0})):L===_&&m.preventDefault()}},[t,i,O.paused]);return p.jsx(Mt.div,{tabIndex:-1,...a,ref:R,onKeyDown:N})});VL.displayName=ob;function ab(n,{select:e=!1}={}){const t=document.activeElement;for(const i of n)if(js(i,{select:e}),document.activeElement!==t)return}function cb(n){const e=WL(n),t=Sp(e,n),i=Sp(e.reverse(),n);return[t,i]}function WL(n){const e=[],t=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)e.push(t.currentNode);return e}function Sp(n,e){for(const t of n)if(!ub(t,{upTo:e}))return t}function ub(n,{upTo:e}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(e!==void 0&&n===e)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function Eb(n){return n instanceof HTMLInputElement&&"select"in n}function js(n,{select:e=!1}={}){if(n&&n.focus){const t=document.activeElement;n.focus({preventScroll:!0}),n!==t&&Eb(n)&&e&&n.select()}}var Rp=fb();function fb(){let n=[];return{add(e){const t=n[0];e!==t&&(t==null||t.pause()),n=Op(n,e),n.unshift(e)},remove(e){var t;n=Op(n,e),(t=n[0])==null||t.resume()}}}function Op(n,e){const t=[...n],i=t.indexOf(e);return i!==-1&&t.splice(i,1),t}function hb(n){return n.filter(e=>e.tagName!=="A")}var Tb="Portal",XL=M.forwardRef((n,e)=>{var u;const{container:t,...i}=n,[s,o]=M.useState(!1);zt(()=>o(!0),[]);const a=t||s&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return a?Sc.createPortal(p.jsx(Mt.div,{...i,ref:e}),a):null});XL.displayName=Tb;var Xu=0,_i=null;function db(){M.useEffect(()=>{_i||(_i={start:Np(),end:Np()});const{start:n,end:e}=_i;return document.body.firstElementChild!==n&&document.body.insertAdjacentElement("afterbegin",n),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),Xu++,()=>{Xu===1&&(_i==null||_i.start.remove(),_i==null||_i.end.remove(),_i=null),Xu=Math.max(0,Xu-1)}},[])}function Np(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var xi=function(){return xi=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++){t=arguments[i];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},xi.apply(this,arguments)};function KL(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(n);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(n,i[s])&&(t[i[s]]=n[i[s]]);return t}function Ab(n,e,t){if(t||arguments.length===2)for(var i=0,s=e.length,o;i<s;i++)(o||!(i in e))&&(o||(o=Array.prototype.slice.call(e,0,i)),o[i]=e[i]);return n.concat(o||Array.prototype.slice.call(e))}var pE="right-scroll-bar-position",CE="width-before-scroll-bar",Sb="with-scroll-bars-hidden",Rb="--removed-body-scroll-bar-size";function dd(n,e){return typeof n=="function"?n(e):n&&(n.current=e),n}function Ob(n,e){var t=M.useState(function(){return{value:n,callback:e,facade:{get current(){return t.value},set current(i){var s=t.value;s!==i&&(t.value=i,t.callback(i,s))}}}})[0];return t.callback=e,t.facade}var Nb=typeof window<"u"?M.useLayoutEffect:M.useEffect,mp=new WeakMap;function mb(n,e){var t=Ob(null,function(i){return n.forEach(function(s){return dd(s,i)})});return Nb(function(){var i=mp.get(t);if(i){var s=new Set(i),o=new Set(n),a=t.current;s.forEach(function(u){o.has(u)||dd(u,null)}),o.forEach(function(u){s.has(u)||dd(u,a)})}mp.set(t,n)},[n]),t}function Ib(n){return n}function pb(n,e){e===void 0&&(e=Ib);var t=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:n},useMedium:function(o){var a=e(o,i);return t.push(a),function(){t=t.filter(function(u){return u!==a})}},assignSyncMedium:function(o){for(i=!0;t.length;){var a=t;t=[],a.forEach(o)}t={push:function(u){return o(u)},filter:function(){return t}}},assignMedium:function(o){i=!0;var a=[];if(t.length){var u=t;t=[],u.forEach(o),a=t}var E=function(){var T=a;a=[],T.forEach(o)},h=function(){return Promise.resolve().then(E)};h(),t={push:function(T){a.push(T),h()},filter:function(T){return a=a.filter(T),t}}}};return s}function Cb(n){n===void 0&&(n={});var e=pb(null);return e.options=xi({async:!0,ssr:!1},n),e}var zL=function(n){var e=n.sideCar,t=KL(n,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=e.read();if(!i)throw new Error("Sidecar medium not found");return M.createElement(i,xi({},t))};zL.isSideCarExport=!0;function gb(n,e){return n.useMedium(e),zL}var $L=Cb(),Ad=function(){},mf=M.forwardRef(function(n,e){var t=M.useRef(null),i=M.useState({onScrollCapture:Ad,onWheelCapture:Ad,onTouchMoveCapture:Ad}),s=i[0],o=i[1],a=n.forwardProps,u=n.children,E=n.className,h=n.removeScrollBar,T=n.enabled,A=n.shards,R=n.sideCar,O=n.noRelative,N=n.noIsolation,m=n.inert,C=n.allowPinchZoom,L=n.as,_=L===void 0?"div":L,D=n.gapMode,v=KL(n,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),U=R,G=mb([t,e]),B=xi(xi({},v),s);return M.createElement(M.Fragment,null,T&&M.createElement(U,{sideCar:$L,removeScrollBar:h,shards:A,noRelative:O,noIsolation:N,inert:m,setCallbacks:o,allowPinchZoom:!!C,lockRef:t,gapMode:D}),a?M.cloneElement(M.Children.only(u),xi(xi({},B),{ref:G})):M.createElement(_,xi({},B,{className:E,ref:G}),u))});mf.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};mf.classNames={fullWidth:CE,zeroRight:pE};var Lb=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function _b(){if(!document)return null;var n=document.createElement("style");n.type="text/css";var e=Lb();return e&&n.setAttribute("nonce",e),n}function Db(n,e){n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}function Mb(n){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(n)}var Pb=function(){var n=0,e=null;return{add:function(t){n==0&&(e=_b())&&(Db(e,t),Mb(e)),n++},remove:function(){n--,!n&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},yb=function(){var n=Pb();return function(e,t){M.useEffect(function(){return n.add(e),function(){n.remove()}},[e&&t])}},jL=function(){var n=yb(),e=function(t){var i=t.styles,s=t.dynamic;return n(i,s),null};return e},vb={left:0,top:0,right:0,gap:0},Sd=function(n){return parseInt(n||"",10)||0},Ub=function(n){var e=window.getComputedStyle(document.body),t=e[n==="padding"?"paddingLeft":"marginLeft"],i=e[n==="padding"?"paddingTop":"marginTop"],s=e[n==="padding"?"paddingRight":"marginRight"];return[Sd(t),Sd(i),Sd(s)]},bb=function(n){if(n===void 0&&(n="margin"),typeof window>"u")return vb;var e=Ub(n),t=document.documentElement.clientWidth,i=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,i-t+e[2]-e[0])}},xb=jL(),ao="data-scroll-locked",Bb=function(n,e,t,i){var s=n.left,o=n.top,a=n.right,u=n.gap;return t===void 0&&(t="margin"),`
51
- .`.concat(Sb,` {
52
- overflow: hidden `).concat(i,`;
53
- padding-right: `).concat(u,"px ").concat(i,`;
54
- }
55
- body[`).concat(ao,`] {
56
- overflow: hidden `).concat(i,`;
57
- overscroll-behavior: contain;
58
- `).concat([e&&"position: relative ".concat(i,";"),t==="margin"&&`
59
- padding-left: `.concat(s,`px;
60
- padding-top: `).concat(o,`px;
61
- padding-right: `).concat(a,`px;
62
- margin-left:0;
63
- margin-top:0;
64
- margin-right: `).concat(u,"px ").concat(i,`;
65
- `),t==="padding"&&"padding-right: ".concat(u,"px ").concat(i,";")].filter(Boolean).join(""),`
66
- }
67
-
68
- .`).concat(pE,` {
69
- right: `).concat(u,"px ").concat(i,`;
70
- }
71
-
72
- .`).concat(CE,` {
73
- margin-right: `).concat(u,"px ").concat(i,`;
74
- }
75
-
76
- .`).concat(pE," .").concat(pE,` {
77
- right: 0 `).concat(i,`;
78
- }
79
-
80
- .`).concat(CE," .").concat(CE,` {
81
- margin-right: 0 `).concat(i,`;
82
- }
83
-
84
- body[`).concat(ao,`] {
85
- `).concat(Rb,": ").concat(u,`px;
86
- }
87
- `)},Ip=function(){var n=parseInt(document.body.getAttribute(ao)||"0",10);return isFinite(n)?n:0},Gb=function(){M.useEffect(function(){return document.body.setAttribute(ao,(Ip()+1).toString()),function(){var n=Ip()-1;n<=0?document.body.removeAttribute(ao):document.body.setAttribute(ao,n.toString())}},[])},Hb=function(n){var e=n.noRelative,t=n.noImportant,i=n.gapMode,s=i===void 0?"margin":i;Gb();var o=M.useMemo(function(){return bb(s)},[s]);return M.createElement(xb,{styles:Bb(o,!e,s,t?"":"!important")})},vA=!1;if(typeof window<"u")try{var Ku=Object.defineProperty({},"passive",{get:function(){return vA=!0,!0}});window.addEventListener("test",Ku,Ku),window.removeEventListener("test",Ku,Ku)}catch{vA=!1}var zl=vA?{passive:!1}:!1,wb=function(n){return n.tagName==="TEXTAREA"},JL=function(n,e){if(!(n instanceof Element))return!1;var t=window.getComputedStyle(n);return t[e]!=="hidden"&&!(t.overflowY===t.overflowX&&!wb(n)&&t[e]==="visible")},Fb=function(n){return JL(n,"overflowY")},Yb=function(n){return JL(n,"overflowX")},pp=function(n,e){var t=e.ownerDocument,i=e;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=qL(n,i);if(s){var o=QL(n,i),a=o[1],u=o[2];if(a>u)return!0}i=i.parentNode}while(i&&i!==t.body);return!1},kb=function(n){var e=n.scrollTop,t=n.scrollHeight,i=n.clientHeight;return[e,t,i]},Vb=function(n){var e=n.scrollLeft,t=n.scrollWidth,i=n.clientWidth;return[e,t,i]},qL=function(n,e){return n==="v"?Fb(e):Yb(e)},QL=function(n,e){return n==="v"?kb(e):Vb(e)},Wb=function(n,e){return n==="h"&&e==="rtl"?-1:1},Xb=function(n,e,t,i,s){var o=Wb(n,window.getComputedStyle(e).direction),a=o*i,u=t.target,E=e.contains(u),h=!1,T=a>0,A=0,R=0;do{if(!u)break;var O=QL(n,u),N=O[0],m=O[1],C=O[2],L=m-C-o*N;(N||L)&&qL(n,u)&&(A+=L,R+=N);var _=u.parentNode;u=_&&_.nodeType===Node.DOCUMENT_FRAGMENT_NODE?_.host:_}while(!E&&u!==document.body||E&&(e.contains(u)||e===u));return(T&&Math.abs(A)<1||!T&&Math.abs(R)<1)&&(h=!0),h},zu=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},Cp=function(n){return[n.deltaX,n.deltaY]},gp=function(n){return n&&"current"in n?n.current:n},Kb=function(n,e){return n[0]===e[0]&&n[1]===e[1]},zb=function(n){return`
88
- .block-interactivity-`.concat(n,` {pointer-events: none;}
89
- .allow-interactivity-`).concat(n,` {pointer-events: all;}
90
- `)},$b=0,$l=[];function jb(n){var e=M.useRef([]),t=M.useRef([0,0]),i=M.useRef(),s=M.useState($b++)[0],o=M.useState(jL)[0],a=M.useRef(n);M.useEffect(function(){a.current=n},[n]),M.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(s));var m=Ab([n.lockRef.current],(n.shards||[]).map(gp),!0).filter(Boolean);return m.forEach(function(C){return C.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),m.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(s))})}}},[n.inert,n.lockRef.current,n.shards]);var u=M.useCallback(function(m,C){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var L=zu(m),_=t.current,D="deltaX"in m?m.deltaX:_[0]-L[0],v="deltaY"in m?m.deltaY:_[1]-L[1],U,G=m.target,B=Math.abs(D)>Math.abs(v)?"h":"v";if("touches"in m&&B==="h"&&G.type==="range")return!1;var F=window.getSelection(),le=F&&F.anchorNode,fe=le?le===G||le.contains(G):!1;if(fe)return!1;var ie=pp(B,G);if(!ie)return!0;if(ie?U=B:(U=B==="v"?"h":"v",ie=pp(B,G)),!ie)return!1;if(!i.current&&"changedTouches"in m&&(D||v)&&(i.current=U),!U)return!0;var ee=i.current||U;return Xb(ee,C,m,ee==="h"?D:v)},[]),E=M.useCallback(function(m){var C=m;if(!(!$l.length||$l[$l.length-1]!==o)){var L="deltaY"in C?Cp(C):zu(C),_=e.current.filter(function(U){return U.name===C.type&&(U.target===C.target||C.target===U.shadowParent)&&Kb(U.delta,L)})[0];if(_&&_.should){C.cancelable&&C.preventDefault();return}if(!_){var D=(a.current.shards||[]).map(gp).filter(Boolean).filter(function(U){return U.contains(C.target)}),v=D.length>0?u(C,D[0]):!a.current.noIsolation;v&&C.cancelable&&C.preventDefault()}}},[]),h=M.useCallback(function(m,C,L,_){var D={name:m,delta:C,target:L,should:_,shadowParent:Jb(L)};e.current.push(D),setTimeout(function(){e.current=e.current.filter(function(v){return v!==D})},1)},[]),T=M.useCallback(function(m){t.current=zu(m),i.current=void 0},[]),A=M.useCallback(function(m){h(m.type,Cp(m),m.target,u(m,n.lockRef.current))},[]),R=M.useCallback(function(m){h(m.type,zu(m),m.target,u(m,n.lockRef.current))},[]);M.useEffect(function(){return $l.push(o),n.setCallbacks({onScrollCapture:A,onWheelCapture:A,onTouchMoveCapture:R}),document.addEventListener("wheel",E,zl),document.addEventListener("touchmove",E,zl),document.addEventListener("touchstart",T,zl),function(){$l=$l.filter(function(m){return m!==o}),document.removeEventListener("wheel",E,zl),document.removeEventListener("touchmove",E,zl),document.removeEventListener("touchstart",T,zl)}},[]);var O=n.removeScrollBar,N=n.inert;return M.createElement(M.Fragment,null,N?M.createElement(o,{styles:zb(s)}):null,O?M.createElement(Hb,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function Jb(n){for(var e=null;n!==null;)n instanceof ShadowRoot&&(e=n.host,n=n.host),n=n.parentNode;return e}const qb=gb($L,jb);var ZL=M.forwardRef(function(n,e){return M.createElement(mf,xi({},n,{ref:e,sideCar:qb}))});ZL.classNames=mf.classNames;var Qb=function(n){if(typeof document>"u")return null;var e=Array.isArray(n)?n[0]:n;return e.ownerDocument.body},jl=new WeakMap,$u=new WeakMap,ju={},Rd=0,e_=function(n){return n&&(n.host||e_(n.parentNode))},Zb=function(n,e){return e.map(function(t){if(n.contains(t))return t;var i=e_(t);return i&&n.contains(i)?i:(console.error("aria-hidden",t,"in not contained inside",n,". Doing nothing"),null)}).filter(function(t){return!!t})},ex=function(n,e,t,i){var s=Zb(e,Array.isArray(n)?n:[n]);ju[t]||(ju[t]=new WeakMap);var o=ju[t],a=[],u=new Set,E=new Set(s),h=function(A){!A||u.has(A)||(u.add(A),h(A.parentNode))};s.forEach(h);var T=function(A){!A||E.has(A)||Array.prototype.forEach.call(A.children,function(R){if(u.has(R))T(R);else try{var O=R.getAttribute(i),N=O!==null&&O!=="false",m=(jl.get(R)||0)+1,C=(o.get(R)||0)+1;jl.set(R,m),o.set(R,C),a.push(R),m===1&&N&&$u.set(R,!0),C===1&&R.setAttribute(t,"true"),N||R.setAttribute(i,"true")}catch(L){console.error("aria-hidden: cannot operate on ",R,L)}})};return T(e),u.clear(),Rd++,function(){a.forEach(function(A){var R=jl.get(A)-1,O=o.get(A)-1;jl.set(A,R),o.set(A,O),R||($u.has(A)||A.removeAttribute(i),$u.delete(A)),O||A.removeAttribute(t)}),Rd--,Rd||(jl=new WeakMap,jl=new WeakMap,$u=new WeakMap,ju={})}},tx=function(n,e,t){t===void 0&&(t="data-aria-hidden");var i=Array.from(Array.isArray(n)?n:[n]),s=Qb(n);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),ex(i,s,t,"aria-hidden")):function(){return null}};function nx(n){const e=M.useRef({value:n,previous:n});return M.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}function ix(n){const[e,t]=M.useState(void 0);return zt(()=>{if(n){t({width:n.offsetWidth,height:n.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const o=s[0];let a,u;if("borderBoxSize"in o){const E=o.borderBoxSize,h=Array.isArray(E)?E[0]:E;a=h.inlineSize,u=h.blockSize}else a=n.offsetWidth,u=n.offsetHeight;t({width:a,height:u})});return i.observe(n,{box:"border-box"}),()=>i.unobserve(n)}else t(void 0)},[n]),e}const sx=["top","right","bottom","left"],sr=Math.min,Vn=Math.max,FE=Math.round,Ju=Math.floor,Vi=n=>({x:n,y:n}),rx={left:"right",right:"left",bottom:"top",top:"bottom"};function UA(n,e,t){return Vn(n,sr(e,t))}function Rs(n,e){return typeof n=="function"?n(e):n}function Os(n){return n.split("-")[0]}function Lo(n){return n.split("-")[1]}function WS(n){return n==="x"?"y":"x"}function XS(n){return n==="y"?"height":"width"}function wi(n){const e=n[0];return e==="t"||e==="b"?"y":"x"}function KS(n){return WS(wi(n))}function lx(n,e,t){t===void 0&&(t=!1);const i=Lo(n),s=KS(n),o=XS(s);let a=s==="x"?i===(t?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[o]>e.floating[o]&&(a=YE(a)),[a,YE(a)]}function ox(n){const e=YE(n);return[bA(n),e,bA(e)]}function bA(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const Lp=["left","right"],_p=["right","left"],ax=["top","bottom"],cx=["bottom","top"];function ux(n,e,t){switch(n){case"top":case"bottom":return t?e?_p:Lp:e?Lp:_p;case"left":case"right":return e?ax:cx;default:return[]}}function Ex(n,e,t,i){const s=Lo(n);let o=ux(Os(n),t==="start",i);return s&&(o=o.map(a=>a+"-"+s),e&&(o=o.concat(o.map(bA)))),o}function YE(n){const e=Os(n);return rx[e]+n.slice(e.length)}function fx(n){return{top:0,right:0,bottom:0,left:0,...n}}function t_(n){return typeof n!="number"?fx(n):{top:n,right:n,bottom:n,left:n}}function kE(n){const{x:e,y:t,width:i,height:s}=n;return{width:i,height:s,top:t,left:e,right:e+i,bottom:t+s,x:e,y:t}}function Dp(n,e,t){let{reference:i,floating:s}=n;const o=wi(e),a=KS(e),u=XS(a),E=Os(e),h=o==="y",T=i.x+i.width/2-s.width/2,A=i.y+i.height/2-s.height/2,R=i[u]/2-s[u]/2;let O;switch(E){case"top":O={x:T,y:i.y-s.height};break;case"bottom":O={x:T,y:i.y+i.height};break;case"right":O={x:i.x+i.width,y:A};break;case"left":O={x:i.x-s.width,y:A};break;default:O={x:i.x,y:i.y}}switch(Lo(e)){case"start":O[a]-=R*(t&&h?-1:1);break;case"end":O[a]+=R*(t&&h?-1:1);break}return O}async function hx(n,e){var t;e===void 0&&(e={});const{x:i,y:s,platform:o,rects:a,elements:u,strategy:E}=n,{boundary:h="clippingAncestors",rootBoundary:T="viewport",elementContext:A="floating",altBoundary:R=!1,padding:O=0}=Rs(e,n),N=t_(O),C=u[R?A==="floating"?"reference":"floating":A],L=kE(await o.getClippingRect({element:(t=await(o.isElement==null?void 0:o.isElement(C)))==null||t?C:C.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(u.floating)),boundary:h,rootBoundary:T,strategy:E})),_=A==="floating"?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,D=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u.floating)),v=await(o.isElement==null?void 0:o.isElement(D))?await(o.getScale==null?void 0:o.getScale(D))||{x:1,y:1}:{x:1,y:1},U=kE(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:_,offsetParent:D,strategy:E}):_);return{top:(L.top-U.top+N.top)/v.y,bottom:(U.bottom-L.bottom+N.bottom)/v.y,left:(L.left-U.left+N.left)/v.x,right:(U.right-L.right+N.right)/v.x}}const Tx=50,dx=async(n,e,t)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=t,u=a.detectOverflow?a:{...a,detectOverflow:hx},E=await(a.isRTL==null?void 0:a.isRTL(e));let h=await a.getElementRects({reference:n,floating:e,strategy:s}),{x:T,y:A}=Dp(h,i,E),R=i,O=0;const N={};for(let m=0;m<o.length;m++){const C=o[m];if(!C)continue;const{name:L,fn:_}=C,{x:D,y:v,data:U,reset:G}=await _({x:T,y:A,initialPlacement:i,placement:R,strategy:s,middlewareData:N,rects:h,platform:u,elements:{reference:n,floating:e}});T=D??T,A=v??A,N[L]={...N[L],...U},G&&O<Tx&&(O++,typeof G=="object"&&(G.placement&&(R=G.placement),G.rects&&(h=G.rects===!0?await a.getElementRects({reference:n,floating:e,strategy:s}):G.rects),{x:T,y:A}=Dp(h,R,E)),m=-1)}return{x:T,y:A,placement:R,strategy:s,middlewareData:N}},Ax=n=>({name:"arrow",options:n,async fn(e){const{x:t,y:i,placement:s,rects:o,platform:a,elements:u,middlewareData:E}=e,{element:h,padding:T=0}=Rs(n,e)||{};if(h==null)return{};const A=t_(T),R={x:t,y:i},O=KS(s),N=XS(O),m=await a.getDimensions(h),C=O==="y",L=C?"top":"left",_=C?"bottom":"right",D=C?"clientHeight":"clientWidth",v=o.reference[N]+o.reference[O]-R[O]-o.floating[N],U=R[O]-o.reference[O],G=await(a.getOffsetParent==null?void 0:a.getOffsetParent(h));let B=G?G[D]:0;(!B||!await(a.isElement==null?void 0:a.isElement(G)))&&(B=u.floating[D]||o.floating[N]);const F=v/2-U/2,le=B/2-m[N]/2-1,fe=sr(A[L],le),ie=sr(A[_],le),ee=fe,Ee=B-m[N]-ie,oe=B/2-m[N]/2+F,Te=UA(ee,oe,Ee),x=!E.arrow&&Lo(s)!=null&&oe!==Te&&o.reference[N]/2-(oe<ee?fe:ie)-m[N]/2<0,z=x?oe<ee?oe-ee:oe-Ee:0;return{[O]:R[O]+z,data:{[O]:Te,centerOffset:oe-Te-z,...x&&{alignmentOffset:z}},reset:x}}}),Sx=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:u,platform:E,elements:h}=e,{mainAxis:T=!0,crossAxis:A=!0,fallbackPlacements:R,fallbackStrategy:O="bestFit",fallbackAxisSideDirection:N="none",flipAlignment:m=!0,...C}=Rs(n,e);if((t=o.arrow)!=null&&t.alignmentOffset)return{};const L=Os(s),_=wi(u),D=Os(u)===u,v=await(E.isRTL==null?void 0:E.isRTL(h.floating)),U=R||(D||!m?[YE(u)]:ox(u)),G=N!=="none";!R&&G&&U.push(...Ex(u,m,N,v));const B=[u,...U],F=await E.detectOverflow(e,C),le=[];let fe=((i=o.flip)==null?void 0:i.overflows)||[];if(T&&le.push(F[L]),A){const oe=lx(s,a,v);le.push(F[oe[0]],F[oe[1]])}if(fe=[...fe,{placement:s,overflows:le}],!le.every(oe=>oe<=0)){var ie,ee;const oe=(((ie=o.flip)==null?void 0:ie.index)||0)+1,Te=B[oe];if(Te&&(!(A==="alignment"?_!==wi(Te):!1)||fe.every(ne=>wi(ne.placement)===_?ne.overflows[0]>0:!0)))return{data:{index:oe,overflows:fe},reset:{placement:Te}};let x=(ee=fe.filter(z=>z.overflows[0]<=0).sort((z,ne)=>z.overflows[1]-ne.overflows[1])[0])==null?void 0:ee.placement;if(!x)switch(O){case"bestFit":{var Ee;const z=(Ee=fe.filter(ne=>{if(G){const ae=wi(ne.placement);return ae===_||ae==="y"}return!0}).map(ne=>[ne.placement,ne.overflows.filter(ae=>ae>0).reduce((ae,J)=>ae+J,0)]).sort((ne,ae)=>ne[1]-ae[1])[0])==null?void 0:Ee[0];z&&(x=z);break}case"initialPlacement":x=u;break}if(s!==x)return{reset:{placement:x}}}return{}}}};function Mp(n,e){return{top:n.top-e.height,right:n.right-e.width,bottom:n.bottom-e.height,left:n.left-e.width}}function Pp(n){return sx.some(e=>n[e]>=0)}const Rx=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(e){const{rects:t,platform:i}=e,{strategy:s="referenceHidden",...o}=Rs(n,e);switch(s){case"referenceHidden":{const a=await i.detectOverflow(e,{...o,elementContext:"reference"}),u=Mp(a,t.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:Pp(u)}}}case"escaped":{const a=await i.detectOverflow(e,{...o,altBoundary:!0}),u=Mp(a,t.floating);return{data:{escapedOffsets:u,escaped:Pp(u)}}}default:return{}}}}},n_=new Set(["left","top"]);async function Ox(n,e){const{placement:t,platform:i,elements:s}=n,o=await(i.isRTL==null?void 0:i.isRTL(s.floating)),a=Os(t),u=Lo(t),E=wi(t)==="y",h=n_.has(a)?-1:1,T=o&&E?-1:1,A=Rs(e,n);let{mainAxis:R,crossAxis:O,alignmentAxis:N}=typeof A=="number"?{mainAxis:A,crossAxis:0,alignmentAxis:null}:{mainAxis:A.mainAxis||0,crossAxis:A.crossAxis||0,alignmentAxis:A.alignmentAxis};return u&&typeof N=="number"&&(O=u==="end"?N*-1:N),E?{x:O*T,y:R*h}:{x:R*h,y:O*T}}const Nx=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(e){var t,i;const{x:s,y:o,placement:a,middlewareData:u}=e,E=await Ox(e,n);return a===((t=u.offset)==null?void 0:t.placement)&&(i=u.arrow)!=null&&i.alignmentOffset?{}:{x:s+E.x,y:o+E.y,data:{...E,placement:a}}}}},mx=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:i,placement:s,platform:o}=e,{mainAxis:a=!0,crossAxis:u=!1,limiter:E={fn:L=>{let{x:_,y:D}=L;return{x:_,y:D}}},...h}=Rs(n,e),T={x:t,y:i},A=await o.detectOverflow(e,h),R=wi(Os(s)),O=WS(R);let N=T[O],m=T[R];if(a){const L=O==="y"?"top":"left",_=O==="y"?"bottom":"right",D=N+A[L],v=N-A[_];N=UA(D,N,v)}if(u){const L=R==="y"?"top":"left",_=R==="y"?"bottom":"right",D=m+A[L],v=m-A[_];m=UA(D,m,v)}const C=E.fn({...e,[O]:N,[R]:m});return{...C,data:{x:C.x-t,y:C.y-i,enabled:{[O]:a,[R]:u}}}}}},Ix=function(n){return n===void 0&&(n={}),{options:n,fn(e){const{x:t,y:i,placement:s,rects:o,middlewareData:a}=e,{offset:u=0,mainAxis:E=!0,crossAxis:h=!0}=Rs(n,e),T={x:t,y:i},A=wi(s),R=WS(A);let O=T[R],N=T[A];const m=Rs(u,e),C=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(E){const D=R==="y"?"height":"width",v=o.reference[R]-o.floating[D]+C.mainAxis,U=o.reference[R]+o.reference[D]-C.mainAxis;O<v?O=v:O>U&&(O=U)}if(h){var L,_;const D=R==="y"?"width":"height",v=n_.has(Os(s)),U=o.reference[A]-o.floating[D]+(v&&((L=a.offset)==null?void 0:L[A])||0)+(v?0:C.crossAxis),G=o.reference[A]+o.reference[D]+(v?0:((_=a.offset)==null?void 0:_[A])||0)-(v?C.crossAxis:0);N<U?N=U:N>G&&(N=G)}return{[R]:O,[A]:N}}}},px=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t,i;const{placement:s,rects:o,platform:a,elements:u}=e,{apply:E=()=>{},...h}=Rs(n,e),T=await a.detectOverflow(e,h),A=Os(s),R=Lo(s),O=wi(s)==="y",{width:N,height:m}=o.floating;let C,L;A==="top"||A==="bottom"?(C=A,L=R===(await(a.isRTL==null?void 0:a.isRTL(u.floating))?"start":"end")?"left":"right"):(L=A,C=R==="end"?"top":"bottom");const _=m-T.top-T.bottom,D=N-T.left-T.right,v=sr(m-T[C],_),U=sr(N-T[L],D),G=!e.middlewareData.shift;let B=v,F=U;if((t=e.middlewareData.shift)!=null&&t.enabled.x&&(F=D),(i=e.middlewareData.shift)!=null&&i.enabled.y&&(B=_),G&&!R){const fe=Vn(T.left,0),ie=Vn(T.right,0),ee=Vn(T.top,0),Ee=Vn(T.bottom,0);O?F=N-2*(fe!==0||ie!==0?fe+ie:Vn(T.left,T.right)):B=m-2*(ee!==0||Ee!==0?ee+Ee:Vn(T.top,T.bottom))}await E({...e,availableWidth:F,availableHeight:B});const le=await a.getDimensions(u.floating);return N!==le.width||m!==le.height?{reset:{rects:!0}}:{}}}};function If(){return typeof window<"u"}function _o(n){return i_(n)?(n.nodeName||"").toLowerCase():"#document"}function Xn(n){var e;return(n==null||(e=n.ownerDocument)==null?void 0:e.defaultView)||window}function Ki(n){var e;return(e=(i_(n)?n.ownerDocument:n.document)||window.document)==null?void 0:e.documentElement}function i_(n){return If()?n instanceof Node||n instanceof Xn(n).Node:!1}function Ai(n){return If()?n instanceof Element||n instanceof Xn(n).Element:!1}function Is(n){return If()?n instanceof HTMLElement||n instanceof Xn(n).HTMLElement:!1}function yp(n){return!If()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof Xn(n).ShadowRoot}function Rc(n){const{overflow:e,overflowX:t,overflowY:i,display:s}=Si(n);return/auto|scroll|overlay|hidden|clip/.test(e+i+t)&&s!=="inline"&&s!=="contents"}function Cx(n){return/^(table|td|th)$/.test(_o(n))}function pf(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const gx=/transform|translate|scale|rotate|perspective|filter/,Lx=/paint|layout|strict|content/,wr=n=>!!n&&n!=="none";let Od;function zS(n){const e=Ai(n)?Si(n):n;return wr(e.transform)||wr(e.translate)||wr(e.scale)||wr(e.rotate)||wr(e.perspective)||!$S()&&(wr(e.backdropFilter)||wr(e.filter))||gx.test(e.willChange||"")||Lx.test(e.contain||"")}function _x(n){let e=rr(n);for(;Is(e)&&!Ro(e);){if(zS(e))return e;if(pf(e))return null;e=rr(e)}return null}function $S(){return Od==null&&(Od=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Od}function Ro(n){return/^(html|body|#document)$/.test(_o(n))}function Si(n){return Xn(n).getComputedStyle(n)}function Cf(n){return Ai(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function rr(n){if(_o(n)==="html")return n;const e=n.assignedSlot||n.parentNode||yp(n)&&n.host||Ki(n);return yp(e)?e.host:e}function s_(n){const e=rr(n);return Ro(e)?n.ownerDocument?n.ownerDocument.body:n.body:Is(e)&&Rc(e)?e:s_(e)}function $a(n,e,t){var i;e===void 0&&(e=[]),t===void 0&&(t=!0);const s=s_(n),o=s===((i=n.ownerDocument)==null?void 0:i.body),a=Xn(s);if(o){const u=xA(a);return e.concat(a,a.visualViewport||[],Rc(s)?s:[],u&&t?$a(u):[])}else return e.concat(s,$a(s,[],t))}function xA(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function r_(n){const e=Si(n);let t=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const s=Is(n),o=s?n.offsetWidth:t,a=s?n.offsetHeight:i,u=FE(t)!==o||FE(i)!==a;return u&&(t=o,i=a),{width:t,height:i,$:u}}function jS(n){return Ai(n)?n:n.contextElement}function co(n){const e=jS(n);if(!Is(e))return Vi(1);const t=e.getBoundingClientRect(),{width:i,height:s,$:o}=r_(e);let a=(o?FE(t.width):t.width)/i,u=(o?FE(t.height):t.height)/s;return(!a||!Number.isFinite(a))&&(a=1),(!u||!Number.isFinite(u))&&(u=1),{x:a,y:u}}const Dx=Vi(0);function l_(n){const e=Xn(n);return!$S()||!e.visualViewport?Dx:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Mx(n,e,t){return e===void 0&&(e=!1),!t||e&&t!==Xn(n)?!1:e}function Zr(n,e,t,i){e===void 0&&(e=!1),t===void 0&&(t=!1);const s=n.getBoundingClientRect(),o=jS(n);let a=Vi(1);e&&(i?Ai(i)&&(a=co(i)):a=co(n));const u=Mx(o,t,i)?l_(o):Vi(0);let E=(s.left+u.x)/a.x,h=(s.top+u.y)/a.y,T=s.width/a.x,A=s.height/a.y;if(o){const R=Xn(o),O=i&&Ai(i)?Xn(i):i;let N=R,m=xA(N);for(;m&&i&&O!==N;){const C=co(m),L=m.getBoundingClientRect(),_=Si(m),D=L.left+(m.clientLeft+parseFloat(_.paddingLeft))*C.x,v=L.top+(m.clientTop+parseFloat(_.paddingTop))*C.y;E*=C.x,h*=C.y,T*=C.x,A*=C.y,E+=D,h+=v,N=Xn(m),m=xA(N)}}return kE({width:T,height:A,x:E,y:h})}function gf(n,e){const t=Cf(n).scrollLeft;return e?e.left+t:Zr(Ki(n)).left+t}function o_(n,e){const t=n.getBoundingClientRect(),i=t.left+e.scrollLeft-gf(n,t),s=t.top+e.scrollTop;return{x:i,y:s}}function Px(n){let{elements:e,rect:t,offsetParent:i,strategy:s}=n;const o=s==="fixed",a=Ki(i),u=e?pf(e.floating):!1;if(i===a||u&&o)return t;let E={scrollLeft:0,scrollTop:0},h=Vi(1);const T=Vi(0),A=Is(i);if((A||!A&&!o)&&((_o(i)!=="body"||Rc(a))&&(E=Cf(i)),A)){const O=Zr(i);h=co(i),T.x=O.x+i.clientLeft,T.y=O.y+i.clientTop}const R=a&&!A&&!o?o_(a,E):Vi(0);return{width:t.width*h.x,height:t.height*h.y,x:t.x*h.x-E.scrollLeft*h.x+T.x+R.x,y:t.y*h.y-E.scrollTop*h.y+T.y+R.y}}function yx(n){return Array.from(n.getClientRects())}function vx(n){const e=Ki(n),t=Cf(n),i=n.ownerDocument.body,s=Vn(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),o=Vn(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let a=-t.scrollLeft+gf(n);const u=-t.scrollTop;return Si(i).direction==="rtl"&&(a+=Vn(e.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:u}}const vp=25;function Ux(n,e){const t=Xn(n),i=Ki(n),s=t.visualViewport;let o=i.clientWidth,a=i.clientHeight,u=0,E=0;if(s){o=s.width,a=s.height;const T=$S();(!T||T&&e==="fixed")&&(u=s.offsetLeft,E=s.offsetTop)}const h=gf(i);if(h<=0){const T=i.ownerDocument,A=T.body,R=getComputedStyle(A),O=T.compatMode==="CSS1Compat"&&parseFloat(R.marginLeft)+parseFloat(R.marginRight)||0,N=Math.abs(i.clientWidth-A.clientWidth-O);N<=vp&&(o-=N)}else h<=vp&&(o+=h);return{width:o,height:a,x:u,y:E}}function bx(n,e){const t=Zr(n,!0,e==="fixed"),i=t.top+n.clientTop,s=t.left+n.clientLeft,o=Is(n)?co(n):Vi(1),a=n.clientWidth*o.x,u=n.clientHeight*o.y,E=s*o.x,h=i*o.y;return{width:a,height:u,x:E,y:h}}function Up(n,e,t){let i;if(e==="viewport")i=Ux(n,t);else if(e==="document")i=vx(Ki(n));else if(Ai(e))i=bx(e,t);else{const s=l_(n);i={x:e.x-s.x,y:e.y-s.y,width:e.width,height:e.height}}return kE(i)}function a_(n,e){const t=rr(n);return t===e||!Ai(t)||Ro(t)?!1:Si(t).position==="fixed"||a_(t,e)}function xx(n,e){const t=e.get(n);if(t)return t;let i=$a(n,[],!1).filter(u=>Ai(u)&&_o(u)!=="body"),s=null;const o=Si(n).position==="fixed";let a=o?rr(n):n;for(;Ai(a)&&!Ro(a);){const u=Si(a),E=zS(a);!E&&u.position==="fixed"&&(s=null),(o?!E&&!s:!E&&u.position==="static"&&!!s&&(s.position==="absolute"||s.position==="fixed")||Rc(a)&&!E&&a_(n,a))?i=i.filter(T=>T!==a):s=u,a=rr(a)}return e.set(n,i),i}function Bx(n){let{element:e,boundary:t,rootBoundary:i,strategy:s}=n;const a=[...t==="clippingAncestors"?pf(e)?[]:xx(e,this._c):[].concat(t),i],u=Up(e,a[0],s);let E=u.top,h=u.right,T=u.bottom,A=u.left;for(let R=1;R<a.length;R++){const O=Up(e,a[R],s);E=Vn(O.top,E),h=sr(O.right,h),T=sr(O.bottom,T),A=Vn(O.left,A)}return{width:h-A,height:T-E,x:A,y:E}}function Gx(n){const{width:e,height:t}=r_(n);return{width:e,height:t}}function Hx(n,e,t){const i=Is(e),s=Ki(e),o=t==="fixed",a=Zr(n,!0,o,e);let u={scrollLeft:0,scrollTop:0};const E=Vi(0);function h(){E.x=gf(s)}if(i||!i&&!o)if((_o(e)!=="body"||Rc(s))&&(u=Cf(e)),i){const O=Zr(e,!0,o,e);E.x=O.x+e.clientLeft,E.y=O.y+e.clientTop}else s&&h();o&&!i&&s&&h();const T=s&&!i&&!o?o_(s,u):Vi(0),A=a.left+u.scrollLeft-E.x-T.x,R=a.top+u.scrollTop-E.y-T.y;return{x:A,y:R,width:a.width,height:a.height}}function Nd(n){return Si(n).position==="static"}function bp(n,e){if(!Is(n)||Si(n).position==="fixed")return null;if(e)return e(n);let t=n.offsetParent;return Ki(n)===t&&(t=t.ownerDocument.body),t}function c_(n,e){const t=Xn(n);if(pf(n))return t;if(!Is(n)){let s=rr(n);for(;s&&!Ro(s);){if(Ai(s)&&!Nd(s))return s;s=rr(s)}return t}let i=bp(n,e);for(;i&&Cx(i)&&Nd(i);)i=bp(i,e);return i&&Ro(i)&&Nd(i)&&!zS(i)?t:i||_x(n)||t}const wx=async function(n){const e=this.getOffsetParent||c_,t=this.getDimensions,i=await t(n.floating);return{reference:Hx(n.reference,await e(n.floating),n.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function Fx(n){return Si(n).direction==="rtl"}const Yx={convertOffsetParentRelativeRectToViewportRelativeRect:Px,getDocumentElement:Ki,getClippingRect:Bx,getOffsetParent:c_,getElementRects:wx,getClientRects:yx,getDimensions:Gx,getScale:co,isElement:Ai,isRTL:Fx};function u_(n,e){return n.x===e.x&&n.y===e.y&&n.width===e.width&&n.height===e.height}function kx(n,e){let t=null,i;const s=Ki(n);function o(){var u;clearTimeout(i),(u=t)==null||u.disconnect(),t=null}function a(u,E){u===void 0&&(u=!1),E===void 0&&(E=1),o();const h=n.getBoundingClientRect(),{left:T,top:A,width:R,height:O}=h;if(u||e(),!R||!O)return;const N=Ju(A),m=Ju(s.clientWidth-(T+R)),C=Ju(s.clientHeight-(A+O)),L=Ju(T),D={rootMargin:-N+"px "+-m+"px "+-C+"px "+-L+"px",threshold:Vn(0,sr(1,E))||1};let v=!0;function U(G){const B=G[0].intersectionRatio;if(B!==E){if(!v)return a();B?a(!1,B):i=setTimeout(()=>{a(!1,1e-7)},1e3)}B===1&&!u_(h,n.getBoundingClientRect())&&a(),v=!1}try{t=new IntersectionObserver(U,{...D,root:s.ownerDocument})}catch{t=new IntersectionObserver(U,D)}t.observe(n)}return a(!0),o}function Vx(n,e,t,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:E=!1}=i,h=jS(n),T=s||o?[...h?$a(h):[],...e?$a(e):[]]:[];T.forEach(L=>{s&&L.addEventListener("scroll",t,{passive:!0}),o&&L.addEventListener("resize",t)});const A=h&&u?kx(h,t):null;let R=-1,O=null;a&&(O=new ResizeObserver(L=>{let[_]=L;_&&_.target===h&&O&&e&&(O.unobserve(e),cancelAnimationFrame(R),R=requestAnimationFrame(()=>{var D;(D=O)==null||D.observe(e)})),t()}),h&&!E&&O.observe(h),e&&O.observe(e));let N,m=E?Zr(n):null;E&&C();function C(){const L=Zr(n);m&&!u_(m,L)&&t(),m=L,N=requestAnimationFrame(C)}return t(),()=>{var L;T.forEach(_=>{s&&_.removeEventListener("scroll",t),o&&_.removeEventListener("resize",t)}),A==null||A(),(L=O)==null||L.disconnect(),O=null,E&&cancelAnimationFrame(N)}}const Wx=Nx,Xx=mx,Kx=Sx,zx=px,$x=Rx,xp=Ax,jx=Ix,Jx=(n,e,t)=>{const i=new Map,s={platform:Yx,...t},o={...s.platform,_c:i};return dx(n,e,{...s,platform:o})};var qx=typeof document<"u",Qx=function(){},gE=qx?M.useLayoutEffect:Qx;function VE(n,e){if(n===e)return!0;if(typeof n!=typeof e)return!1;if(typeof n=="function"&&n.toString()===e.toString())return!0;let t,i,s;if(n&&e&&typeof n=="object"){if(Array.isArray(n)){if(t=n.length,t!==e.length)return!1;for(i=t;i--!==0;)if(!VE(n[i],e[i]))return!1;return!0}if(s=Object.keys(n),t=s.length,t!==Object.keys(e).length)return!1;for(i=t;i--!==0;)if(!{}.hasOwnProperty.call(e,s[i]))return!1;for(i=t;i--!==0;){const o=s[i];if(!(o==="_owner"&&n.$$typeof)&&!VE(n[o],e[o]))return!1}return!0}return n!==n&&e!==e}function E_(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function Bp(n,e){const t=E_(n);return Math.round(e*t)/t}function md(n){const e=M.useRef(n);return gE(()=>{e.current=n}),e}function Zx(n){n===void 0&&(n={});const{placement:e="bottom",strategy:t="absolute",middleware:i=[],platform:s,elements:{reference:o,floating:a}={},transform:u=!0,whileElementsMounted:E,open:h}=n,[T,A]=M.useState({x:0,y:0,strategy:t,placement:e,middlewareData:{},isPositioned:!1}),[R,O]=M.useState(i);VE(R,i)||O(i);const[N,m]=M.useState(null),[C,L]=M.useState(null),_=M.useCallback(ne=>{ne!==G.current&&(G.current=ne,m(ne))},[]),D=M.useCallback(ne=>{ne!==B.current&&(B.current=ne,L(ne))},[]),v=o||N,U=a||C,G=M.useRef(null),B=M.useRef(null),F=M.useRef(T),le=E!=null,fe=md(E),ie=md(s),ee=md(h),Ee=M.useCallback(()=>{if(!G.current||!B.current)return;const ne={placement:e,strategy:t,middleware:R};ie.current&&(ne.platform=ie.current),Jx(G.current,B.current,ne).then(ae=>{const J={...ae,isPositioned:ee.current!==!1};oe.current&&!VE(F.current,J)&&(F.current=J,Sc.flushSync(()=>{A(J)}))})},[R,e,t,ie,ee]);gE(()=>{h===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,A(ne=>({...ne,isPositioned:!1})))},[h]);const oe=M.useRef(!1);gE(()=>(oe.current=!0,()=>{oe.current=!1}),[]),gE(()=>{if(v&&(G.current=v),U&&(B.current=U),v&&U){if(fe.current)return fe.current(v,U,Ee);Ee()}},[v,U,Ee,fe,le]);const Te=M.useMemo(()=>({reference:G,floating:B,setReference:_,setFloating:D}),[_,D]),x=M.useMemo(()=>({reference:v,floating:U}),[v,U]),z=M.useMemo(()=>{const ne={position:t,left:0,top:0};if(!x.floating)return ne;const ae=Bp(x.floating,T.x),J=Bp(x.floating,T.y);return u?{...ne,transform:"translate("+ae+"px, "+J+"px)",...E_(x.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:ae,top:J}},[t,u,x.floating,T.x,T.y]);return M.useMemo(()=>({...T,update:Ee,refs:Te,elements:x,floatingStyles:z}),[T,Ee,Te,x,z])}const e1=n=>{function e(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:n,fn(t){const{element:i,padding:s}=typeof n=="function"?n(t):n;return i&&e(i)?i.current!=null?xp({element:i.current,padding:s}).fn(t):{}:i?xp({element:i,padding:s}).fn(t):{}}}},t1=(n,e)=>{const t=Wx(n);return{name:t.name,fn:t.fn,options:[n,e]}},n1=(n,e)=>{const t=Xx(n);return{name:t.name,fn:t.fn,options:[n,e]}},i1=(n,e)=>({fn:jx(n).fn,options:[n,e]}),s1=(n,e)=>{const t=Kx(n);return{name:t.name,fn:t.fn,options:[n,e]}},r1=(n,e)=>{const t=zx(n);return{name:t.name,fn:t.fn,options:[n,e]}},l1=(n,e)=>{const t=$x(n);return{name:t.name,fn:t.fn,options:[n,e]}},o1=(n,e)=>{const t=e1(n);return{name:t.name,fn:t.fn,options:[n,e]}};var a1="Arrow",f_=M.forwardRef((n,e)=>{const{children:t,width:i=10,height:s=5,...o}=n;return p.jsx(Mt.svg,{...o,ref:e,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?t:p.jsx("polygon",{points:"0,0 30,0 15,10"})})});f_.displayName=a1;var c1=f_,JS="Popper",[h_,T_]=kS(JS),[u1,d_]=h_(JS),A_=n=>{const{__scopePopper:e,children:t}=n,[i,s]=M.useState(null),[o,a]=M.useState(void 0);return p.jsx(u1,{scope:e,anchor:i,onAnchorChange:s,placementState:o,setPlacementState:a,children:t})};A_.displayName=JS;var S_="PopperAnchor",R_=M.forwardRef((n,e)=>{const{__scopePopper:t,virtualRef:i,...s}=n,o=d_(S_,t),a=M.useRef(null),u=o.onAnchorChange,E=M.useCallback(N=>{a.current=N,N&&u(N)},[u]),h=$t(e,E),T=M.useRef(null);M.useEffect(()=>{if(!i)return;const N=T.current;T.current=i.current,N!==T.current&&u(T.current)});const A=o.placementState&&QS(o.placementState),R=A==null?void 0:A[0],O=A==null?void 0:A[1];return i?null:p.jsx(Mt.div,{"data-radix-popper-side":R,"data-radix-popper-align":O,...s,ref:h})});R_.displayName=S_;var qS="PopperContent",[E1,f1]=h_(qS),O_=M.forwardRef((n,e)=>{var Me,Oe,ve,ye,xe,pt;const{__scopePopper:t,side:i="bottom",sideOffset:s=0,align:o="center",alignOffset:a=0,arrowPadding:u=0,avoidCollisions:E=!0,collisionBoundary:h=[],collisionPadding:T=0,sticky:A="partial",hideWhenDetached:R=!1,updatePositionStrategy:O="optimized",onPlaced:N,...m}=n,C=d_(qS,t),[L,_]=M.useState(null),D=$t(e,_),[v,U]=M.useState(null),G=ix(v),B=(G==null?void 0:G.width)??0,F=(G==null?void 0:G.height)??0,le=i+(o!=="center"?"-"+o:""),fe=typeof T=="number"?T:{top:0,right:0,bottom:0,left:0,...T},ie=Array.isArray(h)?h:[h],ee=ie.length>0,Ee={padding:fe,boundary:ie.filter(T1),altBoundary:ee},{refs:oe,floatingStyles:Te,placement:x,isPositioned:z,middlewareData:ne}=Zx({strategy:"fixed",placement:le,whileElementsMounted:(...je)=>Vx(...je,{animationFrame:O==="always"}),elements:{reference:C.anchor},middleware:[t1({mainAxis:s+F,alignmentAxis:a}),E&&n1({mainAxis:!0,crossAxis:!1,limiter:A==="partial"?i1():void 0,...Ee}),E&&s1({...Ee}),r1({...Ee,apply:({elements:je,rects:dt,availableWidth:xt,availableHeight:ce})=>{const{width:Ge,height:St}=dt.reference,ct=je.floating.style;ct.setProperty("--radix-popper-available-width",`${xt}px`),ct.setProperty("--radix-popper-available-height",`${ce}px`),ct.setProperty("--radix-popper-anchor-width",`${Ge}px`),ct.setProperty("--radix-popper-anchor-height",`${St}px`)}}),v&&o1({element:v,padding:u}),d1({arrowWidth:B,arrowHeight:F}),R&&l1({strategy:"referenceHidden",...Ee,boundary:ee?Ee.boundary:void 0})]}),ae=C.setPlacementState;zt(()=>(ae(x),()=>{ae(void 0)}),[x,ae]);const[J,P]=QS(x),X=ir(N);zt(()=>{z&&(X==null||X())},[z,X]);const re=(Me=ne.arrow)==null?void 0:Me.x,se=(Oe=ne.arrow)==null?void 0:Oe.y,he=((ve=ne.arrow)==null?void 0:ve.centerOffset)!==0,[Se,ue]=M.useState();return zt(()=>{L&&ue(window.getComputedStyle(L).zIndex)},[L]),p.jsx("div",{ref:oe.setFloating,"data-radix-popper-content-wrapper":"",style:{...Te,transform:z?Te.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[(ye=ne.transformOrigin)==null?void 0:ye.x,(xe=ne.transformOrigin)==null?void 0:xe.y].join(" "),...((pt=ne.hide)==null?void 0:pt.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:p.jsx(E1,{scope:t,placedSide:J,placedAlign:P,onArrowChange:U,arrowX:re,arrowY:se,shouldHideArrow:he,children:p.jsx(Mt.div,{"data-side":J,"data-align":P,...m,ref:D,style:{...m.style,animation:z?void 0:"none"}})})})});O_.displayName=qS;var N_="PopperArrow",h1={top:"bottom",right:"left",bottom:"top",left:"right"},m_=M.forwardRef(function(e,t){const{__scopePopper:i,...s}=e,o=f1(N_,i),a=h1[o.placedSide];return p.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:p.jsx(c1,{...s,ref:t,style:{...s.style,display:"block"}})})});m_.displayName=N_;function T1(n){return n!==null}var d1=n=>({name:"transformOrigin",options:n,fn(e){var C,L,_;const{placement:t,rects:i,middlewareData:s}=e,a=((C=s.arrow)==null?void 0:C.centerOffset)!==0,u=a?0:n.arrowWidth,E=a?0:n.arrowHeight,[h,T]=QS(t),A={start:"0%",center:"50%",end:"100%"}[T],R=(((L=s.arrow)==null?void 0:L.x)??0)+u/2,O=(((_=s.arrow)==null?void 0:_.y)??0)+E/2;let N="",m="";return h==="bottom"?(N=a?A:`${R}px`,m=`${-E}px`):h==="top"?(N=a?A:`${R}px`,m=`${i.floating.height+E}px`):h==="right"?(N=`${-E}px`,m=a?A:`${O}px`):h==="left"&&(N=`${i.floating.width+E}px`,m=a?A:`${O}px`),{data:{x:N,y:m}}}});function QS(n){const[e,t="center"]=n.split("-");return[e,t]}var A1=A_,S1=R_,R1=O_,O1=m_;function Gp(n,[e,t]){return Math.min(t,Math.max(e,n))}var N1=[" ","Enter","ArrowUp","ArrowDown"],m1=[" ","Enter"],el="Select",[Lf,_f,I1]=YU(el),[rl]=kS(el,[I1,T_]),Df=T_(),[p1,Sr]=rl(el),[C1,g1]=rl(el),L1="SelectProvider";function I_(n){const{__scopeSelect:e,children:t,open:i,defaultOpen:s,onOpenChange:o,value:a,defaultValue:u,onValueChange:E,dir:h,name:T,autoComplete:A,disabled:R,required:O,form:N,internal_do_not_use_render:m}=n,C=Df(e),[L,_]=M.useState(null),[D,v]=M.useState(null),[U,G]=M.useState(!1),B=ZU(h),[F,le]=fp({prop:i,defaultProp:s??!1,onChange:o,caller:el}),[fe,ie]=fp({prop:a,defaultProp:u,onChange:E,caller:el}),ee=M.useRef(null),Ee=L?!!N||!!L.closest("form"):!0,[oe,Te]=M.useState(new Set),x=VS(),z=Array.from(oe).map(P=>P.props.value).join(";"),ne=M.useCallback(P=>{Te(X=>new Set(X).add(P))},[]),ae=M.useCallback(P=>{Te(X=>{const re=new Set(X);return re.delete(P),re})},[]),J={required:O,trigger:L,onTriggerChange:_,valueNode:D,onValueNodeChange:v,valueNodeHasChildren:U,onValueNodeHasChildrenChange:G,contentId:x,value:fe,onValueChange:ie,open:F,onOpenChange:le,dir:B,triggerPointerDownPosRef:ee,disabled:R,name:T,autoComplete:A,form:N,nativeOptions:oe,nativeSelectKey:z,isFormControl:Ee};return p.jsx(A1,{...C,children:p.jsx(p1,{scope:e,...J,children:p.jsx(Lf.Provider,{scope:e,children:p.jsx(C1,{scope:e,onNativeOptionAdd:ne,onNativeOptionRemove:ae,children:V1(m)?m(J):t})})})})}I_.displayName=L1;var p_=n=>{const{__scopeSelect:e,children:t,...i}=n;return p.jsx(I_,{__scopeSelect:e,...i,internal_do_not_use_render:({isFormControl:s})=>p.jsxs(p.Fragment,{children:[t,s?p.jsx(j_,{__scopeSelect:e}):null]})})};p_.displayName=el;var C_="SelectTrigger",g_=M.forwardRef((n,e)=>{const{__scopeSelect:t,disabled:i=!1,...s}=n,o=Df(t),a=Sr(C_,t),u=a.disabled||i,E=$t(e,a.onTriggerChange),h=_f(t),T=M.useRef("touch"),[A,R,O]=J_(m=>{const C=h().filter(D=>!D.disabled),L=C.find(D=>D.value===a.value),_=q_(C,m,L);_!==void 0&&a.onValueChange(_.value)}),N=m=>{u||(a.onOpenChange(!0),O()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return p.jsx(S1,{asChild:!0,...o,children:p.jsx(Mt.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Mf(a.value)?"":void 0,...s,ref:E,onClick:bt(s.onClick,m=>{m.currentTarget.focus(),T.current!=="mouse"&&N(m)}),onPointerDown:bt(s.onPointerDown,m=>{T.current=m.pointerType;const C=m.target;C.hasPointerCapture(m.pointerId)&&C.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(N(m),m.preventDefault())}),onKeyDown:bt(s.onKeyDown,m=>{const C=A.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&R(m.key),!(C&&m.key===" ")&&N1.includes(m.key)&&(N(),m.preventDefault())})})})});g_.displayName=C_;var L_="SelectValue",__=M.forwardRef((n,e)=>{const{__scopeSelect:t,className:i,style:s,children:o,placeholder:a="",...u}=n,E=Sr(L_,t),{onValueNodeHasChildrenChange:h}=E,T=o!==void 0,A=$t(e,E.onValueNodeChange);zt(()=>{h(T)},[h,T]);const R=Mf(E.value);return p.jsx(Mt.span,{...u,asChild:R?!1:u.asChild,ref:A,style:{pointerEvents:"none"},children:p.jsx(M.Fragment,{children:R?a:o},R?"placeholder":"value")})});__.displayName=L_;var _1="SelectIcon",D_=M.forwardRef((n,e)=>{const{__scopeSelect:t,children:i,...s}=n;return p.jsx(Mt.span,{"aria-hidden":!0,...s,ref:e,children:i||"▼"})});D_.displayName=_1;var M_="SelectPortal",[D1,M1]=rl(M_,{forceMount:void 0}),P_=n=>{const{__scopeSelect:e,forceMount:t,...i}=n;return p.jsx(D1,{scope:n.__scopeSelect,forceMount:t,children:p.jsx(XL,{asChild:!0,...i})})};P_.displayName=M_;var lr="SelectContent",y_=M.forwardRef((n,e)=>{const t=M1(lr,n.__scopeSelect),{forceMount:i=t.forceMount,...s}=n,o=Sr(lr,n.__scopeSelect),[a,u]=M.useState();return zt(()=>{u(new DocumentFragment)},[]),p.jsx(wL,{present:i||o.open,children:({present:E})=>E?p.jsx(b_,{...s,ref:e}):p.jsx(v_,{...s,fragment:a})})});y_.displayName=lr;var v_=M.forwardRef((n,e)=>{const{__scopeSelect:t,children:i,fragment:s}=n;return s?Sc.createPortal(p.jsx(U_,{scope:t,children:p.jsx(Lf.Slot,{scope:t,children:p.jsx("div",{ref:e,children:i})})}),s):null});v_.displayName="SelectContentFragment";var Ei=10,[U_,Rr]=rl(lr),P1="SelectContentImpl",y1=za("SelectContent.RemoveScroll"),b_=M.forwardRef((n,e)=>{const{__scopeSelect:t}=n,{position:i="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:o,onPointerDownOutside:a,side:u,sideOffset:E,align:h,alignOffset:T,arrowPadding:A,collisionBoundary:R,collisionPadding:O,sticky:N,hideWhenDetached:m,avoidCollisions:C,...L}=n,_=Sr(lr,t),[D,v]=M.useState(null),[U,G]=M.useState(null),B=$t(e,v),[F,le]=M.useState(null),[fe,ie]=M.useState(null),ee=_f(t),[Ee,oe]=M.useState(!1),Te=M.useRef(!1);M.useEffect(()=>{if(D)return tx(D)},[D]),db();const x=M.useCallback(ue=>{const[Me,...Oe]=ee().map(xe=>xe.ref.current),[ve]=Oe.slice(-1),ye=document.activeElement;for(const xe of ue)if(xe===ye||(xe==null||xe.scrollIntoView({block:"nearest"}),xe===Me&&U&&(U.scrollTop=0),xe===ve&&U&&(U.scrollTop=U.scrollHeight),xe==null||xe.focus(),document.activeElement!==ye))return},[ee,U]),z=M.useCallback(()=>x([F,D]),[x,F,D]);M.useEffect(()=>{Ee&&z()},[Ee,z]);const{onOpenChange:ne,triggerPointerDownPosRef:ae}=_;M.useEffect(()=>{if(D){let ue={x:0,y:0};const Me=ve=>{var ye,xe;ue={x:Math.abs(Math.round(ve.pageX)-(((ye=ae.current)==null?void 0:ye.x)??0)),y:Math.abs(Math.round(ve.pageY)-(((xe=ae.current)==null?void 0:xe.y)??0))}},Oe=ve=>{ue.x<=10&&ue.y<=10?ve.preventDefault():ve.composedPath().includes(D)||ne(!1),document.removeEventListener("pointermove",Me),ae.current=null};return ae.current!==null&&(document.addEventListener("pointermove",Me),document.addEventListener("pointerup",Oe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Me),document.removeEventListener("pointerup",Oe,{capture:!0})}}},[D,ne,ae]),M.useEffect(()=>{const ue=()=>ne(!1);return window.addEventListener("blur",ue),window.addEventListener("resize",ue),()=>{window.removeEventListener("blur",ue),window.removeEventListener("resize",ue)}},[ne]);const[J,P]=J_(ue=>{const Me=ee().filter(ye=>!ye.disabled),Oe=Me.find(ye=>ye.ref.current===document.activeElement),ve=q_(Me,ue,Oe);ve&&setTimeout(()=>{var ye;return(ye=ve.ref.current)==null?void 0:ye.focus()})}),X=M.useCallback((ue,Me,Oe)=>{const ve=!Te.current&&!Oe;(_.value!==void 0&&_.value===Me||ve)&&(le(ue),ve&&(Te.current=!0))},[_.value]),re=M.useCallback(()=>D==null?void 0:D.focus(),[D]),se=M.useCallback((ue,Me,Oe)=>{const ve=!Te.current&&!Oe;(_.value!==void 0&&_.value===Me||ve)&&ie(ue)},[_.value]),he=i==="popper"?BA:x_,Se=he===BA?{side:u,sideOffset:E,align:h,alignOffset:T,arrowPadding:A,collisionBoundary:R,collisionPadding:O,sticky:N,hideWhenDetached:m,avoidCollisions:C}:{};return p.jsx(U_,{scope:t,content:D,viewport:U,onViewportChange:G,itemRefCallback:X,selectedItem:F,onItemLeave:re,itemTextRefCallback:se,focusSelectedItem:z,selectedItemText:fe,position:i,isPositioned:Ee,searchRef:J,children:p.jsx(ZL,{as:y1,allowPinchZoom:!0,children:p.jsx(VL,{asChild:!0,trapped:_.open,onMountAutoFocus:ue=>{ue.preventDefault()},onUnmountAutoFocus:bt(s,ue=>{var Me;(Me=_.trigger)==null||Me.focus({preventScroll:!0}),ue.preventDefault()}),children:p.jsx(YL,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:ue=>ue.preventDefault(),onDismiss:()=>_.onOpenChange(!1),children:p.jsx(he,{role:"listbox",id:_.contentId,"data-state":_.open?"open":"closed",dir:_.dir,onContextMenu:ue=>ue.preventDefault(),...L,...Se,onPlaced:()=>oe(!0),ref:B,style:{display:"flex",flexDirection:"column",outline:"none",...L.style},onKeyDown:bt(L.onKeyDown,ue=>{const Me=ue.ctrlKey||ue.altKey||ue.metaKey;if(ue.key==="Tab"&&ue.preventDefault(),!Me&&ue.key.length===1&&P(ue.key),["ArrowUp","ArrowDown","Home","End"].includes(ue.key)){let ve=ee().filter(ye=>!ye.disabled).map(ye=>ye.ref.current);if(["ArrowUp","End"].includes(ue.key)&&(ve=ve.slice().reverse()),["ArrowUp","ArrowDown"].includes(ue.key)){const ye=ue.target,xe=ve.indexOf(ye);ve=ve.slice(xe+1)}setTimeout(()=>x(ve)),ue.preventDefault()}})})})})})})});b_.displayName=P1;var v1="SelectItemAlignedPosition",x_=M.forwardRef((n,e)=>{const{__scopeSelect:t,onPlaced:i,...s}=n,o=Sr(lr,t),a=Rr(lr,t),[u,E]=M.useState(null),[h,T]=M.useState(null),A=$t(e,T),R=_f(t),O=M.useRef(!1),N=M.useRef(!0),{viewport:m,selectedItem:C,selectedItemText:L,focusSelectedItem:_}=a,D=M.useCallback(()=>{if(o.trigger&&o.valueNode&&u&&h&&m&&C&&L){const B=o.trigger.getBoundingClientRect(),F=h.getBoundingClientRect(),le=o.valueNode.getBoundingClientRect(),fe=L.getBoundingClientRect();if(o.dir!=="rtl"){const ye=fe.left-F.left,xe=le.left-ye,pt=B.left-xe,je=B.width+pt,dt=Math.max(je,F.width),xt=window.innerWidth-Ei,ce=Gp(xe,[Ei,Math.max(Ei,xt-dt)]);u.style.minWidth=je+"px",u.style.left=ce+"px"}else{const ye=F.right-fe.right,xe=window.innerWidth-le.right-ye,pt=window.innerWidth-B.right-xe,je=B.width+pt,dt=Math.max(je,F.width),xt=window.innerWidth-Ei,ce=Gp(xe,[Ei,Math.max(Ei,xt-dt)]);u.style.minWidth=je+"px",u.style.right=ce+"px"}const ie=R(),ee=window.innerHeight-Ei*2,Ee=m.scrollHeight,oe=window.getComputedStyle(h),Te=parseInt(oe.borderTopWidth,10),x=parseInt(oe.paddingTop,10),z=parseInt(oe.borderBottomWidth,10),ne=parseInt(oe.paddingBottom,10),ae=Te+x+Ee+ne+z,J=Math.min(C.offsetHeight*5,ae),P=window.getComputedStyle(m),X=parseInt(P.paddingTop,10),re=parseInt(P.paddingBottom,10),se=B.top+B.height/2-Ei,he=ee-se,Se=C.offsetHeight/2,ue=C.offsetTop+Se,Me=Te+x+ue,Oe=ae-Me;if(Me<=se){const ye=ie.length>0&&C===ie[ie.length-1].ref.current;u.style.bottom="0px";const xe=h.clientHeight-m.offsetTop-m.offsetHeight,pt=Math.max(he,Se+(ye?re:0)+xe+z),je=Me+pt;u.style.height=je+"px"}else{const ye=ie.length>0&&C===ie[0].ref.current;u.style.top="0px";const pt=Math.max(se,Te+m.offsetTop+(ye?X:0)+Se)+Oe;u.style.height=pt+"px",m.scrollTop=Me-se+m.offsetTop}u.style.margin=`${Ei}px 0`,u.style.minHeight=J+"px",u.style.maxHeight=ee+"px",i==null||i(),requestAnimationFrame(()=>O.current=!0)}},[R,o.trigger,o.valueNode,u,h,m,C,L,o.dir,i]);zt(()=>D(),[D]);const[v,U]=M.useState();zt(()=>{h&&U(window.getComputedStyle(h).zIndex)},[h]);const G=M.useCallback(B=>{B&&N.current===!0&&(D(),_==null||_(),N.current=!1)},[D,_]);return p.jsx(b1,{scope:t,contentWrapper:u,shouldExpandOnScrollRef:O,onScrollButtonChange:G,children:p.jsx("div",{ref:E,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:v},children:p.jsx(Mt.div,{...s,ref:A,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});x_.displayName=v1;var U1="SelectPopperPosition",BA=M.forwardRef((n,e)=>{const{__scopeSelect:t,align:i="start",collisionPadding:s=Ei,...o}=n,a=Df(t);return p.jsx(R1,{...a,...o,ref:e,align:i,collisionPadding:s,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});BA.displayName=U1;var[b1,ZS]=rl(lr,{}),GA="SelectViewport",B_=M.forwardRef((n,e)=>{const{__scopeSelect:t,nonce:i,...s}=n,o=Rr(GA,t),a=ZS(GA,t),u=$t(e,o.onViewportChange),E=M.useRef(0);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),p.jsx(Lf.Slot,{scope:t,children:p.jsx(Mt.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:bt(s.onScroll,h=>{const T=h.currentTarget,{contentWrapper:A,shouldExpandOnScrollRef:R}=a;if(R!=null&&R.current&&A){const O=Math.abs(E.current-T.scrollTop);if(O>0){const N=window.innerHeight-Ei*2,m=parseFloat(A.style.minHeight),C=parseFloat(A.style.height),L=Math.max(m,C);if(L<N){const _=L+O,D=Math.min(N,_),v=_-D;A.style.height=D+"px",A.style.bottom==="0px"&&(T.scrollTop=v>0?v:0,A.style.justifyContent="flex-end")}}}E.current=T.scrollTop})})})]})});B_.displayName=GA;var G_="SelectGroup",[x1,B1]=rl(G_),G1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=VS();return p.jsx(x1,{scope:t,id:s,children:p.jsx(Mt.div,{role:"group","aria-labelledby":s,...i,ref:e})})});G1.displayName=G_;var H_="SelectLabel",H1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=B1(H_,t);return p.jsx(Mt.div,{id:s.id,...i,ref:e})});H1.displayName=H_;var WE="SelectItem",[w1,w_]=rl(WE),F_=M.forwardRef((n,e)=>{const{__scopeSelect:t,value:i,disabled:s=!1,textValue:o,...a}=n,u=Sr(WE,t),E=Rr(WE,t),h=u.value===i,[T,A]=M.useState(o??""),[R,O]=M.useState(!1),N=ir(D=>{var v;return(v=E.itemRefCallback)==null?void 0:v.call(E,D,i,s)}),m=$t(e,N),C=VS(),L=M.useRef("touch"),_=()=>{s||(u.onValueChange(i),u.onOpenChange(!1))};return p.jsx(w1,{scope:t,value:i,disabled:s,textId:C,isSelected:h,onItemTextChange:M.useCallback(D=>{A(v=>v||((D==null?void 0:D.textContent)??"").trim())},[]),children:p.jsx(Lf.ItemSlot,{scope:t,value:i,disabled:s,textValue:T,children:p.jsx(Mt.div,{role:"option","aria-labelledby":C,"data-highlighted":R?"":void 0,"aria-selected":h&&R,"data-state":h?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...a,ref:m,onFocus:bt(a.onFocus,()=>O(!0)),onBlur:bt(a.onBlur,()=>O(!1)),onClick:bt(a.onClick,()=>{L.current!=="mouse"&&_()}),onPointerUp:bt(a.onPointerUp,()=>{L.current==="mouse"&&_()}),onPointerDown:bt(a.onPointerDown,D=>{L.current=D.pointerType}),onPointerMove:bt(a.onPointerMove,D=>{var v;L.current=D.pointerType,s?(v=E.onItemLeave)==null||v.call(E):L.current==="mouse"&&D.currentTarget.focus({preventScroll:!0})}),onPointerLeave:bt(a.onPointerLeave,D=>{var v;D.currentTarget===document.activeElement&&((v=E.onItemLeave)==null||v.call(E))}),onKeyDown:bt(a.onKeyDown,D=>{var U;((U=E.searchRef)==null?void 0:U.current)!==""&&D.key===" "||(m1.includes(D.key)&&_(),D.key===" "&&D.preventDefault())})})})})});F_.displayName=WE;var ba="SelectItemText",Y_=M.forwardRef((n,e)=>{const{__scopeSelect:t,className:i,style:s,...o}=n,a=Sr(ba,t),u=Rr(ba,t),E=w_(ba,t),h=g1(ba,t),[T,A]=M.useState(null),R=ir(_=>{var D;return(D=u.itemTextRefCallback)==null?void 0:D.call(u,_,E.value,E.disabled)}),O=$t(e,A,E.onItemTextChange,R),N=T==null?void 0:T.textContent,m=M.useMemo(()=>p.jsx("option",{value:E.value,disabled:E.disabled,children:N},E.value),[E.disabled,E.value,N]),{onNativeOptionAdd:C,onNativeOptionRemove:L}=h;return zt(()=>(C(m),()=>L(m)),[C,L,m]),p.jsxs(p.Fragment,{children:[p.jsx(Mt.span,{id:E.textId,...o,ref:O}),E.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!Mf(a.value)?Sc.createPortal(o.children,a.valueNode):null]})});Y_.displayName=ba;var k_="SelectItemIndicator",V_=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n;return w_(k_,t).isSelected?p.jsx(Mt.span,{"aria-hidden":!0,...i,ref:e}):null});V_.displayName=k_;var HA="SelectScrollUpButton",W_=M.forwardRef((n,e)=>{const t=Rr(HA,n.__scopeSelect),i=ZS(HA,n.__scopeSelect),[s,o]=M.useState(!1),a=$t(e,i.onScrollButtonChange);return zt(()=>{if(t.viewport&&t.isPositioned){let u=function(){const h=E.scrollTop>0;o(h)};const E=t.viewport;return u(),E.addEventListener("scroll",u),()=>E.removeEventListener("scroll",u)}},[t.viewport,t.isPositioned]),s?p.jsx(K_,{...n,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:E}=t;u&&E&&(u.scrollTop=u.scrollTop-E.offsetHeight)}}):null});W_.displayName=HA;var wA="SelectScrollDownButton",X_=M.forwardRef((n,e)=>{const t=Rr(wA,n.__scopeSelect),i=ZS(wA,n.__scopeSelect),[s,o]=M.useState(!1),a=$t(e,i.onScrollButtonChange);return zt(()=>{if(t.viewport&&t.isPositioned){let u=function(){const h=E.scrollHeight-E.clientHeight,T=Math.ceil(E.scrollTop)<h;o(T)};const E=t.viewport;return u(),E.addEventListener("scroll",u),()=>E.removeEventListener("scroll",u)}},[t.viewport,t.isPositioned]),s?p.jsx(K_,{...n,ref:a,onAutoScroll:()=>{const{viewport:u,selectedItem:E}=t;u&&E&&(u.scrollTop=u.scrollTop+E.offsetHeight)}}):null});X_.displayName=wA;var K_=M.forwardRef((n,e)=>{const{__scopeSelect:t,onAutoScroll:i,...s}=n,o=Rr("SelectScrollButton",t),a=M.useRef(null),u=_f(t),E=M.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return M.useEffect(()=>()=>E(),[E]),zt(()=>{var T;const h=u().find(A=>A.ref.current===document.activeElement);(T=h==null?void 0:h.ref.current)==null||T.scrollIntoView({block:"nearest"})},[u]),p.jsx(Mt.div,{"aria-hidden":!0,...s,ref:e,style:{flexShrink:0,...s.style},onPointerDown:bt(s.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(i,50))}),onPointerMove:bt(s.onPointerMove,()=>{var h;(h=o.onItemLeave)==null||h.call(o),a.current===null&&(a.current=window.setInterval(i,50))}),onPointerLeave:bt(s.onPointerLeave,()=>{E()})})}),F1="SelectSeparator",Y1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n;return p.jsx(Mt.div,{"aria-hidden":!0,...i,ref:e})});Y1.displayName=F1;var z_="SelectArrow",k1=M.forwardRef((n,e)=>{const{__scopeSelect:t,...i}=n,s=Df(t);return Rr(z_,t).position==="popper"?p.jsx(O1,{...s,...i,ref:e}):null});k1.displayName=z_;var $_="SelectBubbleInput",j_=M.forwardRef(({__scopeSelect:n,...e},t)=>{const i=Sr($_,n),{value:s,onValueChange:o,required:a,disabled:u,name:E,autoComplete:h,form:T}=i,{nativeOptions:A,nativeSelectKey:R}=i,O=M.useRef(null),N=$t(t,O),m=s??"",C=nx(m),L=Array.from(A).some(_=>(_.props.value??"")==="");return M.useEffect(()=>{const _=O.current;if(!_)return;const D=window.HTMLSelectElement.prototype,U=Object.getOwnPropertyDescriptor(D,"value").set;if(C!==m&&U){const G=new Event("change",{bubbles:!0});U.call(_,m),_.dispatchEvent(G)}},[C,m]),p.jsxs(Mt.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:E,autoComplete:h,disabled:u,form:T,onChange:_=>o(_.target.value),...e,style:{...HL,...e.style},ref:N,defaultValue:m,children:[Mf(s)&&!L?p.jsx("option",{value:""}):null,Array.from(A)]},R)});j_.displayName=$_;function V1(n){return typeof n=="function"}function Mf(n){return n===""||n===void 0}function J_(n){const e=ir(n),t=M.useRef(""),i=M.useRef(0),s=M.useCallback(a=>{const u=t.current+a;e(u),(function E(h){t.current=h,window.clearTimeout(i.current),h!==""&&(i.current=window.setTimeout(()=>E(""),1e3))})(u)},[e]),o=M.useCallback(()=>{t.current="",window.clearTimeout(i.current)},[]);return M.useEffect(()=>()=>window.clearTimeout(i.current),[]),[t,s,o]}function q_(n,e,t){const s=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,o=t?n.indexOf(t):-1;let a=W1(n,Math.max(o,0));s.length===1&&(a=a.filter(h=>h!==t));const E=a.find(h=>h.textValue.toLowerCase().startsWith(s.toLowerCase()));return E!==t?E:void 0}function W1(n,e){return n.map((t,i)=>n[(e+i)%n.length])}const X1=(n,e)=>{const t=new Array(n.length+e.length);for(let i=0;i<n.length;i++)t[i]=n[i];for(let i=0;i<e.length;i++)t[n.length+i]=e[i];return t},K1=(n,e)=>({classGroupId:n,validator:e}),Q_=(n=new Map,e=null,t)=>({nextPart:n,validators:e,classGroupId:t}),XE="-",Hp=[],z1="arbitrary..",$1=n=>{const e=J1(n),{conflictingClassGroups:t,conflictingClassGroupModifiers:i}=n;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return j1(a);const u=a.split(XE),E=u[0]===""&&u.length>1?1:0;return Z_(u,E,e)},getConflictingClassGroupIds:(a,u)=>{if(u){const E=i[a],h=t[a];return E?h?X1(h,E):E:h||Hp}return t[a]||Hp}}},Z_=(n,e,t)=>{if(n.length-e===0)return t.classGroupId;const s=n[e],o=t.nextPart.get(s);if(o){const h=Z_(n,e+1,o);if(h)return h}const a=t.validators;if(a===null)return;const u=e===0?n.join(XE):n.slice(e).join(XE),E=a.length;for(let h=0;h<E;h++){const T=a[h];if(T.validator(u))return T.classGroupId}},j1=n=>n.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=n.slice(1,-1),t=e.indexOf(":"),i=e.slice(0,t);return i?z1+i:void 0})(),J1=n=>{const{theme:e,classGroups:t}=n;return q1(t,e)},q1=(n,e)=>{const t=Q_();for(const i in n){const s=n[i];eR(s,t,i,e)}return t},eR=(n,e,t,i)=>{const s=n.length;for(let o=0;o<s;o++){const a=n[o];Q1(a,e,t,i)}},Q1=(n,e,t,i)=>{if(typeof n=="string"){Z1(n,e,t);return}if(typeof n=="function"){eB(n,e,t,i);return}tB(n,e,t,i)},Z1=(n,e,t)=>{const i=n===""?e:eD(e,n);i.classGroupId=t},eB=(n,e,t,i)=>{if(nB(n)){eR(n(i),e,t,i);return}e.validators===null&&(e.validators=[]),e.validators.push(K1(t,n))},tB=(n,e,t,i)=>{const s=Object.entries(n),o=s.length;for(let a=0;a<o;a++){const[u,E]=s[a];eR(E,eD(e,u),t,i)}},eD=(n,e)=>{let t=n;const i=e.split(XE),s=i.length;for(let o=0;o<s;o++){const a=i[o];let u=t.nextPart.get(a);u||(u=Q_(),t.nextPart.set(a,u)),t=u}return t},nB=n=>"isThemeGetter"in n&&n.isThemeGetter===!0,iB=n=>{if(n<1)return{get:()=>{},set:()=>{}};let e=0,t=Object.create(null),i=Object.create(null);const s=(o,a)=>{t[o]=a,e++,e>n&&(e=0,i=t,t=Object.create(null))};return{get(o){let a=t[o];if(a!==void 0)return a;if((a=i[o])!==void 0)return s(o,a),a},set(o,a){o in t?t[o]=a:s(o,a)}}},FA="!",wp=":",sB=[],Fp=(n,e,t,i,s)=>({modifiers:n,hasImportantModifier:e,baseClassName:t,maybePostfixModifierPosition:i,isExternal:s}),rB=n=>{const{prefix:e,experimentalParseClassName:t}=n;let i=s=>{const o=[];let a=0,u=0,E=0,h;const T=s.length;for(let m=0;m<T;m++){const C=s[m];if(a===0&&u===0){if(C===wp){o.push(s.slice(E,m)),E=m+1;continue}if(C==="/"){h=m;continue}}C==="["?a++:C==="]"?a--:C==="("?u++:C===")"&&u--}const A=o.length===0?s:s.slice(E);let R=A,O=!1;A.endsWith(FA)?(R=A.slice(0,-1),O=!0):A.startsWith(FA)&&(R=A.slice(1),O=!0);const N=h&&h>E?h-E:void 0;return Fp(o,O,R,N)};if(e){const s=e+wp,o=i;i=a=>a.startsWith(s)?o(a.slice(s.length)):Fp(sB,!1,a,void 0,!0)}if(t){const s=i;i=o=>t({className:o,parseClassName:s})}return i},lB=n=>{const e=new Map;return n.orderSensitiveModifiers.forEach((t,i)=>{e.set(t,1e6+i)}),t=>{const i=[];let s=[];for(let o=0;o<t.length;o++){const a=t[o],u=a[0]==="[",E=e.has(a);u||E?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(a)):s.push(a)}return s.length>0&&(s.sort(),i.push(...s)),i}},oB=n=>({cache:iB(n.cacheSize),parseClassName:rB(n),sortModifiers:lB(n),postfixLookupClassGroupIds:aB(n),...$1(n)}),aB=n=>{const e=Object.create(null),t=n.postfixLookupClassGroups;if(t)for(let i=0;i<t.length;i++)e[t[i]]=!0;return e},cB=/\s+/,uB=(n,e)=>{const{parseClassName:t,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=e,u=[],E=n.trim().split(cB);let h="";for(let T=E.length-1;T>=0;T-=1){const A=E[T],{isExternal:R,modifiers:O,hasImportantModifier:N,baseClassName:m,maybePostfixModifierPosition:C}=t(A);if(R){h=A+(h.length>0?" "+h:h);continue}let L=!!C,_;if(L){const B=m.substring(0,C);_=i(B);const F=_&&a[_]?i(m):void 0;F&&F!==_&&(_=F,L=!1)}else _=i(m);if(!_){if(!L){h=A+(h.length>0?" "+h:h);continue}if(_=i(m),!_){h=A+(h.length>0?" "+h:h);continue}L=!1}const D=O.length===0?"":O.length===1?O[0]:o(O).join(":"),v=N?D+FA:D,U=v+_;if(u.indexOf(U)>-1)continue;u.push(U);const G=s(_,L);for(let B=0;B<G.length;++B){const F=G[B];u.push(v+F)}h=A+(h.length>0?" "+h:h)}return h},EB=(...n)=>{let e=0,t,i,s="";for(;e<n.length;)(t=n[e++])&&(i=tD(t))&&(s&&(s+=" "),s+=i);return s},tD=n=>{if(typeof n=="string")return n;let e,t="";for(let i=0;i<n.length;i++)n[i]&&(e=tD(n[i]))&&(t&&(t+=" "),t+=e);return t},fB=(n,...e)=>{let t,i,s,o;const a=E=>{const h=e.reduce((T,A)=>A(T),n());return t=oB(h),i=t.cache.get,s=t.cache.set,o=u,u(E)},u=E=>{const h=i(E);if(h)return h;const T=uB(E,t);return s(E,T),T};return o=a,(...E)=>o(EB(...E))},hB=[],Gt=n=>{const e=t=>t[n]||hB;return e.isThemeGetter=!0,e},nD=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,iD=/^\((?:(\w[\w-]*):)?(.+)\)$/i,TB=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,dB=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,AB=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,SB=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,RB=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,OB=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$s=n=>TB.test(n),we=n=>!!n&&!Number.isNaN(Number(n)),Di=n=>!!n&&Number.isInteger(Number(n)),Id=n=>n.endsWith("%")&&we(n.slice(0,-1)),hs=n=>dB.test(n),sD=()=>!0,NB=n=>AB.test(n)&&!SB.test(n),tR=()=>!1,mB=n=>RB.test(n),IB=n=>OB.test(n),pB=n=>!me(n)&&!Ie(n),CB=n=>n.startsWith("@container")&&(n[10]==="/"&&n[11]!==void 0||n[11]==="s"&&n[16]!==void 0&&n.startsWith("-size/",10)||n[11]==="n"&&n[18]!==void 0&&n.startsWith("-normal/",10)),gB=n=>Or(n,oD,tR),me=n=>nD.test(n),Fr=n=>Or(n,aD,NB),Yp=n=>Or(n,UB,we),LB=n=>Or(n,uD,sD),_B=n=>Or(n,cD,tR),kp=n=>Or(n,rD,tR),DB=n=>Or(n,lD,IB),qu=n=>Or(n,ED,mB),Ie=n=>iD.test(n),_a=n=>ll(n,aD),MB=n=>ll(n,cD),Vp=n=>ll(n,rD),PB=n=>ll(n,oD),yB=n=>ll(n,lD),Qu=n=>ll(n,ED,!0),vB=n=>ll(n,uD,!0),Or=(n,e,t)=>{const i=nD.exec(n);return i?i[1]?e(i[1]):t(i[2]):!1},ll=(n,e,t=!1)=>{const i=iD.exec(n);return i?i[1]?e(i[1]):t:!1},rD=n=>n==="position"||n==="percentage",lD=n=>n==="image"||n==="url",oD=n=>n==="length"||n==="size"||n==="bg-size",aD=n=>n==="length",UB=n=>n==="number",cD=n=>n==="family-name",uD=n=>n==="number"||n==="weight",ED=n=>n==="shadow",bB=()=>{const n=Gt("color"),e=Gt("font"),t=Gt("text"),i=Gt("font-weight"),s=Gt("tracking"),o=Gt("leading"),a=Gt("breakpoint"),u=Gt("container"),E=Gt("spacing"),h=Gt("radius"),T=Gt("shadow"),A=Gt("inset-shadow"),R=Gt("text-shadow"),O=Gt("drop-shadow"),N=Gt("blur"),m=Gt("perspective"),C=Gt("aspect"),L=Gt("ease"),_=Gt("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...v(),Ie,me],G=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],F=()=>[Ie,me,E],le=()=>[$s,"full","auto",...F()],fe=()=>[Di,"none","subgrid",Ie,me],ie=()=>["auto",{span:["full",Di,Ie,me]},Di,Ie,me],ee=()=>[Di,"auto",Ie,me],Ee=()=>["auto","min","max","fr",Ie,me],oe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Te=()=>["start","end","center","stretch","center-safe","end-safe"],x=()=>["auto",...F()],z=()=>[$s,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],ne=()=>[$s,"screen","full","dvw","lvw","svw","min","max","fit",...F()],ae=()=>[$s,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],J=()=>[n,Ie,me],P=()=>[...v(),Vp,kp,{position:[Ie,me]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],re=()=>["auto","cover","contain",PB,gB,{size:[Ie,me]}],se=()=>[Id,_a,Fr],he=()=>["","none","full",h,Ie,me],Se=()=>["",we,_a,Fr],ue=()=>["solid","dashed","dotted","double"],Me=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Oe=()=>[we,Id,Vp,kp],ve=()=>["","none",N,Ie,me],ye=()=>["none",we,Ie,me],xe=()=>["none",we,Ie,me],pt=()=>[we,Ie,me],je=()=>[$s,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[hs],breakpoint:[hs],color:[sD],container:[hs],"drop-shadow":[hs],ease:["in","out","in-out"],font:[pB],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[hs],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[hs],shadow:[hs],spacing:["px",we],text:[hs],"text-shadow":[hs],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$s,me,Ie,C]}],container:["container"],"container-type":[{"@container":["","normal","size",Ie,me]}],"container-named":[CB],columns:[{columns:[we,me,Ie,u]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:le()}],"inset-x":[{"inset-x":le()}],"inset-y":[{"inset-y":le()}],start:[{"inset-s":le(),start:le()}],end:[{"inset-e":le(),end:le()}],"inset-bs":[{"inset-bs":le()}],"inset-be":[{"inset-be":le()}],top:[{top:le()}],right:[{right:le()}],bottom:[{bottom:le()}],left:[{left:le()}],visibility:["visible","invisible","collapse"],z:[{z:[Di,"auto",Ie,me]}],basis:[{basis:[$s,"full","auto",u,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[we,$s,"auto","initial","none",me]}],grow:[{grow:["",we,Ie,me]}],shrink:[{shrink:["",we,Ie,me]}],order:[{order:[Di,"first","last","none",Ie,me]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:ie()}],"col-start":[{"col-start":ee()}],"col-end":[{"col-end":ee()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:ie()}],"row-start":[{"row-start":ee()}],"row-end":[{"row-end":ee()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ee()}],"auto-rows":[{"auto-rows":Ee()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...oe(),"normal"]}],"justify-items":[{"justify-items":[...Te(),"normal"]}],"justify-self":[{"justify-self":["auto",...Te()]}],"align-content":[{content:["normal",...oe()]}],"align-items":[{items:[...Te(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Te(),{baseline:["","last"]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...Te(),"baseline"]}],"place-self":[{"place-self":["auto",...Te()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:x()}],mx:[{mx:x()}],my:[{my:x()}],ms:[{ms:x()}],me:[{me:x()}],mbs:[{mbs:x()}],mbe:[{mbe:x()}],mt:[{mt:x()}],mr:[{mr:x()}],mb:[{mb:x()}],ml:[{ml:x()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],"inline-size":[{inline:["auto",...ne()]}],"min-inline-size":[{"min-inline":["auto",...ne()]}],"max-inline-size":[{"max-inline":["none",...ne()]}],"block-size":[{block:["auto",...ae()]}],"min-block-size":[{"min-block":["auto",...ae()]}],"max-block-size":[{"max-block":["none",...ae()]}],w:[{w:[u,"screen",...z()]}],"min-w":[{"min-w":[u,"screen","none",...z()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[a]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",t,_a,Fr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,vB,LB]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Id,me]}],"font-family":[{font:[MB,_B,e]}],"font-features":[{"font-features":[me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ie,me]}],"line-clamp":[{"line-clamp":[we,"none",Ie,Yp]}],leading:[{leading:[o,...F()]}],"list-image":[{"list-image":["none",Ie,me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ie,me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ue(),"wavy"]}],"text-decoration-thickness":[{decoration:[we,"from-font","auto",Ie,Fr]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[we,"auto",Ie,me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[Di,Ie,me]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ie,me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ie,me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:P()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:re()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Di,Ie,me],radial:["",Ie,me],conic:[Di,Ie,me]},yB,DB]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:Se()}],"border-w-x":[{"border-x":Se()}],"border-w-y":[{"border-y":Se()}],"border-w-s":[{"border-s":Se()}],"border-w-e":[{"border-e":Se()}],"border-w-bs":[{"border-bs":Se()}],"border-w-be":[{"border-be":Se()}],"border-w-t":[{"border-t":Se()}],"border-w-r":[{"border-r":Se()}],"border-w-b":[{"border-b":Se()}],"border-w-l":[{"border-l":Se()}],"divide-x":[{"divide-x":Se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ue(),"hidden","none"]}],"divide-style":[{divide:[...ue(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...ue(),"none","hidden"]}],"outline-offset":[{"outline-offset":[we,Ie,me]}],"outline-w":[{outline:["",we,_a,Fr]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",T,Qu,qu]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",A,Qu,qu]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:Se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[we,Fr]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":Se()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",R,Qu,qu]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[we,Ie,me]}],"mix-blend":[{"mix-blend":[...Me(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Me()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[we]}],"mask-image-linear-from-pos":[{"mask-linear-from":Oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":Oe()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":Oe()}],"mask-image-t-to-pos":[{"mask-t-to":Oe()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":Oe()}],"mask-image-r-to-pos":[{"mask-r-to":Oe()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":Oe()}],"mask-image-b-to-pos":[{"mask-b-to":Oe()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":Oe()}],"mask-image-l-to-pos":[{"mask-l-to":Oe()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":Oe()}],"mask-image-x-to-pos":[{"mask-x-to":Oe()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":Oe()}],"mask-image-y-to-pos":[{"mask-y-to":Oe()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[Ie,me]}],"mask-image-radial-from-pos":[{"mask-radial-from":Oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":Oe()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[we]}],"mask-image-conic-from-pos":[{"mask-conic-from":Oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":Oe()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:P()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ie,me]}],filter:[{filter:["","none",Ie,me]}],blur:[{blur:ve()}],brightness:[{brightness:[we,Ie,me]}],contrast:[{contrast:[we,Ie,me]}],"drop-shadow":[{"drop-shadow":["","none",O,Qu,qu]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",we,Ie,me]}],"hue-rotate":[{"hue-rotate":[we,Ie,me]}],invert:[{invert:["",we,Ie,me]}],saturate:[{saturate:[we,Ie,me]}],sepia:[{sepia:["",we,Ie,me]}],"backdrop-filter":[{"backdrop-filter":["","none",Ie,me]}],"backdrop-blur":[{"backdrop-blur":ve()}],"backdrop-brightness":[{"backdrop-brightness":[we,Ie,me]}],"backdrop-contrast":[{"backdrop-contrast":[we,Ie,me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",we,Ie,me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[we,Ie,me]}],"backdrop-invert":[{"backdrop-invert":["",we,Ie,me]}],"backdrop-opacity":[{"backdrop-opacity":[we,Ie,me]}],"backdrop-saturate":[{"backdrop-saturate":[we,Ie,me]}],"backdrop-sepia":[{"backdrop-sepia":["",we,Ie,me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ie,me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[we,"initial",Ie,me]}],ease:[{ease:["linear","initial",L,Ie,me]}],delay:[{delay:[we,Ie,me]}],animate:[{animate:["none",_,Ie,me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ie,me]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:ye()}],"rotate-x":[{"rotate-x":ye()}],"rotate-y":[{"rotate-y":ye()}],"rotate-z":[{"rotate-z":ye()}],scale:[{scale:xe()}],"scale-x":[{"scale-x":xe()}],"scale-y":[{"scale-y":xe()}],"scale-z":[{"scale-z":xe()}],"scale-3d":["scale-3d"],skew:[{skew:pt()}],"skew-x":[{"skew-x":pt()}],"skew-y":[{"skew-y":pt()}],transform:[{transform:[Ie,me,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:je()}],"translate-x":[{"translate-x":je()}],"translate-y":[{"translate-y":je()}],"translate-z":[{"translate-z":je()}],"translate-none":["translate-none"],zoom:[{zoom:[Di,Ie,me]}],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ie,me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":J()}],"scrollbar-track-color":[{"scrollbar-track":J()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ie,me]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[we,_a,Fr,Yp]}],stroke:[{stroke:["none",...J()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},xB=fB(bB);function or(...n){return xB(GL(n))}const BB=CU("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function At({className:n,variant:e="default",size:t="default",asChild:i=!1,...s}){const o=i?LU:"button";return p.jsx(o,{"data-slot":"button","data-variant":e,"data-size":t,className:or(BB({variant:e,size:t,className:n})),...s})}function eo({className:n,type:e,...t}){return p.jsx("input",{type:e,"data-slot":"input",className:or("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",n),...t})}/**
91
- * @license lucide-react v1.22.0 - ISC
92
- *
93
- * This source code is licensed under the ISC license.
94
- * See the LICENSE file in the root directory of this source tree.
95
- */const fD=(...n)=>n.filter((e,t,i)=>!!e&&e.trim()!==""&&i.indexOf(e)===t).join(" ").trim();/**
96
- * @license lucide-react v1.22.0 - ISC
97
- *
98
- * This source code is licensed under the ISC license.
99
- * See the LICENSE file in the root directory of this source tree.
100
- */const GB=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
101
- * @license lucide-react v1.22.0 - ISC
102
- *
103
- * This source code is licensed under the ISC license.
104
- * See the LICENSE file in the root directory of this source tree.
105
- */const HB=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,i)=>i?i.toUpperCase():t.toLowerCase());/**
106
- * @license lucide-react v1.22.0 - ISC
107
- *
108
- * This source code is licensed under the ISC license.
109
- * See the LICENSE file in the root directory of this source tree.
110
- */const Wp=n=>{const e=HB(n);return e.charAt(0).toUpperCase()+e.slice(1)};/**
111
- * @license lucide-react v1.22.0 - ISC
112
- *
113
- * This source code is licensed under the ISC license.
114
- * See the LICENSE file in the root directory of this source tree.
115
- */var pd={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
116
- * @license lucide-react v1.22.0 - ISC
117
- *
118
- * This source code is licensed under the ISC license.
119
- * See the LICENSE file in the root directory of this source tree.
120
- */const wB=n=>{for(const e in n)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1},FB=M.createContext({}),YB=()=>M.useContext(FB),kB=M.forwardRef(({color:n,size:e,strokeWidth:t,absoluteStrokeWidth:i,className:s="",children:o,iconNode:a,...u},E)=>{const{size:h=24,strokeWidth:T=2,absoluteStrokeWidth:A=!1,color:R="currentColor",className:O=""}=YB()??{},N=i??A?Number(t??T)*24/Number(e??h):t??T;return M.createElement("svg",{ref:E,...pd,width:e??h??pd.width,height:e??h??pd.height,stroke:n??R,strokeWidth:N,className:fD("lucide",O,s),...!o&&!wB(u)&&{"aria-hidden":"true"},...u},[...a.map(([m,C])=>M.createElement(m,C)),...Array.isArray(o)?o:[o]])});/**
121
- * @license lucide-react v1.22.0 - ISC
122
- *
123
- * This source code is licensed under the ISC license.
124
- * See the LICENSE file in the root directory of this source tree.
125
- */const Mn=(n,e)=>{const t=M.forwardRef(({className:i,...s},o)=>M.createElement(kB,{ref:o,iconNode:e,className:fD(`lucide-${GB(Wp(n))}`,`lucide-${n}`,i),...s}));return t.displayName=Wp(n),t};/**
126
- * @license lucide-react v1.22.0 - ISC
127
- *
128
- * This source code is licensed under the ISC license.
129
- * See the LICENSE file in the root directory of this source tree.
130
- */const VB=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],hD=Mn("check",VB);/**
131
- * @license lucide-react v1.22.0 - ISC
132
- *
133
- * This source code is licensed under the ISC license.
134
- * See the LICENSE file in the root directory of this source tree.
135
- */const WB=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],nR=Mn("chevron-down",WB);/**
136
- * @license lucide-react v1.22.0 - ISC
137
- *
138
- * This source code is licensed under the ISC license.
139
- * See the LICENSE file in the root directory of this source tree.
140
- */const XB=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],TD=Mn("chevron-right",XB);/**
141
- * @license lucide-react v1.22.0 - ISC
142
- *
143
- * This source code is licensed under the ISC license.
144
- * See the LICENSE file in the root directory of this source tree.
145
- */const KB=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],zB=Mn("chevron-up",KB);/**
146
- * @license lucide-react v1.22.0 - ISC
147
- *
148
- * This source code is licensed under the ISC license.
149
- * See the LICENSE file in the root directory of this source tree.
150
- */const $B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],jB=Mn("circle-check",$B);/**
151
- * @license lucide-react v1.22.0 - ISC
152
- *
153
- * This source code is licensed under the ISC license.
154
- * See the LICENSE file in the root directory of this source tree.
155
- */const JB=[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],qB=Mn("corner-down-right",JB);/**
156
- * @license lucide-react v1.22.0 - ISC
157
- *
158
- * This source code is licensed under the ISC license.
159
- * See the LICENSE file in the root directory of this source tree.
160
- */const QB=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],ZB=Mn("external-link",QB);/**
161
- * @license lucide-react v1.22.0 - ISC
162
- *
163
- * This source code is licensed under the ISC license.
164
- * See the LICENSE file in the root directory of this source tree.
165
- */const eG=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],iR=Mn("lock",eG);/**
166
- * @license lucide-react v1.22.0 - ISC
167
- *
168
- * This source code is licensed under the ISC license.
169
- * See the LICENSE file in the root directory of this source tree.
170
- */const tG=[["path",{d:"M5 12h14",key:"1ays0h"}]],nG=Mn("minus",tG);/**
171
- * @license lucide-react v1.22.0 - ISC
172
- *
173
- * This source code is licensed under the ISC license.
174
- * See the LICENSE file in the root directory of this source tree.
175
- */const iG=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],sG=Mn("moon",iG);/**
176
- * @license lucide-react v1.22.0 - ISC
177
- *
178
- * This source code is licensed under the ISC license.
179
- * See the LICENSE file in the root directory of this source tree.
180
- */const rG=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],lG=Mn("plus",rG);/**
181
- * @license lucide-react v1.22.0 - ISC
182
- *
183
- * This source code is licensed under the ISC license.
184
- * See the LICENSE file in the root directory of this source tree.
185
- */const oG=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],aG=Mn("settings",oG);/**
186
- * @license lucide-react v1.22.0 - ISC
187
- *
188
- * This source code is licensed under the ISC license.
189
- * See the LICENSE file in the root directory of this source tree.
190
- */const cG=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],uG=Mn("sun",cG);/**
191
- * @license lucide-react v1.22.0 - ISC
192
- *
193
- * This source code is licensed under the ISC license.
194
- * See the LICENSE file in the root directory of this source tree.
195
- */const EG=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],fG=Mn("x",EG);function hG({...n}){return p.jsx(p_,{"data-slot":"select",...n})}function TG({...n}){return p.jsx(__,{"data-slot":"select-value",...n})}function dG({className:n,size:e="default",children:t,...i}){return p.jsxs(g_,{"data-slot":"select-trigger","data-size":e,className:or("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...i,children:[t,p.jsx(D_,{asChild:!0,children:p.jsx(nR,{className:"size-4 opacity-50"})})]})}function AG({className:n,children:e,position:t="item-aligned",align:i="center",...s}){return p.jsx(P_,{children:p.jsxs(y_,{"data-slot":"select-content",className:or("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",t==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",n),position:t,align:i,...s,children:[p.jsx(SG,{}),p.jsx(B_,{className:or("p-1",t==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:e}),p.jsx(RG,{})]})})}function Xp({className:n,children:e,...t}){return p.jsxs(F_,{"data-slot":"select-item",className:or("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),...t,children:[p.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:p.jsx(V_,{children:p.jsx(hD,{className:"size-4"})})}),p.jsx(Y_,{children:e})]})}function SG({className:n,...e}){return p.jsx(W_,{"data-slot":"select-scroll-up-button",className:or("flex cursor-default items-center justify-center py-1",n),...e,children:p.jsx(zB,{className:"size-4"})})}function RG({className:n,...e}){return p.jsx(X_,{"data-slot":"select-scroll-down-button",className:or("flex cursor-default items-center justify-center py-1",n),...e,children:p.jsx(nR,{className:"size-4"})})}const V=n=>n.flatMap(OG),OG=n=>LE(mG(n)).map(NG),NG=n=>n.replace(/ +/g," ").trim(),mG=n=>({type:"mandatory_block",items:sR(n,0)[0]}),sR=(n,e,t)=>{const i=[];for(;n[e];){const[s,o]=IG(n,e);if(i.push(s),e=o,n[e]==="|")e++;else if(n[e]==="}"||n[e]==="]"){if(t!==n[e])throw new Error(`Unbalanced parenthesis in: ${n}`);return e++,[i,e]}else if(e===n.length){if(t)throw new Error(`Unbalanced parenthesis in: ${n}`);return[i,e]}else throw new Error(`Unexpected "${n[e]}"`)}return[i,e]},IG=(n,e)=>{const t=[];for(;;){const[i,s]=pG(n,e);if(i)t.push(i),e=s;else break}return t.length===1?[t[0],e]:[{type:"concatenation",items:t},e]},pG=(n,e)=>{if(n[e]==="{")return CG(n,e+1);if(n[e]==="[")return gG(n,e+1);{let t="";for(;n[e]&&/[A-Za-z0-9_ ]/.test(n[e]);)t+=n[e],e++;return[t,e]}},CG=(n,e)=>{const[t,i]=sR(n,e,"}");return[{type:"mandatory_block",items:t},i]},gG=(n,e)=>{const[t,i]=sR(n,e,"]");return[{type:"optional_block",items:t},i]},LE=n=>{if(typeof n=="string")return[n];if(n.type==="concatenation")return n.items.map(LE).reduce(LG,[""]);if(n.type==="mandatory_block")return n.items.flatMap(LE);if(n.type==="optional_block")return["",...n.items.flatMap(LE)];throw new Error(`Unknown node type: ${n}`)},LG=(n,e)=>{const t=[];for(const i of n)for(const s of e)t.push(i+s);return t};var Z;(function(n){n.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",n.IDENTIFIER="IDENTIFIER",n.STRING="STRING",n.VARIABLE="VARIABLE",n.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",n.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",n.RESERVED_KEYWORD="RESERVED_KEYWORD",n.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",n.RESERVED_KEYWORD_PHRASE="RESERVED_KEYWORD_PHRASE",n.RESERVED_DATA_TYPE_PHRASE="RESERVED_DATA_TYPE_PHRASE",n.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",n.RESERVED_CLAUSE="RESERVED_CLAUSE",n.RESERVED_SELECT="RESERVED_SELECT",n.RESERVED_JOIN="RESERVED_JOIN",n.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",n.ARRAY_KEYWORD="ARRAY_KEYWORD",n.CASE="CASE",n.END="END",n.WHEN="WHEN",n.ELSE="ELSE",n.THEN="THEN",n.LIMIT="LIMIT",n.BETWEEN="BETWEEN",n.AND="AND",n.OR="OR",n.XOR="XOR",n.OPERATOR="OPERATOR",n.COMMA="COMMA",n.ASTERISK="ASTERISK",n.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",n.OPEN_PAREN="OPEN_PAREN",n.CLOSE_PAREN="CLOSE_PAREN",n.LINE_COMMENT="LINE_COMMENT",n.BLOCK_COMMENT="BLOCK_COMMENT",n.DISABLE_COMMENT="DISABLE_COMMENT",n.NUMBER="NUMBER",n.NAMED_PARAMETER="NAMED_PARAMETER",n.QUOTED_PARAMETER="QUOTED_PARAMETER",n.NUMBERED_PARAMETER="NUMBERED_PARAMETER",n.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",n.CUSTOM_PARAMETER="CUSTOM_PARAMETER",n.DELIMITER="DELIMITER",n.EOF="EOF"})(Z=Z||(Z={}));const dD=n=>({type:Z.EOF,raw:"«EOF»",text:"«EOF»",start:n}),ar=dD(1/0),Jl=n=>e=>e.type===n.type&&e.text===n.text,cr={ARRAY:Jl({text:"ARRAY",type:Z.RESERVED_DATA_TYPE}),BY:Jl({text:"BY",type:Z.RESERVED_KEYWORD}),SET:Jl({text:"SET",type:Z.RESERVED_CLAUSE}),STRUCT:Jl({text:"STRUCT",type:Z.RESERVED_DATA_TYPE}),WINDOW:Jl({text:"WINDOW",type:Z.RESERVED_CLAUSE}),VALUES:Jl({text:"VALUES",type:Z.RESERVED_CLAUSE})},AD=n=>n===Z.RESERVED_DATA_TYPE||n===Z.RESERVED_KEYWORD||n===Z.RESERVED_FUNCTION_NAME||n===Z.RESERVED_KEYWORD_PHRASE||n===Z.RESERVED_DATA_TYPE_PHRASE||n===Z.RESERVED_CLAUSE||n===Z.RESERVED_SELECT||n===Z.RESERVED_SET_OPERATION||n===Z.RESERVED_JOIN||n===Z.ARRAY_KEYWORD||n===Z.CASE||n===Z.END||n===Z.WHEN||n===Z.ELSE||n===Z.THEN||n===Z.LIMIT||n===Z.BETWEEN||n===Z.AND||n===Z.OR||n===Z.XOR,_G=n=>n===Z.AND||n===Z.OR||n===Z.XOR,DG=["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"],MG=["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"],PG=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],yG=V(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),vG=V(["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"]),Kp=V(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),Cd=V(["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"]),UG=V(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),bG=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),xG=V(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),BG=V([]),GG={name:"bigquery",tokenizerOptions:{reservedSelect:yG,reservedClauses:[...vG,...Cd,...Kp],reservedSetOperations:UG,reservedJoins:bG,reservedKeywordPhrases:xG,reservedDataTypePhrases:BG,reservedKeywords:MG,reservedDataTypes:PG,reservedFunctionNames:DG,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:HG},formatOptions:{onelineClauses:[...Kp,...Cd],tabularOnelineClauses:Cd}};function HG(n){return wG(FG(n))}function wG(n){let e=ar;return n.map(t=>t.text==="OFFSET"&&e.text==="["?(e=t,Object.assign(Object.assign({},t),{type:Z.RESERVED_FUNCTION_NAME})):(e=t,t))}function FG(n){var e;const t=[];for(let i=0;i<n.length;i++){const s=n[i];if((cr.ARRAY(s)||cr.STRUCT(s))&&((e=n[i+1])===null||e===void 0?void 0:e.text)==="<"){const o=YG(n,i+1),a=n.slice(i,o+1);t.push({type:Z.IDENTIFIER,raw:a.map(zp("raw")).join(""),text:a.map(zp("text")).join(""),start:s.start}),i=o}else t.push(s)}return t}const zp=n=>e=>e.type===Z.IDENTIFIER||e.type===Z.COMMA?e[n]+" ":e[n];function YG(n,e){let t=0;for(let i=e;i<n.length;i++){const s=n[i];if(s.text==="<"?t++:s.text===">"?t--:s.text===">>"&&(t-=2),t===0)return i}return n.length-1}const kG=["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"],VG=["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"],WG=["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"],XG=V(["SELECT [DISTINCT]","MODIFY QUERY SELECT [DISTINCT]"]),KG=V(["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]"]),$p=V(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),gd=V(["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"]),zG=V(["UNION [ALL | DISTINCT]","PARALLEL WITH"]),$G=V(["[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN","[LEFT] ARRAY JOIN"]),jG=V(["{ROWS | RANGE} BETWEEN","ALTER MATERIALIZE STATISTICS"]),JG={name:"clickhouse",tokenizerOptions:{reservedSelect:XG,reservedClauses:[...KG,...$p,...gd],reservedSetOperations:zG,reservedJoins:$G,reservedKeywordPhrases:jG,reservedKeywords:VG,reservedDataTypes:WG,reservedFunctionNames:kG,extraParens:["[]","{}"],lineCommentTypes:["#","--"],nestedBlockComments:!1,underscoresInNumbers:!0,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq-bs',"``"],paramTypes:{custom:[{regex:String.raw`\{[^:']+:[^}]+\}`,key:n=>{const e=/\{([^:]+):/.exec(n);return e?e[1].trim():n}}]},operators:["%","||","?",":","==","<=>","->"],postProcess:qG},formatOptions:{onelineClauses:[...$p,...gd],tabularOnelineClauses:gd}};function qG(n){return n.map((e,t)=>{const i=n[t+1]||ar,s=n[t-1]||ar;return e.type===Z.RESERVED_SELECT&&(i.type===Z.COMMA||s.type===Z.RESERVED_CLAUSE||s.type===Z.COMMA)?Object.assign(Object.assign({},e),{type:Z.RESERVED_KEYWORD}):cr.SET(e)&&i.type===Z.OPEN_PAREN?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e})}const QG=["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"],ZG=["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"],eH=["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"],tH=V(["SELECT [ALL | DISTINCT]"]),nH=V(["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"]),jp=V(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),Ld=V(["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"]),iH=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),sH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),rH=V(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),lH=V([]),oH={name:"db2",tokenizerOptions:{reservedSelect:tH,reservedClauses:[...nH,...jp,...Ld],reservedSetOperations:iH,reservedJoins:sH,reservedKeywordPhrases:rH,reservedDataTypePhrases:lH,reservedKeywords:ZG,reservedDataTypes:eH,reservedFunctionNames:QG,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:[...jp,...Ld],tabularOnelineClauses:Ld}},aH=["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"],cH=["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"],uH=["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"],EH=V(["SELECT [ALL | DISTINCT]"]),fH=V(["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"]),Jp=V(["CREATE [OR REPLACE] TABLE"]),_d=V(["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}"]),hH=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),TH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),dH=V(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),AH=V([]),SH={name:"db2i",tokenizerOptions:{reservedSelect:EH,reservedClauses:[...fH,...Jp,..._d],reservedSetOperations:hH,reservedJoins:TH,reservedKeywordPhrases:dH,reservedDataTypePhrases:AH,reservedKeywords:cH,reservedDataTypes:uH,reservedFunctionNames:aH,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:[...Jp,..._d],tabularOnelineClauses:_d}},RH=["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"],OH=["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"],NH=["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"],mH=V(["SELECT [ALL | DISTINCT]"]),IH=V(["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"]),qp=V(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),Dd=V(["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]"]),pH=V(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),CH=V(["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"]),gH=V(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM"]),LH=V(["TIMESTAMP WITH TIME ZONE"]),_H={name:"duckdb",tokenizerOptions:{reservedSelect:mH,reservedClauses:[...IH,...qp,...Dd],reservedSetOperations:pH,reservedJoins:CH,reservedKeywordPhrases:gH,reservedDataTypePhrases:LH,supportsXor:!0,reservedKeywords:OH,reservedDataTypes:NH,reservedFunctionNames:RH,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:[...qp,...Dd],tabularOnelineClauses:Dd}},DH=["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"],MH=["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"],PH=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],yH=V(["SELECT [ALL | DISTINCT]"]),vH=V(["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"]),Qp=V(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),Md=V(["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"]),UH=V(["UNION [ALL | DISTINCT]"]),bH=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),xH=V(["{ROWS | RANGE} BETWEEN"]),BH=V([]),GH={name:"hive",tokenizerOptions:{reservedSelect:yH,reservedClauses:[...vH,...Qp,...Md],reservedSetOperations:UH,reservedJoins:bH,reservedKeywordPhrases:xH,reservedDataTypePhrases:BH,reservedKeywords:MH,reservedDataTypes:PH,reservedFunctionNames:DH,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...Qp,...Md],tabularOnelineClauses:Md}};function Pf(n){return n.map((e,t)=>{const i=n[t+1]||ar;if(cr.SET(e)&&i.text==="(")return Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME});const s=n[t-1]||ar;return cr.VALUES(e)&&s.text==="="?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e})}const HH=["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"],wH=["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"],FH=["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"],YH=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),kH=V(["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"]),Zp=V(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),Pd=V(["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"]),VH=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),WH=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),XH=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),KH=V([]),zH={name:"mariadb",tokenizerOptions:{reservedSelect:YH,reservedClauses:[...kH,...Zp,...Pd],reservedSetOperations:VH,reservedJoins:WH,reservedKeywordPhrases:XH,reservedDataTypePhrases:KH,supportsXor:!0,reservedKeywords:HH,reservedDataTypes:wH,reservedFunctionNames:FH,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:Pf},formatOptions:{onelineClauses:[...Zp,...Pd],tabularOnelineClauses:Pd}},$H=["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"],jH=["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"],JH=["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","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","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"],qH=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),QH=V(["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"]),eC=V(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),yd=V(["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"]),ZH=V(["UNION [ALL | DISTINCT]"]),ew=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),tw=V(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),nw=V([]),iw={name:"mysql",tokenizerOptions:{reservedSelect:qH,reservedClauses:[...QH,...eC,...yd],reservedSetOperations:ZH,reservedJoins:ew,reservedKeywordPhrases:tw,reservedDataTypePhrases:nw,supportsXor:!0,reservedKeywords:$H,reservedDataTypes:jH,reservedFunctionNames:JH,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:Pf},formatOptions:{onelineClauses:[...eC,...yd],tabularOnelineClauses:yd}},sw=["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"],rw=["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"],lw=["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"],ow=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),aw=V(["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"]),tC=V(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),vd=V(["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"]),cw=V(["UNION [ALL | DISTINCT]"]),uw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Ew=V(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),fw=V([]),hw={name:"tidb",tokenizerOptions:{reservedSelect:ow,reservedClauses:[...aw,...tC,...vd],reservedSetOperations:cw,reservedJoins:uw,reservedKeywordPhrases:Ew,reservedDataTypePhrases:fw,supportsXor:!0,reservedKeywords:sw,reservedDataTypes:rw,reservedFunctionNames:lw,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:Pf},formatOptions:{onelineClauses:[...tC,...vd],tabularOnelineClauses:vd}},Tw=["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"],dw=["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"],Aw=[],Sw=V(["SELECT [ALL | DISTINCT]"]),Rw=V(["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"]),nC=V(["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"]),Ow=V(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Nw=V(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),mw=V(["{ROWS | RANGE | GROUPS} BETWEEN"]),Iw=V([]),pw={name:"n1ql",tokenizerOptions:{reservedSelect:Sw,reservedClauses:[...Rw,...nC],reservedSetOperations:Ow,reservedJoins:Nw,reservedKeywordPhrases:mw,reservedDataTypePhrases:Iw,supportsXor:!0,reservedKeywords:dw,reservedDataTypes:Aw,reservedFunctionNames:Tw,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:nC}},Cw=["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"],gw=["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"],Lw=["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"],_w=V(["SELECT [ALL | DISTINCT | UNIQUE]"]),Dw=V(["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"]),iC=V(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Ud=V(["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"]),Mw=V(["UNION [ALL]","MINUS","INTERSECT"]),Pw=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),yw=V(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),vw=V([]),Uw={name:"plsql",tokenizerOptions:{reservedSelect:_w,reservedClauses:[...Dw,...iC,...Ud],reservedSetOperations:Mw,reservedJoins:Pw,reservedKeywordPhrases:yw,reservedDataTypePhrases:vw,supportsXor:!0,reservedKeywords:Cw,reservedDataTypes:gw,reservedFunctionNames:Lw,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:bw},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...iC,...Ud],tabularOnelineClauses:Ud}};function bw(n){let e=ar;return n.map(t=>cr.SET(t)&&cr.BY(e)?Object.assign(Object.assign({},t),{type:Z.RESERVED_KEYWORD}):(AD(t.type)&&(e=t),t))}const xw=["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"],Bw=["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"],Gw=["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"],Hw=V(["SELECT [ALL | DISTINCT]"]),ww=V(["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"]),sC=V(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),bd=V(["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","{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE [OF] | DELETE | TRUNCATE}","[NOT] DEFERRABLE","INITIALLY {DEFERRED | IMMEDIATE}","[NOT] DEFERRABLE INITIALLY {DEFERRED | IMMEDIATE}","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 [FUNCTION | PROCEDURE]","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"]),Fw=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Yw=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),kw=V(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","FOR EACH ROW","OR {INSERT | UPDATE [OF] | DELETE | TRUNCATE}","{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),Vw=V(["[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),Ww={name:"postgresql",tokenizerOptions:{reservedSelect:Hw,reservedClauses:[...ww,...sC,...bd],reservedSetOperations:Fw,reservedJoins:Yw,reservedKeywordPhrases:kw,reservedDataTypePhrases:Vw,reservedKeywords:Bw,reservedDataTypes:Gw,reservedFunctionNames:xw,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:[...sC,...bd],tabularOnelineClauses:bd}},Xw=["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"],Kw=["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"],zw=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],$w=V(["SELECT [ALL | DISTINCT]"]),jw=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),rC=V(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),xd=V(["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"]),Jw=V(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),qw=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Qw=V(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),Zw=V([]),eF={name:"redshift",tokenizerOptions:{reservedSelect:$w,reservedClauses:[...jw,...rC,...xd],reservedSetOperations:Jw,reservedJoins:qw,reservedKeywordPhrases:Qw,reservedDataTypePhrases:Zw,reservedKeywords:Kw,reservedDataTypes:zw,reservedFunctionNames:Xw,extraParens:["[]"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...rC,...xd],tabularOnelineClauses:xd}},tF=["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"],nF=["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"],iF=["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"],sF=V(["SELECT [ALL | DISTINCT]"]),rF=V(["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"]),lC=V(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),Bd=V(["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"]),lF=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),oF=V(["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"]),aF=V(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),cF=V([]),uF={name:"spark",tokenizerOptions:{reservedSelect:sF,reservedClauses:[...rF,...lC,...Bd],reservedSetOperations:lF,reservedJoins:oF,reservedKeywordPhrases:aF,reservedDataTypePhrases:cF,supportsXor:!0,reservedKeywords:tF,reservedDataTypes:nF,reservedFunctionNames:iF,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:EF},formatOptions:{onelineClauses:[...lC,...Bd],tabularOnelineClauses:Bd}};function EF(n){return n.map((e,t)=>{const i=n[t-1]||ar,s=n[t+1]||ar;return cr.WINDOW(e)&&s.type===Z.OPEN_PAREN?Object.assign(Object.assign({},e),{type:Z.RESERVED_FUNCTION_NAME}):e.text==="ITEMS"&&e.type===Z.RESERVED_KEYWORD&&!(i.text==="COLLECTION"&&s.text==="TERMINATED")?Object.assign(Object.assign({},e),{type:Z.IDENTIFIER,text:e.raw}):e})}const fF=["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"],hF=["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"],TF=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],dF=V(["SELECT [ALL | DISTINCT]"]),AF=V(["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"]),oC=V(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),Gd=V(["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"]),SF=V(["UNION [ALL]","EXCEPT","INTERSECT"]),RF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),OF=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),NF=V([]),mF={name:"sqlite",tokenizerOptions:{reservedSelect:dF,reservedClauses:[...AF,...oC,...Gd],reservedSetOperations:SF,reservedJoins:RF,reservedKeywordPhrases:OF,reservedDataTypePhrases:NF,reservedKeywords:hF,reservedDataTypes:TF,reservedFunctionNames:fF,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@"],custom:[{regex:String.raw`\$[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z_][a-zA-Z0-9_]*)*(?:\([^)]*\))?`,key:n=>n.slice(1)}]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...oC,...Gd],tabularOnelineClauses:Gd}},IF=["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"],pF=["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"],CF=["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"],gF=V(["SELECT [ALL | DISTINCT]"]),LF=V(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),aC=V(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),Hd=V(["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"]),_F=V(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),DF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),MF=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),PF=V([]),yF={name:"sql",tokenizerOptions:{reservedSelect:gF,reservedClauses:[...LF,...aC,...Hd],reservedSetOperations:_F,reservedJoins:DF,reservedKeywordPhrases:MF,reservedDataTypePhrases:PF,reservedKeywords:pF,reservedDataTypes:CF,reservedFunctionNames:IF,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...aC,...Hd],tabularOnelineClauses:Hd}},vF=["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"],UF=["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"],bF=["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"],xF=V(["SELECT [ALL | DISTINCT]"]),BF=V(["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"]),cC=V(["CREATE TABLE [IF NOT EXISTS]"]),wd=V(["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"]),GF=V(["UNION [ALL | DISTINCT] [CORRESPONDING]","EXCEPT [ALL | DISTINCT] [CORRESPONDING]","INTERSECT [ALL | DISTINCT] [CORRESPONDING]"]),HF=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),wF=V(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"]),FF=V([]),YF={name:"trino",tokenizerOptions:{reservedSelect:xF,reservedClauses:[...BF,...cC,...wd],reservedSetOperations:GF,reservedJoins:HF,reservedKeywordPhrases:wF,reservedDataTypePhrases:FF,reservedKeywords:UF,reservedDataTypes:bF,reservedFunctionNames:vF,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...cC,...wd],tabularOnelineClauses:wd}},kF=["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","OPENJSON","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"],VF=["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"],WF=["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"],XF=V(["SELECT [ALL | DISTINCT]"]),KF=V(["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"]),uC=V(["CREATE TABLE"]),Fd=V(["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"]),zF=V(["UNION [ALL]","EXCEPT","INTERSECT"]),$F=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),jF=V(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),JF=V([]),qF={name:"transactsql",tokenizerOptions:{reservedSelect:XF,reservedClauses:[...KF,...uC,...Fd],reservedSetOperations:zF,reservedJoins:$F,reservedKeywordPhrases:jF,reservedDataTypePhrases:JF,reservedKeywords:VF,reservedDataTypes:WF,reservedFunctionNames:kF,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]},"{}"],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...uC,...Fd],tabularOnelineClauses:Fd}},QF=["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"],ZF=["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"],eY=["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"],tY=V(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),nY=V(["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"]),EC=V(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),Yd=V(["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"]),iY=V(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),sY=V(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),rY=V(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),lY=V([]),oY={name:"singlestoredb",tokenizerOptions:{reservedSelect:tY,reservedClauses:[...nY,...EC,...Yd],reservedSetOperations:iY,reservedJoins:sY,reservedKeywordPhrases:rY,reservedDataTypePhrases:lY,reservedKeywords:QF,reservedDataTypes:ZF,reservedFunctionNames:eY,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:Pf},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...EC,...Yd],tabularOnelineClauses:Yd}},aY=["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"],cY=["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"],uY=["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"],EY=V(["SELECT [ALL | DISTINCT]"]),fY=V(["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"]),fC=V(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),kd=V(["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"]),hY=V(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),TY=V(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),dY=V(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),AY=V([]),SY={name:"snowflake",tokenizerOptions:{reservedSelect:EY,reservedClauses:[...fY,...fC,...kd],reservedSetOperations:hY,reservedJoins:TY,reservedKeywordPhrases:dY,reservedDataTypePhrases:AY,reservedKeywords:cY,reservedDataTypes:uY,reservedFunctionNames:aY,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:[...fC,...kd],tabularOnelineClauses:kd}},RY=Object.freeze(Object.defineProperty({__proto__:null,bigquery:GG,clickhouse:JG,db2:oH,db2i:SH,duckdb:_H,hive:GH,mariadb:zH,mysql:iw,n1ql:pw,plsql:Uw,postgresql:Ww,redshift:eF,singlestoredb:oY,snowflake:SY,spark:uF,sql:yF,sqlite:mF,tidb:hw,transactsql:qF,trino:YF},Symbol.toStringTag,{value:"Module"})),Ha=n=>n[n.length-1],SD=n=>n.sort((e,t)=>t.length-e.length||e.localeCompare(t)),_E=n=>n.replace(/\s+/gu," "),Vd=n=>/\n/.test(n),di=n=>n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),hC=/\s+/uy,ol=n=>new RegExp(`(?:${n})`,"uy"),OY=n=>n.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),NY=n=>n+"(?:-"+n+")*",mY=({prefixes:n,requirePrefix:e})=>`(?:${n.map(OY).join("|")}${e?"":"|"})`,IY=n=>new RegExp(`(?:${n.map(di).join("|")}).*?(?=\r
196
- |\r|
197
- |$)`,"uy"),TC=(n,e=[])=>{const t=n==="open"?0:1,i=["()",...e].map(s=>s[t]);return ol(i.map(di).join("|"))},dC=n=>ol(`${SD(n).map(di).join("|")}`),pY=({rest:n,dashes:e})=>n||e?`(?![${n||""}${e?"-":""}])`:"",Ts=(n,e={})=>{if(n.length===0)return/^\b$/u;const t=pY(e),i=SD(n).map(di).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${t}\\b`,"iuy")},Wd=(n,e)=>{if(!n.length)return;const t=n.map(di).join("|");return ol(`(?:${t})(?:${e})`)},CY=()=>{const n={"<":">","[":"]","(":")","{":"}"},e="{left}(?:(?!{right}').)*?{right}",t=Object.entries(n).map(([a,u])=>e.replace(/{left}/g,di(a)).replace(/{right}/g,di(u))),i=di(Object.keys(n).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${i}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`},AC={"``":"(?:`[^`]*`)+","[]":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''":CY()},RD=n=>typeof n=="string"?AC[n]:"regex"in n?n.regex:mY(n)+AC[n.quote],gY=n=>ol(n.map(e=>"regex"in e?e.regex:RD(e)).join("|")),OD=n=>n.map(RD).join("|"),SC=n=>ol(OD(n)),LY=(n={})=>ol(ND(n)),ND=({first:n,rest:e,dashes:t,allowFirstCharNumber:i}={})=>{const s="\\p{Alphabetic}\\p{Mark}_",o="\\p{Decimal_Number}",a=di(n??""),u=di(e??""),E=i?`[${s}${o}${a}][${s}${o}${u}]*`:`[${s}${a}][${s}${o}${u}]*`;return t?NY(E):E};function mD(n,e){const t=n.slice(0,e).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class _Y{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let i;for(;this.index<this.input.length;){const s=this.getWhitespace();if(this.index<this.input.length){if(i=this.getNextToken(),!i)throw this.createParseError();t.push(Object.assign(Object.assign({},i),{precedingWhitespace:s}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:i}=mD(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${i}.
198
- ${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
199
- If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){hC.lastIndex=this.index;const e=hC.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const i=t[0],s={type:e.type,raw:i,text:e.text?e.text(i):i,start:this.index};return e.key&&(s.key=e.key(i)),this.index+=i.length,s}}}const RC=/\/\*/uy,DY=/[\s\S]/uy,MY=/\*\//uy;class PY{constructor(){this.lastIndex=0}exec(e){let t="",i,s=0;if(i=this.matchSection(RC,e))t+=i,s++;else return null;for(;s>0;)if(i=this.matchSection(RC,e))t+=i,s++;else if(i=this.matchSection(MY,e))t+=i,s--;else if(i=this.matchSection(DY,e))t+=i;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;const i=e.exec(t);return i&&(this.lastIndex+=i[0].length),i?i[0]:null}}class yY{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const i=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],s=new _Y(i,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(e){var t,i,s;return this.validRules([{type:Z.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:Z.BLOCK_COMMENT,regex:e.nestedBlockComments?new PY:/(\/\*[^]*?\*\/)/uy},{type:Z.LINE_COMMENT,regex:IY((t=e.lineCommentTypes)!==null&&t!==void 0?t:["--"])},{type:Z.QUOTED_IDENTIFIER,regex:SC(e.identTypes)},{type:Z.NUMBER,regex:e.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:Z.RESERVED_KEYWORD_PHRASE,regex:Ts((i=e.reservedKeywordPhrases)!==null&&i!==void 0?i:[],e.identChars),text:Ht},{type:Z.RESERVED_DATA_TYPE_PHRASE,regex:Ts((s=e.reservedDataTypePhrases)!==null&&s!==void 0?s:[],e.identChars),text:Ht},{type:Z.CASE,regex:/CASE\b/iuy,text:Ht},{type:Z.END,regex:/END\b/iuy,text:Ht},{type:Z.BETWEEN,regex:/BETWEEN\b/iuy,text:Ht},{type:Z.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:Ht},{type:Z.RESERVED_CLAUSE,regex:Ts(e.reservedClauses,e.identChars),text:Ht},{type:Z.RESERVED_SELECT,regex:Ts(e.reservedSelect,e.identChars),text:Ht},{type:Z.RESERVED_SET_OPERATION,regex:Ts(e.reservedSetOperations,e.identChars),text:Ht},{type:Z.WHEN,regex:/WHEN\b/iuy,text:Ht},{type:Z.ELSE,regex:/ELSE\b/iuy,text:Ht},{type:Z.THEN,regex:/THEN\b/iuy,text:Ht},{type:Z.RESERVED_JOIN,regex:Ts(e.reservedJoins,e.identChars),text:Ht},{type:Z.AND,regex:/AND\b/iuy,text:Ht},{type:Z.OR,regex:/OR\b/iuy,text:Ht},{type:Z.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:Ht},...e.operatorKeyword?[{type:Z.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:Z.RESERVED_FUNCTION_NAME,regex:Ts(e.reservedFunctionNames,e.identChars),text:Ht},{type:Z.RESERVED_DATA_TYPE,regex:Ts(e.reservedDataTypes,e.identChars),text:Ht},{type:Z.RESERVED_KEYWORD,regex:Ts(e.reservedKeywords,e.identChars),text:Ht}])}buildRulesAfterParams(e){var t,i;return this.validRules([{type:Z.VARIABLE,regex:e.variableTypes?gY(e.variableTypes):void 0},{type:Z.STRING,regex:SC(e.stringTypes)},{type:Z.IDENTIFIER,regex:LY(e.identChars)},{type:Z.DELIMITER,regex:/[;]/uy},{type:Z.COMMA,regex:/[,]/y},{type:Z.OPEN_PAREN,regex:TC("open",e.extraParens)},{type:Z.CLOSE_PAREN,regex:TC("close",e.extraParens)},{type:Z.OPERATOR,regex:dC(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!==null&&t!==void 0?t:[]])},{type:Z.ASTERISK,regex:/[*]/uy},{type:Z.PROPERTY_ACCESS_OPERATOR,regex:dC([".",...(i=e.propertyAccessOperators)!==null&&i!==void 0?i:[]])}])}buildParamRules(e,t){var i,s,o,a,u;const E={named:(t==null?void 0:t.named)||((i=e.paramTypes)===null||i===void 0?void 0:i.named)||[],quoted:(t==null?void 0:t.quoted)||((s=e.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:(t==null?void 0:t.numbered)||((o=e.paramTypes)===null||o===void 0?void 0:o.numbered)||[],positional:typeof(t==null?void 0:t.positional)=="boolean"?t.positional:(a=e.paramTypes)===null||a===void 0?void 0:a.positional,custom:(t==null?void 0:t.custom)||((u=e.paramTypes)===null||u===void 0?void 0:u.custom)||[]};return this.validRules([{type:Z.NAMED_PARAMETER,regex:Wd(E.named,ND(e.paramChars||e.identChars)),key:h=>h.slice(1)},{type:Z.QUOTED_PARAMETER,regex:Wd(E.quoted,OD(e.identTypes)),key:h=>(({tokenKey:T,quoteChar:A})=>T.replace(new RegExp(di("\\"+A),"gu"),A))({tokenKey:h.slice(2,-1),quoteChar:h.slice(-1)})},{type:Z.NUMBERED_PARAMETER,regex:Wd(E.numbered,"[0-9]+"),key:h=>h.slice(1)},{type:Z.POSITIONAL_PARAMETER,regex:E.positional?/[?]/y:void 0},...E.custom.map(h=>{var T;return{type:Z.CUSTOM_PARAMETER,regex:ol(h.regex),key:(T=h.key)!==null&&T!==void 0?T:(A=>A)}})])}validRules(e){return e.filter(t=>!!t.regex)}}const Ht=n=>_E(n.toUpperCase()),OC=new Map,vY=n=>{let e=OC.get(n);return e||(e=UY(n),OC.set(n,e)),e},UY=n=>({tokenizer:new yY(n.tokenizerOptions,n.name),formatOptions:bY(n)}),bY=({tokenizerOptions:n,formatOptions:e})=>{var t,i;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(s=>[s,!0])),tabularOnelineClauses:Object.fromEntries(((t=e.tabularOnelineClauses)!==null&&t!==void 0?t:e.onelineClauses).map(s=>[s,!0])),identifierDashes:!!(!((i=n.identChars)===null||i===void 0)&&i.dashes)}};function xY(n){return n.indentStyle==="tabularLeft"||n.indentStyle==="tabularRight"?" ".repeat(10):n.useTabs?" ":" ".repeat(n.tabWidth)}function ql(n){return n.indentStyle==="tabularLeft"||n.indentStyle==="tabularRight"}class BY{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var DE={exports:{}},GY=DE.exports,NC;function HY(){return NC||(NC=1,(function(n){(function(e,t){n.exports?n.exports=t():e.nearley=t()})(GY,function(){function e(h,T,A){return this.id=++e.highestId,this.name=h,this.symbols=T,this.postprocess=A,this}e.highestId=0,e.prototype.toString=function(h){var T=typeof h>"u"?this.symbols.map(E).join(" "):this.symbols.slice(0,h).map(E).join(" ")+" ● "+this.symbols.slice(h).map(E).join(" ");return this.name+" → "+T};function t(h,T,A,R){this.rule=h,this.dot=T,this.reference=A,this.data=[],this.wantedBy=R,this.isComplete=this.dot===h.symbols.length}t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(h){var T=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return T.left=this,T.right=h,T.isComplete&&(T.data=T.build(),T.right=void 0),T},t.prototype.build=function(){var h=[],T=this;do h.push(T.right.data),T=T.left;while(T.left);return h.reverse(),h},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,a.fail))};function i(h,T){this.grammar=h,this.index=T,this.states=[],this.wants={},this.scannable=[],this.completed={}}i.prototype.process=function(h){for(var T=this.states,A=this.wants,R=this.completed,O=0;O<T.length;O++){var N=T[O];if(N.isComplete){if(N.finish(),N.data!==a.fail){for(var m=N.wantedBy,C=m.length;C--;){var L=m[C];this.complete(L,N)}if(N.reference===this.index){var _=N.rule.name;(this.completed[_]=this.completed[_]||[]).push(N)}}}else{var _=N.rule.symbols[N.dot];if(typeof _!="string"){this.scannable.push(N);continue}if(A[_]){if(A[_].push(N),R.hasOwnProperty(_))for(var D=R[_],C=0;C<D.length;C++){var v=D[C];this.complete(N,v)}}else A[_]=[N],this.predict(_)}}},i.prototype.predict=function(h){for(var T=this.grammar.byName[h]||[],A=0;A<T.length;A++){var R=T[A],O=this.wants[h],N=new t(R,0,this.index,O);this.states.push(N)}},i.prototype.complete=function(h,T){var A=h.nextState(T);this.states.push(A)};function s(h,T){this.rules=h,this.start=T||this.rules[0].name;var A=this.byName={};this.rules.forEach(function(R){A.hasOwnProperty(R.name)||(A[R.name]=[]),A[R.name].push(R)})}s.fromCompiled=function(R,T){var A=R.Lexer;R.ParserStart&&(T=R.ParserStart,R=R.ParserRules);var R=R.map(function(N){return new e(N.name,N.symbols,N.postprocess)}),O=new s(R,T);return O.lexer=A,O};function o(){this.reset("")}o.prototype.reset=function(h,T){this.buffer=h,this.index=0,this.line=T?T.line:1,this.lastLineBreak=T?-T.col:0},o.prototype.next=function(){if(this.index<this.buffer.length){var h=this.buffer[this.index++];return h===`
200
- `&&(this.line+=1,this.lastLineBreak=this.index),{value:h}}},o.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},o.prototype.formatError=function(h,T){var A=this.buffer;if(typeof A=="string"){var R=A.split(`
201
- `).slice(Math.max(0,this.line-5),this.line),O=A.indexOf(`
202
- `,this.index);O===-1&&(O=A.length);var N=this.index-this.lastLineBreak,m=String(this.line).length;return T+=" at line "+this.line+" col "+N+`:
203
-
204
- `,T+=R.map(function(L,_){return C(this.line-R.length+_+1,m)+" "+L},this).join(`
205
- `),T+=`
206
- `+C("",m+N)+`^
207
- `,T}else return T+" at index "+(this.index-1);function C(L,_){var D=String(L);return Array(_-D.length+1).join(" ")+D}};function a(h,T,A){if(h instanceof s)var R=h,A=T;else var R=s.fromCompiled(h,T);this.grammar=R,this.options={keepHistory:!1,lexer:R.lexer||new o};for(var O in A||{})this.options[O]=A[O];this.lexer=this.options.lexer,this.lexerState=void 0;var N=new i(R,0);this.table=[N],N.wants[R.start]=[],N.predict(R.start),N.process(),this.current=0}a.fail={},a.prototype.feed=function(h){var T=this.lexer;T.reset(h,this.lexerState);for(var A;;){try{if(A=T.next(),!A)break}catch(B){var m=new i(this.grammar,this.current+1);this.table.push(m);var R=new Error(this.reportLexerError(B));throw R.offset=this.current,R.token=B.token,R}var O=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var N=this.current+1,m=new i(this.grammar,N);this.table.push(m);for(var C=A.text!==void 0?A.text:A.value,L=T.constructor===o?A.value:A,_=O.scannable,D=_.length;D--;){var v=_[D],U=v.rule.symbols[v.dot];if(U.test?U.test(L):U.type?U.type===A.type:U.literal===C){var G=v.nextState({data:L,token:A,isToken:!0,reference:N-1});m.states.push(G)}}if(m.process(),m.states.length===0){var R=new Error(this.reportError(A));throw R.offset=this.current,R.token=A,R}this.options.keepHistory&&(O.lexerState=T.save()),this.current++}return O&&(this.lexerState=T.save()),this.results=this.finish(),this},a.prototype.reportLexerError=function(h){var T,A,R=h.token;return R?(T="input "+JSON.stringify(R.text[0])+" (lexer error)",A=this.lexer.formatError(R,"Syntax error")):(T="input (lexer error)",A=h.message),this.reportErrorCommon(A,T)},a.prototype.reportError=function(h){var T=(h.type?h.type+" token: ":"")+JSON.stringify(h.value!==void 0?h.value:h),A=this.lexer.formatError(h,"Syntax error");return this.reportErrorCommon(A,T)},a.prototype.reportErrorCommon=function(h,T){var A=[];A.push(h);var R=this.table.length-2,O=this.table[R],N=O.states.filter(function(C){var L=C.rule.symbols[C.dot];return L&&typeof L!="string"});if(N.length===0)A.push("Unexpected "+T+`. I did not expect any more input. Here is the state of my parse table:
208
- `),this.displayStateStack(O.states,A);else{A.push("Unexpected "+T+`. Instead, I was expecting to see one of the following:
209
- `);var m=N.map(function(C){return this.buildFirstStateStack(C,[])||[C]},this);m.forEach(function(C){var L=C[0],_=L.rule.symbols[L.dot],D=this.getSymbolDisplay(_);A.push("A "+D+" based on:"),this.displayStateStack(C,A)},this)}return A.push(""),A.join(`
210
- `)},a.prototype.displayStateStack=function(h,T){for(var A,R=0,O=0;O<h.length;O++){var N=h[O],m=N.rule.toString(N.dot);m===A?R++:(R>0&&T.push(" ^ "+R+" more lines identical to this"),R=0,T.push(" "+m)),A=m}},a.prototype.getSymbolDisplay=function(h){return u(h)},a.prototype.buildFirstStateStack=function(h,T){if(T.indexOf(h)!==-1)return null;if(h.wantedBy.length===0)return[h];var A=h.wantedBy[0],R=[h].concat(T),O=this.buildFirstStateStack(A,R);return O===null?null:[h].concat(O)},a.prototype.save=function(){var h=this.table[this.current];return h.lexerState=this.lexerState,h},a.prototype.restore=function(h){var T=h.index;this.current=T,this.table[T]=h,this.table.splice(T+1),this.lexerState=h.lexerState,this.results=this.finish()},a.prototype.rewind=function(h){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[h])},a.prototype.finish=function(){var h=[],T=this.grammar.start,A=this.table[this.table.length-1];return A.states.forEach(function(R){R.rule.name===T&&R.dot===R.rule.symbols.length&&R.reference===0&&R.data!==a.fail&&h.push(R)}),h.map(function(R){return R.data})};function u(h){var T=typeof h;if(T==="string")return h;if(T==="object"){if(h.literal)return JSON.stringify(h.literal);if(h instanceof RegExp)return"character matching "+h;if(h.type)return h.type+" token";if(h.test)return"token matching "+String(h.test);throw new Error("Unknown symbol type: "+h)}}function E(h){var T=typeof h;if(T==="string")return h;if(T==="object"){if(h.literal)return JSON.stringify(h.literal);if(h instanceof RegExp)return h.toString();if(h.type)return"%"+h.type;if(h.test)return"<"+String(h.test)+">";throw new Error("Unknown symbol type: "+h)}}return{Parser:a,Grammar:s,Rule:e}})})(DE)),DE.exports}var wY=HY();const FY=bL(wY);function YY(n){return n.map(kY).map(VY).map(WY).map(XY).map(KY)}const kY=(n,e,t)=>{if(AD(n.type)){const i=zY(t,e);if(i&&i.type===Z.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw});const s=Do(t,e);if(s&&s.type===Z.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw})}return n},VY=(n,e,t)=>{if(n.type===Z.RESERVED_FUNCTION_NAME){const i=Do(t,e);if(!i||!ID(i))return Object.assign(Object.assign({},n),{type:Z.IDENTIFIER,text:n.raw})}return n},WY=(n,e,t)=>{if(n.type===Z.RESERVED_DATA_TYPE){const i=Do(t,e);if(i&&ID(i))return Object.assign(Object.assign({},n),{type:Z.RESERVED_PARAMETERIZED_DATA_TYPE})}return n},XY=(n,e,t)=>{if(n.type===Z.IDENTIFIER){const i=Do(t,e);if(i&&pD(i))return Object.assign(Object.assign({},n),{type:Z.ARRAY_IDENTIFIER})}return n},KY=(n,e,t)=>{if(n.type===Z.RESERVED_DATA_TYPE){const i=Do(t,e);if(i&&pD(i))return Object.assign(Object.assign({},n),{type:Z.ARRAY_KEYWORD})}return n},zY=(n,e)=>Do(n,e,-1),Do=(n,e,t=1)=>{let i=1;for(;n[e+i*t]&&$Y(n[e+i*t]);)i++;return n[e+i*t]},ID=n=>n.type===Z.OPEN_PAREN&&n.text==="(",pD=n=>n.type===Z.OPEN_PAREN&&n.text==="[",$Y=n=>n.type===Z.BLOCK_COMMENT||n.type===Z.LINE_COMMENT;class CD{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:i}=mD(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${i}`}has(e){return e in Z}}var Ce;(function(n){n.statement="statement",n.clause="clause",n.set_operation="set_operation",n.function_call="function_call",n.parameterized_data_type="parameterized_data_type",n.array_subscript="array_subscript",n.property_access="property_access",n.parenthesis="parenthesis",n.between_predicate="between_predicate",n.case_expression="case_expression",n.case_when="case_when",n.case_else="case_else",n.limit_clause="limit_clause",n.all_columns_asterisk="all_columns_asterisk",n.literal="literal",n.identifier="identifier",n.keyword="keyword",n.data_type="data_type",n.parameter="parameter",n.operator="operator",n.comma="comma",n.line_comment="line_comment",n.block_comment="block_comment",n.disable_comment="disable_comment"})(Ce=Ce||(Ce={}));function Xd(n){return n[0]}const Pe=new CD(n=>[]),Yr=([[n]])=>n,Vt=n=>({type:Ce.keyword,tokenType:n.type,text:n.text,raw:n.raw}),mC=n=>({type:Ce.data_type,text:n.text,raw:n.raw}),Wt=(n,{leading:e,trailing:t})=>(e!=null&&e.length&&(n=Object.assign(Object.assign({},n),{leadingComments:e})),t!=null&&t.length&&(n=Object.assign(Object.assign({},n),{trailingComments:t})),n),jY=(n,{leading:e,trailing:t})=>{if(e!=null&&e.length){const[i,...s]=n;n=[Wt(i,{leading:e}),...s]}if(t!=null&&t.length){const i=n.slice(0,-1),s=n[n.length-1];n=[...i,Wt(s,{trailing:t})]}return n},JY={Lexer:Pe,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:n=>n[0].concat([n[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([n])=>{const e=n[n.length-1];return e&&!e.hasSemicolon?e.children.length>0?n:n.slice(0,-1):n}},{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:([n,[e]])=>({type:Ce.statement,children:n,hasSemicolon:e.type===Z.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:n=>n[0].concat([n[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([n,e])=>[...n,...e]},{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:Yr},{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:n=>n[0].concat([n[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:Xd},{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:([n,e,t,i])=>{if(i){const[s,o]=i;return{type:Ce.limit_clause,limitKw:Wt(Vt(n),{trailing:e}),offset:t,count:o}}else return{type:Ce.limit_clause,limitKw:Wt(Vt(n),{trailing:e}),count:t}}},{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:n=>n[0].concat([n[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:n=>n[0].concat([n[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:([n,[e,t]])=>({type:Ce.clause,nameKw:Vt(n),children:[e,...t]})},{name:"select_clause",symbols:[Pe.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([n])=>({type:Ce.clause,nameKw:Vt(n),children:[]})},{name:"all_columns_asterisk",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Ce.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"other_clause",symbols:[Pe.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([n,e])=>({type:Ce.clause,nameKw:Vt(n),children:e})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"set_operation",symbols:[Pe.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([n,e])=>({type:Ce.set_operation,nameKw:Vt(n),children:e})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:n=>n[0].concat([n[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:Xd},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:n=>n[0].concat([n[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([n,e])=>[n,...e]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:n=>n[0].concat([n[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([n,e])=>[n,...e]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([n,e])=>Wt(n,{trailing:e})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([n,e])=>Wt(e,{leading:n})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([n,e])=>Wt(e,{leading:n})},{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:Yr},{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:Yr},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:Yr},{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:Yr},{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:Yr},{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:Yr},{name:"array_subscript",symbols:[Pe.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([n,e,t])=>({type:Ce.array_subscript,array:Wt({type:Ce.identifier,quoted:!1,text:n.text},{trailing:e}),parenthesis:t})},{name:"array_subscript",symbols:[Pe.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([n,e,t])=>({type:Ce.array_subscript,array:Wt(Vt(n),{trailing:e}),parenthesis:t})},{name:"function_call",symbols:[Pe.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([n,e,t])=>({type:Ce.function_call,nameKw:Wt(Vt(n),{trailing:e}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:n=>n[0].concat([n[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([n,e,t])=>({type:Ce.parenthesis,children:e,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:([n,e,t,i,[s]])=>({type:Ce.property_access,object:Wt(n,{trailing:e}),operator:t.text,property:Wt(s,{leading:i})})},{name:"between_predicate",symbols:[Pe.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",Pe.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([n,e,t,i,s,o,a])=>({type:Ce.between_predicate,betweenKw:Vt(n),expr1:jY(t,{leading:e,trailing:i}),andKw:Vt(s),expr2:[Wt(a,{leading:o})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:Xd},{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:n=>n[0].concat([n[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:([n,e,t,i,s])=>({type:Ce.case_expression,caseKw:Wt(Vt(n),{trailing:e}),endKw:Vt(s),expr:t||[],clauses:i})},{name:"case_clause",symbols:[Pe.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",Pe.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([n,e,t,i,s,o])=>({type:Ce.case_when,whenKw:Wt(Vt(n),{trailing:e}),thenKw:Wt(Vt(i),{trailing:s}),condition:t,result:o})},{name:"case_clause",symbols:[Pe.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([n,e,t])=>({type:Ce.case_else,elseKw:Wt(Vt(n),{trailing:e}),result:t})},{name:"comma$subexpression$1",symbols:[Pe.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[n]])=>({type:Ce.comma})},{name:"asterisk$subexpression$1",symbols:[Pe.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[n]])=>({type:Ce.operator,text:n.text})},{name:"operator$subexpression$1",symbols:[Pe.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[n]])=>({type:Ce.operator,text:n.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:([[n]])=>({type:Ce.identifier,quoted:n.type!=="IDENTIFIER",text:n.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:([[n]])=>({type:Ce.parameter,key:n.key,text:n.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:([[n]])=>({type:Ce.literal,text:n.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:([[n]])=>Vt(n)},{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:([[n]])=>mC(n)},{name:"data_type",symbols:[Pe.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([n,e,t])=>({type:Ce.parameterized_data_type,dataType:Wt(mC(n),{trailing:e}),parenthesis:t})},{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:([[n]])=>Vt(n)},{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:([[n]])=>Vt(n)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:n=>n[0].concat([n[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([n])=>n},{name:"comment",symbols:[Pe.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([n])=>({type:Ce.line_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})},{name:"comment",symbols:[Pe.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([n])=>({type:Ce.block_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})},{name:"comment",symbols:[Pe.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([n])=>({type:Ce.disable_comment,text:n.text,precedingWhitespace:n.precedingWhitespace})}],ParserStart:"main"},{Parser:qY,Grammar:QY}=FY;function ZY(n){let e={};const t=new CD(s=>[...YY(n.tokenize(s,e)),dD(s.length)]),i=new qY(QY.fromCompiled(JY),{lexer:t});return{parse:(s,o)=>{e=o;const{results:a}=i.feed(s);if(a.length===1)return a[0];throw a.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
211
- ${JSON.stringify(a,void 0,2)}`)}}}var j;(function(n){n[n.SPACE=0]="SPACE",n[n.NO_SPACE=1]="NO_SPACE",n[n.NO_NEWLINE=2]="NO_NEWLINE",n[n.NEWLINE=3]="NEWLINE",n[n.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",n[n.INDENT=5]="INDENT",n[n.SINGLE_INDENT=6]="SINGLE_INDENT"})(j=j||(j={}));class gD{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case j.SPACE:this.items.push(j.SPACE);break;case j.NO_SPACE:this.trimHorizontalWhitespace();break;case j.NO_NEWLINE:this.trimWhitespace();break;case j.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(j.NEWLINE);break;case j.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(j.MANDATORY_NEWLINE);break;case j.INDENT:this.addIndentation();break;case j.SINGLE_INDENT:this.items.push(j.SINGLE_INDENT);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;ek(Ha(this.items));)this.items.pop()}trimWhitespace(){for(;tk(Ha(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(Ha(this.items)){case j.NEWLINE:this.items.pop(),this.items.push(e);break;case j.MANDATORY_NEWLINE:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(j.SINGLE_INDENT)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}isAtStartOfLine(){for(let e=this.items.length-1;e>=0;e--){const t=this.items[e];if(t!==j.SINGLE_INDENT)return t===j.NEWLINE||t===j.MANDATORY_NEWLINE}return!1}itemToString(e){switch(e){case j.SPACE:return" ";case j.NEWLINE:case j.MANDATORY_NEWLINE:return`
212
- `;case j.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const ek=n=>n===j.SPACE||n===j.SINGLE_INDENT,tk=n=>n===j.SPACE||n===j.SINGLE_INDENT||n===j.NEWLINE;function IC(n,e){if(e==="standard")return n;let t=[];return n.length>=10&&n.includes(" ")&&([n,...t]=n.split(" ")),e==="tabularLeft"?n=n.padEnd(9," "):n=n.padStart(9," "),n+["",...t].join(" ")}function pC(n){return _G(n)||n===Z.RESERVED_CLAUSE||n===Z.RESERVED_SELECT||n===Z.RESERVED_SET_OPERATION||n===Z.RESERVED_JOIN||n===Z.LIMIT}const Kd="top-level",nk="block-level";class LD{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(Kd)}increaseBlockLevel(){this.indentTypes.push(nk)}decreaseTopLevel(){this.indentTypes.length>0&&Ha(this.indentTypes)===Kd&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===Kd;);}}class ik extends gD{constructor(e){super(new LD("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(t=>this.addToLength(t)),this.length>this.expressionWidth)throw new YA;super.add(...e)}addToLength(e){if(typeof e=="string")this.length+=e.length,this.trailingSpace=!1;else{if(e===j.MANDATORY_NEWLINE||e===j.NEWLINE)throw new YA;e===j.INDENT||e===j.SINGLE_INDENT||e===j.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(e===j.NO_NEWLINE||e===j.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class YA extends Error{}class KE{constructor({cfg:e,dialectCfg:t,params:i,layout:s,inline:o=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=o,this.params=i,this.layout=s}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case Ce.function_call:return this.formatFunctionCall(e);case Ce.parameterized_data_type:return this.formatParameterizedDataType(e);case Ce.array_subscript:return this.formatArraySubscript(e);case Ce.property_access:return this.formatPropertyAccess(e);case Ce.parenthesis:return this.formatParenthesis(e);case Ce.between_predicate:return this.formatBetweenPredicate(e);case Ce.case_expression:return this.formatCaseExpression(e);case Ce.case_when:return this.formatCaseWhen(e);case Ce.case_else:return this.formatCaseElse(e);case Ce.clause:return this.formatClause(e);case Ce.set_operation:return this.formatSetOperation(e);case Ce.limit_clause:return this.formatLimitClause(e);case Ce.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case Ce.literal:return this.formatLiteral(e);case Ce.identifier:return this.formatIdentifier(e);case Ce.parameter:return this.formatParameter(e);case Ce.operator:return this.formatOperator(e);case Ce.comma:return this.formatComma(e);case Ce.line_comment:return this.formatLineComment(e);case Ce.block_comment:return this.formatBlockComment(e);case Ce.disable_comment:return this.formatBlockComment(e);case Ce.data_type:return this.formatDataType(e);case Ce.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case Ce.data_type:t=this.showDataType(e.array);break;case Ce.keyword:t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array);break}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(j.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(j.NO_SPACE,e.closeParen,j.SPACE)):(this.layout.add(e.openParen,j.NEWLINE),ql(this.cfg)?(this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(j.NEWLINE,j.INDENT,e.closeParen,j.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),j.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(j.NO_SPACE,j.SPACE,this.showNonTabularKw(e.andKw),j.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(j.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(j.NEWLINE,j.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):ql(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return ql(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.nameKw),j.NEWLINE),this.layout.add(j.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),ql(this.cfg)?this.layout.add(j.SPACE):this.layout.add(j.NEWLINE,j.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(j.NO_SPACE,",",j.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",j.SPACE)}formatLiteral(e){this.layout.add(e.text,j.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),j.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),j.SPACE)}formatOperator({text:e}){e==="-"&&this.dialectCfg.identifierDashes?this.layout.add(e,j.SPACE):this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(j.NO_SPACE,e):e===":"?this.layout.add(j.NO_SPACE,e,j.SPACE):this.layout.add(e,j.SPACE)}formatComma(e){this.inline?this.layout.add(j.NO_SPACE,",",j.SPACE):this.layout.add(j.NO_SPACE,",",j.NEWLINE,j.INDENT)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(t=>{t.type===Ce.line_comment?this.formatLineComment(t):this.formatBlockComment(t)})}formatLineComment(e){Vd(e.precedingWhitespace||"")?this.layout.add(j.NEWLINE,j.INDENT,e.text,j.MANDATORY_NEWLINE,j.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(j.NO_NEWLINE,j.SPACE,e.text,j.MANDATORY_NEWLINE,j.INDENT):this.layout.add(e.text,j.MANDATORY_NEWLINE,j.INDENT)}formatBlockComment(e){e.type===Ce.block_comment&&this.isStandaloneBlockComment(e)?(this.splitBlockComment(e.text).forEach(t=>{this.layout.add(j.NEWLINE,j.INDENT,t)}),this.layout.add(j.NEWLINE,j.INDENT)):this.layout.add(e.text,j.SPACE)}isStandaloneBlockComment(e){return Vd(e.text)||Vd(e.precedingWhitespace||"")||this.layout.isAtStartOfLine()}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(i=>/^\s*\*/.test(i))&&/^\s*\*\/$/.test(Ha(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(t=>/^\s*\*/.test(t)?" "+t.replace(/^\s*/,""):t):e.split(/\n/).map(t=>t.replace(/^\s*/,""))}formatSubExpression(e){return new KE({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){const t=this.params.getPositionalParameterIndex();try{return new KE({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new ik(this.cfg.expressionWidth),inline:!0}).format(e)}catch(i){if(i instanceof YA){this.params.setPositionalParameterIndex(t);return}else throw i}}formatKeywordNode(e){switch(e.tokenType){case Z.RESERVED_JOIN:return this.formatJoin(e);case Z.AND:case Z.OR:case Z.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){ql(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),j.SPACE)}formatLogicalOperator(e){this.cfg.logicalOperatorNewline==="before"?ql(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(j.NEWLINE,j.INDENT,this.showKw(e),j.SPACE):this.layout.add(this.showKw(e),j.NEWLINE,j.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),j.SPACE)}showKw(e){return pC(e.tokenType)?IC(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return _E(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return pC(e.tokenType)?IC(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return _E(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return _E(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class sk{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new BY(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return ZY(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(t=>this.formatStatement(t)).join(`
213
- `.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new KE({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new gD(new LD(xY(this.cfg)))}).format(e.children);return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(j.NEWLINE,";"):t.add(j.NO_NEWLINE,";")),t.toString()}}class ME extends Error{}function rk(n){const e=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const t of e)if(t in n)throw new ME(`${t} config is no more supported.`);if(n.expressionWidth<=0)throw new ME(`expressionWidth config must be positive number. Received ${n.expressionWidth} instead.`);if(n.params&&!lk(n.params)&&console.warn('WARNING: All "params" option values should be strings.'),n.paramTypes&&!ok(n.paramTypes))throw new ME("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return n}function lk(n){return(n instanceof Array?n:Object.values(n)).every(t=>typeof t=="string")}function ok(n){return n.custom&&Array.isArray(n.custom)?n.custom.every(e=>e.regex!==""):!0}var ak=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(n);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(n,i[s])&&(t[i[s]]=n[i[s]]);return t};const _D={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"},ck=Object.keys(_D),uk={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},Ek=(n,e={})=>{if(typeof e.language=="string"&&!ck.includes(e.language))throw new ME(`Unsupported SQL dialect: ${e.language}`);const t=_D[e.language||"sql"];return fk(n,Object.assign(Object.assign({},e),{dialect:RY[t]}))},fk=(n,e)=>{var{dialect:t}=e,i=ak(e,["dialect"]);if(typeof n!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof n);const s=rk(Object.assign(Object.assign({},uk),i));return new sk(vY(t),s).format(n)},DD=1024;let hk=0,zd=class{constructor(e,t){this.from=e,this.to=t}};class Ye{constructor(e={}){this.id=hk++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=_n.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}Ye.closedBy=new Ye({deserialize:n=>n.split(" ")});Ye.openedBy=new Ye({deserialize:n=>n.split(" ")});Ye.group=new Ye({deserialize:n=>n.split(" ")});Ye.isolate=new Ye({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});Ye.contextHash=new Ye({perNode:!0});Ye.lookAhead=new Ye({perNode:!0});Ye.mounted=new Ye({perNode:!0});class wa{constructor(e,t,i,s=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=s}static get(e){return e&&e.props&&e.props[Ye.mounted.id]}}const Tk=Object.create(null);class _n{constructor(e,t,i,s=0){this.name=e,this.props=t,this.id=i,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):Tk,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new _n(e.name||"",t,e.id,i);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(s)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[o[0].id]=o[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Ye.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let s of i.split(" "))t[s]=e[i];return i=>{for(let s=i.prop(Ye.group),o=-1;o<(s?s.length:0);o++){let a=t[o<0?i.name:s[o]];if(a)return a}}}}_n.none=new _n("",Object.create(null),0,8);class rR{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let s=null;for(let o of e){let a=o(i);if(a){s||(s=Object.assign({},i.props));let u=a[1],E=a[0];E.combine&&E.id in s&&(u=E.combine(s[E.id],u)),s[E.id]=u}}t.push(s?new _n(i.name,s,i.id,i.flags):i)}return new rR(t)}}const Zu=new WeakMap,CC=new WeakMap;var Nt;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Nt||(Nt={}));class Dt{constructor(e,t,i,s,o){if(this.type=e,this.children=t,this.positions=i,this.length=s,this.props=null,o&&o.length){this.props=Object.create(null);for(let[a,u]of o)this.props[typeof a=="number"?a:a.id]=u}}toString(){let e=wa.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let s=i.toString();s&&(t&&(t+=","),t+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new VA(this.topNode,e)}cursorAt(e,t=0,i=0){let s=Zu.get(this)||this.topNode,o=new VA(s);return o.moveTo(e,t),Zu.set(this,o._tree),o}get topNode(){return new li(this,0,0,null)}resolve(e,t=0){let i=ja(Zu.get(this)||this.topNode,e,t,!1);return Zu.set(this,i),i}resolveInner(e,t=0){let i=ja(CC.get(this)||this.topNode,e,t,!0);return CC.set(this,i),i}resolveStack(e,t=0){return Sk(this,e,t)}iterate(e){let{enter:t,leave:i,from:s=0,to:o=this.length}=e,a=e.mode||0,u=(a&Nt.IncludeAnonymous)>0;for(let E=this.cursor(a|Nt.IncludeAnonymous);;){let h=!1;if(E.from<=o&&E.to>=s&&(!u&&E.type.isAnonymous||t(E)!==!1)){if(E.firstChild())continue;h=!0}for(;h&&i&&(u||!E.type.isAnonymous)&&i(E),!E.nextSibling();){if(!E.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:aR(_n.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,s)=>new Dt(this.type,t,i,s,this.propValues),e.makeTree||((t,i,s)=>new Dt(_n.none,t,i,s)))}static build(e){return Rk(e)}}Dt.empty=new Dt(_n.none,[],[],0);class lR{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new lR(this.buffer,this.index)}}class ur{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return _n.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],s=this.set.types[t],o=s.name;if(/\W/.test(o)&&!s.isError&&(o=JSON.stringify(o)),e+=4,i==e)return o;let a=[];for(;e<i;)a.push(this.childString(e)),e=this.buffer[e+3];return o+"("+a.join(",")+")"}findChild(e,t,i,s,o){let{buffer:a}=this,u=-1;for(let E=e;E!=t&&!(MD(o,s,a[E+1],a[E+2])&&(u=E,i>0));E=a[E+3]);return u}slice(e,t,i){let s=this.buffer,o=new Uint16Array(t-e),a=0;for(let u=e,E=0;u<t;){o[E++]=s[u++],o[E++]=s[u++]-i;let h=o[E++]=s[u++]-i;o[E++]=s[u++]-e,a=Math.max(a,h)}return new ur(o,a,this.set)}}function MD(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function ja(n,e,t,i){for(var s;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let a=!i&&n instanceof li&&n.index<0?null:n.parent;if(!a)return n;n=a}let o=i?0:Nt.IgnoreOverlays;if(i)for(let a=n,u=a.parent;u;a=u,u=a.parent)a instanceof li&&a.index<0&&((s=u.enter(e,t,o))===null||s===void 0?void 0:s.from)!=a.from&&(n=u);for(;;){let a=n.enter(e,t,o);if(!a)return n;n=a}}class PD{cursor(e=0){return new VA(this,e)}getChild(e,t=null,i=null){let s=gC(this,e,t,i);return s.length?s[0]:null}getChildren(e,t=null,i=null){return gC(this,e,t,i)}resolve(e,t=0){return ja(this,e,t,!1)}resolveInner(e,t=0){return ja(this,e,t,!0)}matchContext(e){return kA(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let s=t.lastChild;if(!s||s.to!=t.to)break;s.type.isError&&s.from==s.to?(i=t,t=s.prevSibling):t=s}return i}get node(){return this}get next(){return this.parent}}class li extends PD{constructor(e,t,i,s){super(),this._tree=e,this.from=t,this.index=i,this._parent=s}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,s,o=0){for(let a=this;;){for(let{children:u,positions:E}=a._tree,h=t>0?u.length:-1;e!=h;e+=t){let T=u[e],A=E[e]+a.from,R;if(!(!(o&Nt.EnterBracketed&&T instanceof Dt&&(R=wa.get(T))&&!R.overlay&&R.bracketed&&i>=A&&i<=A+T.length)&&!MD(s,i,A,A+T.length))){if(T instanceof ur){if(o&Nt.ExcludeBuffers)continue;let O=T.findChild(0,T.buffer.length,t,i-A,s);if(O>-1)return new er(new dk(a,T,e,A),null,O)}else if(o&Nt.IncludeAnonymous||!T.type.isAnonymous||oR(T)){let O;if(!(o&Nt.IgnoreMounts)&&(O=wa.get(T))&&!O.overlay)return new li(O.tree,A,e,a);let N=new li(T,A,e,a);return o&Nt.IncludeAnonymous||!N.type.isAnonymous?N:N.nextChild(t<0?T.children.length-1:0,t,i,s,o)}}}if(o&Nt.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let s;if(!(i&Nt.IgnoreOverlays)&&(s=wa.get(this._tree))&&s.overlay){let o=e-this.from,a=i&Nt.EnterBracketed&&s.bracketed;for(let{from:u,to:E}of s.overlay)if((t>0||a?u<=o:u<o)&&(t<0||a?E>=o:E>o))return new li(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function gC(n,e,t,i){let s=n.cursor(),o=[];if(!s.firstChild())return o;if(t!=null){for(let a=!1;!a;)if(a=s.type.is(t),!s.nextSibling())return o}for(;;){if(i!=null&&s.type.is(i))return o;if(s.type.is(e)&&o.push(s.node),!s.nextSibling())return i==null?o:[]}}function kA(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class dk{constructor(e,t,i,s){this.parent=e,this.buffer=t,this.index=i,this.start=s}}class er extends PD{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,i);return o<0?null:new er(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&Nt.ExcludeBuffers)return null;let{buffer:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new er(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new er(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new er(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,s=this.index+4,o=i.buffer[this.index+3];if(o>s){let a=i.buffer[this.index+1];e.push(i.slice(s,o,a)),t.push(0)}return new Dt(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function yD(n){if(!n.length)return null;let e=0,t=n[0];for(let o=1;o<n.length;o++){let a=n[o];(a.from>t.from||a.to<t.to)&&(t=a,e=o)}let i=t instanceof li&&t.index<0?null:t.parent,s=n.slice();return i?s[e]=i:s.splice(e,1),new Ak(s,t)}class Ak{constructor(e,t){this.heads=e,this.node=t}get next(){return yD(this.heads)}}function Sk(n,e,t){let i=n.resolveInner(e,t),s=null;for(let o=i instanceof li?i:i.context.parent;o;o=o.parent)if(o.index<0){let a=o.parent;(s||(s=[i])).push(a.resolve(e,t)),o=a}else{let a=wa.get(o.tree);if(a&&a.overlay&&a.overlay[0].from<=e&&a.overlay[a.overlay.length-1].to>=e){let u=new li(a.tree,a.overlay[0].from+o.from,-1,o);(s||(s=[i])).push(ja(u,e,t,!1))}}return s?yD(s):i}class VA{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Nt.EnterBracketed,e instanceof li)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=i+s.buffer[e+1],this.to=i+s.buffer[e+2],!0}yield(e){return e?e instanceof li?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:s}=this.buffer,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,i);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&Nt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Nt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Nt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:s}=this;if(s){if(e>0){if(this.index<s.buffer.buffer.length)return!1}else for(let o=0;o<this.index;o++)if(s.buffer.buffer[o+3]<this.index)return!1;({index:t,parent:i}=s)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let o=t+e,a=e<0?-1:i._tree.children.length;o!=a;o+=e){let u=i._tree.children[o];if(this.mode&Nt.IncludeAnonymous||u instanceof ur||!u.type.isAnonymous||oR(u))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let s=this.index,o=this.stack.length;o>=0;){for(let a=e;a;a=a._parent)if(a.index==s){if(s==this.index)return a;t=a,i=o+1;break e}s=this.stack[--o]}for(let s=i;s<this.stack.length;s++)t=new er(this.buffer,t,this.stack[s]);return this.bufferNode=new er(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let s=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(s=!0)}for(;;){if(s&&t&&t(this),s=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,s=!0}}}matchContext(e){if(!this.buffer)return kA(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let s=e.length-1,o=this.stack.length-1;s>=0;o--){if(o<0)return kA(this._tree,e,s);let a=i[t.buffer[this.stack[o]]];if(!a.isAnonymous){if(e[s]&&e[s]!=a.name)return!1;s--}}return!0}}function oR(n){return n.children.some(e=>e instanceof ur||!e.type.isAnonymous||oR(e))}function Rk(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:s=DD,reused:o=[],minRepeatType:a=i.types.length}=n,u=Array.isArray(t)?new lR(t,t.length):t,E=i.types,h=0,T=0;function A(U,G,B,F,le,fe){let{id:ie,start:ee,end:Ee,size:oe}=u,Te=T,x=h;if(oe<0)if(u.next(),oe==-1){let P=o[ie];B.push(P),F.push(ee-U);return}else if(oe==-3){h=ie;return}else if(oe==-4){T=ie;return}else throw new RangeError(`Unrecognized record size: ${oe}`);let z=E[ie],ne,ae,J=ee-U;if(Ee-ee<=s&&(ae=C(u.pos-G,le))){let P=new Uint16Array(ae.size-ae.skip),X=u.pos-ae.size,re=P.length;for(;u.pos>X;)re=L(ae.start,P,re);ne=new ur(P,Ee-ae.start,i),J=ae.start-U}else{let P=u.pos-oe;u.next();let X=[],re=[],se=ie>=a?ie:-1,he=0,Se=Ee;for(;u.pos>P;)se>=0&&u.id==se&&u.size>=0?(u.end<=Se-s&&(N(X,re,ee,he,u.end,Se,se,Te,x),he=X.length,Se=u.end),u.next()):fe>2500?R(ee,P,X,re):A(ee,P,X,re,se,fe+1);if(se>=0&&he>0&&he<X.length&&N(X,re,ee,he,ee,Se,se,Te,x),X.reverse(),re.reverse(),se>-1&&he>0){let ue=O(z,x);ne=aR(z,X,re,0,X.length,0,Ee-ee,ue,ue)}else ne=m(z,X,re,Ee-ee,Te-Ee,x)}B.push(ne),F.push(J)}function R(U,G,B,F){let le=[],fe=0,ie=-1;for(;u.pos>G;){let{id:ee,start:Ee,end:oe,size:Te}=u;if(Te>4)u.next();else{if(ie>-1&&Ee<ie)break;ie<0&&(ie=oe-s),le.push(ee,Ee,oe),fe++,u.next()}}if(fe){let ee=new Uint16Array(fe*4),Ee=le[le.length-2];for(let oe=le.length-3,Te=0;oe>=0;oe-=3)ee[Te++]=le[oe],ee[Te++]=le[oe+1]-Ee,ee[Te++]=le[oe+2]-Ee,ee[Te++]=Te;B.push(new ur(ee,le[2]-Ee,i)),F.push(Ee-U)}}function O(U,G){return(B,F,le)=>{let fe=0,ie=B.length-1,ee,Ee;if(ie>=0&&(ee=B[ie])instanceof Dt){if(!ie&&ee.type==U&&ee.length==le)return ee;(Ee=ee.prop(Ye.lookAhead))&&(fe=F[ie]+ee.length+Ee)}return m(U,B,F,le,fe,G)}}function N(U,G,B,F,le,fe,ie,ee,Ee){let oe=[],Te=[];for(;U.length>F;)oe.push(U.pop()),Te.push(G.pop()+B-le);U.push(m(i.types[ie],oe,Te,fe-le,ee-fe,Ee)),G.push(le-B)}function m(U,G,B,F,le,fe,ie){if(fe){let ee=[Ye.contextHash,fe];ie=ie?[ee].concat(ie):[ee]}if(le>25){let ee=[Ye.lookAhead,le];ie=ie?[ee].concat(ie):[ee]}return new Dt(U,G,B,F,ie)}function C(U,G){let B=u.fork(),F=0,le=0,fe=0,ie=B.end-s,ee={size:0,start:0,skip:0};e:for(let Ee=B.pos-U;B.pos>Ee;){let oe=B.size;if(B.id==G&&oe>=0){ee.size=F,ee.start=le,ee.skip=fe,fe+=4,F+=4,B.next();continue}let Te=B.pos-oe;if(oe<0||Te<Ee||B.start<ie)break;let x=B.id>=a?4:0,z=B.start;for(B.next();B.pos>Te;){if(B.size<0)if(B.size==-3||B.size==-4)x+=4;else break e;else B.id>=a&&(x+=4);B.next()}le=z,F+=oe,fe+=x}return(G<0||F==U)&&(ee.size=F,ee.start=le,ee.skip=fe),ee.size>4?ee:void 0}function L(U,G,B){let{id:F,start:le,end:fe,size:ie}=u;if(u.next(),ie>=0&&F<a){let ee=B;if(ie>4){let Ee=u.pos-(ie-4);for(;u.pos>Ee;)B=L(U,G,B)}G[--B]=ee,G[--B]=fe-U,G[--B]=le-U,G[--B]=F}else ie==-3?h=F:ie==-4&&(T=F);return B}let _=[],D=[];for(;u.pos>0;)A(n.start||0,n.bufferStart||0,_,D,-1,0);let v=(e=n.length)!==null&&e!==void 0?e:_.length?D[0]+_[0].length:0;return new Dt(E[n.topID],_.reverse(),D.reverse(),v)}const LC=new WeakMap;function PE(n,e){if(!n.isAnonymous||e instanceof ur||e.type!=n)return 1;let t=LC.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof Dt)){t=1;break}t+=PE(n,i)}LC.set(e,t)}return t}function aR(n,e,t,i,s,o,a,u,E){let h=0;for(let N=i;N<s;N++)h+=PE(n,e[N]);let T=Math.ceil(h*1.5/8),A=[],R=[];function O(N,m,C,L,_){for(let D=C;D<L;){let v=D,U=m[D],G=PE(n,N[D]);for(D++;D<L;D++){let B=PE(n,N[D]);if(G+B>=T)break;G+=B}if(D==v+1){if(G>T){let B=N[v];O(B.children,B.positions,0,B.children.length,m[v]+_);continue}A.push(N[v])}else{let B=m[D-1]+N[D-1].length-U;A.push(aR(n,N,m,v,D,U,B,null,E))}R.push(U+_-o)}}return O(e,t,i,s,0),(u||E)(A,R,a)}class Jr{constructor(e,t,i,s,o=!1,a=!1){this.from=e,this.to=t,this.tree=i,this.offset=s,this.open=(o?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let s=[new Jr(0,e.length,e,0,!1,i)];for(let o of t)o.to>e.length&&s.push(o);return s}static applyChanges(e,t,i=128){if(!t.length)return e;let s=[],o=1,a=e.length?e[0]:null;for(let u=0,E=0,h=0;;u++){let T=u<t.length?t[u]:null,A=T?T.fromA:1e9;if(A-E>=i)for(;a&&a.from<A;){let R=a;if(E>=R.from||A<=R.to||h){let O=Math.max(R.from,E)-h,N=Math.min(R.to,A)-h;R=O>=N?null:new Jr(O,N,R.tree,R.offset+h,u>0,!!T)}if(R&&s.push(R),a.to>A)break;a=o<e.length?e[o++]:null}if(!T)break;E=T.toA,h=T.toA-T.toB}return s}}class vD{startParse(e,t,i){return typeof e=="string"&&(e=new Ok(e)),i=i?i.length?i.map(s=>new zd(s.from,s.to)):[new zd(0,0)]:[new zd(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let s=this.startParse(e,t,i);for(;;){let o=s.advance();if(o)return o}}}class Ok{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new Ye({perNode:!0});var _C={};class zE{constructor(e,t,i,s,o,a,u,E,h,T=0,A){this.p=e,this.stack=t,this.state=i,this.reducePos=s,this.pos=o,this.score=a,this.buffer=u,this.bufferBase=E,this.curContext=h,this.lookAhead=T,this.parent=A}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let s=e.parser.context;return new zE(e,[],t,i,i,0,[],0,s?new DC(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,s=e&65535,{parser:o}=this.p,a=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),u=o.dynamicPrecedence(s);if(u&&(this.score+=u),i==0){s<o.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(o.getGoto(this.state,s,!0),this.reducePos),s<o.minRepeatTerm&&this.storeNode(s,this.reducePos,this.reducePos,a?8:4,!0),this.reduceContext(s,this.reducePos);return}let E=this.stack.length-(i-1)*3-(e&262144?6:0),h=E?this.stack[E-2]:this.p.ranges[0].from;s<o.minRepeatTerm&&h==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let T=this.reducePos-h;T>=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=T):this.p.lastBigReductionSize<T&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=h,this.p.lastBigReductionSize=T));let A=E?this.stack[E-1]:0,R=this.bufferBase+this.buffer.length-A;if(s<o.minRepeatTerm||e&131072){let O=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(s,h,O,R+4,!0)}if(e&262144)this.state=this.stack[E];else{let O=this.stack[E-3];this.state=o.getGoto(O,s,!0)}for(;this.stack.length>E;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,t,i,s=4,o=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let a=this.buffer.length;if(a>0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(t==i)return;if(this.buffer[a-2]>=t){this.buffer[a-2]=i;return}}}if(!o||this.pos==i)this.buffer.push(e,t,i,s);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let u=!1;for(let E=a;E>0&&this.buffer[E-2]>i;E-=4)if(this.buffer[E-1]>=0){u=!0;break}if(u)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,s>4&&(s-=4)}this.buffer[a]=e,this.buffer[a+1]=t,this.buffer[a+2]=i,this.buffer[a+3]=s}}shift(e,t,i,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let o=e,{parser:a}=this.p;this.pos=s;let u=a.stateFlag(o,1);!u&&(s>i||t<=a.maxNode)&&(this.reducePos=s),this.pushState(o,u?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=a.maxNode&&this.buffer.push(t,i,s,4)}else this.pos=s,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,s,4)}apply(e,t,i,s){e&65536?this.reduce(e):this.shift(e,t,i,s)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(i,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new zE(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Nk(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let s=[];for(let o=0,a;o<t.length;o+=2)(a=t[o+1])!=this.state&&this.p.parser.hasAction(a,e)&&s.push(t[o],a);if(this.stack.length<120)for(let o=0;s.length<8&&o<t.length;o+=2){let a=t[o+1];s.some((u,E)=>E&1&&u==a)||s.push(t[o],a)}t=s}let i=[];for(let s=0;s<t.length&&i.length<4;s+=2){let o=t[s+1];if(o==this.state)continue;let a=this.split();a.pushState(o,this.pos),a.storeNode(0,a.pos,a.pos,4,!0),a.shiftContext(t[s],this.pos),a.reducePos=this.pos,a.score-=200,i.push(a)}return i}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let i=t>>19,s=t&65535,o=this.stack.length-i*3;if(o<0||e.getGoto(this.stack[o],s,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;t=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(s,o)=>{if(!t.includes(s))return t.push(s),e.allActions(s,a=>{if(!(a&393216))if(a&65536){let u=(a>>19)-o;if(u>1){let E=a&65535,h=this.stack.length-u*3;if(h>=0&&e.getGoto(this.stack[h],E,!1)>=0)return u<<19|65536|E}}else{let u=i(a,o+1);if(u!=null)return u}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new DC(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class DC{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Nk{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class $E{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new $E(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new $E(this.stack,this.pos,this.index)}}function eE(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,s=0;i<n.length;){let o=0;for(;;){let a=n.charCodeAt(i++),u=!1;if(a==126){o=65535;break}a>=92&&a--,a>=34&&a--;let E=a-32;if(E>=46&&(E-=46,u=!0),o+=E,u)break;o*=46}t?t[s++]=o:t=new e(o)}return t}class yE{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const MC=new yE;class mk{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=MC,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,s=this.rangeIndex,o=this.pos+e;for(;o<i.from;){if(!s)return null;let a=this.ranges[--s];o-=i.from-a.to,i=a}for(;t<0?o>i.to:o>=i.to;){if(s==this.ranges.length-1)return null;let a=this.ranges[++s];o+=a.from-i.to,i=a}return o}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,s;if(t>=0&&t<this.chunk.length)i=this.pos+e,s=this.chunk.charCodeAt(t);else{let o=this.resolveOffset(e,1);if(o==null)return-1;if(i=o,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let a=this.rangeIndex,u=this.range;for(;u.to<=i;)u=this.ranges[++a];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>u.to&&(this.chunk2=this.chunk2.slice(0,u.to-i)),s=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),s}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=MC,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(i+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return i}}class uo{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;pk(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}uo.prototype.contextual=uo.prototype.fallback=uo.prototype.extend=!1;uo.prototype.fallback=uo.prototype.extend=!1;class Ik{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function pk(n,e,t,i,s,o){let a=0,u=1<<i,{dialect:E}=t.p.parser;e:for(;(u&n[a])!=0;){let h=n[a+1];for(let O=a+3;O<h;O+=2)if((n[O+1]&u)>0){let N=n[O];if(E.allows(N)&&(e.token.value==-1||e.token.value==N||Ck(N,e.token.value,s,o))){e.acceptToken(N);break}}let T=e.next,A=0,R=n[a+2];if(e.next<0&&R>A&&n[h+R*3-3]==65535){a=n[h+R*3-1];continue e}for(;A<R;){let O=A+R>>1,N=h+O+(O<<1),m=n[N],C=n[N+1]||65536;if(T<m)R=O;else if(T>=C)A=O+1;else{a=n[N+2],e.advance();continue e}}break}}function PC(n,e,t){for(let i=e,s;(s=n[i])!=65535;i++)if(s==t)return i-e;return-1}function Ck(n,e,t,i){let s=PC(t,i,e);return s<0||PC(t,i,n)<s}const Fn=typeof process<"u"&&_C&&/\bparse\b/.test(_C.LOG);let $d=null;function yC(n,e,t){let i=n.cursor(Nt.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class gk{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?yC(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?yC(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],s=this.index[t];if(s==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=i.children[s],a=this.start[t]+i.positions[s];if(a>e)return this.nextStart=a,null;if(o instanceof Dt){if(a==e){if(a<this.safeFrom)return null;let u=a+o.length;if(u<=this.safeTo){let E=o.prop(Ye.lookAhead);if(!E||u+E<this.fragment.to)return o}}this.index[t]++,a+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+o.length}}}class Lk{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new yE)}getActions(e){let t=0,i=null,{parser:s}=e.p,{tokenizers:o}=s,a=s.stateSlot(e.state,3),u=e.curContext?e.curContext.hash:0,E=0;for(let h=0;h<o.length;h++){if((1<<h&a)==0)continue;let T=o[h],A=this.tokens[h];if(!(i&&!T.fallback)&&((T.contextual||A.start!=e.pos||A.mask!=a||A.context!=u)&&(this.updateCachedToken(A,T,e),A.mask=a,A.context=u),A.lookAhead>A.end+25&&(E=Math.max(A.lookAhead,E)),A.value!=0)){let R=t;if(A.extended>-1&&(t=this.addActions(e,A.extended,A.end,t)),t=this.addActions(e,A.value,A.end,t),!T.extend&&(i=A,t>R))break}}for(;this.actions.length>t;)this.actions.pop();return E&&e.setLookAhead(E),!i&&e.pos==this.stream.end&&(i=new yE,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new yE,{pos:i,p:s}=e;return t.start=i,t.end=Math.min(i+1,s.stream.end),t.value=i==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,i){let s=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(s,e),i),e.value>-1){let{parser:o}=i.p;for(let a=0;a<o.specialized.length;a++)if(o.specialized[a]==e.value){let u=o.specializers[a](this.stream.read(e.start,e.end),i);if(u>=0&&i.p.parser.dialect.allows(u>>1)){(u&1)==0?e.value=u>>1:e.extended=u>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,i,s){for(let o=0;o<s;o+=3)if(this.actions[o]==e)return s;return this.actions[s++]=e,this.actions[s++]=t,this.actions[s++]=i,s}addActions(e,t,i,s){let{state:o}=e,{parser:a}=e.p,{data:u}=a;for(let E=0;E<2;E++)for(let h=a.stateSlot(o,E?2:1);;h+=3){if(u[h]==65535)if(u[h+1]==1)h=ds(u,h+2);else{s==0&&u[h+1]==2&&(s=this.putAction(ds(u,h+2),t,i,s));break}u[h]==t&&(s=this.putAction(ds(u,h+1),t,i,s))}return s}}class _k{constructor(e,t,i,s){this.parser=e,this.input=t,this.ranges=s,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new mk(t,s),this.tokens=new Lk(e,this.stream),this.topTerm=e.top[1];let{from:o}=s[0];this.stacks=[zE.start(this,e.top[0],o)],this.fragments=i.length&&this.stream.end-o>e.bufferLength*4?new gk(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],s,o;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let u=e[a];for(;;){if(this.tokens.mainToken=null,u.pos>t)i.push(u);else{if(this.advanceStack(u,i,e))continue;{s||(s=[],o=[]),s.push(u);let E=this.tokens.getMainToken(u);o.push(E.value,E.end)}}break}}if(!i.length){let a=s&&Mk(s);if(a)return Fn&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Fn&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&s){let a=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,o,i);if(a)return Fn&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((u,E)=>E.score-u.score);i.length>a;)i.pop();i.some(u=>u.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let a=0;a<i.length-1;a++){let u=i[a];for(let E=a+1;E<i.length;E++){let h=i[E];if(u.sameState(h)||u.buffer.length>500&&h.buffer.length>500)if((u.score-h.score||u.buffer.length-h.buffer.length)>0)i.splice(E--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,u)=>u.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a<i.length;a++)i[a].pos<this.minStackPos&&(this.minStackPos=i[a].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let s=e.pos,{parser:o}=this,a=Fn?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,T=h?e.curContext.hash:0;for(let A=this.fragments.nodeAt(s);A;){let R=this.parser.nodeSet.types[A.type.id]==A.type?o.getGoto(e.state,A.type.id):-1;if(R>-1&&A.length&&(!h||(A.prop(Ye.contextHash)||0)==T))return e.useNode(A,R),Fn&&console.log(a+this.stackID(e)+` (via reuse of ${o.getName(A.type.id)})`),!0;if(!(A instanceof Dt)||A.children.length==0||A.positions[0]>0)break;let O=A.children[0];if(O instanceof Dt&&A.positions[0]==0)A=O;else break}}let u=o.stateSlot(e.state,4);if(u>0)return e.reduce(u),Fn&&console.log(a+this.stackID(e)+` (via always-reduce ${o.getName(u&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let E=this.tokens.getActions(e);for(let h=0;h<E.length;){let T=E[h++],A=E[h++],R=E[h++],O=h==E.length||!i,N=O?e:e.split(),m=this.tokens.mainToken;if(N.apply(T,A,m?m.start:N.pos,R),Fn&&console.log(a+this.stackID(N)+` (via ${(T&65536)==0?"shift":`reduce of ${o.getName(T&65535)}`} for ${o.getName(A)} @ ${s}${N==e?"":", split"})`),O)return!0;N.pos>s?t.push(N):i.push(N)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return vC(e,t),!0}}runRecovery(e,t,i){let s=null,o=!1;for(let a=0;a<e.length;a++){let u=e[a],E=t[a<<1],h=t[(a<<1)+1],T=Fn?this.stackID(u)+" -> ":"";if(u.deadEnd&&(o||(o=!0,u.restart(),Fn&&console.log(T+this.stackID(u)+" (restarted)"),this.advanceFully(u,i))))continue;let A=u.split(),R=T;for(let O=0;O<10&&A.forceReduce()&&(Fn&&console.log(R+this.stackID(A)+" (via force-reduce)"),!this.advanceFully(A,i));O++)Fn&&(R=this.stackID(A)+" -> ");for(let O of u.recoverByInsert(E))Fn&&console.log(T+this.stackID(O)+" (via recover-insert)"),this.advanceFully(O,i);this.stream.end>u.pos?(h==u.pos&&(h++,E=0),u.recoverByDelete(E,h),Fn&&console.log(T+this.stackID(u)+` (via recover-delete ${this.parser.getName(E)})`),vC(u,i)):(!s||s.score<A.score)&&(s=A)}return s}stackToTree(e){return e.close(),Dt.build({buffer:$E.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=($d||($d=new WeakMap)).get(e);return t||$d.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function vC(n,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==n.pos&&i.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class Dk{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}class Ja extends vD{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let u=0;u<e.repeatNodeCount;u++)t.push("");let i=Object.keys(e.topRules).map(u=>e.topRules[u][1]),s=[];for(let u=0;u<t.length;u++)s.push([]);function o(u,E,h){s[u].push([E,E.deserialize(String(h))])}if(e.nodeProps)for(let u of e.nodeProps){let E=u[0];typeof E=="string"&&(E=Ye[E]);for(let h=1;h<u.length;){let T=u[h++];if(T>=0)o(T,E,u[h++]);else{let A=u[h+-T];for(let R=-T;R>0;R--)o(u[h++],E,A);h++}}}this.nodeSet=new rR(t.map((u,E)=>_n.define({name:E>=this.minRepeatTerm?void 0:u,id:E,props:s[E],top:i.indexOf(E)>-1,error:E==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(E)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=DD;let a=eE(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let u=0;u<this.specializerSpecs.length;u++)this.specialized[u]=this.specializerSpecs[u].term;this.specializers=this.specializerSpecs.map(UC),this.states=eE(e.states,Uint32Array),this.data=eE(e.stateData),this.goto=eE(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(u=>typeof u=="number"?new uo(a,u):u),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let s=new _k(this,e,t,i);for(let o of this.wrappers)s=o(s,e,t,i);return s}getGoto(e,t,i=!1){let s=this.goto;if(t>=s[0])return-1;for(let o=s[t+1];;){let a=s[o++],u=a&1,E=s[o++];if(u&&i)return E;for(let h=o+(a>>1);o<h;o++)if(s[o]==e)return E;if(u)return-1}}hasAction(e,t){let i=this.data;for(let s=0;s<2;s++)for(let o=this.stateSlot(e,s?2:1),a;;o+=3){if((a=i[o])==65535)if(i[o+1]==1)a=i[o=ds(i,o+2)];else{if(i[o+1]==2)return ds(i,o+2);break}if(a==t||a==0)return ds(i,o+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),s=i?t(i):void 0;for(let o=this.stateSlot(e,1);s==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=ds(this.data,o+2);else break;s=t(ds(this.data,o+1))}return s}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ds(this.data,i+2);else break;if((this.data[i+2]&1)==0){let s=this.data[i+1];t.some((o,a)=>a&1&&o==s)||t.push(this.data[i],s)}}return t}configure(e){let t=Object.assign(Object.create(Ja.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let s=e.tokenizers.find(o=>o.from==i);return s?s.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,s)=>{let o=e.specializers.find(u=>u.from==i.external);if(!o)return i;let a=Object.assign(Object.assign({},i),{external:o.to});return t.specializers[s]=UC(a),a})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let o of e.split(" ")){let a=t.indexOf(o);a>=0&&(i[a]=!0)}let s=null;for(let o=0;o<t.length;o++)if(!i[o])for(let a=this.dialects[t[o]],u;(u=this.data[a++])!=65535;)(s||(s=new Uint8Array(this.maxTerm+1)))[u]=1;return new Dk(e,i,s)}static deserialize(e){return new Ja(e)}}function ds(n,e){return n[e]|n[e+1]<<16}function Mk(n){let e=null;for(let t of n){let i=t.p.stoppedAt;(t.pos==t.p.stream.end||i!=null&&t.pos>i)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function UC(n){if(n.external){let e=n.extend?1:0;return(t,i)=>n.external(t,i)<<1|e}return n.get}let Pk=0;class ni{constructor(e,t,i,s){this.name=e,this.set=t,this.base=i,this.modified=s,this.id=Pk++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof ni&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let s=new ni(i,[],null,[]);if(s.set.push(s),t)for(let o of t.set)s.set.push(o);return s}static defineModifier(e){let t=new jE(e);return i=>i.modified.indexOf(t)>-1?i:jE.get(i.base||i,i.modified.concat(t).sort((s,o)=>s.id-o.id))}}let yk=0;class jE{constructor(e){this.name=e,this.instances=[],this.id=yk++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(u=>u.base==e&&vk(t,u.modified));if(i)return i;let s=[],o=new ni(e.name,s,e,t);for(let u of t)u.instances.push(o);let a=Uk(t);for(let u of e.set)if(!u.modified.length)for(let E of a)s.push(jE.get(u,E));return o}}function vk(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function Uk(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,s=e.length;i<s;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function cR(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let s of t.split(" "))if(s){let o=[],a=2,u=s;for(let A=0;;){if(u=="..."&&A>0&&A+3==s.length){a=1;break}let R=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(u);if(!R)throw new RangeError("Invalid path: "+s);if(o.push(R[0]=="*"?"":R[0][0]=='"'?JSON.parse(R[0]):R[0]),A+=R[0].length,A==s.length)break;let O=s[A++];if(A==s.length&&O=="!"){a=0;break}if(O!="/")throw new RangeError("Invalid path: "+s);u=s.slice(A)}let E=o.length-1,h=o[E];if(!h)throw new RangeError("Invalid path: "+s);let T=new qa(i,a,E>0?o.slice(0,E):null);e[h]=T.sort(e[h])}}return UD.add(e)}const UD=new Ye({combine(n,e){let t,i,s;for(;n||e;){if(!n||e&&n.depth>=e.depth?(s=e,e=e.next):(s=n,n=n.next),t&&t.mode==s.mode&&!s.context&&!t.context)continue;let o=new qa(s.tags,s.mode,s.context);t?t.next=o:i=o,t=o}return i}});class qa{constructor(e,t,i,s){this.tags=e,this.mode=t,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}qa.empty=new qa([],2,null);function bD(n,e){let t=Object.create(null);for(let o of n)if(!Array.isArray(o.tag))t[o.tag.id]=o.class;else for(let a of o.tag)t[a.id]=o.class;let{scope:i,all:s=null}=e||{};return{style:o=>{let a=s;for(let u of o)for(let E of u.set){let h=t[E.id];if(h){a=a?a+" "+h:h;break}}return a},scope:i}}function bk(n,e){let t=null;for(let i of n){let s=i.style(e);s&&(t=t?t+" "+s:s)}return t}function xk(n,e,t,i=0,s=n.length){let o=new Bk(i,Array.isArray(e)?e:[e],t);o.highlightRange(n.cursor(),i,s,"",o.highlighters),o.flush(s)}class Bk{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,s,o){let{type:a,from:u,to:E}=e;if(u>=i||E<=t)return;a.isTop&&(o=this.highlighters.filter(O=>!O.scope||O.scope(a)));let h=s,T=Gk(e)||qa.empty,A=bk(o,T.tags);if(A&&(h&&(h+=" "),h+=A,T.mode==1&&(s+=(s?" ":"")+A)),this.startSpan(Math.max(t,u),h),T.opaque)return;let R=e.tree&&e.tree.prop(Ye.mounted);if(R&&R.overlay){let O=e.node.enter(R.overlay[0].from+u,1),N=this.highlighters.filter(C=>!C.scope||C.scope(R.tree.type)),m=e.firstChild();for(let C=0,L=u;;C++){let _=C<R.overlay.length?R.overlay[C]:null,D=_?_.from+u:E,v=Math.max(t,L),U=Math.min(i,D);if(v<U&&m)for(;e.from<U&&(this.highlightRange(e,v,U,s,o),this.startSpan(Math.min(U,e.to),h),!(e.to>=D||!e.nextSibling())););if(!_||D>i)break;L=_.to+u,L>t&&(this.highlightRange(O.cursor(),Math.max(t,_.from+u),Math.min(i,L),"",N),this.startSpan(Math.min(i,L),h))}m&&e.parent()}else if(e.firstChild()){R&&(s="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,s,o),this.startSpan(Math.min(i,e.to),h)}while(e.nextSibling());e.parent()}}}function Gk(n){let e=n.type.prop(UD);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const de=ni.define,tE=de(),Js=de(),bC=de(Js),xC=de(Js),qs=de(),nE=de(qs),jd=de(qs),Ui=de(),kr=de(Ui),Mi=de(),Pi=de(),WA=de(),Da=de(WA),iE=de(),w={comment:tE,lineComment:de(tE),blockComment:de(tE),docComment:de(tE),name:Js,variableName:de(Js),typeName:bC,tagName:de(bC),propertyName:xC,attributeName:de(xC),className:de(Js),labelName:de(Js),namespace:de(Js),macroName:de(Js),literal:qs,string:nE,docString:de(nE),character:de(nE),attributeValue:de(nE),number:jd,integer:de(jd),float:de(jd),bool:de(qs),regexp:de(qs),escape:de(qs),color:de(qs),url:de(qs),keyword:Mi,self:de(Mi),null:de(Mi),atom:de(Mi),unit:de(Mi),modifier:de(Mi),operatorKeyword:de(Mi),controlKeyword:de(Mi),definitionKeyword:de(Mi),moduleKeyword:de(Mi),operator:Pi,derefOperator:de(Pi),arithmeticOperator:de(Pi),logicOperator:de(Pi),bitwiseOperator:de(Pi),compareOperator:de(Pi),updateOperator:de(Pi),definitionOperator:de(Pi),typeOperator:de(Pi),controlOperator:de(Pi),punctuation:WA,separator:de(WA),bracket:Da,angleBracket:de(Da),squareBracket:de(Da),paren:de(Da),brace:de(Da),content:Ui,heading:kr,heading1:de(kr),heading2:de(kr),heading3:de(kr),heading4:de(kr),heading5:de(kr),heading6:de(kr),contentSeparator:de(Ui),list:de(Ui),quote:de(Ui),emphasis:de(Ui),strong:de(Ui),link:de(Ui),monospace:de(Ui),strikethrough:de(Ui),inserted:de(),deleted:de(),changed:de(),invalid:de(),meta:iE,documentMeta:de(iE),annotation:de(iE),processingInstruction:de(iE),definition:ni.defineModifier("definition"),constant:ni.defineModifier("constant"),function:ni.defineModifier("function"),standard:ni.defineModifier("standard"),local:ni.defineModifier("local"),special:ni.defineModifier("special")};for(let n in w){let e=w[n];e instanceof ni&&(e.name=n)}bD([{tag:w.link,class:"tok-link"},{tag:w.heading,class:"tok-heading"},{tag:w.emphasis,class:"tok-emphasis"},{tag:w.strong,class:"tok-strong"},{tag:w.keyword,class:"tok-keyword"},{tag:w.atom,class:"tok-atom"},{tag:w.bool,class:"tok-bool"},{tag:w.url,class:"tok-url"},{tag:w.labelName,class:"tok-labelName"},{tag:w.inserted,class:"tok-inserted"},{tag:w.deleted,class:"tok-deleted"},{tag:w.literal,class:"tok-literal"},{tag:w.string,class:"tok-string"},{tag:w.number,class:"tok-number"},{tag:[w.regexp,w.escape,w.special(w.string)],class:"tok-string2"},{tag:w.variableName,class:"tok-variableName"},{tag:w.local(w.variableName),class:"tok-variableName tok-local"},{tag:w.definition(w.variableName),class:"tok-variableName tok-definition"},{tag:w.special(w.variableName),class:"tok-variableName2"},{tag:w.definition(w.propertyName),class:"tok-propertyName tok-definition"},{tag:w.typeName,class:"tok-typeName"},{tag:w.namespace,class:"tok-namespace"},{tag:w.className,class:"tok-className"},{tag:w.macroName,class:"tok-macroName"},{tag:w.propertyName,class:"tok-propertyName"},{tag:w.operator,class:"tok-operator"},{tag:w.comment,class:"tok-comment"},{tag:w.meta,class:"tok-meta"},{tag:w.invalid,class:"tok-invalid"},{tag:w.punctuation,class:"tok-punctuation"}]);const Hk=cR({String:w.string,Number:w.number,"True False":w.bool,PropertyName:w.propertyName,Null:w.null,", :":w.separator,"[ ]":w.squareBracket,"{ }":w.brace}),wk=Ja.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Hk],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let XA=[],xD=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?xD:XA).push(t=t+n[e])})();function Fk(n){if(n<768)return!1;for(let e=0,t=XA.length;;){let i=e+t>>1;if(n<XA[i])t=i;else if(n>=xD[i])e=i+1;else return!0;if(e==t)return!1}}function BC(n){return n>=127462&&n<=127487}const GC=8205;function Yk(n,e,t=!0,i=!0){return(t?BD:kk)(n,e,i)}function BD(n,e,t){if(e==n.length)return e;e&&GD(n.charCodeAt(e))&&HD(n.charCodeAt(e-1))&&e--;let i=Jd(n,e);for(e+=HC(i);e<n.length;){let s=Jd(n,e);if(i==GC||s==GC||t&&Fk(s))e+=HC(s),i=s;else if(BC(s)){let o=0,a=e-2;for(;a>=0&&BC(Jd(n,a));)o++,a-=2;if(o%2==0)break;e+=2}else break}return e}function kk(n,e,t){for(;e>1;){let i=BD(n,e-2,t);if(i<e)return i;e--}return 0}function Jd(n,e){let t=n.charCodeAt(e);if(!HD(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return GD(i)?(t-55296<<10)+(i-56320)+65536:t}function GD(n){return n>=56320&&n<57344}function HD(n){return n>=55296&&n<56320}function HC(n){return n<65536?1:2}class $e{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Oo(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),Bi.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Oo(this,e,t);let i=[];return this.decompose(e,t,i,0),Bi.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new Fa(this),o=new Fa(e);for(let a=t,u=t;;){if(s.next(a),o.next(a),a=0,s.lineBreak!=o.lineBreak||s.done!=o.done||s.value!=o.value)return!1;if(u+=s.value.length,s.done||u>=i)return!0}}iter(e=1){return new Fa(this,e)}iterRange(e,t=this.length){return new wD(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new FD(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?$e.empty:e.length<=32?new _t(e):Bi.from(_t.split(e,[]))}}class _t extends $e{constructor(e,t=Vk(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let o=0;;o++){let a=this.text[o],u=s+a.length;if((t?i:u)>=e)return new Wk(s,u,i,a);s=u+1,i++}}decompose(e,t,i,s){let o=e<=0&&t>=this.length?this:new _t(wC(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let a=i.pop(),u=vE(o.text,a.text.slice(),0,o.length);if(u.length<=32)i.push(new _t(u,a.length+o.length));else{let E=u.length>>1;i.push(new _t(u.slice(0,E)),new _t(u.slice(E)))}}else i.push(o)}replace(e,t,i){if(!(i instanceof _t))return super.replace(e,t,i);[e,t]=Oo(this,e,t);let s=vE(this.text,vE(i.text,wC(this.text,0,e)),t),o=this.length+i.length-(t-e);return s.length<=32?new _t(s,o):Bi.from(_t.split(s,[]),o)}sliceString(e,t=this.length,i=`
214
- `){[e,t]=Oo(this,e,t);let s="";for(let o=0,a=0;o<=t&&a<this.text.length;a++){let u=this.text[a],E=o+u.length;o>e&&a&&(s+=i),e<E&&t>o&&(s+=u.slice(Math.max(0,e-o),t-o)),o=E+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let o of e)i.push(o),s+=o.length+1,i.length==32&&(t.push(new _t(i,s)),i=[],s=-1);return s>-1&&t.push(new _t(i,s)),t}}class Bi extends $e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let o=0;;o++){let a=this.children[o],u=s+a.length,E=i+a.lines-1;if((t?E:u)>=e)return a.lineInner(e,t,i,s);s=u+1,i=E+1}}decompose(e,t,i,s){for(let o=0,a=0;a<=t&&o<this.children.length;o++){let u=this.children[o],E=a+u.length;if(e<=E&&t>=a){let h=s&((a<=e?1:0)|(E>=t?2:0));a>=e&&E<=t&&!h?i.push(u):u.decompose(e-a,t-a,i,h)}a=E+1}}replace(e,t,i){if([e,t]=Oo(this,e,t),i.lines<this.lines)for(let s=0,o=0;s<this.children.length;s++){let a=this.children[s],u=o+a.length;if(e>=o&&t<=u){let E=a.replace(e-o,t-o,i),h=this.lines-a.lines+E.lines;if(E.lines<h>>4&&E.lines>h>>6){let T=this.children.slice();return T[s]=E,new Bi(T,this.length-(t-e)+i.length)}return super.replace(o,u,E)}o=u+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
215
- `){[e,t]=Oo(this,e,t);let s="";for(let o=0,a=0;o<this.children.length&&a<=t;o++){let u=this.children[o],E=a+u.length;a>e&&o&&(s+=i),e<E&&t>a&&(s+=u.sliceString(e-a,t-a,i)),a=E+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Bi))return 0;let i=0,[s,o,a,u]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,o+=t){if(s==a||o==u)return i;let E=this.children[s],h=e.children[o];if(E!=h)return i+E.scanIdentical(h,t);i+=E.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let O of e)i+=O.lines;if(i<32){let O=[];for(let N of e)N.flatten(O);return new _t(O,t)}let s=Math.max(32,i>>5),o=s<<1,a=s>>1,u=[],E=0,h=-1,T=[];function A(O){let N;if(O.lines>o&&O instanceof Bi)for(let m of O.children)A(m);else O.lines>a&&(E>a||!E)?(R(),u.push(O)):O instanceof _t&&E&&(N=T[T.length-1])instanceof _t&&O.lines+N.lines<=32?(E+=O.lines,h+=O.length+1,T[T.length-1]=new _t(N.text.concat(O.text),N.length+1+O.length)):(E+O.lines>s&&R(),E+=O.lines,h+=O.length+1,T.push(O))}function R(){E!=0&&(u.push(T.length==1?T[0]:Bi.from(T,h)),h=-1,E=T.length=0)}for(let O of e)A(O);return R(),u.length==1?u[0]:new Bi(u,t)}}$e.empty=new _t([""],0);function Vk(n){let e=-1;for(let t of n)e+=t.length+1;return e}function vE(n,e,t=0,i=1e9){for(let s=0,o=0,a=!0;o<n.length&&s<=i;o++){let u=n[o],E=s+u.length;E>=t&&(E>i&&(u=u.slice(0,i-s)),s<t&&(u=u.slice(t-s)),a?(e[e.length-1]+=u,a=!1):e.push(u)),s=E+1}return e}function wC(n,e,t){return vE(n,[""],e,t)}class Fa{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof _t?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],o=this.offsets[i],a=o>>1,u=s instanceof _t?s.text.length:s.children.length;if(a==(t>0?u:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((o&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
216
- `,this;e--}else if(s instanceof _t){let E=s.text[a+(t<0?-1:0)];if(this.offsets[i]+=t,E.length>Math.max(0,e))return this.value=e==0?E:t>0?E.slice(e):E.slice(0,E.length-e),this;e-=E.length}else{let E=s.children[a+(t<0?-1:0)];e>E.length?(e-=E.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(E),this.offsets.push(t>0?1:(E instanceof _t?E.text.length:E.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class wD{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Fa(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class FD{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&($e.prototype[Symbol.iterator]=function(){return this.iter()},Fa.prototype[Symbol.iterator]=wD.prototype[Symbol.iterator]=FD.prototype[Symbol.iterator]=function(){return this});class Wk{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}function Oo(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Kt(n,e,t=!0,i=!0){return Yk(n,e,t,i)}function Xk(n){return n>=56320&&n<57344}function Kk(n){return n>=55296&&n<56320}function In(n,e){let t=n.charCodeAt(e);if(!Kk(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return Xk(i)?(t-55296<<10)+(i-56320)+65536:t}function uR(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Gi(n){return n<65536?1:2}const KA=/\r\n?|\n/;var hn=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(hn||(hn={}));class Wi{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let o=this.sections[t++],a=this.sections[t++];a<0?(e(i,s,o),s+=o):s+=a,i+=o}}iterChangedRanges(e,t=!1){zA(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s,i)}return new Wi(e)}composeDesc(e){return this.empty?e:e.empty?this:YD(this,e)}mapDesc(e,t=!1){return e.empty?this:$A(this,e,t)}mapPos(e,t=-1,i=hn.Simple){let s=0,o=0;for(let a=0;a<this.sections.length;){let u=this.sections[a++],E=this.sections[a++],h=s+u;if(E<0){if(h>e)return o+(e-s);o+=u}else{if(i!=hn.Simple&&h>=e&&(i==hn.TrackDel&&s<e&&h>e||i==hn.TrackBefore&&s<e||i==hn.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!u)return e==s||t<0?o:o+E;o+=E}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return o}touchesRange(e,t=e){for(let i=0,s=0;i<this.sections.length&&s<=t;){let o=this.sections[i++],a=this.sections[i++],u=s+o;if(a>=0&&s<=t&&u>=e)return s<e&&u>t?"cover":!0;s=u}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];e+=(e?" ":"")+i+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Wi(e)}static create(e){return new Wi(e)}}class wt extends Wi{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return zA(this,(t,i,s,o,a)=>e=e.replace(s,s+(i-t),a),!1),e}mapDesc(e,t=!1){return $A(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,o=0;s<t.length;s+=2){let a=t[s],u=t[s+1];if(u>=0){t[s]=u,t[s+1]=a;let E=s>>1;for(;i.length<E;)i.push($e.empty);i.push(a?e.slice(o,o+a):$e.empty)}o+=a}return new wt(t,i)}compose(e){return this.empty?e:e.empty?this:YD(this,e,!0)}map(e,t=!1){return e.empty?this:$A(this,e,t,!0)}iterChanges(e,t=!1){zA(this,e,t)}get desc(){return Wi.create(this.sections)}filter(e){let t=[],i=[],s=[],o=new Qa(this);e:for(let a=0,u=0;;){let E=a==e.length?1e9:e[a++];for(;u<E||u==E&&o.len==0;){if(o.done)break e;let T=Math.min(o.len,E-u);an(s,T,-1);let A=o.ins==-1?-1:o.off==0?o.ins:0;an(t,T,A),A>0&&tr(i,t,o.text),o.forward(T),u+=T}let h=e[a++];for(;u<h;){if(o.done)break e;let T=Math.min(o.len,h-u);an(t,T,-1),an(s,T,o.ins==-1?-1:o.off==0?o.ins:0),o.forward(T),u+=T}}return{changes:new wt(t,i),filtered:Wi.create(s)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],s=this.sections[t+1];s<0?e.push(i):s==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let s=[],o=[],a=0,u=null;function E(T=!1){if(!T&&!s.length)return;a<t&&an(s,t-a,-1);let A=new wt(s,o);u=u?u.compose(A.map(u)):A,s=[],o=[],a=0}function h(T){if(Array.isArray(T))for(let A of T)h(A);else if(T instanceof wt){if(T.length!=t)throw new RangeError(`Mismatched change set length (got ${T.length}, expected ${t})`);E(),u=u?u.compose(T.map(u)):T}else{let{from:A,to:R=A,insert:O}=T;if(A>R||A<0||R>t)throw new RangeError(`Invalid change range ${A} to ${R} (in doc of length ${t})`);let N=O?typeof O=="string"?$e.of(O.split(i||KA)):O:$e.empty,m=N.length;if(A==R&&m==0)return;A<a&&E(),A>a&&an(s,A-a,-1),an(s,R-A,m),tr(o,s,N),a=R}}return h(e),E(!u),u}static empty(e){return new wt(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let s=0;s<e.length;s++){let o=e[s];if(typeof o=="number")t.push(o,-1);else{if(!Array.isArray(o)||typeof o[0]!="number"||o.some((a,u)=>u&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(o.length==1)t.push(o[0],0);else{for(;i.length<s;)i.push($e.empty);i[s]=$e.of(o.slice(1)),t.push(o[0],i[s].length)}}}return new wt(t,i)}static createSet(e,t){return new wt(e,t)}}function an(n,e,t,i=!1){if(e==0&&t<=0)return;let s=n.length-2;s>=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:i?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function tr(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push($e.empty);n.push(t)}}function zA(n,e,t){let i=n.inserted;for(let s=0,o=0,a=0;a<n.sections.length;){let u=n.sections[a++],E=n.sections[a++];if(E<0)s+=u,o+=u;else{let h=s,T=o,A=$e.empty;for(;h+=u,T+=E,E&&i&&(A=A.append(i[a-2>>1])),!(t||a==n.sections.length||n.sections[a+1]<0);)u=n.sections[a++],E=n.sections[a++];e(s,h,o,T,A),s=h,o=T}}}function $A(n,e,t,i=!1){let s=[],o=i?[]:null,a=new Qa(n),u=new Qa(e);for(let E=-1;;){if(a.done&&u.len||u.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&u.ins==-1){let h=Math.min(a.len,u.len);an(s,h,-1),a.forward(h),u.forward(h)}else if(u.ins>=0&&(a.ins<0||E==a.i||a.off==0&&(u.len<a.len||u.len==a.len&&!t))){let h=u.len;for(an(s,u.ins,-1);h;){let T=Math.min(a.len,h);a.ins>=0&&E<a.i&&a.len<=T&&(an(s,0,a.ins),o&&tr(o,s,a.text),E=a.i),a.forward(T),h-=T}u.next()}else if(a.ins>=0){let h=0,T=a.len;for(;T;)if(u.ins==-1){let A=Math.min(T,u.len);h+=A,T-=A,u.forward(A)}else if(u.ins==0&&u.len<T)T-=u.len,u.next();else break;an(s,h,E<a.i?a.ins:0),o&&E<a.i&&tr(o,s,a.text),E=a.i,a.forward(a.len-T)}else{if(a.done&&u.done)return o?wt.createSet(s,o):Wi.create(s);throw new Error("Mismatched change set lengths")}}}function YD(n,e,t=!1){let i=[],s=t?[]:null,o=new Qa(n),a=new Qa(e);for(let u=!1;;){if(o.done&&a.done)return s?wt.createSet(i,s):Wi.create(i);if(o.ins==0)an(i,o.len,0,u),o.next();else if(a.len==0&&!a.done)an(i,0,a.ins,u),s&&tr(s,i,a.text),a.next();else{if(o.done||a.done)throw new Error("Mismatched change set lengths");{let E=Math.min(o.len2,a.len),h=i.length;if(o.ins==-1){let T=a.ins==-1?-1:a.off?0:a.ins;an(i,E,T,u),s&&T&&tr(s,i,a.text)}else a.ins==-1?(an(i,o.off?0:o.len,E,u),s&&tr(s,i,o.textBit(E))):(an(i,o.off?0:o.len,a.off?0:a.ins,u),s&&!a.off&&tr(s,i,a.text));u=(o.ins>E||a.ins>=0&&a.len>E)&&(u||i.length>h),o.forward2(E),a.forward(E)}}}}class Qa{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?$e.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?$e.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Qs{constructor(e,t,i,s){this.from=e,this.to=t,this.flags=i,this.goalColumn=s}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,s;return this.empty?i=s=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new Qs(i,s,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return q.range(e,t,void 0,void 0,i);let s=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return q.range(this.anchor,s,void 0,void 0,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return q.range(e.anchor,e.head)}static create(e,t,i,s){return new Qs(e,t,i,s)}}class q{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:q.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new q([this.main],0)}addRange(e,t=!0){return q.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,q.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new q(e.ranges.map(t=>Qs.fromJSON(t)),e.main)}static single(e,t=e){return new q([q.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;s<e.length;s++){let o=e[s];if(o.empty?o.from<=i:o.from<i)return q.normalized(e.slice(),t);i=o.to}return new q(e,t)}static cursor(e,t=0,i,s){return Qs.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),s)}static range(e,t,i,s,o){let a=s==null?7:Math.min(6,s);return!o&&e!=t&&(o=t<e?1:-1),o&&(a|=o<0?8:16),t<e?Qs.create(t,e,a|32,i):Qs.create(e,t,a,i)}static undirectionalRange(e,t){return Qs.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((s,o)=>s.from-o.from),t=e.indexOf(i);for(let s=1;s<e.length;s++){let o=e[s],a=e[s-1];if(o.empty?o.from<=a.to:o.from<a.to){let u=a.from,E=Math.max(o.to,a.to);s<=t&&t--,e.splice(--s,2,o.anchor>o.head?q.range(E,u):q.range(u,E))}}return new q(e,t)}}function kD(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let ER=0;class Re{constructor(e,t,i,s,o){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=s,this.id=ER++,this.default=e([]),this.extensions=typeof o=="function"?o(this):o}get reader(){return this}static define(e={}){return new Re(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:fR),!!e.static,e.enables)}of(e){return new UE([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new UE(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new UE(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function fR(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class UE{constructor(e,t,i,s){this.dependencies=e,this.facet=t,this.type=i,this.value=s,this.id=ER++}dynamicSlot(e){var t;let i=this.value,s=this.facet.compareInput,o=this.id,a=e[o]>>1,u=this.type==2,E=!1,h=!1,T=[];for(let A of this.dependencies)A=="doc"?E=!0:A=="selection"?h=!0:(((t=e[A.id])!==null&&t!==void 0?t:1)&1)==0&&T.push(e[A.id]);return{create(A){return A.values[a]=i(A),1},update(A,R){if(E&&R.docChanged||h&&(R.docChanged||R.selection)||jA(A,T)){let O=i(A);if(u?!FC(O,A.values[a],s):!s(O,A.values[a]))return A.values[a]=O,1}return 0},reconfigure:(A,R)=>{let O,N=R.config.address[o];if(N!=null){let m=qE(R,N);if(this.dependencies.every(C=>C instanceof Re?R.facet(C)===A.facet(C):C instanceof Jt?R.field(C,!1)==A.field(C,!1):!0)||(u?FC(O=i(A),m,s):s(O=i(A),m)))return A.values[a]=m,0}else O=i(A);return A.values[a]=O,1}}}}function FC(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function jA(n,e){let t=!1;for(let i of e)Ya(n,i)&1&&(t=!0);return t}function zk(n,e,t){let i=t.map(E=>n[E.id]),s=t.map(E=>E.type),o=i.filter(E=>!(E&1)),a=n[e.id]>>1;function u(E){let h=[];for(let T=0;T<i.length;T++){let A=qE(E,i[T]);if(s[T]==2)for(let R of A)h.push(R);else h.push(A)}return e.combine(h)}return{create(E){for(let h of i)Ya(E,h);return E.values[a]=u(E),1},update(E,h){if(!jA(E,o))return 0;let T=u(E);return e.compare(T,E.values[a])?0:(E.values[a]=T,1)},reconfigure(E,h){let T=jA(E,i),A=h.config.facets[e.id],R=h.facet(e);if(A&&!T&&fR(t,A))return E.values[a]=R,0;let O=u(E);return e.compare(O,R)?(E.values[a]=R,0):(E.values[a]=O,1)}}}const sE=Re.define({static:!0});class Jt{constructor(e,t,i,s,o){this.id=e,this.createF=t,this.updateF=i,this.compareF=s,this.spec=o,this.provides=void 0}static define(e){let t=new Jt(ER++,e.create,e.update,e.compare||((i,s)=>i===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(sE).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,s)=>{let o=i.values[t],a=this.updateF(o,s);return this.compareF(o,a)?0:(i.values[t]=a,1)},reconfigure:(i,s)=>{let o=i.facet(sE),a=s.facet(sE),u;return(u=o.find(E=>E.field==this))&&u!=a.find(E=>E.field==this)?(i.values[t]=u.create(i),1):s.config.address[this.id]!=null?(i.values[t]=s.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,sE.of({field:this,create:e})]}get extension(){return this}}const Kr={lowest:4,low:3,default:2,high:1,highest:0};function Ma(n){return e=>new VD(e,n)}const al={highest:Ma(Kr.highest),high:Ma(Kr.high),default:Ma(Kr.default),low:Ma(Kr.low),lowest:Ma(Kr.lowest)};class VD{constructor(e,t){this.inner=e,this.prec=t}}class yf{of(e){return new JA(this,e)}reconfigure(e){return yf.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class JA{constructor(e,t){this.compartment=e,this.inner=t}}class JE{constructor(e,t,i,s,o,a){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=s,this.staticValues=o,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let s=[],o=Object.create(null),a=new Map;for(let R of $k(e,t,a))R instanceof Jt?s.push(R):(o[R.facet.id]||(o[R.facet.id]=[])).push(R);let u=Object.create(null),E=[],h=[];for(let R of s)u[R.id]=h.length<<1,h.push(O=>R.slot(O));let T=i==null?void 0:i.config.facets;for(let R in o){let O=o[R],N=O[0].facet,m=T&&T[R]||[];if(O.every(C=>C.type==0))if(u[N.id]=E.length<<1|1,fR(m,O))E.push(i.facet(N));else{let C=N.combine(O.map(L=>L.value));E.push(i&&N.compare(C,i.facet(N))?i.facet(N):C)}else{for(let C of O)C.type==0?(u[C.id]=E.length<<1|1,E.push(C.value)):(u[C.id]=h.length<<1,h.push(L=>C.dynamicSlot(L)));u[N.id]=h.length<<1,h.push(C=>zk(C,N,O))}}let A=h.map(R=>R(u));return new JE(e,a,A,u,E,o)}}function $k(n,e,t){let i=[[],[],[],[],[]],s=new Map;function o(a,u){let E=s.get(a);if(E!=null){if(E<=u)return;let h=i[E].indexOf(a);h>-1&&i[E].splice(h,1),a instanceof JA&&t.delete(a.compartment)}if(s.set(a,u),Array.isArray(a))for(let h of a)o(h,u);else if(a instanceof JA){if(t.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(a.compartment)||a.inner;t.set(a.compartment,h),o(h,u)}else if(a instanceof VD)o(a.inner,a.prec);else if(a instanceof Jt)i[u].push(a),a.provides&&o(a.provides,u);else if(a instanceof UE)i[u].push(a),a.facet.extensions&&o(a.facet.extensions,Kr.default);else{let h=a.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(h,u)}}return o(n,Kr.default),i.reduce((a,u)=>a.concat(u))}function Ya(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function qE(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const WD=Re.define(),qA=Re.define({combine:n=>n.some(e=>e),static:!0}),XD=Re.define({combine:n=>n.length?n[0]:void 0,static:!0}),KD=Re.define(),zD=Re.define(),$D=Re.define(),jD=Re.define({combine:n=>n.length?n[0]:!1});class zi{constructor(e,t){this.type=e,this.value=t}static define(){return new jk}}class jk{of(e){return new zi(this,e)}}class Jk{constructor(e){this.map=e}of(e){return new be(this,e)}}class be{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new be(this.type,t)}is(e){return this.type==e}static define(e={}){return new Jk(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let s of e){let o=s.map(t);o&&i.push(o)}return i}}be.reconfigure=be.define();be.appendConfig=be.define();class Ft{constructor(e,t,i,s,o,a){this.startState=e,this.changes=t,this.selection=i,this.effects=s,this.annotations=o,this.scrollIntoView=a,this._doc=null,this._state=null,i&&kD(i,t.newLength),o.some(u=>u.type==Ft.time)||(this.annotations=o.concat(Ft.time.of(Date.now())))}static create(e,t,i,s,o,a){return new Ft(e,t,i,s,o,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(Ft.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Ft.time=zi.define();Ft.userEvent=zi.define();Ft.addToHistory=zi.define();Ft.remote=zi.define();function qk(n,e){let t=[];for(let i=0,s=0;;){let o,a;if(i<n.length&&(s==e.length||e[s]>=n[i]))o=n[i++],a=n[i++];else if(s<e.length)o=e[s++],a=e[s++];else return t;!t.length||t[t.length-1]<o?t.push(o,a):t[t.length-1]<a&&(t[t.length-1]=a)}}function JD(n,e,t){var i;let s,o,a;return t?(s=e.changes,o=wt.empty(e.changes.length),a=n.changes.compose(e.changes)):(s=e.changes.map(n.changes),o=n.changes.mapDesc(e.changes,!0),a=n.changes.compose(s)),{changes:a,selection:e.selection?e.selection.map(o):(i=n.selection)===null||i===void 0?void 0:i.map(s),effects:be.mapEffects(n.effects,s).concat(be.mapEffects(e.effects,o)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function QA(n,e,t){let i=e.selection,s=Eo(e.annotations);return e.userEvent&&(s=s.concat(Ft.userEvent.of(e.userEvent))),{changes:e.changes instanceof wt?e.changes:wt.of(e.changes||[],t,n.facet(XD)),selection:i&&(i instanceof q?i:q.single(i.anchor,i.head)),effects:Eo(e.effects),annotations:s,scrollIntoView:!!e.scrollIntoView}}function qD(n,e,t){let i=QA(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let o=1;o<e.length;o++){e[o].filter===!1&&(t=!1);let a=!!e[o].sequential;i=JD(i,QA(n,e[o],a?i.changes.newLength:n.doc.length),a)}let s=Ft.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Zk(t?Qk(s):s)}function Qk(n){let e=n.startState,t=!0;for(let s of e.facet(KD)){let o=s(n);if(o===!1){t=!1;break}Array.isArray(o)&&(t=t===!0?o:qk(t,o))}if(t!==!0){let s,o;if(t===!1)o=n.changes.invertedDesc,s=wt.empty(e.doc.length);else{let a=n.changes.filter(t);s=a.changes,o=a.filtered.mapDesc(a.changes).invertedDesc}n=Ft.create(e,s,n.selection&&n.selection.map(o),be.mapEffects(n.effects,o),n.annotations,n.scrollIntoView)}let i=e.facet(zD);for(let s=i.length-1;s>=0;s--){let o=i[s](n);o instanceof Ft?n=o:Array.isArray(o)&&o.length==1&&o[0]instanceof Ft?n=o[0]:n=qD(e,Eo(o),!1)}return n}function Zk(n){let e=n.startState,t=e.facet($D),i=n;for(let s=t.length-1;s>=0;s--){let o=t[s](n);o&&Object.keys(o).length&&(i=JD(i,QA(e,o,n.changes.newLength),!0))}return i==n?n:Ft.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const eV=[];function Eo(n){return n==null?eV:Array.isArray(n)?n:[n]}var Tt=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(Tt||(Tt={}));const tV=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ZA;try{ZA=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function nV(n){if(ZA)return ZA.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||tV.test(t)))return!0}return!1}function iV(n){return e=>{if(!/\S/.test(e))return Tt.Space;if(nV(e))return Tt.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Tt.Word;return Tt.Other}}class ze{constructor(e,t,i,s,o,a){this.config=e,this.doc=t,this.selection=i,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=o,a&&(a._state=this);for(let u=0;u<this.config.dynamicSlots.length;u++)Ya(this,u<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return Ya(this,i),qE(this,i)}update(...e){return qD(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:s}=t;for(let u of e.effects)u.is(yf.reconfigure)?(t&&(s=new Map,t.compartments.forEach((E,h)=>s.set(h,E)),t=null),s.set(u.value.compartment,u.value.extension)):u.is(be.reconfigure)?(t=null,i=u.value):u.is(be.appendConfig)&&(t=null,i=Eo(i).concat(u.value));let o;t?o=e.startState.values.slice():(t=JE.resolve(i,s,this),o=new ze(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(E,h)=>h.reconfigure(E,this),null).values);let a=e.startState.facet(qA)?e.newSelection:e.newSelection.asSingle();new ze(t,e.newDoc,a,o,(u,E)=>E.update(u,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:q.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),s=this.changes(i.changes),o=[i.range],a=Eo(i.effects);for(let u=1;u<t.ranges.length;u++){let E=e(t.ranges[u]),h=this.changes(E.changes),T=h.map(s);for(let R=0;R<u;R++)o[R]=o[R].map(T);let A=s.mapDesc(h,!0);o.push(E.range.map(A)),s=s.compose(T),a=be.mapEffects(a,T).concat(be.mapEffects(Eo(E.effects),A))}return{changes:s,selection:q.create(o,t.mainIndex),effects:a}}changes(e=[]){return e instanceof wt?e:wt.of(e,this.doc.length,this.facet(ze.lineSeparator))}toText(e){return $e.of(e.split(this.facet(ze.lineSeparator)||KA))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Ya(this,t),qE(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let s=e[i];s instanceof Jt&&this.config.address[s.id]!=null&&(t[i]=s.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let s=[];if(i){for(let o in i)if(Object.prototype.hasOwnProperty.call(e,o)){let a=i[o],u=e[o];s.push(a.init(E=>a.spec.fromJSON(u,E)))}}return ze.create({doc:e.doc,selection:q.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=JE.resolve(e.extensions||[],new Map),i=e.doc instanceof $e?e.doc:$e.of((e.doc||"").split(t.staticFacet(ze.lineSeparator)||KA)),s=e.selection?e.selection instanceof q?e.selection:q.single(e.selection.anchor,e.selection.head):q.single(0);return kD(s,i.length),t.staticFacet(qA)||(s=s.asSingle()),new ze(t,i,s,t.dynamicSlots.map(()=>null),(o,a)=>a.create(o),null)}get tabSize(){return this.facet(ze.tabSize)}get lineBreak(){return this.facet(ze.lineSeparator)||`
217
- `}get readOnly(){return this.facet(jD)}phrase(e,...t){for(let i of this.facet(ze.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let o=+(s||1);return!o||o>t.length?i:t[o-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let o of this.facet(WD))for(let a of o(this,t,i))Object.prototype.hasOwnProperty.call(a,e)&&s.push(a[e]);return s}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return iV(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),o=this.charCategorizer(e),a=e-i,u=e-i;for(;a>0;){let E=Kt(t,a,!1);if(o(t.slice(E,a))!=Tt.Word)break;a=E}for(;u<s;){let E=Kt(t,u);if(o(t.slice(u,E))!=Tt.Word)break;u=E}return a==u?null:q.range(a+i,u+i)}}ze.allowMultipleSelections=qA;ze.tabSize=Re.define({combine:n=>n.length?n[0]:4});ze.lineSeparator=XD;ze.readOnly=jD;ze.phrases=Re.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});ze.languageData=WD;ze.changeFilter=KD;ze.transactionFilter=zD;ze.transactionExtender=$D;yf.reconfigure=be.define();function Oi(n,e,t={}){let i={};for(let s of n)for(let o of Object.keys(s)){let a=s[o],u=i[o];if(u===void 0)i[o]=a;else if(!(u===a||a===void 0))if(Object.hasOwnProperty.call(t,o))i[o]=t[o](u,a);else throw new Error("Config merge conflict for field "+o)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class Er{eq(e){return this==e}range(e,t=e){return Za.create(e,t,this)}}Er.prototype.startSide=Er.prototype.endSide=0;Er.prototype.point=!1;Er.prototype.mapMode=hn.TrackDel;function hR(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Za{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Za(e,t,i)}}function eS(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class TR{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let o=i?this.to:this.from;for(let a=s,u=o.length;;){if(a==u)return a;let E=a+u>>1,h=o[E]-e||(i?this.value[E].endSide:this.value[E].startSide)-t;if(E==a)return h>=0?a:u;h>=0?u=E:a=E+1}}between(e,t,i,s){for(let o=this.findIndex(t,-1e9,!0),a=this.findIndex(i,1e9,!1,o);o<a;o++)if(s(this.from[o]+e,this.to[o]+e,this.value[o])===!1)return!1}map(e,t){let i=[],s=[],o=[],a=-1,u=-1;for(let E=0;E<this.value.length;E++){let h=this.value[E],T=this.from[E]+e,A=this.to[E]+e,R,O;if(T==A){let N=t.mapPos(T,h.startSide,h.mapMode);if(N==null||(R=O=N,h.startSide!=h.endSide&&(O=t.mapPos(T,h.endSide),O<R)))continue}else if(R=t.mapPos(T,h.startSide),O=t.mapPos(A,h.endSide),R>O||R==O&&h.startSide>0&&h.endSide<=0)continue;(O-R||h.endSide-h.startSide)<0||(a<0&&(a=R),h.point&&(u=Math.max(u,O-R)),i.push(h),s.push(R-a),o.push(O-a))}return{mapped:i.length?new TR(s,o,i,u):null,pos:a}}}class Fe{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new Fe(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:o=this.length}=e,a=e.filter;if(t.length==0&&!a)return this;if(i&&(t=t.slice().sort(eS)),this.isEmpty)return t.length?Fe.of(t):this;let u=new QD(this,null,-1).goto(0),E=0,h=[],T=new Ns;for(;u.value||E<t.length;)if(E<t.length&&(u.from-t[E].from||u.startSide-t[E].value.startSide)>=0){let A=t[E++];T.addInner(A.from,A.to,A.value)||h.push(A)}else u.rangeIndex==1&&u.chunkIndex<this.chunk.length&&(E==t.length||this.chunkEnd(u.chunkIndex)<t[E].from)&&(!a||s>this.chunkEnd(u.chunkIndex)||o<this.chunkPos[u.chunkIndex])&&T.addChunk(this.chunkPos[u.chunkIndex],this.chunk[u.chunkIndex])?u.nextChunk():((!a||s>u.to||o<u.from||a(u.from,u.to,u.value))&&(T.addInner(u.from,u.to,u.value)||h.push(Za.create(u.from,u.to,u.value))),u.next());return T.finishInner(this.nextLayer.isEmpty&&!h.length?Fe.empty:this.nextLayer.update({add:h,filter:a,filterFrom:s,filterTo:o}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let a=0;a<this.chunk.length;a++){let u=this.chunkPos[a],E=this.chunk[a],h=e.touchesRange(u,u+E.length);if(h===!1)s=Math.max(s,E.maxPoint),t.push(E),i.push(e.mapPos(u));else if(h===!0){let{mapped:T,pos:A}=E.map(u,e);T&&(s=Math.max(s,T.maxPoint),t.push(T),i.push(A))}}let o=this.nextLayer.map(e);return t.length==0?o:new Fe(i,t,o||Fe.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let o=this.chunkPos[s],a=this.chunk[s];if(t>=o&&e<=o+a.length&&a.between(o,e-o,t-o,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return ec.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ec.from(e).goto(t)}static compare(e,t,i,s,o=-1){let a=e.filter(A=>A.maxPoint>0||!A.isEmpty&&A.maxPoint>=o),u=t.filter(A=>A.maxPoint>0||!A.isEmpty&&A.maxPoint>=o),E=YC(a,u,i),h=new Pa(a,E,o),T=new Pa(u,E,o);i.iterGaps((A,R,O)=>kC(h,A,T,R,O,s)),i.empty&&i.length==0&&kC(h,0,T,0,0,s)}static eq(e,t,i=0,s){s==null&&(s=999999999);let o=e.filter(T=>!T.isEmpty&&t.indexOf(T)<0),a=t.filter(T=>!T.isEmpty&&e.indexOf(T)<0);if(o.length!=a.length)return!1;if(!o.length)return!0;let u=YC(o,a),E=new Pa(o,u,0).goto(i),h=new Pa(a,u,0).goto(i);for(;;){if(E.to!=h.to||!tS(E.active,h.active)||E.point&&(!h.point||!hR(E.point,h.point)))return!1;if(E.to>s)return!0;E.next(),h.next()}}static spans(e,t,i,s,o=-1){let a=new Pa(e,null,o).goto(t),u=t,E=a.openStart;for(;;){let h=Math.min(a.to,i);if(a.point){let T=a.activeForPoint(a.to),A=a.pointFrom<t?T.length+1:a.point.startSide<0?T.length:Math.min(T.length,E);s.point(u,h,a.point,T,A,a.pointRank),E=Math.min(a.openEnd(h),T.length)}else h>u&&(s.span(u,h,a.active,E),E=a.openEnd(h));if(a.to>i)return E+(a.point&&a.to>i?1:0);u=a.to,a.next()}}static of(e,t=!1){let i=new Ns;for(let s of e instanceof Za?[e]:t?sV(e):e)i.add(s.from,s.to,s.value);return i.finish()}static join(e){if(!e.length)return Fe.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let s=e[i];s!=Fe.empty;s=s.nextLayer)t=new Fe(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}Fe.empty=new Fe([],[],null,-1);function sV(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(eS(e,i)>0)return n.slice().sort(eS);e=i}return n}Fe.empty.nextLayer=Fe.empty;class Ns{finishChunk(e){this.chunks.push(new TR(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Ns)).add(e,t,i)}addInner(e,t,i){let s=e-this.lastTo||i.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(Fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=Fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function YC(n,e,t){let i=new Map;for(let o of n)for(let a=0;a<o.chunk.length;a++)o.chunk[a].maxPoint<=0&&i.set(o.chunk[a],o.chunkPos[a]);let s=new Set;for(let o of e)for(let a=0;a<o.chunk.length;a++){let u=i.get(o.chunk[a]);u!=null&&(t?t.mapPos(u):u)==o.chunkPos[a]&&!(t!=null&&t.touchesRange(u,u+o.chunk[a].length))&&s.add(o.chunk[a])}return s}class QD{constructor(e,t,i,s=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=s}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let s=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(s)||this.layer.chunkEnd(this.chunkIndex)<e||s.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<s)&&this.setRangeIndex(s)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class ec{constructor(e){this.heap=e}static from(e,t=null,i=-1){let s=[];for(let o=0;o<e.length;o++)for(let a=e[o];!a.isEmpty;a=a.nextLayer)a.maxPoint>=i&&s.push(new QD(a,t,i,o));return s.length==1?s[0]:new ec(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)qd(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)qd(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),qd(this.heap,0)}}}function qd(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let s=n[i];if(i+1<n.length&&s.compare(n[i+1])>=0&&(s=n[i+1],i++),t.compare(s)<0)break;n[i]=t,n[e]=s,e=i}}class Pa{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ec.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){rE(this.active,e),rE(this.activeTo,e),rE(this.activeRank,e),this.minActive=VC(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:s,rank:o}=this.cursor;for(;t<this.activeRank.length&&(o-this.activeRank[t]||s-this.activeTo[t])>0;)t++;lE(this.active,t,i),lE(this.activeTo,t,s),lE(this.activeRank,t,o),e&&lE(e,t,this.cursor.from),this.minActive=VC(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&rE(i,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let o=this.cursor.value;if(!o.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=o,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=o.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let s=i.length-1;s>=0&&i[s]<e;s--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function kC(n,e,t,i,s,o){n.goto(e),t.goto(i);let a=i+s,u=i,E=i-e,h=!!o.boundChange;for(let T=!1;;){let A=n.to+E-t.to,R=A||n.endSide-t.endSide,O=R<0?n.to+E:t.to,N=Math.min(O,a);if(n.point||t.point?(n.point&&t.point&&hR(n.point,t.point)&&tS(n.activeForPoint(n.to),t.activeForPoint(t.to))||o.comparePoint(u,N,n.point,t.point),T=!1):(T&&o.boundChange(u),N>u&&!tS(n.active,t.active)&&o.compareRange(u,N,n.active,t.active),h&&N<a&&(A||n.openEnd(O)!=t.openEnd(O))&&(T=!0)),O>a)break;u=O,R<=0&&n.next(),R>=0&&t.next()}}function tS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!hR(n[t],e[t]))return!1;return!0}function rE(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function lE(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function VC(n,e){let t=-1,i=1e9;for(let s=0;s<e.length;s++)(e[s]-i||n[s].endSide-n[t].endSide)<0&&(t=s,i=e[s]);return t}function Mo(n,e,t=n.length){let i=0;for(let s=0;s<t&&s<n.length;)n.charCodeAt(s)==9?(i+=e-i%e,s++):(i++,s=Kt(n,s));return i}function nS(n,e,t,i){for(let s=0,o=0;;){if(o>=e)return s;if(s==n.length)break;o+=n.charCodeAt(s)==9?t-o%t:1,s=Kt(n,s)}return i===!0?-1:n.length}const iS="ͼ",WC=typeof Symbol>"u"?"__"+iS:Symbol.for(iS),sS=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),XC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class fr{constructor(e,t){this.rules=[];let{finish:i}=t||{};function s(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function o(a,u,E,h){let T=[],A=/^@(\w+)\b/.exec(a[0]),R=A&&A[1]=="keyframes";if(A&&u==null)return E.push(a[0]+";");for(let O in u){let N=u[O];if(/&/.test(O))o(O.split(/,\s*/).map(m=>a.map(C=>m.replace(/&/,C))).reduce((m,C)=>m.concat(C)),N,E);else if(N&&typeof N=="object"){if(!A)throw new RangeError("The value of a property ("+O+") should be a primitive value.");o(s(O),N,T,R)}else N!=null&&T.push(O.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+N+";")}(T.length||R)&&E.push((i&&!A&&!h?a.map(i):a).join(", ")+" {"+T.join(" ")+"}")}for(let a in e)o(s(a),e[a],this.rules)}getRules(){return this.rules.join(`
218
- `)}static newName(){let e=XC[WC]||1;return XC[WC]=e+1,iS+e.toString(36)}static mount(e,t,i){let s=e[sS],o=i&&i.nonce;s?o&&s.setNonce(o):s=new rV(e,o),s.mount(Array.isArray(t)?t:[t],e)}}let KC=new Map;class rV{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let o=KC.get(i);if(o)return e[sS]=o;this.sheet=new s.CSSStyleSheet,KC.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[sS]=this}mount(e,t){let i=this.sheet,s=0,o=0;for(let a=0;a<e.length;a++){let u=e[a],E=this.modules.indexOf(u);if(E<o&&E>-1&&(this.modules.splice(E,1),o--,E=-1),E==-1){if(this.modules.splice(o++,0,u),i)for(let h=0;h<u.rules.length;h++)i.insertRule(u.rules[h],s++)}else{for(;o<E;)s+=this.modules[o++].rules.length;s+=u.rules.length,o++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let a="";for(let E=0;E<this.modules.length;E++)a+=this.modules[E].getRules()+`
219
- `;this.styleTag.textContent=a;let u=t.head||t;this.styleTag.parentNode!=u&&u.insertBefore(this.styleTag,u.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var hr={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},tc={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},lV=typeof navigator<"u"&&/Mac/.test(navigator.platform),oV=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var sn=0;sn<10;sn++)hr[48+sn]=hr[96+sn]=String(sn);for(var sn=1;sn<=24;sn++)hr[sn+111]="F"+sn;for(var sn=65;sn<=90;sn++)hr[sn]=String.fromCharCode(sn+32),tc[sn]=String.fromCharCode(sn);for(var Qd in hr)tc.hasOwnProperty(Qd)||(tc[Qd]=hr[Qd]);function aV(n){var e=lV&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||oV&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?tc:hr)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function rt(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var s=t[i];typeof s=="string"?n.setAttribute(i,s):s!=null&&(n[i]=s)}e++}for(;e<arguments.length;e++)ZD(n,arguments[e]);return n}function ZD(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)ZD(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let fn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},rS=typeof document<"u"?document:{documentElement:{style:{}}};const lS=/Edge\/(\d+)/.exec(fn.userAgent),eM=/MSIE \d/.test(fn.userAgent),oS=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(fn.userAgent),vf=!!(eM||oS||lS),zC=!vf&&/gecko\/(\d+)/i.test(fn.userAgent),Zd=!vf&&/Chrome\/(\d+)/.exec(fn.userAgent),$C="webkitFontSmoothing"in rS.documentElement.style,aS=!vf&&/Apple Computer/.test(fn.vendor),jC=aS&&(/Mobile\/\w+/.test(fn.userAgent)||fn.maxTouchPoints>2);var Ne={mac:jC||/Mac/.test(fn.platform),windows:/Win/.test(fn.platform),linux:/Linux|X11/.test(fn.platform),ie:vf,ie_version:eM?rS.documentMode||6:oS?+oS[1]:lS?+lS[1]:0,gecko:zC,gecko_version:zC?+(/Firefox\/(\d+)/.exec(fn.userAgent)||[0,0])[1]:0,chrome:!!Zd,chrome_version:Zd?+Zd[1]:0,ios:jC,android:/Android\b/.test(fn.userAgent),webkit:$C,webkit_version:$C?+(/\bAppleWebKit\/(\d+)/.exec(fn.userAgent)||[0,0])[1]:0,safari:aS,safari_version:aS?+(/\bVersion\/(\d+(\.\d+)?)/.exec(fn.userAgent)||[0,0])[1]:0,tabSize:rS.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function dR(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const QE=Object.create(null);function AR(n,e,t){if(n==e)return!0;n||(n=QE),e||(e=QE);let i=Object.keys(n),s=Object.keys(e);if(i.length-0!=s.length-0)return!1;for(let o of i)if(o!=t&&(s.indexOf(o)==-1||n[o]!==e[o]))return!1;return!0}function cV(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function JC(n,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?n.style.cssText="":n.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?n.style.cssText=t[s]:n.setAttribute(s,t[s]));return i}function uV(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class $i{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var rn=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(rn||(rn={}));class _e extends Er{constructor(e,t,i,s){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(e){return new Oc(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new tl(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:o,end:a}=tM(e,t);i=(o?t?-3e8:-1:5e8)-1,s=(a?t?2e8:1:-6e8)+1}return new tl(e,i,s,t,e.widget||null,!0)}static line(e){return new Nc(e)}static set(e,t=!1){return Fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}_e.none=Fe.empty;class Oc extends _e{constructor(e){let{start:t,end:i}=tM(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?dR(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||QE}eq(e){return this==e||e instanceof Oc&&this.tagName==e.tagName&&AR(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Oc.prototype.point=!1;class Nc extends _e{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Nc&&this.spec.class==e.spec.class&&AR(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Nc.prototype.mapMode=hn.TrackBefore;Nc.prototype.point=!0;class tl extends _e{constructor(e,t,i,s,o,a){super(t,i,o,e),this.block=s,this.isReplace=a,this.mapMode=s?t<=0?hn.TrackBefore:hn.TrackAfter:hn.TrackDel}get type(){return this.startSide!=this.endSide?rn.WidgetRange:this.startSide<=0?rn.WidgetBefore:rn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof tl&&EV(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}tl.prototype.point=!0;function tM(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function EV(n,e){return n==e||!!(n&&e&&n.compare(e))}function fo(n,e,t,i=0){let s=t.length-1;s>=0&&t[s]+i>=n?t[s]=Math.max(t[s],e):t.push(n,e)}class nc extends Er{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof nc&&this.tagName==e.tagName&&AR(this.attributes,e.attributes)}static create(e){return new nc(e.tagName,e.attributes||QE,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return Fe.of(e,t)}}nc.prototype.startSide=nc.prototype.endSide=-1;function ic(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function cS(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function ka(n,e){if(!e.anchorNode)return!1;try{return cS(n,e.anchorNode)}catch{return!1}}function Va(n){return n.nodeType==3?rc(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Wa(n,e,t,i){return t?qC(n,e,t,i,-1)||qC(n,e,t,i,1):!1}function Tr(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function ZE(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function qC(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:ms(n))){if(n.nodeName=="DIV")return!1;let o=n.parentNode;if(!o||o.nodeType!=1)return!1;e=Tr(n)+(s<0?0:1),n=o}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?ms(n):0}else return!1}}function ms(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function sc(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function fV(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function nM(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function hV(n,e,t,i,s,o,a,u){let E=n.ownerDocument,h=E.defaultView||window;for(let T=n,A=!1;T&&!A;)if(T.nodeType==1){let R,O=T==E.body,N=1,m=1;if(O)R=fV(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(T).position)&&(A=!0),T.scrollHeight<=T.clientHeight&&T.scrollWidth<=T.clientWidth){T=T.assignedSlot||T.parentNode;continue}let _=T.getBoundingClientRect();({scaleX:N,scaleY:m}=nM(T,_)),R={left:_.left,right:_.left+T.clientWidth*N,top:_.top,bottom:_.top+T.clientHeight*m}}let C=0,L=0;if(s=="nearest")e.top<R.top+a?(L=e.top-(R.top+a),t>0&&e.bottom>R.bottom+L&&(L=e.bottom-R.bottom+a)):e.bottom>R.bottom-a&&(L=e.bottom-R.bottom+a,t<0&&e.top-L<R.top&&(L=e.top-(R.top+a)));else{let _=e.bottom-e.top,D=R.bottom-R.top;L=(s=="center"&&_<=D?e.top+_/2-D/2:s=="start"||s=="center"&&t<0?e.top-a:e.bottom-D+a)-R.top}if(i=="nearest"?e.left<R.left+o?(C=e.left-(R.left+o),t>0&&e.right>R.right+C&&(C=e.right-R.right+o)):e.right>R.right-o&&(C=e.right-R.right+o,t<0&&e.left<R.left+C&&(C=e.left-(R.left+o))):C=(i=="center"?e.left+(e.right-e.left)/2-(R.right-R.left)/2:i=="start"==u?e.left-o:e.right-(R.right-R.left)+o)-R.left,C||L)if(O)h.scrollBy(C,L);else{let _=0,D=0;if(L){let v=T.scrollTop;T.scrollTop+=L/m,D=(T.scrollTop-v)*m}if(C){let v=T.scrollLeft;T.scrollLeft+=C/N,_=(T.scrollLeft-v)*N}e={left:e.left-_,top:e.top-D,right:e.right-_,bottom:e.bottom-D},_&&Math.abs(_-C)<1&&(i="nearest"),D&&Math.abs(D-L)<1&&(s="nearest")}if(O)break;(e.top<R.top||e.bottom>R.bottom||e.left<R.left||e.right>R.right)&&(e={left:Math.max(e.left,R.left),right:Math.min(e.right,R.right),top:Math.max(e.top,R.top),bottom:Math.min(e.bottom,R.bottom)}),T=T.assignedSlot||T.parentNode}else if(T.nodeType==11)T=T.host;else break}function iM(n,e=!0){let t=n.ownerDocument,i=null,s=null;for(let o=n.parentNode;o&&!(o==t.body||(!e||i)&&s);)if(o.nodeType==1)!s&&o.scrollHeight>o.clientHeight&&(s=o),e&&!i&&o.scrollWidth>o.clientWidth&&(i=o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;return{x:i,y:s}}class TV{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?ms(t):0),i,Math.min(e.focusOffset,i?ms(i):0))}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let Wr=null;Ne.safari&&Ne.safari_version>=26&&(Wr=!1);function sM(n){if(n.setActive)return n.setActive();if(Wr)return n.focus(Wr);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(Wr==null?{get preventScroll(){return Wr={preventScroll:!0},!0}}:void 0),!Wr){Wr=!1;for(let t=0;t<e.length;){let i=e[t++],s=e[t++],o=e[t++];i.scrollTop!=s&&(i.scrollTop=s),i.scrollLeft!=o&&(i.scrollLeft=o)}}}let QC;function rc(n,e,t=e){let i=QC||(QC=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function ho(n,e,t,i){let s={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:s.altKey,ctrlKey:s.ctrlKey,shiftKey:s.shiftKey,metaKey:s.metaKey}=i);let o=new KeyboardEvent("keydown",s);o.synthetic=!0,n.dispatchEvent(o);let a=new KeyboardEvent("keyup",s);return a.synthetic=!0,n.dispatchEvent(a),o.defaultPrevented||a.defaultPrevented}function dV(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function AV(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,ms(t));;)if(i){if(t.nodeType!=1)return!1;let s=t.childNodes[i-1];s.contentEditable=="false"?i--:(t=s,i=ms(t))}else{if(t==n)return!0;i=Tr(t),t=t.parentNode}}function rM(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function lM(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=ms(t)}else if(t.parentNode&&!ZE(t))i=Tr(t),t=t.parentNode;else return null}}function oM(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!ZE(t))i=Tr(t)+1,t=t.parentNode;else return null}}class hi{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new hi(e.parentNode,Tr(e),t)}static after(e,t){return new hi(e.parentNode,Tr(e)+1,t)}}var at=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(at||(at={}));const nl=at.LTR,SR=at.RTL;function aM(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const SV=aM("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),RV=aM("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),uS=Object.create(null),yi=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);uS[e]=t,uS[t]=-e}function cM(n){return n<=247?SV[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?RV[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const OV=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Fi{get dir(){return this.level%2?SR:nl}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,s){let o=-1;for(let a=0;a<e.length;a++){let u=e[a];if(u.from<=t&&u.to>=t){if(u.level==i)return a;(o<0||(s!=0?s<0?u.from<t:u.to>t:e[o].level>u.level))&&(o=a)}}if(o<0)throw new RangeError("Index out of range");return o}}function uM(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],s=e[t];if(i.from!=s.from||i.to!=s.to||i.direction!=s.direction||!uM(i.inner,s.inner))return!1}return!0}const ot=[];function NV(n,e,t,i,s){for(let o=0;o<=i.length;o++){let a=o?i[o-1].to:e,u=o<i.length?i[o].from:t,E=o?256:s;for(let h=a,T=E,A=E;h<u;h++){let R=cM(n.charCodeAt(h));R==512?R=T:R==8&&A==4&&(R=16),ot[h]=R==4?2:R,R&7&&(A=R),T=R}for(let h=a,T=E,A=E;h<u;h++){let R=ot[h];if(R==128)h<u-1&&T==ot[h+1]&&T&24?R=ot[h]=T:ot[h]=256;else if(R==64){let O=h+1;for(;O<u&&ot[O]==64;)O++;let N=h&&T==8||O<t&&ot[O]==8?A==1?1:8:256;for(let m=h;m<O;m++)ot[m]=N;h=O-1}else R==8&&A==1&&(ot[h]=1);T=R,R&7&&(A=R)}}}function mV(n,e,t,i,s){let o=s==1?2:1;for(let a=0,u=0,E=0;a<=i.length;a++){let h=a?i[a-1].to:e,T=a<i.length?i[a].from:t;for(let A=h,R,O,N;A<T;A++)if(O=uS[R=n.charCodeAt(A)])if(O<0){for(let m=u-3;m>=0;m-=3)if(yi[m+1]==-O){let C=yi[m+2],L=C&2?s:C&4?C&1?o:s:0;L&&(ot[A]=ot[yi[m]]=L),u=m;break}}else{if(yi.length==189)break;yi[u++]=A,yi[u++]=R,yi[u++]=E}else if((N=ot[A])==2||N==1){let m=N==s;E=m?0:1;for(let C=u-3;C>=0;C-=3){let L=yi[C+2];if(L&2)break;if(m)yi[C+2]|=2;else{if(L&4)break;yi[C+2]|=4}}}}}function IV(n,e,t,i){for(let s=0,o=i;s<=t.length;s++){let a=s?t[s-1].to:n,u=s<t.length?t[s].from:e;for(let E=a;E<u;){let h=ot[E];if(h==256){let T=E+1;for(;;)if(T==u){if(s==t.length)break;T=t[s++].to,u=s<t.length?t[s].from:e}else if(ot[T]==256)T++;else break;let A=o==1,R=(T<e?ot[T]:i)==1,O=A==R?A?1:2:i;for(let N=T,m=s,C=m?t[m-1].to:n;N>E;)N==C&&(N=t[--m].from,C=m?t[m-1].to:n),ot[--N]=O;E=T}else o=h,E++}}}function ES(n,e,t,i,s,o,a){let u=i%2?2:1;if(i%2==s%2)for(let E=e,h=0;E<t;){let T=!0,A=!1;if(h==o.length||E<o[h].from){let m=ot[E];m!=u&&(T=!1,A=m==16)}let R=!T&&u==1?[]:null,O=T?i:i+1,N=E;e:for(;;)if(h<o.length&&N==o[h].from){if(A)break e;let m=o[h];if(!T)for(let C=m.to,L=h+1;;){if(C==t)break e;if(L<o.length&&o[L].from==C)C=o[L++].to;else{if(ot[C]==u)break e;break}}if(h++,R)R.push(m);else{m.from>E&&a.push(new Fi(E,m.from,O));let C=m.direction==nl!=!(O%2);fS(n,C?i+1:i,s,m.inner,m.from,m.to,a),E=m.to}N=m.to}else{if(N==t||(T?ot[N]!=u:ot[N]==u))break;N++}R?ES(n,E,N,i+1,s,R,a):E<N&&a.push(new Fi(E,N,O)),E=N}else for(let E=t,h=o.length;E>e;){let T=!0,A=!1;if(!h||E>o[h-1].to){let m=ot[E-1];m!=u&&(T=!1,A=m==16)}let R=!T&&u==1?[]:null,O=T?i:i+1,N=E;e:for(;;)if(h&&N==o[h-1].to){if(A)break e;let m=o[--h];if(!T)for(let C=m.from,L=h;;){if(C==e)break e;if(L&&o[L-1].to==C)C=o[--L].from;else{if(ot[C-1]==u)break e;break}}if(R)R.push(m);else{m.to<E&&a.push(new Fi(m.to,E,O));let C=m.direction==nl!=!(O%2);fS(n,C?i+1:i,s,m.inner,m.from,m.to,a),E=m.from}N=m.from}else{if(N==e||(T?ot[N-1]!=u:ot[N-1]==u))break;N--}R?ES(n,N,E,i+1,s,R,a):N<E&&a.push(new Fi(N,E,O)),E=N}}function fS(n,e,t,i,s,o,a){let u=e%2?2:1;NV(n,s,o,i,u),mV(n,s,o,i,u),IV(s,o,i,u),ES(n,s,o,e,t,i,a)}function pV(n,e,t){if(!n)return[new Fi(0,0,e==SR?1:0)];if(e==nl&&!t.length&&!OV.test(n))return EM(n.length);if(t.length)for(;n.length>ot.length;)ot[ot.length]=256;let i=[],s=e==nl?0:1;return fS(n,s,s,t,0,n.length,i),i}function EM(n){return[new Fi(0,n,0)]}let fM="";function CV(n,e,t,i,s){var o;let a=i.head-n.from,u=Fi.find(e,a,(o=i.bidiLevel)!==null&&o!==void 0?o:-1,i.assoc),E=e[u],h=E.side(s,t);if(a==h){let R=u+=s?1:-1;if(R<0||R>=e.length)return null;E=e[u=R],a=E.side(!s,t),h=E.side(s,t)}let T=Kt(n.text,a,E.forward(s,t));(T<E.from||T>E.to)&&(T=h),fM=n.text.slice(Math.min(a,T),Math.max(a,T));let A=u==(s?e.length-1:0)?null:e[u+(s?1:-1)];return A&&T==h&&A.level+(s?0:1)<E.level?q.cursor(A.side(!s,t)+n.from,A.forward(s,t)?1:-1,A.level):q.cursor(T+n.from,E.forward(s,t)?-1:1,E.level)}function gV(n,e,t){for(let i=e;i<t;i++){let s=cM(n.charCodeAt(i));if(s==1)return nl;if(s==2||s==4)return SR}return nl}const hM=Re.define(),TM=Re.define(),dM=Re.define(),AM=Re.define(),hS=Re.define(),SM=Re.define(),RM=Re.define(),RR=Re.define(),NR=Re.define(),OM=Re.define({combine:n=>n.some(e=>e)}),NM=Re.define({combine:n=>n.some(e=>e)}),mM=Re.define();class To{constructor(e,t,i,s,o,a=!1){this.range=e,this.y=t,this.x=i,this.yMargin=s,this.xMargin=o,this.isSnapshot=a}map(e){return e.empty?this:new To(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new To(q.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const oE=be.define({map:(n,e)=>n.map(e)}),IM=be.define();function gn(n,e,t){let i=n.facet(AM);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const As=Re.define({combine:n=>n.length?n[0]:!0});let LV=0;const so=Re.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}});class It{constructor(e,t,i,s,o){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=s,this.baseExtensions=o(this),this.extension=this.baseExtensions.concat(so.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(so.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:i,eventObservers:s,provide:o,decorations:a}=t||{};return new It(LV++,e,i,s,u=>{let E=[];return a&&E.push(Uf.of(h=>{let T=h.plugin(u);return T?a(T):_e.none})),o&&E.push(o(u)),E})}static fromClass(e,t){return It.define((i,s)=>new e(i,s),t)}}class eA{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(gn(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){gn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){gn(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const pM=Re.define(),mR=Re.define(),Uf=Re.define(),CM=Re.define(),IR=Re.define(),mc=Re.define(),gM=Re.define();function ZC(n,e){let t=n.state.facet(gM);if(!t.length)return t;let i=t.map(o=>o instanceof Function?o(n):o),s=[];return Fe.spans(i,e.from,e.to,{point(){},span(o,a,u,E){let h=o-e.from,T=a-e.from,A=s;for(let R=u.length-1;R>=0;R--,E--){let O=u[R].spec.bidiIsolate,N;if(O==null&&(O=gV(e.text,h,T)),E>0&&A.length&&(N=A[A.length-1]).to==h&&N.direction==O)N.to=T,A=N.inner;else{let m={from:h,to:T,direction:O,inner:[]};A.push(m),A=m.inner}}}}),s}const LM=Re.define();function pR(n){let e=0,t=0,i=0,s=0;for(let o of n.state.facet(LM)){let a=o(n);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(t=Math.max(t,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(s=Math.max(s,a.bottom)))}return{left:e,right:t,top:i,bottom:s}}const xa=Re.define();class ii{constructor(e,t,i,s){this.fromA=e,this.toA=t,this.fromB=i,this.toB=s}join(e){return new ii(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>i.toA)){if(s.toA<i.fromA)break;i=i.join(s),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let s=0,o=0,a=0;;){let u=s<e.length?e[s].fromB:1e9,E=o<t.length?t[o]:1e9,h=Math.min(u,E);if(h==1e9)break;let T=h+a,A=h,R=T;for(;;)if(o<t.length&&t[o]<=A){let O=t[o+1];o+=2,A=Math.max(A,O);for(let N=s;N<e.length&&e[N].fromB<=A;N++)a=e[N].toA-e[N].toB;R=Math.max(R,O+a)}else if(s<e.length&&e[s].fromB<=A){let O=e[s++];A=Math.max(A,O.toB),R=Math.max(R,O.toA),a=O.toA-O.toB}else break;i.push(new ii(T,R,h,A))}return i}}class ef{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=wt.empty(this.startState.doc.length);for(let o of i)this.changes=this.changes.compose(o.changes);let s=[];this.changes.iterChangedRanges((o,a,u,E)=>s.push(new ii(o,a,u,E))),this.changedRanges=s}static create(e,t,i){return new ef(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const _V=[];class mt{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return _V}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&cV(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let s of this.children){if(s==e)return i;i+=s.length+s.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let i=Tr(this.dom),s=this.length?e>0:t>0;return new hi(this.parent.dom,i+(s?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof xf)return e;return null}static get(e){return e.cmTile}}class bf extends mt{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,s,o=(e==null?void 0:e.node)==t?e:null,a=0;for(let u of this.children){if(u.sync(e),a+=u.length+u.breakAfter,s=i?i.nextSibling:t.firstChild,o&&s!=u.dom&&(o.written=!0),u.dom.parentNode==t)for(;s&&s!=u.dom;)s=eg(s);else t.insertBefore(u.dom,s);i=u.dom}for(s=i?i.nextSibling:t.firstChild,o&&s&&(o.written=!0);s;)s=eg(s);this.length=a}}function eg(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class xf extends bf{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=mt.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,s=0,o=0;;)if(s==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&o++,s=t.pop()}else{let a=i.children[s++];if(a instanceof Ss)t.push(s),i=a,s=0;else{let u=o+a.length,E=e(a,o);if(E!==void 0)return E;o=u+a.breakAfter}}}resolveBlock(e,t){let i,s=-1,o,a=-1;if(this.blockTiles((u,E)=>{let h=E+u.length;if(e>=E&&e<=h){if(u.isWidget()&&t>=-1&&t<=1){if(u.flags&32)return!0;u.flags&16&&(i=void 0)}(E<e||e==h&&(t<-1?u.length:u.covers(1)))&&(!i||!u.isWidget()&&i.isWidget())&&(i=u,s=e-E),(h>e||e==E&&(t>1?u.length:u.covers(-1)))&&(!o||!u.isWidget()&&o.isWidget())&&(o=u,a=e-E)}}),!i&&!o)throw new Error("No tile at position "+e);return i&&t<0||!o?{tile:i,offset:s}:{tile:o,offset:a}}}class Ss extends bf{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new Ss(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class No extends bf{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let s=new No(t||document.createElement("div"),e);return(!t||!i)&&(s.flags|=4),s}get domAttrs(){return this.attrs}resolveInline(e,t,i){let s=null,o=-1,a=null,u=-1;function E(T,A){for(let R=0,O=0;R<T.children.length&&O<=A;R++){let N=T.children[R],m=O+N.length;m>=A&&(N.isComposite()?E(N,A-O):(!a||a.isHidden&&(t>0||i&&MV(a,N)))&&(m>A||N.flags&32)?(a=N,u=A-O):(O<A||N.flags&16&&!N.isHidden)&&(s=N,o=A-O)),O=m}}E(this,e);let h=(t<0?s:a)||s||a;return h?{tile:h,offset:h==s?o:u}:null}coordsIn(e,t){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t):DV(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:s,offset:o}=i;if(this.dom.contains(s.dom))return s.isText()?new hi(s.dom,Math.min(s.dom.nodeValue.length,o)):s.domPosFor(o,s.flags&16?1:s.flags&32?-1:t);let a=i.tile.parent,u=!1;for(let E of a.children){if(u)return new hi(E.dom,0);E==i.tile&&(u=!0)}}return new hi(this.dom,0)}}function DV(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Va(e);return t[t.length-1]||null}function MV(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}class Cn extends bf{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new Cn(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class $r extends mt{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let i=this.dom.nodeValue.length;e>i&&(e=i);let s=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?Ne.chrome||Ne.gecko||(e?(s--,a=1):o<i&&(o++,a=-1)):t<0?s--:o<i&&o++;let u=rc(this.dom,s,o).getClientRects();if(!u.length)return null;let E=u[(a?a<0:t>=0)?0:u.length-1];return Ne.safari&&!a&&E.width==0&&(E=Array.prototype.find.call(u,h=>h.width)||E),a?sc(E,a<0):E||null}static of(e,t){let i=new $r(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class il extends mt{constructor(e,t,i,s){super(e,t,s),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let s=this.widget.coordsAt(this.dom,e,t);if(s)return s;if(i)return sc(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let o=this.dom.getClientRects(),a=null;if(!o.length)return null;let u=this.flags&16?!0:this.flags&32?!1:e>0;for(let E=u?o.length-1:0;a=o[E],!(e>0?E==0:E==o.length-1||a.top<a.bottom);E+=u?-1:1);return sc(a,!u)}}get overrideDOMText(){if(!this.length)return $e.empty;let{root:e}=this;if(!e)return $e.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,s,o){return o||(o=e.toDOM(t),e.editable||(o.contentEditable="false")),new il(o,i,e,s)}}class tf extends mt{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return $e.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class PV{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:s,index:o,beforeBreak:a,parents:u}=this;for(;e||t>0;)if(s.isComposite())if(a){if(!e)break;i&&i.break(),e--,a=!1}else if(o==s.children.length){if(!e&&!u.length)break;i&&i.leave(s),a=!!s.breakAfter,{tile:s,index:o}=u.pop(),o++}else{let E=s.children[o],h=E.breakAfter;(t>0?E.length<=e:E.length<e)&&(!i||i.skip(E,0,E.length)!==!1||!E.isComposite)?(a=!!h,o++,e-=E.length):(u.push({tile:s,index:o}),s=E,o=0,i&&E.isComposite()&&i.enter(E))}else if(o==s.length)a=!!s.breakAfter,{tile:s,index:o}=u.pop(),o++;else if(e){let E=Math.min(e,s.length-o);i&&i.skip(s,o,o+E),e-=E,o+=E}else break;return this.tile=s,this.index=o,this.beforeBreak=a,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class yV{constructor(e,t,i,s){this.from=e,this.to=t,this.wrapper=i,this.rank=s}}class vV{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,s){var o;this.flushBuffer();let a=this.ensureMarks(t,i),u=a.lastChild;if(u&&u.isText()&&!(u.flags&8)&&u.length+e.length<512){this.cache.reused.set(u,2);let E=a.children[a.children.length-1]=new $r(u.dom,u.text+e);E.parent=a}else a.append(s||$r.of(e,(o=this.cache.find($r))===null||o===void 0?void 0:o.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?tA(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let s=i;for(let u=t.marks.length-1;u>=0;u--){let E=t.marks[u],h=s.lastChild;if(h instanceof Cn&&h.mark.eq(E.mark))h.dom!=E.dom&&h.setDOM(tA(E.dom)),s=h;else{if(this.cache.reused.get(E)){let A=mt.get(E.dom);A&&A.setDOM(tA(E.dom))}let T=Cn.of(E.mark,E.dom);s.append(T),s=T}this.cache.reused.set(E,2)}let o=mt.get(e.text);o&&this.cache.reused.set(o,2);let a=new $r(e.text,e.text.nodeValue);a.flags|=8,this.pos=e.range.toB,s.append(a)}addInlineWidget(e,t,i){let s=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);s||this.flushBuffer();let o=this.ensureMarks(t,i);!s&&!(e.flags&16)&&o.append(this.getBuffer(1)),o.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=_M);let s=No.start(e,t||((i=this.cache.find(No))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=s)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let s=this.curLine;for(let o=e.length-1;o>=0;o--){let a=e[o],u;if(t>0&&(u=s.lastChild)&&u instanceof Cn&&u.mark.eq(a))s=u,t--;else{let E=Cn.of(a,(i=this.cache.find(Cn,h=>h.mark.eq(a)))===null||i===void 0?void 0:i.dom);s.append(E),s=E,t=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!tg(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Ne.ios&&tg(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(nA,0,32)||new il(nA.toDOM(),0,nA,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new yV(e.from,e.to,e.value,t),s=this.wrappers.length;for(;s>0&&(this.wrappers[s-1].rank-i.rank||this.wrappers[s-1].to-i.to)<0;)s--;this.wrappers.splice(s,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let s=t.lastChild;if(i.from<this.pos&&s instanceof Ss&&s.wrapper.eq(i.wrapper))t=s;else{let o=Ss.of(i.wrapper,(e=this.cache.find(Ss,a=>a.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(o),t=o}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(tf,void 0,1);return i&&(i.flags=t),i||new tf(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class UV{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=s;let u=this.textOff=Math.min(e,s.length);return o?null:s.slice(0,u)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const nf=[il,No,$r,Cn,tf,Ss,xf];for(let n=0;n<nf.length;n++)nf[n].bucket=n;class bV{constructor(e){this.view=e,this.buckets=nf.map(()=>[]),this.index=nf.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let s=e.bucket,o=this.buckets[s],a=this.index[s];for(let u=o.length-1;u>=0;u--){let E=(u+a)%o.length,h=o[E];if((!t||t(h))&&!this.reused.has(h))return o.splice(E,1),E<a&&this.index[s]--,this.reused.set(h,i),h}return null}findWidget(e,t,i){let s=this.buckets[0];if(s.length)for(let o=0,a=0;;o++){if(o==s.length){if(a)return null;a=1,o=0}let u=s[o];if(!this.reused.has(u)&&(a==0?u.widget.compare(e):u.widget.constructor==e.constructor&&e.updateDOM(u.dom,this.view,u.widget)))return s.splice(o,1),o<this.index[0]&&this.index[0]--,u.widget==e&&u.length==t&&(u.flags&497)==i?(this.reused.set(u,1),u):(this.reused.set(u,2),new il(u.dom,t,e,u.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class xV{constructor(e,t,i,s,o){this.view=e,this.decorations=s,this.disallowBlockEffectsFor=o,this.openWidget=!1,this.openMarks=0,this.cache=new bV(e),this.text=new UV(e.state.doc),this.builder=new vV(this.cache,new xf(e,e.contentDOM),Fe.iter(i)),this.cache.reused.set(t,2),this.old=new PV(t),this.reuseWalker={skip:(a,u,E)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let s=0,o=0,a=0;;){let u=a<e.length?e[a++]:null,E=u?u.fromA:this.old.root.length;if(E>s){let h=E-s;this.preserve(h,!a,!u),s=E,o+=h}if(!u)break;t&&u.fromA<=t.range.fromA&&u.toA>=t.range.toA?(this.forward(u.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(o,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,u.toA),this.emit(t.range.toB,u.toB)):(this.forward(u.fromA,u.toA),this.emit(o,u.toB)),o=u.toB,s=u.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let s=HV(this.old),o=this.openMarks;this.old.advance(e,i?1:-1,{skip:(a,u,E)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(E-u);else{let h=E>0||u<a.length?il.of(a.widget,this.view,E-u,a.flags&496,this.cache.maybeReuse(a)):this.cache.reuse(a);h.flags&256?(h.flags&=-2,this.builder.addBlockWidget(h)):(this.builder.ensureLine(null),this.builder.addInlineWidget(h,s,o),o=s.length)}else if(a.isText())this.builder.ensureLine(null),!u&&E==a.length&&!this.cache.reused.has(a)?this.builder.addText(a.text,s,o,this.cache.reuse(a)):(this.cache.add(a),this.builder.addText(a.text.slice(u,E),s,o)),o=s.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof tf)this.cache.add(a);else if(a instanceof Cn)this.builder.ensureLine(null),this.builder.addMark(a,s,o),this.cache.reused.set(a,1),o=s.length;else return!1;this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof Cn&&s.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?s.length&&(s.length=o=0):a instanceof Cn&&(s.shift(),o=Math.min(o,s.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,s=this.builder,o=0,a=Fe.spans(this.decorations,e,t,{point:(u,E,h,T,A,R)=>{if(h instanceof tl){if(this.disallowBlockEffectsFor[R]){if(h.block)throw new RangeError("Block decorations may not be specified via plugins");if(E>this.view.state.doc.lineAt(u).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(o=T.length,A>T.length)s.continueWidget(E-u);else{let O=h.widget||(h.block?mo.block:mo.inline),N=BV(h),m=this.cache.findWidget(O,E-u,N)||il.of(O,this.view,E-u,N);h.block?(h.startSide>0&&s.addLineStartIfNotCovered(i),s.addBlockWidget(m)):(s.ensureLine(i),s.addInlineWidget(m,T,A))}i=null}else i=GV(i,h);E>u&&this.text.skip(E-u)},span:(u,E,h,T)=>{for(let A=u;A<E;){let R=this.text.next(Math.min(512,E-A));R==null?(s.addLineStartIfNotCovered(i),s.addBreak(),A++):(s.ensureLine(i),s.addText(R,h,A==u?T:h.length),A+=R.length),i=null}o=h.length}});this.openWidget=a>o,this.openWidget||s.addLineStartIfNotCovered(i),this.openMarks=a}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let s=e.parentNode;;s=s.parentNode){let o=mt.get(s);if(s==this.view.contentDOM)break;o instanceof Cn?t.push(o):o!=null&&o.isLine()?i=o:o instanceof Ss||(s.nodeName=="DIV"&&!i&&s!=this.view.contentDOM?i=new No(s,_M):i||t.push(Cn.of(new Oc({tagName:s.nodeName.toLowerCase(),attributes:uV(s)}),s)))}return{line:i,marks:t}}}function tg(n,e){let t=i=>{for(let s of i.children)if((e?s.isText():s.length)||t(s))return!0;return!1};return t(n)}function BV(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const _M={class:"cm-line"};function GV(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&dR(t,n),i&&(n.class+=" "+i)),n}function HV(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof Cn&&e.push(i.mark)}return e}function tA(n){let e=mt.get(n);return e&&e.setDOM(n.cloneNode()),n}class mo extends $i{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}mo.inline=new mo("span");mo.block=new mo("div");const nA=new class extends $i{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class ng{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=_e.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new xf(e,e.contentDOM),this.updateInner([new ii(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:T,toA:A})=>A<this.minWidthFrom||T>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?s=this.domChanged.newSel.head:!zV(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let o=s>-1?FV(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:T,to:A}=this.hasComposition;i=new ii(T,A,e.changes.mapPos(T,-1),e.changes.mapPos(A,1)).addToSet(i.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Ne.ie||Ne.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,u=this.blockWrappers;this.updateDeco();let E=VV(a,this.decorations,e.changes);E.length&&(i=ii.extendWithRanges(i,E));let h=XV(u,this.blockWrappers,e.changes);return h.length&&(i=ii.extendWithRanges(i,h)),o&&!i.some(T=>T.fromA<=o.range.fromA&&T.toA>=o.range.toA)&&(i=o.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let a=this.tile,u=new xV(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&mt.get(t.text)&&u.cache.reused.set(mt.get(t.text),2),this.tile=u.run(e,t),TS(a,u.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=Ne.chrome||Ne.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(o),o&&(o.written||i.selectionRange.focusNode!=o.node||!this.tile.dom.contains(o.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.tile.children)o.isWidget()&&o.widget instanceof iA&&s.push(o.dom);i.updateGaps(s)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(IM)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,s=this.view.root.activeElement,o=s==i,a=!o&&!(this.view.state.facet(As)||i.tabIndex>-1)&&ka(i,this.view.observer.selectionRange)&&!(s&&i.contains(s));if(!(o||t||a))return;let u=this.forceSelection;this.forceSelection=!1;let E=this.view.state.selection.main,h,T;if(E.empty?T=h=this.inlineDOMNearPos(E.anchor,E.assoc||1):(T=this.inlineDOMNearPos(E.head,E.head==E.from?1:-1),h=this.inlineDOMNearPos(E.anchor,E.anchor==E.from?1:-1)),Ne.gecko&&E.empty&&!this.hasComposition&&wV(h)){let R=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(R,h.node.childNodes[h.offset]||null)),h=T=new hi(R,0),u=!0}let A=this.view.observer.selectionRange;(u||!A.focusNode||(!Wa(h.node,h.offset,A.anchorNode,A.anchorOffset)||!Wa(T.node,T.offset,A.focusNode,A.focusOffset))&&!this.suppressWidgetCursorChange(A,E))&&(this.view.observer.ignore(()=>{Ne.android&&Ne.chrome&&i.contains(A.focusNode)&&KV(A.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let R=ic(this.view.root);if(R)if(E.empty){if(Ne.gecko){let O=YV(h.node,h.offset);if(O&&O!=3){let N=(O==1?lM:oM)(h.node,h.offset);N&&(h=new hi(N.node,N.offset))}}R.collapse(h.node,h.offset),E.bidiLevel!=null&&R.caretBidiLevel!==void 0&&(R.caretBidiLevel=E.bidiLevel)}else if(R.extend){R.collapse(h.node,h.offset);try{R.extend(T.node,T.offset)}catch{}}else{let O=document.createRange();E.anchor>E.head&&([h,T]=[T,h]),O.setEnd(T.node,T.offset),O.setStart(h.node,h.offset),R.removeAllRanges(),R.addRange(O)}a&&this.view.root.activeElement==i&&(i.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(h,T)),this.impreciseAnchor=h.precise?null:new hi(A.anchorNode,A.anchorOffset),this.impreciseHead=T.precise?null:new hi(A.focusNode,A.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Wa(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=ic(e.root),{anchorNode:s,anchorOffset:o}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let a=this.lineAt(t.head,t.assoc);if(!a)return;let u=a.posAtStart;if(t.head==u||t.head==u+a.length)return;let E=this.coordsAt(t.head,-1),h=this.coordsAt(t.head,1);if(!E||!h||E.bottom>h.top)return;let T=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(T.node,T.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let A=e.observer.selectionRange;e.docView.posFromDOM(A.anchorNode,A.anchorOffset)!=t.from&&i.collapse(s,o)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let s=i.posAtStart;if(i.isComposite()){let o;if(e==i.dom)o=i.dom.childNodes[t];else{let a=ms(e)==0?0:t==0?-1:1;for(;;){let u=e.parentNode;if(u==i.dom)break;a==0&&u.firstChild!=u.lastChild&&(e==u.firstChild?a=-1:a=1),e=u}a<0?o=e:o=e.nextSibling}if(o==i.dom.firstChild)return s;for(;o&&!mt.get(o);)o=o.nextSibling;if(!o)return s+i.length;for(let a=0,u=s;;a++){let E=i.children[a];if(E.dom==o)return u;u+=E.length+E.breakAfter}}else return i.isText()?e==i.dom?s+t:s+(t?i.length:0):s}domAtPos(e,t){let{tile:i,offset:s}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(e,t):i.domIn(s,t)}inlineDOMNearPos(e,t){let i,s=-1,o=!1,a,u=-1,E=!1;return this.tile.blockTiles((h,T)=>{if(h.isWidget()){if(h.flags&32&&T>=e)return!0;h.flags&16&&(o=!0)}else{let A=T+h.length;if(T<=e&&(i=h,s=e-T,o=A<e),A>=e&&!a&&(a=h,u=e-T,E=T>e),T>e&&a)return!0}}),!i&&!a?this.domAtPos(e,t):(o&&a?i=null:E&&i&&(a=null),i&&t<0||!a?i.domIn(s,t):a.domIn(u,t))}coordsAt(e,t){let{tile:i,offset:s}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof iA?null:i.coordsInWidget(s,t,!0):i.coordsIn(s,t)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function s(o,a){if(o.isComposite())for(let u of o.children){if(u.length>=a){let E=s(u,a);if(E)return E}if(a-=u.length,a<0)break}else if(o.isText()&&a<o.length){let u=Kt(o.text,a);if(u==a)return null;let E=rc(o.dom,a,u).getClientRects();for(let h=0;h<E.length;h++){let T=E[h];if(h==E.length-1||T.top<T.bottom&&T.left<T.right)return T}}return null}return s(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:s}=e,o=this.view.contentDOM.clientWidth,a=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,u=-1,E=this.view.textDirection==at.LTR,h=0,T=(A,R,O)=>{for(let N=0;N<A.children.length&&!(R>s);N++){let m=A.children[N],C=R+m.length,L=m.dom.getBoundingClientRect(),{height:_}=L;if(O&&!N&&(h+=L.top-O.top),m instanceof Ss)C>i&&T(m,R,L);else if(R>=i&&(h>0&&t.push(-h),t.push(_+h),h=0,a)){let D=m.dom.lastChild,v=D?Va(D):[];if(v.length){let U=v[v.length-1],G=E?U.right-L.left:L.right-U.left;G>u&&(u=G,this.minWidth=o,this.minWidthFrom=R,this.minWidthTo=C)}}O&&N==A.children.length-1&&(h+=O.bottom-L.bottom),R=C+m.breakAfter}};return T(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?at.RTL:at.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let u=0,E;for(let h of a.children){if(!h.isText()||/[^ -~]/.test(h.text))return;let T=Va(h.dom);if(T.length!=1)return;u+=T[0].width,E=T[0].height}if(u)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:u/a.length,textHeight:E}}});if(e)return e;let t=document.createElement("div"),i,s,o;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let a=Va(t.firstChild)[0];i=t.getBoundingClientRect().height,s=a&&a.width?a.width/27:7,o=a&&a.height?a.height:i,t.remove()}),{lineHeight:i,charWidth:s,textHeight:o}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,s=0;;s++){let o=s==t.viewports.length?null:t.viewports[s],a=o?o.from-1:this.view.state.doc.length;if(a>i){let u=(t.lineBlockAt(a).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(_e.replace({widget:new iA(u),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!o)break;i=o.to+1}return _e.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Uf).map(o=>(this.dynamicDecorationMap[e++]=typeof o=="function")?o(this.view):o),i=!1,s=this.view.state.facet(IR).map((o,a)=>{let u=typeof o=="function";return u&&(i=!0),u?o(this.view):o});for(s.length&&(this.dynamicDecorationMap[e++]=i,t.push(Fe.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(CM).map(o=>typeof o=="function"?o(this.view):o)}scrollIntoView(e){var t;if(e.isSnapshot){let T=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=T.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let T of this.view.state.facet(mM))try{if(T(this.view,e.range,e))return!0}catch(A){gn(this.view.state,A,"scroll handler")}let{range:i}=e,s=this.coordsAt(i.head,(t=i.assoc)!==null&&t!==void 0?t:i.empty?0:i.head>i.anchor?-1:1),o;if(!s)return;!i.empty&&(o=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(s={left:Math.min(s.left,o.left),top:Math.min(s.top,o.top),right:Math.max(s.right,o.right),bottom:Math.max(s.bottom,o.bottom)});let a=pR(this.view),u={left:s.left-a.left,top:s.top-a.top,right:s.right+a.right,bottom:s.bottom+a.bottom},{offsetWidth:E,offsetHeight:h}=this.view.scrollDOM;if(hV(this.view.scrollDOM,u,i.head<i.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,E),-E),Math.max(Math.min(e.yMargin,h),-h),this.view.textDirection==at.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(s.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||s.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let T=this.view.docView.lineAt(i.head,1);T&&T.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){TS(this.tile)}}function TS(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)TS(i,e)}}function wV(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function DM(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=lM(t.focusNode,t.focusOffset),s=oM(t.focusNode,t.focusOffset),o=i||s;if(s&&i&&s.node!=i.node){let u=mt.get(s.node);if(!u||u.isText()&&u.text!=s.node.nodeValue)o=s;else if(n.docView.lastCompositionAfterCursor){let E=mt.get(i.node);!E||E.isText()&&E.text!=i.node.nodeValue||(o=s)}}if(n.docView.lastCompositionAfterCursor=o!=i,!o)return null;let a=e-o.offset;return{from:a,to:a+o.node.nodeValue.length,node:o.node}}function FV(n,e,t){let i=DM(n,t);if(!i)return null;let{node:s,from:o,to:a}=i,u=s.nodeValue;if(/[\n\r]/.test(u)||n.state.doc.sliceString(i.from,i.to)!=u)return null;let E=e.invertedDesc;return{range:new ii(E.mapPos(o),E.mapPos(a),o,a),text:s}}function YV(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let kV=class{constructor(){this.changes=[]}compareRange(e,t){fo(e,t,this.changes)}comparePoint(e,t){fo(e,t,this.changes)}boundChange(e){fo(e,e,this.changes)}};function VV(n,e,t){let i=new kV;return Fe.compare(n,e,t,i),i.changes}class WV{constructor(){this.changes=[]}compareRange(e,t){fo(e,t,this.changes)}comparePoint(){}boundChange(e){fo(e,e,this.changes)}}function XV(n,e,t){let i=new WV;return Fe.compare(n,e,t,i),i.changes}function KV(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function zV(n,e){let t=!1;return e&&n.iterChangedRanges((i,s)=>{i<e.to&&s>e.from&&(t=!0)}),t}class iA extends $i{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function $V(n,e,t=1){let i=n.charCategorizer(e),s=n.doc.lineAt(e),o=e-s.from;if(s.length==0)return q.cursor(e);o==0?t=1:o==s.length&&(t=-1);let a=o,u=o;t<0?a=Kt(s.text,o,!1):u=Kt(s.text,o);let E=i(s.text.slice(a,u));for(;a>0;){let h=Kt(s.text,a,!1);if(i(s.text.slice(h,a))!=E)break;a=h}for(;u<s.length;){let h=Kt(s.text,u);if(i(s.text.slice(u,h))!=E)break;u=h}return q.undirectionalRange(a+s.from,u+s.from)}function jV(n,e,t,i,s){let o=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let u=n.viewState.heightOracle.textHeight,E=Math.floor((s-t.top-(n.defaultLineHeight-u)*.5)/u);o+=E*n.viewState.heightOracle.lineLength}let a=n.state.sliceDoc(t.from,t.to);return t.from+nS(a,o,n.state.tabSize)}function dS(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let s;for(let o of i.type){if(o.from>e)break;if(!(o.to<e)){if(o.from<e&&o.to>e)return o;(!s||o.type==rn.Text&&(s.type!=o.type||(t<0?o.from<e:o.to>e)))&&(s=o)}}return s||i}return i}function JV(n,e,t,i){let s=dS(n,e.head,e.assoc||-1),o=!i||s.type!=rn.Text||!(n.lineWrapping||s.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(o){let a=n.dom.getBoundingClientRect(),u=n.textDirectionAt(s.from),E=n.posAtCoords({x:t==(u==at.LTR)?a.right-1:a.left+1,y:(o.top+o.bottom)/2});if(E!=null)return q.cursor(E,t?-1:1)}return q.cursor(t?s.to:s.from,t?-1:1)}function ig(n,e,t,i){let s=n.state.doc.lineAt(e.head),o=n.bidiSpans(s),a=n.textDirectionAt(s.from);for(let u=e,E=null;;){let h=CV(s,o,a,u,t),T=fM;if(!h){if(s.number==(t?n.state.doc.lines:1))return u;T=`
220
- `,s=n.state.doc.line(s.number+(t?1:-1)),o=n.bidiSpans(s),h=n.visualLineSide(s,!t)}if(E){if(!E(T))return u}else{if(!i)return h;E=i(T)}u=h}}function qV(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return o=>{let a=i(o);return s==Tt.Space&&(s=a),s==a}}function QV(n,e,t,i){let s=e.head,o=t?1:-1;if(s==(t?n.state.doc.length:0))return q.cursor(s,e.assoc);let a=e.goalColumn,u,E=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),T=n.documentTop;if(h)a==null&&(a=h.left-E.left),u=o<0?h.top:h.bottom;else{let N=n.viewState.lineBlockAt(s);a==null&&(a=Math.min(E.right-E.left,n.defaultCharacterWidth*(s-N.from))),u=(o<0?N.top:N.bottom)+T}let A=E.left+a,R=n.viewState.heightOracle.textHeight>>1,O=i??R;for(let N=0;;N+=R){let m=u+(O+N)*o,C=AS(n,{x:A,y:m},!1,o);if(t?m>E.bottom:m<E.top)return q.cursor(C.pos,C.assoc);let L=n.coordsAtPos(C.pos,C.assoc),_=L?(L.top+L.bottom)/2:0;if(!L||(t?_>u:_<u))return q.cursor(C.pos,C.assoc,void 0,a)}}function Xa(n,e,t){for(;;){let i=0;for(let s of n)s.between(e-1,e+1,(o,a,u)=>{if(e>o&&e<a){let E=i||t||(e-o<a-e?-1:1);e=E<0?o:a,i=E}});if(!i)return e}}function MM(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let s=e.ranges[i],o=null;if(s.empty){let a=Xa(n,s.from,0);a!=s.from&&(o=q.cursor(a,-1))}else{let a=Xa(n,s.from,-1),u=Xa(n,s.to,1);(a!=s.from||u!=s.to)&&(s.undirectional?o=q.undirectionalRange(s.from,s.to):o=q.range(s.from==s.anchor?a:u,s.from==s.head?a:u))}o&&(t||(t=e.ranges.slice()),t[i]=o)}return t?q.create(t,e.mainIndex):e}function sA(n,e,t){let i=Xa(n.state.facet(mc).map(s=>s(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:q.cursor(i,i<t.from?1:-1)}class Hi{constructor(e,t){this.pos=e,this.assoc=t}}function AS(n,e,t,i){let s=n.contentDOM.getBoundingClientRect(),o=s.top+n.viewState.paddingTop,{x:a,y:u}=e,E=u-o,h;for(;;){if(E<0)return new Hi(0,1);if(E>n.viewState.docHeight)return new Hi(n.state.doc.length,-1);if(h=n.elementAtHeight(E),i==null)break;if(h.type==rn.Text){if(i<0?h.to<n.viewport.from:h.from>n.viewport.to)break;let R=n.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(R&&(i<0?R.top<=E+o:R.bottom>=E+o))break}let A=n.viewState.heightOracle.textHeight/2;E=i>0?h.bottom+A:h.top-A}if(n.viewport.from>=h.to||n.viewport.to<=h.from){if(t)return null;if(h.type==rn.Text){let A=jV(n,s,h,a,u);return new Hi(A,A==h.from?1:-1)}}if(h.type!=rn.Text)return E<(h.top+h.bottom)/2?new Hi(h.from,1):new Hi(h.to,-1);let T=n.docView.lineAt(h.from,2);return(!T||T.length!=h.length)&&(T=n.docView.lineAt(h.from,-2)),new ZV(n,a,u,n.textDirectionAt(h.from)).scanTile(T,h.from)}class ZV{constructor(e,t,i,s){this.view=e,this.x=t,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[Fi.find(s,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[Fi.find(s,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:s}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<t)}scan(e,t,i=!1){let s=0,o=e.length-1,a=new Set,u=this.bidiIn(e[0],e[o]),E,h,T=-1,A=1e9,R;e:for(;s<o;){let N=o-s,m=s+o>>1;t:if(a.has(m)){let L=s+Math.floor(Math.random()*N);for(let _=0;_<N;_++){if(!a.has(L)){m=L;break t}L++,L==o&&(L=s)}break e}a.add(m);let C=t(m);if(C)for(let L=0;L<C.length;L++){let _=C[L],D=0;if(!(_.width==0&&C.length>1)){if(_.bottom<this.y)(!E||E.bottom<_.bottom)&&(E=_),D=1;else if(_.top>this.y)(!h||h.top>_.top)&&(h=_),D=-1;else{let v=_.left>this.x?this.x-_.left:_.right<this.x?this.x-_.right:0,U=Math.abs(v);U<A&&(T=m,A=U,R=_),v&&(D=v<0==(this.baseDir==at.LTR)?-1:1)}D==-1&&(!u||this.baseDirAt(e[m],1))?o=m:D==1&&(!u||this.baseDirAt(e[m+1],-1))&&(s=m+1)}}}if(!R){if(!h&&!E)return{i:e[0],after:!1};let N=E&&(!h||this.y-E.bottom<h.top-this.y)?E:h;return this.y=(N.top+N.bottom)/2,this.scan(e,t,!0)}if(A&&!i){let{top:N,bottom:m}=R;if(E&&E.bottom>(N+N+m)/3)return this.y=E.bottom-1,this.scan(e,t,!0);if(h&&h.top<(N+m+m)/3)return this.y=h.top+1,this.scan(e,t,!0)}let O=(u?this.dirAt(e[T],1):this.baseDir)==at.LTR;return{i:T,after:this.x>(R.left+R.right)/2==O}}scanText(e,t){let i=[];for(let o=0;o<e.length;o=Kt(e.text,o))i.push(t+o);i.push(t+e.length);let s=this.scan(i,o=>{let a=i[o]-t,u=i[o+1]-t;return rc(e.dom,a,u).getClientRects()});return s.after?new Hi(i[s.i+1],-1):new Hi(i[s.i],1)}scanTile(e,t){if(!e.length)return new Hi(t,1);if(e.children.length==1){let u=e.children[0];if(u.isText())return this.scanText(u,t);if(u.isComposite())return this.scanTile(u,t)}let i=[t];for(let u=0,E=t;u<e.children.length;u++)i.push(E+=e.children[u].length);let s=this.scan(i,u=>{let E=e.children[u];return E.flags&48?null:(E.dom.nodeType==1?E.dom:rc(E.dom,0,E.length)).getClientRects()}),o=e.children[s.i],a=i[s.i];return o.isText()?this.scanText(o,a):o.isComposite()?this.scanTile(o,a):s.after?new Hi(i[s.i+1],-1):new Hi(a,1)}}const to="￿";class e2{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(ze.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=to}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let s=e;;){this.findPointBefore(i,s);let o=this.text.length;this.readNode(s);let a=mt.get(s),u=s.nextSibling;if(u==t){a!=null&&a.breakAfter&&!u&&i!=this.view.contentDOM&&this.lineBreak();break}let E=mt.get(u);(a&&E?a.breakAfter:(a?a.breakAfter:ZE(s))||ZE(u)&&(s.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>o)&&!n2(u,t)&&this.lineBreak(),s=u}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,a=1,u;if(this.lineSeparator?(o=t.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(u=s.exec(t))&&(o=u.index,a=u[0].length),this.append(t.slice(i,o<0?t.length:o)),o<0)break;if(this.lineBreak(),a>1)for(let E of this.points)E.node==e&&E.pos>this.text.length&&(E.pos-=a-1);i=o+a}}readNode(e){let t=mt.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let s=i.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(t2(e,i.node,i.offset)?t:0))}}function t2(n,e,t){for(;;){if(!e||t<ms(e))return!1;if(e==n)return!0;t=Tr(e)+1,e=e.parentNode}}function n2(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=mt.get(n);if(!(i!=null&&i.isWidget()))return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let s=i.overrideDOMText;if(s!=null&&s.length)return!1}return!0}class sg{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class i2{constructor(e,t,i,s){this.typeOver=s,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:o,impreciseAnchor:a}=e.docView,u=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=PM(e.docView.tile,t,i,0))){let E=o||a?[]:r2(e),h=new e2(E,e);h.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=h.text,this.newSel=l2(E,this.bounds.from)}else{let E=e.observer.selectionRange,h=o&&o.node==E.focusNode&&o.offset==E.focusOffset||!cS(e.contentDOM,E.focusNode)?u.main.head:e.docView.posFromDOM(E.focusNode,E.focusOffset),T=a&&a.node==E.anchorNode&&a.offset==E.anchorOffset||!cS(e.contentDOM,E.anchorNode)?u.main.anchor:e.docView.posFromDOM(E.anchorNode,E.anchorOffset),A=e.viewport;if((Ne.ios||Ne.chrome)&&h!=T&&Math.min(h,T)<=u.main.from&&Math.max(h,T)>=u.main.to&&(A.from>0||A.to<e.state.doc.length)){let R=Math.min(h,T),O=Math.max(h,T),N=A.from-R,m=A.to-O;(N==0||N==1||R==0)&&(m==0||m==-1||O==e.state.doc.length)&&(h=0,T=e.state.doc.length)}if(e.inputState.composing>-1&&u.ranges.length>1)this.newSel=u.replaceRange(q.range(T,h));else if(e.lineWrapping&&T==h&&!(u.main.empty&&u.main.head==h)&&e.inputState.lastTouchTime>Date.now()-100){let R=e.coordsAtPos(h,-1),O=0;R&&(O=e.inputState.lastTouchY<=R.bottom?-1:1),this.newSel=q.create([q.cursor(h,O)])}else this.newSel=q.single(T,h)}}}function PM(n,e,t,i){if(n.isComposite()){let s=-1,o=-1,a=-1,u=-1;for(let E=0,h=i,T=i;E<n.children.length;E++){let A=n.children[E],R=h+A.length;if(h<e&&R>t)return PM(A,e,t,h);if(R>=e&&s==-1&&(s=E,o=h),h>t&&A.dom.parentNode==n.dom){a=E,u=T;break}T=R,h=R+A.breakAfter}return{from:o,to:u<0?i+n.length:u,startDOM:(s?n.children[s-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:a<n.children.length&&a>=0?n.children[a].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function yM(n,e){let t,{newSel:i}=e,{state:s}=n,o=s.selection.main,a=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:u,to:E}=e.bounds,h=o.from,T=null;(a===8||Ne.android&&e.text.length<E-u)&&(h=o.to,T="end");let A=s.doc.sliceString(u,E,to),R,O;!o.empty&&o.from>=u&&o.to<=E&&(e.typeOver||A!=e.text)&&A.slice(0,o.from-u)==e.text.slice(0,o.from-u)&&A.slice(o.to-u)==e.text.slice(R=e.text.length-(A.length-(o.to-u)))?t={from:o.from,to:o.to,insert:$e.of(e.text.slice(o.from-u,R).split(to))}:(O=vM(A,e.text,h-u,T))&&(Ne.chrome&&a==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==to+to&&O.toB--,t={from:u+O.from,to:u+O.toA,insert:$e.of(e.text.slice(O.from,O.toB).split(to))})}else i&&(!n.hasFocus&&s.facet(As)||sf(i,o))&&(i=null);if(!t&&!i)return!1;if((Ne.mac||Ne.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=q.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:$e.of([t.insert.toString().replace("."," ")])}):s.doc.lineAt(o.from).to<o.to&&n.docView.lineHasWidget(o.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:o.from,to:o.to,insert:s.toText(n.inputState.insertingText)}:Ne.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
221
- `&&n.lineWrapping&&(i&&(i=q.single(i.main.anchor-1,i.main.head-1)),t={from:o.from,to:o.to,insert:$e.of([" "])}),t)return CR(n,t,i,a);if(i&&!sf(i,o)){let u=!1,E="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(u=!0),E=n.inputState.lastSelectionOrigin,E=="select.pointer"&&(i=MM(s.facet(mc).map(h=>h(n)),i))),n.dispatch({selection:i,scrollIntoView:u,userEvent:E}),!0}else return!1}function CR(n,e,t,i=-1){if(Ne.ios&&n.inputState.flushIOSKey(e))return!0;let s=n.state.selection.main;if(Ne.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&n.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ho(n.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>s.head)&&ho(n.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&ho(n.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let a,u=()=>a||(a=s2(n,e,t));return n.state.facet(SM).some(E=>E(n,e.from,e.to,o,u))||n.dispatch(u()),!0}function s2(n,e,t){let i,s=n.state,o=s.selection.main,a=-1;if(e.from==e.to&&e.from<o.from||e.from>o.to){let E=e.from<o.from?-1:1,h=E<0?o.from:o.to,T=Xa(s.facet(mc).map(A=>A(n)),h,E);e.from==T&&(a=T)}if(a>-1)i={changes:e,selection:q.cursor(e.from+e.insert.length,-1)};else if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let E=o.from<e.from?s.sliceDoc(o.from,e.from):"",h=o.to>e.to?s.sliceDoc(e.to,o.to):"";i=s.replaceSelection(n.state.toText(E+e.insert.sliceString(0,void 0,n.state.lineBreak)+h))}else{let E=s.changes(e),h=t&&t.main.to<=E.newLength?t.main:void 0;if(s.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let T=n.state.sliceDoc(e.from,e.to),A,R=t&&DM(n,t.main.head);if(R){let N=e.insert.length-(e.to-e.from);A={from:R.from,to:R.to-N}}else A=n.state.doc.lineAt(o.head);let O=o.to-e.to;i=s.changeByRange(N=>{if(N.from==o.from&&N.to==o.to)return{changes:E,range:h||N.map(E)};let m=N.to-O,C=m-T.length;if(n.state.sliceDoc(C,m)!=T||m>=A.from&&C<=A.to)return{range:N};let L=s.changes({from:C,to:m,insert:e.insert}),_=N.to-o.to;return{changes:L,range:h?q.range(Math.max(0,h.anchor+_),Math.max(0,h.head+_)):N.map(L)}})}else i={changes:E,selection:h&&s.selection.replaceRange(h)}}let u="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,u+=".compose",n.inputState.compositionFirstChange&&(u+=".start",n.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:u,scrollIntoView:!0})}function vM(n,e,t,i){let s=Math.min(n.length,e.length),o=0;for(;o<s&&n.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==s&&n.length==e.length)return null;let a=n.length,u=e.length;for(;a>0&&u>0&&n.charCodeAt(a-1)==e.charCodeAt(u-1);)a--,u--;if(i=="end"){let E=Math.max(0,o-Math.min(a,u));t-=a+E-o}if(a<o&&n.length<e.length){let E=t<=o&&t>=a?o-t:0;o-=E,u=o+(u-a),a=o}else if(u<o){let E=t<=o&&t>=u?o-t:0;o-=E,a=o+(a-u),u=o}return{from:o,toA:a,toB:u}}function r2(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:o}=n.observer.selectionRange;return t&&(e.push(new sg(t,i)),(s!=t||o!=i)&&e.push(new sg(s,o))),e}function l2(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?q.single(t+e,i+e):null}function sf(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class o2{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Ne.safari&&e.contentDOM.addEventListener("input",()=>null),Ne.gecko&&p2(e.contentDOM.ownerDocument)}handleEvent(e){!A2(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=c2(e),i=this.handlers,s=this.view.contentDOM;for(let o in t)if(o!="scroll"){let a=!t[o].handlers.length,u=i[o];u&&a!=!u.handlers.length&&(s.removeEventListener(o,this.handleEvent),u=null),u||s.addEventListener(o,this.handleEvent,{passive:a})}for(let o in i)o!="scroll"&&!t[o]&&s.removeEventListener(o,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&bM.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Ne.android&&Ne.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(Ne.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(UM.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||u2.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&Ne.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&a2(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,ho(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Ne.safari&&!Ne.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function a2(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function rg(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(s){gn(t.state,s)}}}function c2(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let s=i.spec,o=s&&s.plugin.domEventHandlers,a=s&&s.plugin.domEventObservers;if(o)for(let u in o){let E=o[u];E&&t(u).handlers.push(rg(i.value,E))}if(a)for(let u in a){let E=a[u];E&&t(u).observers.push(rg(i.value,E))}}for(let i in Ri)t(i).handlers.push(Ri[i]);for(let i in Dn)t(i).observers.push(Dn[i]);return e}const UM=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],u2="dthko",bM=[16,17,18,20,91,92,224,225],aE=6;function cE(n){return Math.max(0,n)*.7+8}function E2(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class f2{constructor(e,t,i,s){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=iM(e.contentDOM),this.atoms=e.state.facet(mc).map(a=>a(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ze.allowMultipleSelections)&&h2(e,t),this.dragging=d2(e,t)&&GM(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&E2(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,s=0,o=0,a=this.view.win.innerWidth,u=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:u}=this.scrollParents.y.getBoundingClientRect());let E=pR(this.view);e.clientX-E.left<=s+aE?t=-cE(s-e.clientX):e.clientX+E.right>=a-aE&&(t=cE(e.clientX-a)),e.clientY-E.top<=o+aE?i=-cE(o-e.clientY):e.clientY+E.bottom>=u-aE&&(i=cE(e.clientY-u)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=MM(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function h2(n,e){let t=n.state.facet(hM);return t.length?t[0](e):Ne.mac?e.metaKey:e.ctrlKey}function T2(n,e){let t=n.state.facet(TM);return t.length?t[0](e):Ne.mac?!e.altKey:!e.ctrlKey}function d2(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=ic(n.root);if(!i||i.rangeCount==0)return!0;let s=i.getRangeAt(0).getClientRects();for(let o=0;o<s.length;o++){let a=s[o];if(a.left<=e.clientX&&a.right>=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function A2(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=mt.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}const Ri=Object.create(null),Dn=Object.create(null),xM=Ne.ie&&Ne.ie_version<15||Ne.ios&&Ne.webkit_version<604;function S2(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),BM(n,t.value)},50)}function Bf(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function BM(n,e){e=Bf(n.state,RR,e);let{state:t}=n,i,s=1,o=t.toText(e),a=o.lines==t.selection.ranges.length;if(SS!=null&&t.selection.ranges.every(E=>E.empty)&&SS==o.toString()){let E=-1;i=t.changeByRange(h=>{let T=t.doc.lineAt(h.from);if(T.from==E)return{range:h};E=T.from;let A=t.toText((a?o.line(s++).text:e)+t.lineBreak);return{changes:{from:T.from,insert:A},range:q.cursor(h.from+A.length)}})}else a?i=t.changeByRange(E=>{let h=o.line(s++);return{changes:{from:E.from,to:E.to,insert:h.text},range:q.cursor(E.from+h.length)}}):i=t.replaceSelection(o);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Dn.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};Dn.wheel=Dn.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Ri.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Dn.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};Dn.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Ri.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(dM))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=O2(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new f2(n,e,t,i)),i&&n.observer.ignore(()=>{sM(n.contentDOM);let o=n.root.activeElement;o&&!o.contains(n.contentDOM)&&o.blur()});let s=n.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function lg(n,e,t,i){if(i==1)return q.cursor(e,t);if(i==2)return $V(n.state,e,t);{let s=n.docView.lineAt(e,t),o=n.state.doc.lineAt(s?s.posAtEnd:e),a=s?s.posAtStart:o.from,u=s?s.posAtEnd:o.to;return u<n.state.doc.length&&u==o.to&&u++,q.undirectionalRange(a,u)}}const R2=Ne.ie&&Ne.ie_version<=11;let og=null,ag=0,cg=0;function GM(n){if(!R2)return n.detail;let e=og,t=cg;return og=n,cg=Date.now(),ag=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(ag+1)%3:1}function O2(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=GM(e),s=n.state.selection;return{update(o){o.docChanged&&(t.pos=o.changes.mapPos(t.pos),s=s.map(o.changes))},get(o,a,u){let E=n.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),h,T=lg(n,E.pos,E.assoc,i);if(t.pos!=E.pos&&!a){let A=lg(n,t.pos,t.assoc,i),R=Math.min(A.from,T.from),O=Math.max(A.to,T.to);T=R<T.from?q.range(R,O,T.assoc):q.range(O,R,T.assoc)}return a?s.replaceRange(s.main.extend(T.from,T.to,T.assoc)):u&&i==1&&s.ranges.length>1&&(h=N2(s,E.pos))?h:u?s.addRange(T):q.create([T])}}}function N2(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:s}=n.ranges[t];if(i<=e&&s>=e)return q.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Ri.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let s=n.docView.tile.nearest(e.target);if(s&&s.isWidget()){let o=s.posAtStart,a=o+s.length;(o>=t.to||a<=t.from)&&(t=q.undirectionalRange(o,a))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Bf(n.state,NR,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ri.dragend=n=>(n.inputState.draggedContent=null,!1);function ug(n,e,t,i){if(t=Bf(n.state,RR,t),!t)return;let s=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=n.inputState,a=i&&o&&T2(n,e)?{from:o.from,to:o.to}:null,u={from:s,insert:t},E=n.state.changes(a?[a,u]:u);n.focus(),n.dispatch({changes:E,selection:{anchor:E.mapPos(s,-1),head:E.mapPos(s,1)},userEvent:a?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Ri.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),s=0,o=()=>{++s==t.length&&ug(n,e,i.filter(a=>a!=null).join(n.state.lineBreak),!1)};for(let a=0;a<t.length;a++){let u=new FileReader;u.onerror=o,u.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(u.result)||(i[a]=u.result),o()},u.readAsText(t[a])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return ug(n,e,i,!0),!0}return!1};Ri.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=xM?null:e.clipboardData;return t?(BM(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(S2(n),!1)};function m2(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function I2(n){let e=[],t=[],i=!1;for(let s of n.selection.ranges)s.empty||(e.push(n.sliceDoc(s.from,s.to)),t.push(s));if(!e.length){let s=-1;for(let{from:o}of n.selection.ranges){let a=n.doc.lineAt(o);a.number>s&&(e.push(a.text),t.push({from:a.from,to:Math.min(n.doc.length,a.to+1)})),s=a.number}i=!0}return{text:Bf(n,NR,e.join(n.lineBreak)),ranges:t,linewise:i}}let SS=null;Ri.copy=Ri.cut=(n,e)=>{if(!ka(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:s}=I2(n.state);if(!t&&!s)return!1;SS=s?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let o=xM?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",t),!0):(m2(n,t),!1)};const HM=zi.define();function wM(n,e){let t=[];for(let i of n.facet(RM)){let s=i(n,e);s&&t.push(s)}return t.length?n.update({effects:t,annotations:HM.of(!0)}):null}function FM(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=wM(n.state,e);t?n.dispatch(t):n.update([])}},10)}Dn.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),FM(n)};Dn.blur=n=>{n.observer.clearSelectionRange(),FM(n)};Dn.compositionstart=Dn.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Dn.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,Ne.chrome&&Ne.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Dn.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ri.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let o=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),a=e.getTargetRanges();if(o&&a.length){let u=a[0],E=n.posAtDOM(u.startContainer,u.startOffset),h=n.posAtDOM(u.endContainer,u.endOffset);return CR(n,{from:E,to:h,insert:n.state.toText(o)},null),!0}}let s;if(Ne.chrome&&Ne.android&&(s=UM.find(o=>o.inputType==e.inputType))&&(n.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let o=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>o+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return Ne.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),Ne.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Dn.compositionend(n,e),20),!1};const Eg=new Set;function p2(n){Eg.has(n)||(Eg.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const fg=["pre-wrap","normal","pre-line","break-spaces"];let Io=!1;function hg(){Io=!1}class C2{constructor(e){this.lineWrapping=e,this.doc=$e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return fg.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let s=e[i];s<0?i++:this.heightSamples[Math.floor(s*10)]||(t=!0,this.heightSamples[Math.floor(s*10)]=!0)}return t}refresh(e,t,i,s,o,a){let u=fg.indexOf(e)>-1,E=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=u;if(this.lineWrapping=u,this.lineHeight=t,this.charWidth=i,this.textHeight=s,this.lineLength=o,E){this.heightSamples={};for(let h=0;h<a.length;h++){let T=a[h];T<0?h++:this.heightSamples[Math.floor(T*10)]=!0}}return E}}class g2{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class fi{constructor(e,t,i,s,o){this.from=e,this.length=t,this.top=i,this.height=s,this._content=o}get type(){return typeof this._content=="number"?rn.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof tl?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new fi(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var ut=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(ut||(ut={}));const bE=.001;class Tn{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>bE&&(Io=!0),this.height=e)}replace(e,t,i){return Tn.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,s){let o=this,a=i.doc;for(let u=s.length-1;u>=0;u--){let{fromA:E,toA:h,fromB:T,toB:A}=s[u],R=o.lineAt(E,ut.ByPosNoHeight,i.setDoc(t),0,0),O=R.to>=h?R:o.lineAt(h,ut.ByPosNoHeight,i,0,0);for(A+=O.to-h,h=O.to;u>0&&R.from<=s[u-1].toA;)E=s[u-1].fromA,T=s[u-1].fromB,u--,E<R.from&&(R=o.lineAt(E,ut.ByPosNoHeight,i,0,0));T+=R.from-E,E=R.from;let N=gR.build(i.setDoc(a),e,T,A);o=rf(o,o.replace(E,h,N))}return o.updateHeight(i,0)}static empty(){return new kn(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,s=0,o=0;for(;;)if(t==i)if(s>o*2){let u=e[t-1];u.break?e.splice(--t,1,u.left,null,u.right):e.splice(--t,1,u.left,u.right),i+=1+u.break,s-=u.size}else if(o>s*2){let u=e[i];u.break?e.splice(i,1,u.left,null,u.right):e.splice(i,1,u.left,u.right),i+=2+u.break,o-=u.size}else break;else if(s<o){let u=e[t++];u&&(s+=u.size)}else{let u=e[--i];u&&(o+=u.size)}let a=0;return e[t-1]==null?(a=1,t--):e[t]==null&&(a=1,i++),new _2(Tn.of(e.slice(0,t)),a,Tn.of(e.slice(i)))}}function rf(n,e){return n==e?n:(n.constructor!=e.constructor&&(Io=!0),e)}Tn.prototype.size=1;const L2=_e.replace({});class YM extends Tn{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new fi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,s){return this.spaceAbove&&e<i+this.spaceAbove?new fi(s,0,i,this.spaceAbove,L2):this.mainBlock(i,s)}lineAt(e,t,i,s,o){let a=this.mainBlock(s,o);return this.spaceAbove?this.blockAt(0,i,s,o).join(a):a}forEachLine(e,t,i,s,o,a){e<=o+this.length&&t>=o&&a(this.lineAt(0,ut.ByPos,i,s,o))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more&&this.setMeasuredHeight(s),this.outdated=!1,this}toString(){return`block(${this.length})`}}class kn extends YM{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new fi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let s=i[0];return i.length==1&&(s instanceof kn||s instanceof nn&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof nn?s=new kn(s.length,this.height,this.spaceAbove):s.height=this.height,this.outdated||(s.outdated=!1),s):Tn.of(i)}updateHeight(e,t=0,i=!1,s){return s&&s.from<=t&&s.more?this.setMeasuredHeight(s):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class nn extends Tn{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,o=s-i+1,a,u=0;if(e.lineWrapping){let E=Math.min(this.height,e.lineHeight*o);a=E/o,this.length>o+1&&(u=(this.height-E)/(this.length-o-1))}else a=this.height/o;return{firstLine:i,lastLine:s,perLine:a,perChar:u}}blockAt(e,t,i,s){let{firstLine:o,lastLine:a,perLine:u,perChar:E}=this.heightMetrics(t,s);if(t.lineWrapping){let h=s+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),T=t.doc.lineAt(h),A=u+T.length*E,R=Math.max(i,e-A/2);return new fi(T.from,T.length,R,A,0)}else{let h=Math.max(0,Math.min(a-o,Math.floor((e-i)/u))),{from:T,length:A}=t.doc.line(o+h);return new fi(T,A,i+u*h,u,0)}}lineAt(e,t,i,s,o){if(t==ut.ByHeight)return this.blockAt(e,i,s,o);if(t==ut.ByPosNoHeight){let{from:O,to:N}=i.doc.lineAt(e);return new fi(O,N-O,0,0,0)}let{firstLine:a,perLine:u,perChar:E}=this.heightMetrics(i,o),h=i.doc.lineAt(e),T=u+h.length*E,A=h.number-a,R=s+u*A+E*(h.from-o-A);return new fi(h.from,h.length,Math.max(s,Math.min(R,s+this.height-T)),T,0)}forEachLine(e,t,i,s,o,a){e=Math.max(e,o),t=Math.min(t,o+this.length);let{firstLine:u,perLine:E,perChar:h}=this.heightMetrics(i,o);for(let T=e,A=s;T<=t;){let R=i.doc.lineAt(T);if(T==e){let N=R.number-u;A+=E*N+h*(e-o-N)}let O=E+h*R.length;a(new fi(R.from,R.length,A,O,0)),A+=O,T=R.to+1}}replace(e,t,i){let s=this.length-t;if(s>0){let o=i[i.length-1];o instanceof nn?i[i.length-1]=new nn(o.length+s):i.push(null,new nn(s-1))}if(e>0){let o=i[0];o instanceof nn?i[0]=new nn(e+o.length):i.unshift(new nn(e-1),null)}return Tn.of(i)}decomposeLeft(e,t){t.push(new nn(e-1),null)}decomposeRight(e,t){t.push(null,new nn(this.length-e-1))}updateHeight(e,t=0,i=!1,s){let o=t+this.length;if(s&&s.from<=t+this.length&&s.more){let a=[],u=Math.max(t,s.from),E=-1;for(s.from>t&&a.push(new nn(s.from-t-1).updateHeight(e,t));u<=o&&s.more;){let T=e.doc.lineAt(u).length;a.length&&a.push(null);let A=s.heights[s.index++],R=0;A<0&&(R=-A,A=s.heights[s.index++]),E==-1?E=A:Math.abs(A-E)>=bE&&(E=-2);let O=new kn(T,A,R);O.outdated=!1,a.push(O),u+=T+1}u<=o&&a.push(null,new nn(o-u).updateHeight(e,u));let h=Tn.of(a);return(E<0||Math.abs(h.height-this.height)>=bE||Math.abs(E-this.heightMetrics(e,t).perLine)>=bE)&&(Io=!0),rf(this,h)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class _2 extends Tn{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,s){let o=i+this.left.height;return e<o?this.left.blockAt(e,t,i,s):this.right.blockAt(e,t,o,s+this.left.length+this.break)}lineAt(e,t,i,s,o){let a=s+this.left.height,u=o+this.left.length+this.break,E=t==ut.ByHeight?e<a:e<u,h=E?this.left.lineAt(e,t,i,s,o):this.right.lineAt(e,t,i,a,u);if(this.break||(E?h.to<u:h.from>u))return h;let T=t==ut.ByPosNoHeight?ut.ByPosNoHeight:ut.ByPos;return E?h.join(this.right.lineAt(u,T,i,a,u)):this.left.lineAt(u,T,i,s,o).join(h)}forEachLine(e,t,i,s,o,a){let u=s+this.left.height,E=o+this.left.length+this.break;if(this.break)e<E&&this.left.forEachLine(e,t,i,s,o,a),t>=E&&this.right.forEachLine(e,t,i,u,E,a);else{let h=this.lineAt(E,ut.ByPos,i,s,o);e<h.from&&this.left.forEachLine(e,h.from-1,i,s,o,a),h.to>=e&&h.from<=t&&a(h),t>h.to&&this.right.forEachLine(h.to+1,t,i,u,E,a)}}replace(e,t,i){let s=this.left.length+this.break;if(t<s)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,i));let o=[];e>0&&this.decomposeLeft(e,o);let a=o.length;for(let u of i)o.push(u);if(e>0&&Tg(o,a-1),t<this.length){let u=o.length;this.decomposeRight(t,o),Tg(o,u)}return Tn.of(o)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,s=i+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<s&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Tn.of(this.break?[e,null,t]:[e,t]):(this.left=rf(this.left,e),this.right=rf(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,s){let{left:o,right:a}=this,u=t+o.length+this.break,E=null;return s&&s.from<=t+o.length&&s.more?E=o=o.updateHeight(e,t,i,s):o.updateHeight(e,t,i),s&&s.from<=u+a.length&&s.more?E=a=a.updateHeight(e,u,i,s):a.updateHeight(e,u,i),E?this.balanced(o,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Tg(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof nn&&(i=n[e+1])instanceof nn&&n.splice(e-1,3,new nn(t.length+1+i.length))}const D2=5;class gR{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof kn?s.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new kn(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let s=i.widget?i.widget.estimatedHeight:0,o=i.widget?i.widget.lineBreaks:0;s<0&&(s=this.oracle.lineHeight);let a=t-e;i.block?this.addBlock(new YM(a,s,i)):(a||o||s>=D2)&&this.addLineDeco(s,o,a)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new kn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new nn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof kn)return e;let t=new kn(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof kn)&&!this.isCovered?this.nodes.push(new kn(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let s of this.nodes)s instanceof kn&&s.updateHeight(this.oracle,i),i+=s?s.length:1;return this.nodes}static build(e,t,i,s){let o=new gR(i,e);return Fe.spans(t,i,s,o,0),o.finish(i)}}function M2(n,e,t){let i=new P2;return Fe.compare(n,e,t,i,0),i.changes}class P2{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,s){(e<t||i&&i.heightRelevant||s&&s.heightRelevant)&&fo(e,t,this.changes,5)}}function y2(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,s=i.defaultView||window,o=Math.max(0,t.left),a=Math.min(s.innerWidth,t.right),u=Math.max(0,t.top),E=Math.min(s.innerHeight,t.bottom);for(let h=n.parentNode;h&&h!=i.body;)if(h.nodeType==1){let T=h,A=window.getComputedStyle(T);if((T.scrollHeight>T.clientHeight||T.scrollWidth>T.clientWidth)&&A.overflow!="visible"){let R=T.getBoundingClientRect();o=Math.max(o,R.left),a=Math.min(a,R.right),u=Math.max(u,R.top),E=Math.min(h==n.parentNode?s.innerHeight:E,R.bottom)}h=A.position=="absolute"||A.position=="fixed"?T.offsetParent:T.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:o-t.left,right:Math.max(o,a)-t.left,top:u-(t.top+e),bottom:Math.max(u,E)-(t.top+e)}}function v2(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function U2(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class rA{constructor(e,t,i,s){this.from=e,this.to=t,this.size=i,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let s=e[i],o=t[i];if(s.from!=o.from||s.to!=o.to||s.size!=o.size)return!1}return!0}draw(e,t){return _e.replace({widget:new b2(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class b2 extends $i{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class dg{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ag,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=at.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(mR).some(s=>typeof s!="function"&&s.class=="cm-lineWrapping");this.heightOracle=new C2(i),this.stateDeco=Sg(t),this.heightMap=Tn.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle.setDoc(t.doc),[new ii(0,0,0,t.doc.length)]);for(let s=0;s<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());s++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=_e.set(this.lineGaps.map(s=>s.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let s=i?t.head:t.anchor;if(!e.some(({from:o,to:a})=>s>=o&&s<=a)){let{from:o,to:a}=this.lineBlockAt(s);e.push(new uE(o,a))}}return this.viewports=e.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ag:new LR(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ba(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Sg(this.state);let s=e.changedRanges,o=ii.extendWithRanges(s,M2(i,this.stateDeco,e?e.changes:wt.empty(this.state.doc.length))),a=this.heightMap.height,u=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);hg(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=a||Io)&&(e.flags|=2),u?(this.scrollAnchorPos=e.changes.mapPos(u.from,-1),this.scrollAnchorHeight=u.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let E=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<E.from||t.range.head>E.to)||!this.viewportIsAppropriate(E))&&(E=this.getViewport(0,t));let h=E.from!=this.viewport.from||E.to!=this.viewport.to;this.viewport=E,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(NM)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),s=this.heightOracle,o=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?at.RTL:at.LTR;let a=this.heightOracle.mustRefreshForWrapping(o)||this.mustMeasureContent==="refresh",u=t.getBoundingClientRect(),E=a||this.mustMeasureContent||this.contentDOMHeight!=u.height;this.contentDOMHeight=u.height,this.mustMeasureContent=!1;let h=0,T=0;if(u.width&&u.height){let{scaleX:U,scaleY:G}=nM(t,u);(U>.005&&Math.abs(this.scaleX-U)>.005||G>.005&&Math.abs(this.scaleY-G)>.005)&&(this.scaleX=U,this.scaleY=G,h|=16,a=E=!0)}let A=(parseInt(i.paddingTop)||0)*this.scaleY,R=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=A||this.paddingBottom!=R)&&(this.paddingTop=A,this.paddingBottom=R,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(E=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let O=iM(this.view.contentDOM,!1).y;O!=this.scrollParent&&(this.scrollParent=O,this.scrollAnchorHeight=-1,this.scrollOffset=0);let N=this.getScrollOffset();this.scrollOffset!=N&&(this.scrollAnchorHeight=-1,this.scrollOffset=N),this.scrolledToBottom=rM(this.scrollParent||e.win);let m=(this.printing?U2:y2)(t,this.paddingTop),C=m.top-this.pixelViewport.top,L=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let _=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(_!=this.inView&&(this.inView=_,_&&(E=!0)),!this.inView&&!this.scrollTarget&&!v2(e.dom))return 0;let D=u.width;if((this.contentDOMWidth!=D||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=u.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),E){let U=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(U)&&(a=!0),a||s.lineWrapping&&Math.abs(D-this.contentDOMWidth)>s.charWidth){let{lineHeight:G,charWidth:B,textHeight:F}=e.docView.measureTextSize();a=G>0&&s.refresh(o,G,B,F,Math.max(5,D/B),U),a&&(e.docView.minWidth=0,h|=16)}C>0&&L>0?T=Math.max(C,L):C<0&&L<0&&(T=Math.min(C,L)),hg();for(let G of this.viewports){let B=G.from==this.viewport.from?U:e.docView.measureVisibleLineHeights(G);this.heightMap=(a?Tn.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle,[new ii(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,a,new g2(G.from,B))}Io&&(h|=2)}let v=!this.viewportIsAppropriate(this.viewport,T)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(T,this.scrollTarget),h|=this.updateForViewport()),(h&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,o=this.heightOracle,{visibleTop:a,visibleBottom:u}=this,E=new uE(s.lineAt(a-i*1e3,ut.ByHeight,o,0,0).from,s.lineAt(u+(1-i)*1e3,ut.ByHeight,o,0,0).to);if(t){let{head:h}=t.range;if(h<E.from||h>E.to){let T=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),A=s.lineAt(h,ut.ByPos,o,0,0),R;t.y=="center"?R=(A.top+A.bottom)/2-T/2:t.y=="start"||t.y=="nearest"&&h<E.from?R=A.top:R=A.bottom-T,E=new uE(s.lineAt(R-1e3/2,ut.ByHeight,o,0,0).from,s.lineAt(R+T+1e3/2,ut.ByHeight,o,0,0).to)}}return E}mapViewport(e,t){let i=t.mapPos(e.from,-1),s=t.mapPos(e.to,1);return new uE(this.heightMap.lineAt(i,ut.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(s,ut.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:s}=this.heightMap.lineAt(e,ut.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(t,ut.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:u}=this;return(e==0||s<=a-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||o>=u+Math.max(10,Math.min(i,250)))&&s>a-2*1e3&&o<u+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let s of e)t.touchesRange(s.from,s.to)||i.push(new rA(t.mapPos(s.from),t.mapPos(s.to),s.size,s.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,s=i?1e4:2e3,o=s>>1,a=s<<1;if(this.defaultTextDirection!=at.LTR&&!i)return[];let u=[],E=(T,A,R,O)=>{if(A-T<o)return;let N=this.state.selection.main,m=[N.from];N.empty||m.push(N.to);for(let L of m)if(L>T&&L<A){E(T,L-10,R,O),E(L+10,A,R,O);return}let C=B2(e,L=>L.from>=R.from&&L.to<=R.to&&Math.abs(L.from-T)<o&&Math.abs(L.to-A)<o&&!m.some(_=>L.from<_&&L.to>_));if(!C){if(A<R.to&&t&&i&&t.visibleRanges.some(D=>D.from<=A&&D.to>=A)){let D=t.moveToLineBoundary(q.cursor(A),!1,!0).head;D>T&&(A=D)}let L=this.gapSize(R,T,A,O),_=i||L<2e6?L:2e6;C=new rA(T,A,L,_)}u.push(C)},h=T=>{if(T.length<a||T.type!=rn.Text)return;let A=x2(T.from,T.to,this.stateDeco);if(A.total<a)return;let R=this.scrollTarget?this.scrollTarget.range.head:null,O,N;if(i){let m=s/this.heightOracle.lineLength*this.heightOracle.lineHeight,C,L;if(R!=null){let _=fE(A,R),D=((this.visibleBottom-this.visibleTop)/2+m)/T.height;C=_-D,L=_+D}else C=(this.visibleTop-T.top-m)/T.height,L=(this.visibleBottom-T.top+m)/T.height;O=EE(A,C),N=EE(A,L)}else{let m=A.total*this.heightOracle.charWidth,C=s*this.heightOracle.charWidth,L=0;if(m>2e6)for(let G of e)G.from>=T.from&&G.from<T.to&&G.size!=G.displaySize&&G.from*this.heightOracle.charWidth+L<this.pixelViewport.left&&(L=G.size-G.displaySize);let _=this.pixelViewport.left+L,D=this.pixelViewport.right+L,v,U;if(R!=null){let G=fE(A,R),B=((D-_)/2+C)/m;v=G-B,U=G+B}else v=(_-C)/m,U=(D+C)/m;O=EE(A,v),N=EE(A,U)}O>T.from&&E(T.from,O,T,A),N<T.to&&E(N,T.to,T,A)};for(let T of this.viewportLines)Array.isArray(T.type)?T.type.forEach(h):h(T);return u}gapSize(e,t,i,s){let o=fE(s,i)-fE(s,t);return this.heightOracle.lineWrapping?e.height*o:s.total*this.heightOracle.charWidth*o}updateLineGaps(e){rA.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=_e.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];Fe.spans(t,this.viewport.from,this.viewport.to,{span(o,a){i.push({from:o,to:a})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let o=0;o<i.length&&!(s&8);o++){let a=this.visibleRanges[o],u=i[o];(a.from!=u.from||a.to!=u.to)&&(s|=4,e&&e.mapPos(a.from,-1)==u.from&&e.mapPos(a.to,1)==u.to||(s|=8))}return this.visibleRanges=i,s}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ba(this.heightMap.lineAt(e,ut.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ba(this.heightMap.lineAt(this.scaler.fromDOM(e),ut.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ba(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class uE{constructor(e,t){this.from=e,this.to=t}}function x2(n,e,t){let i=[],s=n,o=0;return Fe.spans(t,n,e,{span(){},point(a,u){a>s&&(i.push({from:s,to:a}),o+=a-s),s=u}},20),s<e&&(i.push({from:s,to:e}),o+=e-s),{total:o,ranges:i}}function EE({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let s=0;;s++){let{from:o,to:a}=e[s],u=a-o;if(i<=u)return o+i;i-=u}}function fE(n,e){let t=0;for(let{from:i,to:s}of n.ranges){if(e<=s){t+=e-i;break}t+=s-i}return t/n.total}function B2(n,e){for(let t of n)if(e(t))return t}const Ag={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Sg(n){let e=n.facet(Uf).filter(i=>typeof i!="function"),t=n.facet(IR).filter(i=>typeof i!="function");return t.length&&e.push(Fe.join(t)),e}class LR{constructor(e,t,i){let s=0,o=0,a=0;this.viewports=i.map(({from:u,to:E})=>{let h=t.lineAt(u,ut.ByPos,e,0,0).top,T=t.lineAt(E,ut.ByPos,e,0,0).bottom;return s+=T-h,{from:u,to:E,top:h,bottom:T,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let u of this.viewports)u.domTop=a+(u.top-o)*this.scale,a=u.domBottom=u.domTop+(u.bottom-u.top),o=u.bottom}toDOM(e){for(let t=0,i=0,s=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.top)return s+(e-i)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);i=o.bottom,s=o.domBottom}}fromDOM(e){for(let t=0,i=0,s=0;;t++){let o=t<this.viewports.length?this.viewports[t]:null;if(!o||e<o.domTop)return i+(e-s)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);i=o.bottom,s=o.domBottom}}eq(e){return e instanceof LR?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function Ba(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new fi(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(s=>Ba(s,e)):n._content)}const hE=Re.define({combine:n=>n.join(" ")}),RS=Re.define({combine:n=>n.indexOf(!0)>-1}),OS=fr.newName(),kM=fr.newName(),VM=fr.newName(),WM={"&light":"."+kM,"&dark":"."+VM};function NS(n,e,t){return new fr(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,s=>{if(s=="&")return n;if(!t||!t[s])throw new RangeError(`Unsupported selector: ${s}`);return t[s]}):n+" "+i}})}const G2=NS("."+OS,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},WM),H2={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},lA=Ne.ie&&Ne.ie_version<=11;class w2{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new TV,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(Ne.ie&&Ne.ie_version<=11||Ne.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Ne.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Ne.chrome&&Ne.chrome_version<126)&&(this.editContext=new Y2(e),e.state.facet(As)&&(e.contentDOM.editContext=this.editContext.editContext)),lA&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(As)?i.root.activeElement!=this.dom:!ka(this.dom,s))return;let o=s.anchorNode&&i.docView.tile.nearest(s.anchorNode);if(o&&o.isWidget()&&o.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Ne.ie&&Ne.ie_version<=11||Ne.android&&Ne.chrome)&&!i.state.selection.main.empty&&s.focusNode&&Wa(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=ic(e.root);if(!t)return!1;let i=Ne.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&F2(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let s=ka(this.dom,i);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&AV(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),s&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,H2),lA&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),lA&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let s=()=>{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&ho(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,s=!1;for(let o of e){let a=this.readMutation(o);a&&(a.typeOver&&(s=!0),t==-1?{from:t,to:i}=a:(t=Math.min(a.from,t),i=Math.max(a.to,i)))}return{from:t,to:i,typeOver:s}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),s=this.selectionChanged&&ka(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new i2(this.view,e,t,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,s=yM(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!sf(this.view.state.selection,t.newSel.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=Rg(t,e.previousSibling||e.target.previousSibling,-1),s=Rg(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(As)!=e.state.facet(As)&&(e.view.contentDOM.editContext=e.state.facet(As)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Rg(n,e,t){for(;e;){let i=mt.get(e);if(i&&i.parent==n)return i;let s=e.parentNode;e=s!=n.dom?s:t>0?e.nextSibling:e.previousSibling}return null}function Og(n,e){let t=e.startContainer,i=e.startOffset,s=e.endContainer,o=e.endOffset,a=n.docView.domAtPos(n.state.selection.main.anchor,1);return Wa(a.node,a.offset,s,o)&&([t,i,s,o]=[s,o,t,i]),{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:o}}function F2(n,e){if(e.getComposedRanges){let s=e.getComposedRanges(n.root)[0];if(s)return Og(n,s)}let t=null;function i(s){s.preventDefault(),s.stopImmediatePropagation(),t=s.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?Og(n,t):null}class Y2{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let s=e.state.selection.main,{anchor:o,head:a}=s,u=this.toEditorPos(i.updateRangeStart),E=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:u,drifted:!1});let h=E-u>i.text.length;u==this.from&&o<this.from?u=o:E==this.to&&o>this.to&&(E=o);let T=vM(e.state.sliceDoc(u,E),i.text,(h?s.from:s.to)-u,h?"end":null);if(!T){let R=q.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));sf(R,s)||e.dispatch({selection:R,userEvent:"select"});return}let A={from:T.from+u,to:T.toA+u,insert:$e.of(i.text.slice(T.from,T.toB).split(`
222
- `))};if((Ne.mac||Ne.android)&&A.from==a-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(A={from:u,to:E,insert:$e.of([i.text.replace("."," ")])}),this.pendingContextChange=A,!e.state.readOnly){let R=this.to-this.from+(A.to-A.from+A.insert.length);CR(e,A,q.single(this.toEditorPos(i.selectionStart,R),this.toEditorPos(i.selectionEnd,R)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),A.from<A.to&&!A.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let s=[],o=null;for(let a=this.toEditorPos(i.rangeStart),u=this.toEditorPos(i.rangeEnd);a<u;a++){let E=e.coordsForChar(a);o=E&&new DOMRect(E.left,E.top,E.right-E.left,E.bottom-E.top)||o||new DOMRect,s.push(o)}t.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=i=>{let s=[];for(let o of i.getTextFormats()){let a=o.underlineStyle,u=o.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(u)){let E=this.toEditorPos(o.rangeStart),h=this.toEditorPos(o.rangeEnd);if(E<h){let T=`text-decoration: underline ${/^[a-z]/.test(a)?a+" ":a=="Dashed"?"dashed ":a=="Squiggle"?"wavy ":""}${/thin/i.test(u)?1:2}px`;s.push(_e.mark({attributes:{style:T}}).range(E,h))}}}e.dispatch({effects:IM.of(_e.set(s))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let s=ic(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((o,a,u,E,h)=>{if(i)return;let T=h.length-(a-o);if(s&&a>=s.to)if(s.from==o&&s.to==a&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=T,this.to+=T;return}else s=null,this.revertPending(e.state);if(o+=t,a+=t,a<=this.from)this.from+=T,this.to+=T;else if(o<this.to){if(o<this.from||a>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(a),h.toString()),this.to+=T}t+=T}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Ae{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(s=>s.forEach(o=>i(o,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||dV(e.parent)||document,this.viewState=new dg(this,e.state||ze.create(e)),e.scrollTo&&e.scrollTo.is(oE)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(so).map(s=>new eA(s));for(let s of this.plugins)s.update(this);this.observer=new w2(this),this.inputState=new o2(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ng(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof Ft?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,s,o=this.state;for(let R of e){if(R.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=R.state}if(this.destroyed){this.viewState.state=o;return}let a=this.hasFocus,u=0,E=null;e.some(R=>R.annotation(HM))?(this.inputState.notifiedFocused=a,u=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,E=wM(o,a),E||(u=1));let h=this.observer.delayedAndroidKey,T=null;if(h?(this.observer.clearDelayedAndroidKey(),T=this.observer.readChange(),(T&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(T=null)):this.observer.clear(),o.facet(ze.phrases)!=this.state.facet(ze.phrases))return this.setState(o);s=ef.create(this,o,e),s.flags|=u;let A=this.viewState.scrollTarget;try{this.updateState=2;for(let R of e){if(A&&(A=A.map(R.changes)),R.scrollIntoView){let{main:O}=R.state.selection,{x:N,y:m}=this.state.facet(Ae.cursorScrollMargin);A=new To(O.empty?O:q.cursor(O.head,O.head>O.anchor?-1:1),"nearest","nearest",m,N)}for(let O of R.effects)O.is(oE)&&(A=O.value.clip(this.state))}this.viewState.update(s,A),this.bidiCache=lf.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),t=this.docView.update(s),this.state.facet(xa)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(R=>R.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(hE)!=s.state.facet(hE)&&(this.viewState.mustMeasureContent=!0),(t||i||A||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!s.empty)for(let R of this.state.facet(hS))try{R(s)}catch(O){gn(this.state,O,"update listener")}(E||T)&&Promise.resolve().then(()=>{E&&this.state==E.startState&&this.dispatch(E),T&&!yM(this,T)&&h.force&&ho(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new dg(this,e),this.plugins=e.facet(so).map(i=>new eA(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new ng(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(so),i=e.state.facet(so);if(t!=i){let s=[];for(let o of i){let a=t.indexOf(o);if(a<0)s.push(new eA(o));else{let u=this.plugins[a];u.mustUpdate=e,s.push(u)}}for(let o of this.plugins)o.mustUpdate!=e&&o.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s<this.plugins.length;s++)this.plugins[s].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){gn(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,s=this.viewState.getScrollOffset(),{scrollAnchorPos:o,scrollAnchorHeight:a}=this.viewState;Math.abs(s-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let u=0;;u++){if(a<0)if(rM(i||this.win))o=-1,a=this.viewState.heightMap.height;else{let O=this.viewState.scrollAnchorAt(s);o=O.from,a=O.top}this.updateState=1;let E=this.viewState.measure();if(!E&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(u>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];E&4||([this.measureRequests,h]=[h,this.measureRequests]);let T=h.map(O=>{try{return O.read(this)}catch(N){return gn(this.state,N),Ng}}),A=ef.create(this,this.state,[]),R=!1;A.flags|=E,t?t.flags|=E:t=A,this.updateState=2,A.empty||(this.updatePlugins(A),this.inputState.update(A),this.updateAttrs(),R=this.docView.update(A),R&&this.docViewUpdate());for(let O=0;O<h.length;O++)if(T[O]!=Ng)try{let N=h[O];N.write&&N.write(T[O],this)}catch(N){gn(this.state,N)}if(R&&this.docView.updateSelection(!0),!A.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let N=((o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-a)/this.scaleY;if((N>1||N<-1)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){s=s+N,i?i.scrollTop+=N:this.win.scrollBy(0,N),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let u of this.state.facet(hS))u(t)}get themeClasses(){return OS+" "+(this.state.facet(RS)?VM:kM)+" "+this.state.facet(hE)}updateAttrs(){let e=mg(this,pM,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(As)?"true":"false",class:"cm-content",style:`${Ne.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),mg(this,mR,t);let i=this.observer.ignore(()=>{let s=JC(this.contentDOM,this.contentAttrs,t),o=JC(this.dom,this.editorAttrs,e);return s||o});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let s of i.effects)if(s.is(Ae.announce)){t&&(this.announceDOM.textContent=""),t=!1;let o=this.announceDOM.appendChild(document.createElement("div"));o.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(xa);let e=this.state.facet(Ae.cspNonce);fr.mount(this.root,this.styleModules.concat(G2).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return sA(this,e,ig(this,e,t,i))}moveByGroup(e,t){return sA(this,e,ig(this,e,t,i=>qV(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),s=this.textDirectionAt(e.from),o=i[t?i.length-1:0];return q.cursor(o.side(t,s)+e.from,o.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,i=!0){return JV(this,e,t,i)}moveVertically(e,t,i){return sA(this,e,QV(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=AS(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),AS(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let s=this.state.doc.lineAt(e),o=this.bidiSpans(s),a=o[Fi.find(o,e-s.from,-1,t)];return sc(i,a.dir==at.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(OM)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>k2)return EM(e.length);let t=this.textDirectionAt(e.from),i;for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t&&(o.fresh||uM(o.isolates,i=ZC(this,e))))return o.order;i||(i=ZC(this,e));let s=pV(e.text,t,i);return this.bidiCache.push(new lf(e.from,e.to,t,i,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Ne.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{sM(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,s,o,a;return oE.of(new To(typeof e=="number"?q.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(s=t.x)!==null&&s!==void 0?s:"nearest",(o=t.yMargin)!==null&&o!==void 0?o:5,(a=t.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return oE.of(new To(q.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return It.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return It.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=fr.newName(),s=[hE.of(i),xa.of(NS(`.${i}`,e))];return t&&t.dark&&s.push(RS.of(!0)),s}static baseTheme(e){return al.lowest(xa.of(NS("."+OS,e,WM)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),s=i&&mt.get(i)||mt.get(e);return((t=s==null?void 0:s.root)===null||t===void 0?void 0:t.view)||null}}Ae.styleModule=xa;Ae.inputHandler=SM;Ae.clipboardInputFilter=RR;Ae.clipboardOutputFilter=NR;Ae.scrollHandler=mM;Ae.focusChangeEffect=RM;Ae.perLineTextDirection=OM;Ae.exceptionSink=AM;Ae.updateListener=hS;Ae.editable=As;Ae.mouseSelectionStyle=dM;Ae.dragMovesSelection=TM;Ae.clickAddsSelectionRange=hM;Ae.decorations=Uf;Ae.blockWrappers=CM;Ae.outerDecorations=IR;Ae.atomicRanges=mc;Ae.bidiIsolatedRanges=gM;Ae.cursorScrollMargin=Re.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});Ae.scrollMargins=LM;Ae.darkTheme=RS;Ae.cspNonce=Re.define({combine:n=>n.length?n[0]:""});Ae.contentAttributes=mR;Ae.editorAttributes=pM;Ae.lineWrapping=Ae.contentAttributes.of({class:"cm-lineWrapping"});Ae.announce=be.define();const k2=4096,Ng={};class lf{constructor(e,t,i,s,o,a){this.from=e,this.to=t,this.dir=i,this.isolates=s,this.fresh=o,this.order=a}static update(e,t){if(t.empty&&!e.some(o=>o.fresh))return e;let i=[],s=e.length?e[e.length-1].dir:at.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let a=e[o];a.dir==s&&!t.touchesRange(a.from,a.to)&&i.push(new lf(t.mapPos(a.from,1),t.mapPos(a.to,-1),a.dir,a.isolates,!1,a.order))}return i}}function mg(n,e,t){for(let i=n.state.facet(e),s=i.length-1;s>=0;s--){let o=i[s],a=typeof o=="function"?o(n):o;a&&dR(a,t)}return t}const V2=Ne.mac?"mac":Ne.windows?"win":Ne.linux?"linux":"key";function W2(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let s,o,a,u;for(let E=0;E<t.length-1;++E){const h=t[E];if(/^(cmd|meta|m)$/i.test(h))u=!0;else if(/^a(lt)?$/i.test(h))s=!0;else if(/^(c|ctrl|control)$/i.test(h))o=!0;else if(/^s(hift)?$/i.test(h))a=!0;else if(/^mod$/i.test(h))e=="mac"?u=!0:o=!0;else throw new Error("Unrecognized modifier name: "+h)}return s&&(i="Alt-"+i),o&&(i="Ctrl-"+i),u&&(i="Meta-"+i),a&&(i="Shift-"+i),i}function TE(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const X2=al.default(Ae.domEventHandlers({keydown(n,e){return KM(XM(e.state),n,e,"editor")}})),Ic=Re.define({enables:X2}),Ig=new WeakMap;function XM(n){let e=n.facet(Ic),t=Ig.get(e);return t||Ig.set(e,t=$2(e.reduce((i,s)=>i.concat(s),[]))),t}function K2(n,e,t){return KM(XM(n.state),e,n,t)}let Zs=null;const z2=4e3;function $2(n,e=V2){let t=Object.create(null),i=Object.create(null),s=(a,u)=>{let E=i[a];if(E==null)i[a]=u;else if(E!=u)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},o=(a,u,E,h,T)=>{var A,R;let O=t[a]||(t[a]=Object.create(null)),N=u.split(/ (?!$)/).map(L=>W2(L,e));for(let L=1;L<N.length;L++){let _=N.slice(0,L).join(" ");s(_,!0),O[_]||(O[_]={preventDefault:!0,stopPropagation:!1,run:[D=>{let v=Zs={view:D,prefix:_,scope:a};return setTimeout(()=>{Zs==v&&(Zs=null)},z2),!0}]})}let m=N.join(" ");s(m,!1);let C=O[m]||(O[m]={preventDefault:!1,stopPropagation:!1,run:((R=(A=O._any)===null||A===void 0?void 0:A.run)===null||R===void 0?void 0:R.slice())||[]});E&&C.run.push(E),h&&(C.preventDefault=!0),T&&(C.stopPropagation=!0)};for(let a of n){let u=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let h of u){let T=t[h]||(t[h]=Object.create(null));T._any||(T._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:A}=a;for(let R in T)T[R].run.push(O=>A(O,mS))}let E=a[e]||a.key;if(E)for(let h of u)o(h,E,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(h,"Shift-"+E,a.shift,a.preventDefault,a.stopPropagation)}return t}let mS=null;function KM(n,e,t,i){mS=e;let s=aV(e),o=In(s,0),a=Gi(o)==s.length&&s!=" ",u="",E=!1,h=!1,T=!1;Zs&&Zs.view==t&&Zs.scope==i&&(u=Zs.prefix+" ",bM.indexOf(e.keyCode)<0&&(h=!0,Zs=null));let A=new Set,R=C=>{if(C){for(let L of C.run)if(!A.has(L)&&(A.add(L),L(t)))return C.stopPropagation&&(T=!0),!0;C.preventDefault&&(C.stopPropagation&&(T=!0),h=!0)}return!1},O=n[i],N,m;return O&&(R(O[u+TE(s,e,!a)])?E=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Ne.windows&&e.ctrlKey&&e.altKey)&&!(Ne.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(N=hr[e.keyCode])&&N!=s?(R(O[u+TE(N,e,!0)])||e.shiftKey&&(m=tc[e.keyCode])!=s&&m!=N&&R(O[u+TE(m,e,!1)]))&&(E=!0):a&&e.shiftKey&&R(O[u+TE(s,e,!0)])&&(E=!0),!E&&R(O._any)&&(E=!0)),h&&(E=!0),E&&T&&e.stopPropagation(),mS=null,E}class qr{constructor(e,t,i,s,o){this.className=e,this.left=t,this.top=i,this.width=s,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let s=e.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let o=zM(e);return[new qr(t,s.left-o.left,s.top-o.top,null,s.bottom-s.top)]}else return j2(e,t,i)}}function zM(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==at.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function pg(n,e,t,i){let s=n.coordsAtPos(e,t*2);if(!s)return i;let o=n.dom.getBoundingClientRect(),a=(s.top+s.bottom)/2,u=n.posAtCoords({x:o.left+1,y:a}),E=n.posAtCoords({x:o.right-1,y:a});return u==null||E==null?i:{from:Math.max(i.from,Math.min(u,E)),to:Math.min(i.to,Math.max(u,E))}}function j2(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),s=Math.min(t.to,n.viewport.to),o=n.textDirection==at.LTR,a=n.contentDOM,u=a.getBoundingClientRect(),E=zM(n),h=a.querySelector(".cm-line"),T=h&&window.getComputedStyle(h),A=u.left+(T?parseInt(T.paddingLeft)+Math.min(0,parseInt(T.textIndent)):0),R=u.right-(T?parseInt(T.paddingRight):0),O=dS(n,i,1),N=dS(n,s,-1),m=O.type==rn.Text?O:null,C=N.type==rn.Text?N:null;if(m&&(n.lineWrapping||O.widgetLineBreaks)&&(m=pg(n,i,1,m)),C&&(n.lineWrapping||N.widgetLineBreaks)&&(C=pg(n,s,-1,C)),m&&C&&m.from==C.from&&m.to==C.to)return _(D(t.from,t.to,m));{let U=m?D(t.from,null,m):v(O,!1),G=C?D(null,t.to,C):v(N,!0),B=[];return(m||O).to<(C||N).from-(m&&C?1:0)||O.widgetLineBreaks>1&&U.bottom+n.defaultLineHeight/2<G.top?B.push(L(A,U.bottom,R,G.top)):U.bottom<G.top&&n.elementAtHeight((U.bottom+G.top)/2).type==rn.Text&&(U.bottom=G.top=(U.bottom+G.top)/2),_(U).concat(B).concat(_(G))}function L(U,G,B,F){return new qr(e,U-E.left,G-E.top,Math.max(0,B-U),F-G)}function _({top:U,bottom:G,horizontal:B}){let F=[];for(let le=0;le<B.length;le+=2)F.push(L(B[le],U,B[le+1],G));return F}function D(U,G,B){let F=1e9,le=-1e9,fe=[];function ie(oe,Te,x,z,ne){let ae=n.coordsAtPos(oe,oe==B.to?-2:2),J=n.coordsAtPos(x,x==B.from?2:-2);!ae||!J||(F=Math.min(ae.top,J.top,F),le=Math.max(ae.bottom,J.bottom,le),ne==at.LTR?fe.push(o&&Te?A:ae.left,o&&z?R:J.right):fe.push(!o&&z?A:J.left,!o&&Te?R:ae.right))}let ee=U??B.from,Ee=G??B.to;for(let oe of n.visibleRanges)if(oe.to>ee&&oe.from<Ee)for(let Te=Math.max(oe.from,ee),x=Math.min(oe.to,Ee);;){let z=n.state.doc.lineAt(Te);for(let ne of n.bidiSpans(z)){let ae=ne.from+z.from,J=ne.to+z.from;if(ae>=x)break;J>Te&&ie(Math.max(ae,Te),U==null&&ae<=ee,Math.min(J,x),G==null&&J>=Ee,ne.dir)}if(Te=z.to+1,Te>=x)break}return fe.length==0&&ie(ee,U==null,Ee,G==null,n.textDirection),{top:F,bottom:le,horizontal:fe}}function v(U,G){let B=u.top+(G?U.top:U.bottom);return{top:B,bottom:B,horizontal:[]}}}function J2(n,e){return n.constructor==e.constructor&&n.eq(e)}class q2{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(xE)!=e.state.facet(xE)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(xE);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!J2(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[i].constructor&&s.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(s.draw(),t);for(;t;){let s=t.nextSibling;t.remove(),t=s}this.drawn=e,Ne.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xE=Re.define();function $M(n){return[It.define(e=>new q2(e,n)),xE.of(n)]}const po=Re.define({combine(n){return Oi(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Q2(n={}){return[po.of(n),Z2,eW,tW,NM.of(!0)]}function jM(n){return n.startState.facet(po)!=n.state.facet(po)}const Z2=$M({above:!0,markers(n){let{state:e}=n,t=e.facet(po),i=[];for(let s of e.selection.ranges){let o=s==e.selection.main;if(s.empty||t.drawRangeCursor&&!(o&&Ne.ios&&t.iosSelectionHandles)){let a=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",u=s.empty?s:q.cursor(s.head,s.assoc);for(let E of qr.forRange(n,a,u))i.push(E)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=jM(n);return t&&Cg(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Cg(e.state,n)},class:"cm-cursorLayer"});function Cg(n,e){e.style.animationDuration=n.facet(po).cursorBlinkRate+"ms"}const eW=$M({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let s of i)if(!s.empty)for(let o of qr.forRange(n,"cm-selectionBackground",s))e.push(o);if(Ne.ios&&!t.empty&&n.state.facet(po).iosSelectionHandles){for(let s of qr.forRange(n,"cm-selectionHandle cm-selectionHandle-start",q.cursor(t.from,1)))e.push(s);for(let s of qr.forRange(n,"cm-selectionHandle cm-selectionHandle-end",q.cursor(t.to,1)))e.push(s)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||jM(n)},class:"cm-selectionLayer"}),tW=al.highest(Ae.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),JM=be.define({map(n,e){return n==null?null:e.mapPos(n)}}),Ga=Jt.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(JM)?i.value:t,n)}}),nW=It.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(Ga);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(Ga)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(Ga),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(Ga)!=n&&this.view.dispatch({effects:JM.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function iW(){return[Ga,nW]}function gg(n,e,t,i,s){e.lastIndex=0;for(let o=n.iterRange(t,i),a=t,u;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;u=e.exec(o.value);)s(a+u.index,u)}function sW(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:s,to:o}of t)s=Math.max(n.state.doc.lineAt(s).from,s-e),o=Math.min(n.state.doc.lineAt(o).to,o+e),i.length&&i[i.length-1].to>=s?i[i.length-1].to=o:i.push({from:s,to:o});return i}class rW{constructor(e){const{regexp:t,decoration:i,decorate:s,boundary:o,maxLength:a=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(u,E,h,T)=>s(T,h,h+u[0].length,u,E);else if(typeof i=="function")this.addMatch=(u,E,h,T)=>{let A=i(u,E,h);A&&T(h,h+u[0].length,A)};else if(i)this.addMatch=(u,E,h,T)=>T(h,h+u[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=o,this.maxLength=a}createDeco(e){let t=new Ns,i=t.add.bind(t);for(let{from:s,to:o}of sW(e,this.maxLength))gg(e.state.doc,this.regexp,s,o,(a,u)=>this.addMatch(u,e,a,i));return t.finish()}updateDeco(e,t){let i=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((o,a,u,E)=>{E>=e.view.viewport.from&&u<=e.view.viewport.to&&(i=Math.min(u,i),s=Math.max(E,s))}),e.viewportMoved||s-i>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),i,s):t}updateRange(e,t,i,s){for(let o of e.visibleRanges){let a=Math.max(o.from,i),u=Math.min(o.to,s);if(u>=a){let E=e.state.doc.lineAt(a),h=E.to<u?e.state.doc.lineAt(u):E,T=Math.max(o.from,E.from),A=Math.min(o.to,h.to);if(this.boundary){for(;a>E.from;a--)if(this.boundary.test(E.text[a-1-E.from])){T=a;break}for(;u<h.to;u++)if(this.boundary.test(h.text[u-h.from])){A=u;break}}let R=[],O,N=(m,C,L)=>R.push(L.range(m,C));if(E==h)for(this.regexp.lastIndex=T-E.from;(O=this.regexp.exec(E.text))&&O.index<A-E.from;)this.addMatch(O,e,O.index+E.from,N);else gg(e.state.doc,this.regexp,T,A,(m,C)=>this.addMatch(C,e,m,N));t=t.update({filterFrom:T,filterTo:A,filter:(m,C)=>m<T||C>A,add:R})}}return t}}const IS=/x/.unicode!=null?"gu":"g",lW=new RegExp(`[\0-\b
223
- --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,IS),oW={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let oA=null;function aW(){var n;if(oA==null&&typeof document<"u"&&document.body){let e=document.body.style;oA=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return oA||!1}const BE=Re.define({combine(n){let e=Oi(n,{render:null,specialChars:lW,addSpecialChars:null});return(e.replaceTabs=!aW())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,IS)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,IS)),e}});function cW(n={}){return[BE.of(n),uW()]}let Lg=null;function uW(){return Lg||(Lg=It.fromClass(class{constructor(n){this.view=n,this.decorations=_e.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(BE)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new rW({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,o=In(e[0],0);if(o==9){let a=s.lineAt(i),u=t.state.tabSize,E=Mo(a.text,u,i-a.from);return _e.replace({widget:new TW((u-E%u)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=_e.replace({widget:new hW(n,o)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(BE);n.startState.facet(BE)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const EW="•";function fW(n){return n>=32?EW:n==10?"␤":String.fromCharCode(9216+n)}class hW extends $i{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=fW(this.code),i=e.state.phrase("Control character")+" "+(oW[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let o=document.createElement("span");return o.textContent=t,o.title=i,o.setAttribute("aria-label",i),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class TW extends $i{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function dW(){return SW}const AW=_e.line({class:"cm-activeLine"}),SW=It.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let s=n.lineBlockAt(i.head);s.from>e&&(t.push(AW.range(s.from)),e=s.from)}return _e.set(t)}},{decorations:n=>n.decorations});class RW extends $i{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Va(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),s=sc(t[0],i.direction!="rtl"),o=parseInt(i.lineHeight);return s.bottom-s.top>o*1.5?{left:s.left,right:s.right,top:s.top,bottom:s.top+o}:s}ignoreEvent(){return!1}}function OW(n){let e=It.fromClass(class{constructor(t){this.view=t,this.placeholder=n?_e.set([_e.widget({widget:new RW(n),side:1}).range(0)]):_e.none}get decorations(){return this.view.state.doc.length?_e.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,Ae.contentAttributes.of({"aria-placeholder":n})]:e}const pS=2e3;function NW(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),o=[];if(e.off>pS||t.off>pS||e.col<0||t.col<0){let a=Math.min(e.off,t.off),u=Math.max(e.off,t.off);for(let E=i;E<=s;E++){let h=n.doc.line(E);h.length<=u&&o.push(q.range(h.from+a,h.to+u))}}else{let a=Math.min(e.col,t.col),u=Math.max(e.col,t.col);for(let E=i;E<=s;E++){let h=n.doc.line(E),T=nS(h.text,a,n.tabSize,!0);if(T<0)o.push(q.cursor(h.to));else{let A=nS(h.text,u,n.tabSize);o.push(q.range(h.from+T,h.from+A))}}}return o}function mW(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function _g(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,o=s>pS?-1:s==i.length?mW(n,e.clientX):Mo(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:o,off:s}}function IW(n,e){let t=_g(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let o=s.changes.mapPos(s.startState.doc.line(t.line).from),a=s.state.doc.lineAt(o);t={line:a.number,col:t.col,off:Math.min(t.off,a.length)},i=i.map(s.changes)}},get(s,o,a){let u=_g(n,s);if(!u)return i;let E=NW(n.state,t,u);return E.length?a?q.create(E.concat(i.ranges)):q.create(E):i}}:null}function pW(n){let e=(t=>t.altKey&&t.button==0);return Ae.mouseSelectionStyle.of((t,i)=>e(i)?IW(t,i):null)}const CW={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},gW={style:"cursor: crosshair"};function LW(n={}){let[e,t]=CW[n.key||"Alt"],i=It.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||t(s))},keyup(s){(s.keyCode==e||!t(s))&&this.set(!1)},mousemove(s){this.set(t(s))}}});return[i,Ae.contentAttributes.of(s=>{var o;return!((o=s.plugin(i))===null||o===void 0)&&o.isDown?gW:null})]}const dE="-10000px";class qM{constructor(e,t,i,s){this.facet=t,this.createTooltipView=i,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(a=>a);let o=null;this.tooltipViews=this.tooltips.map(a=>o=i(a,o))}update(e,t){var i;let s=e.state.facet(this.facet),o=s.filter(E=>E);if(s===this.input){for(let E of this.tooltipViews)E.update&&E.update(e);return!1}let a=[],u=t?[]:null;for(let E=0;E<o.length;E++){let h=o[E],T=-1;if(h){for(let A=0;A<this.tooltips.length;A++){let R=this.tooltips[A];R&&R.create==h.create&&(T=A)}if(T<0)a[E]=this.createTooltipView(h,E?a[E-1]:null),u&&(u[E]=!!h.above);else{let A=a[E]=this.tooltipViews[T];u&&(u[E]=t[T]),A.update&&A.update(e)}}}for(let E of this.tooltipViews)a.indexOf(E)<0&&(this.removeTooltipView(E),(i=E.destroy)===null||i===void 0||i.call(E));return t&&(u.forEach((E,h)=>t[h]=E),t.length=u.length),this.input=s,this.tooltips=o,this.tooltipViews=a,!0}}function _W(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const aA=Re.define({combine:n=>{var e,t,i;return{position:Ne.ios?"absolute":((e=n.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(s=>s.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(s=>s.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||_W}}}),Dg=new WeakMap,_R=It.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(aA);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new qM(n,Gf,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(aA);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",t.dom.appendChild(s)}return t.dom.style.position=this.position,t.dom.style.top=dE,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(Ne.safari){let a=o.getBoundingClientRect();t=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else t=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(n=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),s=pR(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,a)=>{let u=this.manager.tooltipViews[a];return u.getCoords?u.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(aA).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let u of this.manager.tooltipViews)u.dom.style.position="absolute"}let{visible:t,space:i,scaleX:s,scaleY:o}=n,a=[];for(let u=0;u<this.manager.tooltips.length;u++){let E=this.manager.tooltips[u],h=this.manager.tooltipViews[u],{dom:T}=h,A=n.pos[u],R=n.size[u];if(!A||E.clip!==!1&&(A.bottom<=Math.max(t.top,i.top)||A.top>=Math.min(t.bottom,i.bottom)||A.right<Math.max(t.left,i.left)-.1||A.left>Math.min(t.right,i.right)+.1)){T.style.top=dE;continue}let O=E.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,N=O?7:0,m=R.right-R.left,C=(e=Dg.get(h))!==null&&e!==void 0?e:R.bottom-R.top,L=h.offset||MW,_=this.view.textDirection==at.LTR,D=R.width>i.right-i.left?_?i.left:i.right-R.width:_?Math.max(i.left,Math.min(A.left-(O?14:0)+L.x,i.right-m)):Math.min(Math.max(i.left,A.left-m+(O?14:0)-L.x),i.right-m),v=this.above[u];!E.strictSide&&(v?A.top-C-N-L.y<i.top:A.bottom+C+N+L.y>i.bottom)&&v==i.bottom-A.bottom>A.top-i.top&&(v=this.above[u]=!v);let U=(v?A.top-i.top:i.bottom-A.bottom)-N;if(U<C&&h.resize!==!1){if(U<this.view.defaultLineHeight){T.style.top=dE;continue}Dg.set(h,C),T.style.height=(C=U)/o+"px"}else T.style.height&&(T.style.height="");let G=v?A.top-C-N-L.y:A.bottom+N+L.y,B=D+m;if(h.overlap!==!0)for(let F of a)F.left<B&&F.right>D&&F.top<G+C&&F.bottom>G&&(G=v?F.top-C-2-N:F.bottom+N+2);if(this.position=="absolute"?(T.style.top=(G-n.parent.top)/o+"px",Mg(T,(D-n.parent.left)/s)):(T.style.top=G/o+"px",Mg(T,D/s)),O){let F=A.left+(_?L.x:-L.x)-(D+14-7);O.style.left=F/s+"px"}h.overlap!==!0&&a.push({left:D,top:G,right:B,bottom:G+C}),T.classList.toggle("cm-tooltip-above",v),T.classList.toggle("cm-tooltip-below",!v),h.positioned&&h.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=dE}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Mg(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const DW=Ae.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),MW={x:0,y:0},Gf=Re.define({enables:[_R,DW]}),of=Re.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Hf{static create(e){return new Hf(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new qM(e,of,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let s=i[e];if(s!==void 0){if(t===void 0)t=s;else if(t!==s)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const PW=Gf.compute([of],n=>{let e=n.facet(of);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:Hf.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),QM=Re.define();class yW{constructor(e,t,i,s,o,a){this.view=e,this.source=t,this.field=i,this.locked=s,this.setHover=o,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,i=e.docView.tile.nearest(t.target);if(!i)return;let s,o=1;if(i.isWidget())s=i.posAtStart;else{if(s=e.posAtCoords(t),s==null)return;let a=e.coordsAtPos(s);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let u=e.bidiSpans(e.state.doc.lineAt(s)).find(h=>h.from<=s&&h.to>=s),E=u&&u.dir==at.RTL?-1:1;o=t.x<a.left?-E:E}this.activateHover(e,s,o)}activateHover(e,t,i,s){let o=this.source(e,t,i),a=u=>{if(u&&!(Array.isArray(u)&&!u.length)){let E=Array.isArray(u)?u:[u];s&&this.locked.set(E,s),e.dispatch({effects:this.setHover.of(E)})}};if(o&&"then"in o){let u=this.pending={pos:t};o.then(E=>{this.pending==u&&(this.pending=null,a(E))},E=>gn(e.state,E,"hover tooltip"))}else a(o)}get tooltip(){let e=this.view.plugin(_R),t=e?e.manager.tooltips.findIndex(i=>i.create==Hf.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:o}=this;if(s.length&&!this.locked.has(s)&&o&&!vW(o.dom,e)||this.pending){let{pos:a}=s[0]||this.pending,u=(i=(t=s[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:a;(a==u?this.view.posAtCoords(this.lastMove)!=a:!UW(this.view,a,u,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:s}=this;s.length&&!this.locked.has(s)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const AE=4;function vW(n,e){let{left:t,right:i,top:s,bottom:o}=n.getBoundingClientRect(),a;if(a=n.querySelector(".cm-tooltip-arrow")){let u=a.getBoundingClientRect();s=Math.min(u.top,s),o=Math.max(u.bottom,o)}return e.clientX>=t-AE&&e.clientX<=i+AE&&e.clientY>=s-AE&&e.clientY<=o+AE}function UW(n,e,t,i,s,o){let a=n.scrollDOM.getBoundingClientRect(),u=n.documentTop+n.documentPadding.top+n.contentHeight;if(a.left>i||a.right<i||a.top>s||Math.min(a.bottom,u)<s)return!1;let E=n.posAtCoords({x:i,y:s},!1);return E>=e&&E<=t}function bW(n,e={}){let t=be.define(),i=new WeakMap,s=Jt.define({create(){return[]},update(a,u){let E=i.get(a);if(a.length&&(e.hideOnChange&&(u.docChanged||u.selection)?a=[]:E&&E(u)?a=[]:e.hideOn&&(a=a.filter(h=>!e.hideOn(u,h)))),u.docChanged&&a.length){let h=[];for(let T of a){let A=u.changes.mapPos(T.pos,-1,hn.TrackDel);if(A!=null){let R=Object.assign(Object.create(null),T);R.pos=A,R.end!=null&&(R.end=u.changes.mapPos(R.end)),h.push(R)}}a=h}for(let h of u.effects)h.is(t)&&(a=h.value,E=void 0),(h.is(BW)&&!h.value||h.value==s)&&(a=[]);return a.length&&E&&i.set(a,E),a},provide:a=>of.from(a)});const o=It.define(a=>new yW(a,n,s,i,t,e.hoverTime||300));return{active:s,extension:[s,o,QM.of(o),PW]}}function xW(n,e,t,i={}){var s;let o=n.state.facet(QM).map(a=>n.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=o.find(u=>u.field==i.tooltip.active);a&&(o=[a])}for(let a of o)a.activateHover(n,e,t,(s=i.until)!==null&&s!==void 0?s:(()=>!1))}function ZM(n,e){let t=n.plugin(_R);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const BW=be.define(),Pg=Re.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function DR(n,e){let t=n.plugin(eP),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const eP=It.fromClass(class{constructor(n){this.input=n.state.facet(lc),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Pg);this.top=new SE(n,!0,e.topContainer),this.bottom=new SE(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(Pg);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new SE(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new SE(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(lc);if(t!=this.input){let i=t.filter(E=>E),s=[],o=[],a=[],u=[];for(let E of i){let h=this.specs.indexOf(E),T;h<0?(T=E(n.view),u.push(T)):(T=this.panels[h],T.update&&T.update(n)),s.push(T),(T.top?o:a).push(T)}this.specs=i,this.panels=s,this.top.sync(o),this.bottom.sync(a);for(let E of u)E.dom.classList.add("cm-panel"),E.mount&&E.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class SE{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=yg(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=yg(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function yg(n){let e=n.nextSibling;return n.remove(),e}const lc=Re.define({enables:eP});function GW(n,e){let t,i=new Promise(a=>t=a),s=a=>HW(a,e,t);n.state.field(cA,!1)?n.dispatch({effects:tP.of(s)}):n.dispatch({effects:be.appendConfig.of(cA.init(()=>[s]))});let o=nP.of(s);return{close:o,result:i.then(a=>((n.win.queueMicrotask||(E=>n.win.setTimeout(E,10)))(()=>{n.state.field(cA).indexOf(s)>-1&&n.dispatch({effects:o})}),a))}}const cA=Jt.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(tP)?n=[t.value].concat(n):t.is(nP)&&(n=n.filter(i=>i!=t.value));return n},provide:n=>lc.computeN([n],e=>e.field(n))}),tP=be.define(),nP=be.define();function HW(n,e,t){let i=e.content?e.content(n,()=>a(null)):null;if(!i){if(i=rt("form"),e.input){let u=rt("input",e.input);/^(text|password|number|email|tel|url)$/.test(u.type)&&u.classList.add("cm-textfield"),u.name||(u.name="input"),i.appendChild(rt("label",(e.label||"")+": ",u))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(rt("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let s=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let u=0;u<s.length;u++){let E=s[u];E.addEventListener("keydown",h=>{h.keyCode==27?(h.preventDefault(),a(null)):h.keyCode==13&&(h.preventDefault(),a(E))}),E.addEventListener("submit",h=>{h.preventDefault(),a(E)})}let o=rt("div",i,rt("button",{onclick:()=>a(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(o.className=e.class),o.classList.add("cm-dialog");function a(u){o.contains(o.ownerDocument.activeElement)&&n.focus(),t(u)}return{dom:o,top:e.top,mount:()=>{if(e.focus){let u;typeof e.focus=="string"?u=i.querySelector(e.focus):u=i.querySelector("input")||i.querySelector("button"),u&&"select"in u?u.select():u&&"focus"in u&&u.focus()}}}}class Xi extends Er{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Xi.prototype.elementClass="";Xi.prototype.toDOM=void 0;Xi.prototype.mapMode=hn.TrackBefore;Xi.prototype.startSide=Xi.prototype.endSide=-1;Xi.prototype.point=!0;const GE=Re.define(),wW=Re.define(),FW={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ka=Re.define();function iP(n){return[sP(),Ka.of({...FW,...n})]}const vg=Re.define({combine:n=>n.some(e=>e)});function sP(n){return[YW]}const YW=It.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Ka).map(e=>new bg(n,e)),this.fixed=!n.state.facet(vg);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(vg)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=Fe.iter(this.view.state.facet(GE),this.view.viewport.from),i=[],s=this.gutters.map(o=>new kW(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(o.type)){let a=!0;for(let u of o.type)if(u.type==rn.Text&&a){CS(t,i,u.from);for(let E of s)E.line(this.view,u,i);a=!1}else if(u.widget)for(let E of s)E.widget(this.view,u)}else if(o.type==rn.Text){CS(t,i,o.from);for(let a of s)a.line(this.view,o,i)}else if(o.widget)for(let a of s)a.widget(this.view,o);for(let o of s)o.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Ka),t=n.state.facet(Ka),i=n.docChanged||n.heightChanged||n.viewportChanged||!Fe.eq(n.startState.facet(GE),n.state.facet(GE),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let s of this.gutters)s.update(n)&&(i=!0);else{i=!0;let s=[];for(let o of t){let a=e.indexOf(o);a<0?s.push(new bg(this.view,o)):(this.gutters[a].update(n),s.push(this.gutters[a]))}for(let o of this.gutters)o.dom.remove(),s.indexOf(o)<0&&o.destroy();for(let o of s)o.config.side=="after"?this.getDOMAfter().appendChild(o.dom):this.dom.appendChild(o.dom);this.gutters=s}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,s=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==at.LTR?{left:i,right:s}:{right:i,left:s}})});function Ug(n){return Array.isArray(n)?n:[n]}function CS(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class kW{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=Fe.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:s}=this,o=(t.top-this.height)/e.scaleY,a=t.height/e.scaleY;if(this.i==s.elements.length){let u=new rP(e,a,o,i);s.elements.push(u),s.dom.appendChild(u.dom)}else s.elements[this.i].update(e,a,o,i);this.height=t.bottom,this.i++}line(e,t,i){let s=[];CS(this.cursor,s,t.from),i.length&&(s=s.concat(i));let o=this.gutter.config.lineMarker(e,t,s);o&&s.unshift(o);let a=this.gutter;s.length==0&&!a.config.renderEmptyElements||this.addElement(e,t,s)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),s=i?[i]:null;for(let o of e.state.facet(wW)){let a=o(e,t.widget,t);a&&(s||(s=[])).push(a)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class bg{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,s=>{let o=s.target,a;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let E=o.getBoundingClientRect();a=(E.top+E.bottom)/2}else a=s.clientY;let u=e.lineBlockAtHeight(a-e.documentTop);t.domEventHandlers[i](e,u,s)&&s.preventDefault()});this.markers=Ug(t.markers(e)),t.initialSpacer&&(this.spacer=new rP(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ug(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let i=e.view.viewport;return!Fe.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class rP{constructor(e,t,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,s)}update(e,t,i,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),VW(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,t){let i="cm-gutterElement",s=this.dom.firstChild;for(let o=0,a=0;;){let u=a,E=o<t.length?t[o++]:null,h=!1;if(E){let T=E.elementClass;T&&(i+=" "+T);for(let A=a;A<this.markers.length;A++)if(this.markers[A].compare(E)){u=A,h=!0;break}}else u=this.markers.length;for(;a<u;){let T=this.markers[a++];if(T.toDOM){T.destroy(s);let A=s.nextSibling;s.remove(),s=A}}if(!E)break;E.toDOM&&(h?s=s.nextSibling:this.dom.insertBefore(E.toDOM(e),s)),h&&a++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function VW(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const WW=Re.define(),XW=Re.define(),ro=Re.define({combine(n){return Oi(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let s in t){let o=i[s],a=t[s];i[s]=o?(u,E,h)=>o(u,E,h)||a(u,E,h):a}return i}})}});class uA extends Xi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function EA(n,e){return n.state.facet(ro).formatNumber(e,n.state)}const KW=Ka.compute([ro],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(WW)},lineMarker(e,t,i){return i.some(s=>s.toDOM)?null:new uA(EA(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let s of e.state.facet(XW)){let o=s(e,t,i);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(ro)!=e.state.facet(ro),initialSpacer(e){return new uA(EA(e,xg(e.state.doc.lines)))},updateSpacer(e,t){let i=EA(t.view,xg(t.view.state.doc.lines));return i==e.number?e:new uA(i)},domEventHandlers:n.facet(ro).domEventHandlers,side:"before"}));function zW(n={}){return[ro.of(n),sP(),KW]}function xg(n){let e=9;for(;e<n;)e=e*10+9;return e}const $W=new class extends Xi{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},jW=GE.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head).from;s>t&&(t=s,e.push($W.range(s)))}return Fe.of(e)});function JW(){return jW}var fA;const lo=new Ye;function qW(n){return Re.define({combine:n?e=>e.concat(n):void 0})}const QW=new Ye;class Ti{constructor(e,t,i=[],s=""){this.data=e,this.name=s,ze.prototype.hasOwnProperty("tree")||Object.defineProperty(ze.prototype,"tree",{get(){return jt(this)}}),this.parser=t,this.extension=[dr.of(this),ze.languageData.of((o,a,u)=>{let E=Bg(o,a,u),h=E.type.prop(lo);if(!h)return[];let T=o.facet(h),A=E.type.prop(QW);if(A){let R=E.resolve(a-E.from,u);for(let O of A)if(O.test(R,o)){let N=o.facet(O.facet);return O.type=="replace"?N:N.concat(T)}}return T})].concat(i)}isActiveAt(e,t,i=-1){return Bg(e,t,i).type.prop(lo)==this.data}findRegions(e){let t=e.facet(dr);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],s=(o,a)=>{if(o.prop(lo)==this.data){i.push({from:a,to:a+o.length});return}let u=o.prop(Ye.mounted);if(u){if(u.tree.prop(lo)==this.data){if(u.overlay)for(let E of u.overlay)i.push({from:E.from+a,to:E.to+a});else i.push({from:a,to:a+o.length});return}else if(u.overlay){let E=i.length;if(s(u.tree,u.overlay[0].from+a),i.length>E)return}}for(let E=0;E<o.children.length;E++){let h=o.children[E];h instanceof Dt&&s(h,o.positions[E]+a)}};return s(jt(e),0),i}get allowsNesting(){return!0}}Ti.setState=be.define();function Bg(n,e,t){let i=n.facet(dr),s=jt(n).topNode;if(!i||i.allowsNesting)for(let o=s;o;o=o.enter(e,t,Nt.ExcludeBuffers|Nt.EnterBracketed))o.type.isTop&&(s=o);return s}class oc extends Ti{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=qW(e.languageData);return new oc(t,e.parser.configure({props:[lo.add(i=>i.isTop?t:void 0)]}),e.name)}configure(e,t){return new oc(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function jt(n){let e=n.field(Ti.state,!1);return e?e.tree:Dt.empty}class ZW{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let ya=null;class af{constructor(e,t,i=[],s,o,a,u,E){this.parser=e,this.state=t,this.fragments=i,this.tree=s,this.treeLen=o,this.viewport=a,this.skipped=u,this.scheduleOn=E,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new af(e,t,[],Dt.empty,0,i,[],null)}startParse(){return this.parser.startParse(new ZW(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Dt.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let s=this.parse.advance();if(s)if(this.fragments=this.withoutTempSkipped(Jr.addTree(s,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=s,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Jr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ya;ya=this;try{return e()}finally{ya=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Gg(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:s,treeLen:o,viewport:a,skipped:u}=this;if(this.takeTree(),!e.empty){let E=[];if(e.iterChangedRanges((h,T,A,R)=>E.push({fromA:h,toA:T,fromB:A,toB:R})),i=Jr.applyChanges(i,E),s=Dt.empty,o=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){u=[];for(let h of this.skipped){let T=e.mapPos(h.from,1),A=e.mapPos(h.to,-1);T<A&&u.push({from:T,to:A})}}}return new af(this.parser,t,i,s,o,a,u,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:s,to:o}=this.skipped[i];s<e.to&&o>e.from&&(this.fragments=Gg(this.fragments,s,o),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends vD{createParse(t,i,s){let o=s[0].from,a=s[s.length-1].to;return{parsedPos:o,advance(){let E=ya;if(E){for(let h of s)E.tempSkipped.push(h);e&&(E.scheduleOn=E.scheduleOn?Promise.all([E.scheduleOn,e]):e)}return this.parsedPos=a,new Dt(_n.none,[],[],a-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return ya}}function Gg(n,e,t){return Jr.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Co{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Co(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=af.create(e.facet(dr).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Co(i)}}Ti.state=Jt.define({create:Co.init,update(n,e){for(let t of e.effects)if(t.is(Ti.setState))return t.value;return e.startState.facet(dr)!=e.state.facet(dr)?Co.init(e.state):n.apply(e)}});let lP=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(lP=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const hA=typeof navigator<"u"&&(!((fA=navigator.scheduling)===null||fA===void 0)&&fA.isInputPending)?()=>navigator.scheduling.isInputPending():null,eX=It.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ti.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ti.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=lP(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:s}}=this.view,o=i.field(Ti.state);if(o.tree==o.context.tree&&o.context.isDone(s+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!hA?Math.max(25,e.timeRemaining()-5):1e9),u=o.context.treeLen<s&&i.doc.length>s+1e3,E=o.context.work(()=>hA&&hA()||Date.now()>a,s+(u?0:1e5));this.chunkBudget-=Date.now()-t,(E||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Ti.setState.of(new Co(o.context))})),this.chunkBudget>0&&!(E&&!u)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>gn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),dr=Re.define({combine(n){return n.length?n[0]:null},enables:n=>[Ti.state,eX,Ae.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class oP{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const tX=Re.define(),wf=Re.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function cf(n){let e=n.facet(wf);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function ac(n,e){let t="",i=n.tabSize,s=n.facet(wf)[0];if(s==" "){for(;e>=i;)t+=" ",e-=i;s=" "}for(let o=0;o<e;o++)t+=s;return t}function MR(n,e){n instanceof ze&&(n=new Ff(n));for(let i of n.state.facet(tX)){let s=i(n,e);if(s!==void 0)return s}let t=jt(n.state);return t.length>=e?nX(n,t,e):null}class Ff{constructor(e,t={}){this.state=e,this.options=t,this.unit=cf(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:o}=this.options;return s!=null&&s>=i.from&&s<=i.to?o&&s==e?{text:"",from:e}:(t<0?s<e:s<=e)?{text:i.text.slice(s-i.from),from:s}:{text:i.text.slice(0,s-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:s}=this.lineAt(e,t);return i.slice(e-s,Math.min(i.length,e+100-s))}column(e,t=1){let{text:i,from:s}=this.lineAt(e,t),o=this.countColumn(i,e-s),a=this.options.overrideIndentation?this.options.overrideIndentation(s):-1;return a>-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o}countColumn(e,t=e.length){return Mo(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:s}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let a=o(s);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const PR=new Ye;function nX(n,e,t){let i=e.resolveStack(t),s=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(s!=i.node){let o=[];for(let a=s;a&&!(a.from<i.node.from||a.to>i.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)o.push(a);for(let a=o.length-1;a>=0;a--)i={node:o[a],next:i}}return aP(i,n,t)}function aP(n,e,t){for(let i=n;i;i=i.next){let s=sX(i.node);if(s)return s(yR.create(e,t,i))}return 0}function iX(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function sX(n){let e=n.type.prop(PR);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(Ye.closedBy))){let s=n.lastChild,o=s&&i.indexOf(s.name)>-1;return a=>aX(a,!0,1,void 0,o&&!iX(a)?s.from:void 0)}return n.parent==null?rX:null}function rX(){return 0}class yR extends Ff{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new yR(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(lX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return aP(this.context.next,this.base,this.pos)}}function lX(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function oX(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let s=n.options.simulateBreak,o=n.state.doc.lineAt(t.from),a=s==null||s<=o.from?o.to:Math.min(o.to,s);for(let u=t.to;;){let E=e.childAfter(u);if(!E||E==i)return null;if(!E.type.isSkipped){if(E.from>=a)return null;let h=/^ */.exec(o.text.slice(t.to-o.from))[0].length;return{from:t.from,to:t.to+h}}u=E.to}}function aX(n,e,t,i,s){let o=n.textAfter,a=o.match(/^\s*/)[0].length,u=i&&o.slice(a,a+i.length)==i||s==n.pos+a,E=oX(n);return E?u?n.column(E.from):n.column(E.to):n.baseIndent+(u?0:n.unit*t)}function gS({except:n,units:e=1}={}){return t=>{let i=n&&n.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const cX=200;function uX(){return ze.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,s=t.lineAt(i);if(i>s.from+cX)return n;let o=t.sliceString(s.from,i);if(!e.some(h=>h.test(o)))return n;let{state:a}=n,u=-1,E=[];for(let{head:h}of a.selection.ranges){let T=a.doc.lineAt(h);if(T.from==u)continue;u=T.from;let A=MR(a,T.from);if(A==null)continue;let R=/^\s*/.exec(T.text)[0],O=ac(a,A);R!=O&&E.push({from:T.from,to:T.from+R.length,insert:O})}return E.length?[n,{changes:E,sequential:!0}]:n})}const EX=Re.define(),vR=new Ye;function fX(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function hX(n,e,t){let i=jt(n);if(i.length<t)return null;let s=i.resolveStack(t,1),o=null;for(let a=s;a;a=a.next){let u=a.node;if(u.to<=t||u.from>t)continue;if(o&&u.from<e)break;let E=u.type.prop(vR);if(E&&(u.to<i.length-50||i.length==n.doc.length||!TX(u))){let h=E(u,n);h&&h.from<=t&&h.from>=e&&h.to>t&&(o=h)}}return o}function TX(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function uf(n,e,t){for(let i of n.facet(EX)){let s=i(n,e,t);if(s)return s}return hX(n,e,t)}function cP(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const Yf=be.define({map:cP}),pc=be.define({map:cP});function uP(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const sl=Jt.define({create(){return _e.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,s)=>n=Hg(n,i,s)),n=n.map(e.changes);let t=[];for(let i of e.effects)i.is(Yf)&&!dX(n,i.value.from,i.value.to)?t.push(i.value):i.is(pc)&&(n=n.update({filter:(s,o)=>i.value.from!=s||i.value.to!=o,filterFrom:i.value.from,filterTo:i.value.to}));if(t.length){let{preparePlaceholder:i}=e.state.facet(hP),s=t.map(o=>(i?_e.replace({widget:new IX(i(e.state,o))}):wg).range(o.from,o.to));n=n.update({add:s})}return e.selection&&(n=Hg(n,e.selection.main.head)),n},provide:n=>Ae.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,s)=>{t.push(i,s)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let i=n[t++],s=n[t++];if(typeof i!="number"||typeof s!="number")throw new RangeError("Invalid JSON for fold state");e.push(wg.range(i,s))}return _e.set(e,!0)}});function Hg(n,e,t=e){let i=!1;return n.between(e,t,(s,o)=>{s<t&&o>e&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(s,o)=>s>=t||o<=e}):n}function Ef(n,e,t){var i;let s=null;return(i=n.field(sl,!1))===null||i===void 0||i.between(e,t,(o,a)=>{(!s||s.from>o)&&(s={from:o,to:a})}),s}function dX(n,e,t){let i=!1;return n.between(e,e,(s,o)=>{s==e&&o==t&&(i=!0)}),i}function EP(n,e){return n.field(sl,!1)?e:e.concat(be.appendConfig.of(TP()))}const AX=n=>{for(let e of uP(n)){let t=uf(n.state,e.from,e.to);if(t)return n.dispatch({effects:EP(n.state,[Yf.of(t),fP(n,t)])}),!0}return!1},SX=n=>{if(!n.state.field(sl,!1))return!1;let e=[];for(let t of uP(n)){let i=Ef(n.state,t.from,t.to);i&&e.push(pc.of(i),fP(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function fP(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,s=n.state.doc.lineAt(e.to).number;return Ae.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${s}.`)}const RX=n=>{let{state:e}=n,t=[];for(let i=0;i<e.doc.length;){let s=n.lineBlockAt(i),o=uf(e,s.from,s.to);o&&t.push(Yf.of(o)),i=(o?n.lineBlockAt(o.to):s).to+1}return t.length&&n.dispatch({effects:EP(n.state,t)}),!!t.length},OX=n=>{let e=n.state.field(sl,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,s)=>{t.push(pc.of({from:i,to:s}))}),n.dispatch({effects:t}),!0},NX=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:AX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:SX},{key:"Ctrl-Alt-[",run:RX},{key:"Ctrl-Alt-]",run:OX}],mX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},hP=Re.define({combine(n){return Oi(n,mX)}});function TP(n){return[sl,gX]}function dP(n,e){let{state:t}=n,i=t.facet(hP),s=a=>{let u=n.lineBlockAt(n.posAtDOM(a.target)),E=Ef(n.state,u.from,u.to);E&&n.dispatch({effects:pc.of(E)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,s,e);let o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",t.phrase("folded code")),o.title=t.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=s,o}const wg=_e.replace({widget:new class extends $i{toDOM(n){return dP(n,null)}}});class IX extends $i{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return dP(e,this.value)}}const pX={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class TA extends Xi{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function CX(n={}){let e={...pX,...n},t=new TA(e,!0),i=new TA(e,!1),s=It.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(dr)!=a.state.facet(dr)||a.startState.field(sl,!1)!=a.state.field(sl,!1)||jt(a.startState)!=jt(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let u=new Ns;for(let E of a.viewportLineBlocks){let h=Ef(a.state,E.from,E.to)?i:uf(a.state,E.from,E.to)?t:null;h&&u.add(E.from,E.from,h)}return u.finish()}}),{domEventHandlers:o}=e;return[s,iP({class:"cm-foldGutter",markers(a){var u;return((u=a.plugin(s))===null||u===void 0?void 0:u.markers)||Fe.empty},initialSpacer(){return new TA(e,!1)},domEventHandlers:{...o,click:(a,u,E)=>{if(o.click&&o.click(a,u,E))return!0;let h=Ef(a.state,u.from,u.to);if(h)return a.dispatch({effects:pc.of(h)}),!0;let T=uf(a.state,u.from,u.to);return T?(a.dispatch({effects:Yf.of(T)}),!0):!1}}}),TP()]}const gX=Ae.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Po{constructor(e,t){this.specs=e;let i;function s(u){let E=fr.newName();return(i||(i=Object.create(null)))["."+E]=u,E}const o=typeof t.all=="string"?t.all:t.all?s(t.all):void 0,a=t.scope;this.scope=a instanceof Ti?u=>u.prop(lo)==a.data:a?u=>u==a:void 0,this.style=bD(e.map(u=>({tag:u.tag,class:u.class||s(Object.assign({},u,{tag:null}))})),{all:o}).style,this.module=i?new fr(i):null,this.themeType=t.themeType}static define(e,t){return new Po(e,t||{})}}const LS=Re.define(),AP=Re.define({combine(n){return n.length?[n[0]]:null}});function dA(n){let e=n.facet(LS);return e.length?e:n.facet(AP)}function UR(n,e){let t=[_X],i;return n instanceof Po&&(n.module&&t.push(Ae.styleModule.of(n.module)),i=n.themeType),e!=null&&e.fallback?t.push(AP.of(n)):i?t.push(LS.computeN([Ae.darkTheme],s=>s.facet(Ae.darkTheme)==(i=="dark")?[n]:[])):t.push(LS.of(n)),t}class LX{constructor(e){this.markCache=Object.create(null),this.tree=jt(e.state),this.decorations=this.buildDeco(e,dA(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=jt(e.state),i=dA(e.state),s=i!=dA(e.startState),{viewport:o}=e.view,a=e.changes.mapPos(this.decoratedTo,1);t.length<o.to&&!s&&t.type==this.tree.type&&a>=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=o.to)}buildDeco(e,t){if(!t||!this.tree.length)return _e.none;let i=new Ns;for(let{from:s,to:o}of e.visibleRanges)xk(this.tree,t,(a,u,E)=>{i.add(a,u,this.markCache[E]||(this.markCache[E]=_e.mark({class:E})))},s,o);return i.finish()}}const _X=al.high(It.fromClass(LX,{decorations:n=>n.decorations})),DX=Po.define([{tag:w.meta,color:"#404740"},{tag:w.link,textDecoration:"underline"},{tag:w.heading,textDecoration:"underline",fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strong,fontWeight:"bold"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.keyword,color:"#708"},{tag:[w.atom,w.bool,w.url,w.contentSeparator,w.labelName],color:"#219"},{tag:[w.literal,w.inserted],color:"#164"},{tag:[w.string,w.deleted],color:"#a11"},{tag:[w.regexp,w.escape,w.special(w.string)],color:"#e40"},{tag:w.definition(w.variableName),color:"#00f"},{tag:w.local(w.variableName),color:"#30a"},{tag:[w.typeName,w.namespace],color:"#085"},{tag:w.className,color:"#167"},{tag:[w.special(w.variableName),w.macroName],color:"#256"},{tag:w.definition(w.propertyName),color:"#00c"},{tag:w.comment,color:"#940"},{tag:w.invalid,color:"#f00"}]),MX=Ae.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),SP=1e4,RP="()[]{}",OP=Re.define({combine(n){return Oi(n,{afterCursor:!0,brackets:RP,maxScanDistance:SP,renderMatch:vX})}}),PX=_e.mark({class:"cm-matchingBracket"}),yX=_e.mark({class:"cm-nonmatchingBracket"});function vX(n){let e=[],t=n.matched?PX:yX;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function Fg(n){let e=[],t=n.facet(OP);for(let i of n.selection.ranges){if(!i.empty)continue;let s=Yi(n,i.head,-1,t)||i.head>0&&Yi(n,i.head-1,1,t)||t.afterCursor&&(Yi(n,i.head,1,t)||i.head<n.doc.length&&Yi(n,i.head+1,-1,t));s&&(e=e.concat(t.renderMatch(s,n)))}return _e.set(e,!0)}const UX=It.fromClass(class{constructor(n){this.paused=!1,this.decorations=Fg(n.state)}update(n){(n.docChanged||n.selectionSet||this.paused)&&(n.view.composing?(this.decorations=this.decorations.map(n.changes),this.paused=!0):(this.decorations=Fg(n.state),this.paused=!1))}},{decorations:n=>n.decorations}),bX=[UX,MX];function xX(n={}){return[OP.of(n),bX]}const BX=new Ye;function _S(n,e,t){let i=n.prop(e<0?Ye.openedBy:Ye.closedBy);if(i)return i;if(n.name.length==1){let s=t.indexOf(n.name);if(s>-1&&s%2==(e<0?1:0))return[t[s+e]]}return null}function DS(n){let e=n.type.prop(BX);return e?e(n.node):n}function Yi(n,e,t,i={}){let s=i.maxScanDistance||SP,o=i.brackets||RP,a=jt(n),u=a.resolveInner(e,t);for(let E=u;E;E=E.parent){let h=_S(E.type,t,o);if(h&&E.from<E.to){let T=DS(E);if(T&&(t>0?e>=T.from&&e<T.to:e>T.from&&e<=T.to))return GX(n,e,t,E,T,h,o)}}return HX(n,e,t,a,u.type,s,o)}function GX(n,e,t,i,s,o,a){let u=i.parent,E={from:s.from,to:s.to},h=0,T=u==null?void 0:u.cursor();if(T&&(t<0?T.childBefore(i.from):T.childAfter(i.to)))do if(t<0?T.to<=i.from:T.from>=i.to){if(h==0&&o.indexOf(T.type.name)>-1&&T.from<T.to){let A=DS(T);return{start:E,end:A?{from:A.from,to:A.to}:void 0,matched:!0}}else if(_S(T.type,t,a))h++;else if(_S(T.type,-t,a)){if(h==0){let A=DS(T);return{start:E,end:A&&A.from<A.to?{from:A.from,to:A.to}:void 0,matched:!1}}h--}}while(t<0?T.prevSibling():T.nextSibling());return{start:E,matched:!1}}function HX(n,e,t,i,s,o,a){if(t<0?!e:e==n.doc.length)return null;let u=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),E=a.indexOf(u);if(E<0||E%2==0!=t>0)return null;let h={from:t<0?e-1:e,to:t>0?e+1:e},T=n.doc.iterRange(e,t>0?n.doc.length:0),A=0;for(let R=0;!T.next().done&&R<=o;){let O=T.value;t<0&&(R+=O.length);let N=e+R*t;for(let m=t>0?0:O.length-1,C=t>0?O.length:-1;m!=C;m+=t){let L=a.indexOf(O[m]);if(!(L<0||i.resolveInner(N+m,1).type!=s))if(L%2==0==t>0)A++;else{if(A==1)return{start:h,end:{from:N+m,to:N+m+1},matched:L>>1==E>>1};A--}}t>0&&(R+=O.length)}return T.done?{start:h,matched:!1}:null}const wX=Object.create(null),Yg=[_n.none],kg=[],Vg=Object.create(null),FX=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])FX[n]=YX(wX,e);function AA(n,e){kg.indexOf(n)>-1||(kg.push(n),console.warn(e))}function YX(n,e){let t=[];for(let u of e.split(" ")){let E=[];for(let h of u.split(".")){let T=n[h]||w[h];T?typeof T=="function"?E.length?E=E.map(T):AA(h,`Modifier ${h} used at start of tag`):E.length?AA(h,`Tag ${h} used as modifier`):E=Array.isArray(T)?T:[T]:AA(h,`Unknown highlighting tag ${h}`)}for(let h of E)t.push(h)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),s=i+" "+t.map(u=>u.id),o=Vg[s];if(o)return o.id;let a=Vg[s]=_n.define({id:Yg.length,name:i,props:[cR({[i]:t})]});return Yg.push(a),a.id}at.RTL,at.LTR;const kX=oc.define({name:"json",parser:wk.configure({props:[PR.add({Object:gS({except:/^\s*\}/}),Array:gS({except:/^\s*\]/})}),vR.add({"Object Array":fX})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function VX(){return new oP(kX)}class NP{constructor(e,t,i,s){this.state=e,this.pos=t,this.explicit=i,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=jt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),s=t.text.slice(i-t.from,this.pos-t.from),o=s.search(IP(e,!1));return o<0?null:{from:i+o,to:this.pos,text:s.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function Wg(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function WX(n){let e=Object.create(null),t=Object.create(null);for(let{label:s}of n){e[s[0]]=!0;for(let o=1;o<s.length;o++)t[s[o]]=!0}let i=Wg(e)+Wg(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function mP(n){let e=n.map(s=>typeof s=="string"?{label:s}:s),[t,i]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:WX(e);return s=>{let o=s.matchBefore(i);return o||s.explicit?{from:o?o.from:s.pos,options:e,validFor:t}:null}}function XX(n,e){return t=>{for(let i=jt(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class Xg{constructor(e,t,i,s){this.completion=e,this.source=t,this.match=i,this.score=s}}function Qr(n){return n.selection.main.from}function IP(n,e){var t;let{source:i}=n,s=e&&i[0]!="^",o=i[i.length-1]!="$";return!s&&!o?n:new RegExp(`${s?"^":""}(?:${i})${o?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const pP=zi.define();function KX(n,e,t,i){let{main:s}=n.selection,o=t-s.from,a=i-s.from;return{...n.changeByRange(u=>{if(u!=s&&t!=i&&n.sliceDoc(u.from+o,u.from+a)!=n.sliceDoc(t,i))return{range:u};let E=n.toText(e);return{changes:{from:u.from+o,to:i==s.from?u.to:u.from+a,insert:E},range:q.cursor(u.from+o+E.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Kg=new WeakMap;function zX(n){if(!Array.isArray(n))return n;let e=Kg.get(n);return e||Kg.set(n,e=mP(n)),e}const ff=be.define(),cc=be.define();class $X{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let i=In(e,t),s=Gi(i);this.chars.push(i);let o=e.slice(t,t+s),a=o.toUpperCase();this.folded.push(In(a==o?o.toLowerCase():a,0)),t+=s}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:i,any:s,precise:o,byWord:a}=this;if(t.length==1){let _=In(e,0),D=Gi(_),v=D==e.length?0:-100;if(_!=t[0])if(_==i[0])v+=-200;else return null;return this.ret(v,[0,D])}let u=e.indexOf(this.pattern);if(u==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let E=t.length,h=0;if(u<0){for(let _=0,D=Math.min(e.length,200);_<D&&h<E;){let v=In(e,_);(v==t[h]||v==i[h])&&(s[h++]=_),_+=Gi(v)}if(h<E)return null}let T=0,A=0,R=!1,O=0,N=-1,m=-1,C=/[a-z]/.test(e),L=!0;for(let _=0,D=Math.min(e.length,200),v=0;_<D&&A<E;){let U=In(e,_);u<0&&(T<E&&U==t[T]&&(o[T++]=_),O<E&&(U==t[O]||U==i[O]?(O==0&&(N=_),m=_+1,O++):O=0));let G,B=U<255?U>=48&&U<=57||U>=97&&U<=122?2:U>=65&&U<=90?1:0:(G=uR(U))!=G.toLowerCase()?1:G!=G.toUpperCase()?2:0;(!_||B==1&&C||v==0&&B!=0)&&(t[A]==U||i[A]==U&&(R=!0)?a[A++]=_:a.length&&(L=!1)),v=B,_+=Gi(U)}return A==E&&a[0]==0&&L?this.result(-100+(R?-200:0),a,e):O==E&&N==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):u>-1?this.ret(-700-e.length,[u,u+this.pattern.length]):O==E?this.ret(-900-e.length,[N,m]):A==E?this.result(-100+(R?-200:0)+-700+(L?0:-1100),a,e):t.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,t,i){let s=[],o=0;for(let a of t){let u=a+(this.astral?Gi(In(i,a)):1);o&&s[o-1]==a?s[o-1]=u:(s[o++]=a,s[o++]=u)}return this.ret(e-i.length,s)}}class jX{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),i=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,t.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const Xt=Re.define({combine(n){return Oi(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:JX,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>zg(e(i),t(i)),optionClass:(e,t)=>i=>zg(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function zg(n,e){return n?e?n+" "+e:n:e}function JX(n,e,t,i,s,o){let a=n.textDirection==at.RTL,u=a,E=!1,h="top",T,A,R=e.left-s.left,O=s.right-e.right,N=i.right-i.left,m=i.bottom-i.top;if(u&&R<Math.min(N,O)?u=!1:!u&&O<Math.min(N,R)&&(u=!0),N<=(u?R:O))T=Math.max(s.top,Math.min(t.top,s.bottom-m))-e.top,A=Math.min(400,u?R:O);else{E=!0,A=Math.min(400,(a?e.right:s.right-e.left)-30);let _=s.bottom-e.bottom;_>=m||_>e.top?T=t.bottom-e.top:(h="bottom",T=e.bottom-t.top)}let C=(e.bottom-e.top)/o.offsetHeight,L=(e.right-e.left)/o.offsetWidth;return{style:`${h}: ${T/C}px; max-width: ${A/L}px`,class:"cm-completionInfo-"+(E?a?"left-narrow":"right-narrow":u?"left":"right")}}const bR=be.define();function qX(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,s,o){let a=document.createElement("span");a.className="cm-completionLabel";let u=t.displayLabel||t.label,E=0;for(let h=0;h<o.length;){let T=o[h++],A=o[h++];T>E&&a.appendChild(document.createTextNode(u.slice(E,T)));let R=a.appendChild(document.createElement("span"));R.appendChild(document.createTextNode(u.slice(T,A))),R.className="cm-completionMatchedText",E=A}return E<u.length&&a.appendChild(document.createTextNode(u.slice(E))),a},position:50},{render(t){if(!t.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=t.detail,i},position:80}),e.sort((t,i)=>t.position-i.position).map(t=>t.render)}function SA(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let s=Math.floor(e/t);return{from:s*t,to:(s+1)*t}}let i=Math.ceil((n-e)/t);return{from:n-i*t,to:n-(i-1)*t}}class QX{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:E=>this.placeInfo(E),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:o,selected:a}=s.open,u=e.state.facet(Xt);this.optionContent=qX(u),this.optionClass=u.optionClass,this.tooltipClass=u.tooltipClass,this.range=SA(o.length,a,u.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",E=>{let{options:h}=e.state.field(t).open;for(let T=E.target,A;T&&T!=this.dom;T=T.parentNode)if(T.nodeName=="LI"&&(A=/-(\d+)$/.exec(T.id))&&+A[1]<h.length){this.applyCompletion(e,h[+A[1]]),E.preventDefault();return}if(E.target==this.list){let T=this.list.classList.contains("cm-completionListIncompleteTop")&&E.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&E.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;T!=null&&(e.dispatch({effects:bR.of(T)}),E.preventDefault())}}),this.dom.addEventListener("focusout",E=>{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(Xt).closeOnBlur&&E.relatedTarget!=e.contentDOM&&e.dispatch({effects:cc.of(null)})}),this.showOptions(o,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=s){let{options:o,selected:a,disabled:u}=i.open;(!s.open||s.open.options!=o)&&(this.range=SA(o.length,a,e.state.facet(Xt).maxRenderedOptions),this.showOptions(o,i.id)),this.updateSel(),u!=((t=s.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!u)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=SA(t.options.length,t.selected,this.view.state.facet(Xt).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:s}=t.options[t.selected],{info:o}=s;if(!o)return;let a=typeof o=="string"?document.createTextNode(o):o(s);if(!a)return;"then"in a?a.then(u=>{u&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(u,s)}).catch(u=>gn(this.view.state,u,"completion info")):(this.addInfoPane(a,s),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:o}=e;i.appendChild(s),this.infoDestroy=o||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,s=this.range.from;i;i=i.nextSibling,s++)i.nodeName!="LI"||!i.id?s--:s==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&eK(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),o=this.space;if(!o){let a=this.dom.ownerDocument.documentElement;o={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return s.top>Math.min(o.bottom,t.bottom)-10||s.bottom<Math.max(o.top,t.top)+10?null:this.view.state.facet(Xt).positionInfo(this.view,t,s,i,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,i){const s=document.createElement("ul");s.id=t,s.setAttribute("role","listbox"),s.setAttribute("aria-expanded","true"),s.setAttribute("aria-label",this.view.state.phrase("Completions")),s.addEventListener("mousedown",a=>{a.target==s&&a.preventDefault()});let o=null;for(let a=i.from;a<i.to;a++){let{completion:u,match:E}=e[a],{section:h}=u;if(h){let R=typeof h=="string"?h:h.name;if(R!=o&&(a>i.from||i.from==0))if(o=R,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let O=s.appendChild(document.createElement("completion-section"));O.textContent=R}}const T=s.appendChild(document.createElement("li"));T.id=t+"-"+a,T.setAttribute("role","option");let A=this.optionClass(u);A&&(T.className=A);for(let R of this.optionContent){let O=R(u,this.view.state,this.view,E);O&&T.appendChild(O)}}return i.from&&s.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&s.classList.add("cm-completionListIncompleteBottom"),s}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function ZX(n,e){return t=>new QX(t,n,e)}function eK(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),s=t.height/n.offsetHeight;i.top<t.top?n.scrollTop-=(t.top-i.top)/s:i.bottom>t.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/s)}function $g(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function tK(n,e){let t=[],i=null,s=null,o=T=>{t.push(T);let{section:A}=T.completion;if(A){i||(i=[]);let R=typeof A=="string"?A:A.name;i.some(O=>O.name==R)||i.push(typeof A=="string"?{name:R}:A)}},a=e.facet(Xt);for(let T of n)if(T.hasResult()){let A=T.result.getMatch;if(T.result.filter===!1)for(let R of T.result.options)o(new Xg(R,T.source,A?A(R):[],1e9-t.length));else{let R=e.sliceDoc(T.from,T.to),O,N=a.filterStrict?new jX(R):new $X(R);for(let m of T.result.options)if(O=N.match(m.label)){let C=m.displayLabel?A?A(m,O.matched):[]:O.matched,L=O.score+(m.boost||0);if(o(new Xg(m,T.source,C,L)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:_}=m.section;s||(s=Object.create(null)),s[_]=Math.max(L,s[_]||-1e9)}}}}if(i){let T=Object.create(null),A=0,R=(O,N)=>(O.rank==="dynamic"&&N.rank==="dynamic"?s[N.name]-s[O.name]:0)||(typeof O.rank=="number"?O.rank:1e9)-(typeof N.rank=="number"?N.rank:1e9)||(O.name<N.name?-1:1);for(let O of i.sort(R))A-=1e5,T[O.name]=A;for(let O of t){let{section:N}=O.completion;N&&(O.score+=T[typeof N=="string"?N:N.name])}}let u=[],E=null,h=a.compareCompletions;for(let T of t.sort((A,R)=>R.score-A.score||h(A.completion,R.completion))){let A=T.completion;!E||E.label!=A.label||E.detail!=A.detail||E.type!=null&&A.type!=null&&E.type!=A.type||E.apply!=A.apply||E.boost!=A.boost?u.push(T):$g(T.completion)>$g(E)&&(u[u.length-1]=T),E=T.completion}return u}class oo{constructor(e,t,i,s,o,a){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=s,this.selected=o,this.disabled=a}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new oo(this.options,jg(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,s,o,a){if(s&&!a&&e.some(h=>h.isPending))return s.setDisabled();let u=tK(e,t);if(!u.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let E=t.facet(Xt).selectOnOpen?0:-1;if(s&&s.selected!=E&&s.selected!=-1){let h=s.options[s.selected].completion;for(let T=0;T<u.length;T++)if(u[T].completion==h){E=T;break}}return new oo(u,jg(i,E),{pos:e.reduce((h,T)=>T.hasResult()?Math.min(h,T.from):h,1e8),create:oK,above:o.aboveCursor},s?s.timestamp:Date.now(),E,!1)}map(e){return new oo(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new oo(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class hf{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new hf(rK,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Xt),o=(i.override||t.languageDataAt("autocomplete",Qr(t)).map(zX)).map(E=>(this.active.find(T=>T.source==E)||new si(E,this.active.some(T=>T.state!=0)?1:0)).update(e,i));o.length==this.active.length&&o.every((E,h)=>E==this.active[h])&&(o=this.active);let a=this.open,u=e.effects.some(E=>E.is(xR));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||o.some(E=>E.hasResult()&&e.changes.touchesRange(E.from,E.to))||!nK(o,this.active)||u?a=oo.build(o,t,this.id,a,i,u):a&&a.disabled&&!o.some(E=>E.isPending)&&(a=null),!a&&o.every(E=>!E.isPending)&&o.some(E=>E.hasResult())&&(o=o.map(E=>E.hasResult()?new si(E.source,0):E));for(let E of e.effects)E.is(bR)&&(a=a&&a.setSelected(E.value,this.id));return o==this.active&&a==this.open?this:new hf(o,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?iK:sK}}function nK(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let s=t==n.length,o=i==e.length;if(s||o)return s==o;if(n[t++].result!=e[i++].result)return!1}}const iK={"aria-autocomplete":"list"},sK={};function jg(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const rK=[];function CP(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(pP);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class si{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=CP(e,t),s=this;(i&8||i&16&&this.touches(e))&&(s=new si(s.source,0)),i&4&&s.state==0&&(s=new si(this.source,1)),s=s.updateFor(e,i);for(let o of e.effects)if(o.is(ff))s=new si(s.source,1,o.value);else if(o.is(cc))s=new si(s.source,0);else if(o.is(xR))for(let a of o.value)a.source==s.source&&(s=a);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Qr(e.state))}}class Ao extends si{constructor(e,t,i,s,o,a){super(e,3,t),this.limit=i,this.result=s,this.from=o,this.to=a}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let o=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),u=Qr(e.state);if(u>a||!s||t&2&&(Qr(e.startState)==this.from||u<this.limit))return new si(this.source,t&4?1:0);let E=e.changes.mapPos(this.limit);return lK(s.validFor,e.state,o,a)?new Ao(this.source,this.explicit,E,s,o,a):s.update&&(s=s.update(s,o,a,new NP(e.state,u,!1)))?new Ao(this.source,this.explicit,E,s,s.from,(i=s.to)!==null&&i!==void 0?i:Qr(e.state)):new si(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new Ao(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new si(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function lK(n,e,t,i){if(!n)return!1;let s=e.sliceDoc(t,i);return typeof n=="function"?n(s,t,i,e):IP(n,!0).test(s)}const xR=be.define({map(n,e){return n.map(t=>t.map(e))}}),pn=Jt.define({create(){return hf.start()},update(n,e){return n.update(e)},provide:n=>[Gf.from(n,e=>e.tooltip),Ae.contentAttributes.from(n,e=>e.attrs)]});function BR(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(pn).active.find(s=>s.source==e.source);return i instanceof Ao?(typeof t=="string"?n.dispatch({...KX(n.state,t,i.from,i.to),annotations:pP.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const oK=ZX(pn,BR);function RE(n,e="option"){return t=>{let i=t.state.field(pn,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(Xt).interactionDelay)return!1;let s=1,o;e=="page"&&(o=ZM(t,i.open.tooltip))&&(s=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:a}=i.open.options,u=i.open.selected>-1?i.open.selected+s*(n?1:-1):n?0:a-1;return u<0?u=e=="page"?0:a-1:u>=a&&(u=e=="page"?a-1:0),t.dispatch({effects:bR.of(u)}),!0}}const aK=n=>{let e=n.state.field(pn,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Xt).interactionDelay?!1:BR(n,e.open.options[e.open.selected])},RA=n=>n.state.field(pn,!1)?(n.dispatch({effects:ff.of(!0)}),!0):!1,cK=n=>{let e=n.state.field(pn,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:cc.of(null)}),!0)};class uK{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const EK=50,fK=1e3,hK=It.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(pn).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(pn),t=n.state.facet(Xt);if(!n.selectionSet&&!n.docChanged&&n.startState.field(pn)==e)return;let i=n.transactions.some(o=>{let a=CP(o,t);return a&8||(o.selection||o.docChanged)&&!(a&3)});for(let o=0;o<this.running.length;o++){let a=this.running[o];if(i||a.context.abortOnDocChange&&n.docChanged||a.updates.length+n.transactions.length>EK&&Date.now()-a.time>fK){for(let u of a.context.abortListeners)try{u()}catch(E){gn(this.view.state,E)}a.context.abortListeners=null,this.running.splice(o--,1)}else a.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(o=>o.effects.some(a=>a.is(ff)))&&(this.pendingStart=!0);let s=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(o=>o.isPending&&!this.running.some(a=>a.active.source==o.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let o of n.transactions)o.isUserEvent("input.type")?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(pn);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Xt).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Qr(e),i=new NP(e,t,n.explicit,this.view),s=new uK(n,i);this.running.push(s),Promise.resolve(n.source(i)).then(o=>{s.context.aborted||(s.done=o||null,this.scheduleAccept())},o=>{this.view.dispatch({effects:cc.of(null)}),gn(this.view.state,o)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Xt).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Xt),i=this.view.state.field(pn);for(let s=0;s<this.running.length;s++){let o=this.running[s];if(o.done===void 0)continue;if(this.running.splice(s--,1),o.done){let u=Qr(o.updates.length?o.updates[0].startState:this.view.state),E=Math.min(u,o.done.from+(o.active.explicit?0:1)),h=new Ao(o.active.source,o.active.explicit,E,o.done,o.done.from,(n=o.done.to)!==null&&n!==void 0?n:u);for(let T of o.updates)h=h.update(T,t);if(h.hasResult()){e.push(h);continue}}let a=i.active.find(u=>u.source==o.active.source);if(a&&a.isPending)if(o.done==null){let u=new si(o.active.source,0);for(let E of o.updates)u=u.update(E,t);u.isPending||e.push(u)}else this.startQuery(a)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:xR.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(pn,!1);if(e&&e.tooltip&&this.view.state.facet(Xt).closeOnBlur){let t=e.open&&ZM(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:cc.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ff.of(!1)}),20),this.composing=0}}}),TK=typeof navigator=="object"&&/Win/.test(navigator.platform),dK=al.highest(Ae.domEventHandlers({keydown(n,e){let t=e.state.field(pn,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(TK&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],s=t.active.find(a=>a.source==i.source),o=i.completion.commitCharacters||s.result.commitCharacters;return o&&o.indexOf(n.key)>-1&&BR(e,i),!1}})),AK=Ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),uc={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},jr=be.define({map(n,e){let t=e.mapPos(n,-1,hn.TrackAfter);return t??void 0}}),GR=new class extends Er{};GR.startSide=1;GR.endSide=-1;const gP=Jt.define({create(){return Fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(jr)&&(n=n.update({add:[GR.range(t.value,t.value+1)]}));return n}});function SK(){return[OK,gP]}const OA="()[]{}<>«»»«[]{}";function LP(n){for(let e=0;e<OA.length;e+=2)if(OA.charCodeAt(e)==n)return OA.charAt(e+1);return uR(n<128?n:n+1)}function _P(n,e){return n.languageDataAt("closeBrackets",e)[0]||uc}const RK=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),OK=Ae.inputHandler.of((n,e,t,i)=>{if((RK?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let s=n.state.selection.main;if(i.length>2||i.length==2&&Gi(In(i,0))==1||e!=s.from||t!=s.to)return!1;let o=IK(n.state,i);return o?(n.dispatch(o),!0):!1}),NK=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=_P(n,n.selection.main.head).brackets||uc.brackets,s=null,o=n.changeByRange(a=>{if(a.empty){let u=pK(n.doc,a.head);for(let E of i)if(E==u&&kf(n.doc,a.head)==LP(In(E,0)))return{changes:{from:a.head-E.length,to:a.head+E.length},range:q.cursor(a.head-E.length)}}return{range:s=a}});return s||e(n.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},mK=[{key:"Backspace",run:NK}];function IK(n,e){let t=_P(n,n.selection.main.head),i=t.brackets||uc.brackets;for(let s of i){let o=LP(In(s,0));if(e==s)return o==s?LK(n,s,i.indexOf(s+s+s)>-1,t):CK(n,s,o,t.before||uc.before);if(e==o&&DP(n,n.selection.main.from))return gK(n,s,o)}return null}function DP(n,e){let t=!1;return n.field(gP).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function kf(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Gi(In(t,0)))}function pK(n,e){let t=n.sliceString(e-2,e);return Gi(In(t,0))==t.length?t:t.slice(1)}function CK(n,e,t,i){let s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:t,from:a.to}],effects:jr.of(a.to+e.length),range:q.range(a.anchor+e.length,a.head+e.length)};let u=kf(n.doc,a.head);return!u||/\s/.test(u)||i.indexOf(u)>-1?{changes:{insert:e+t,from:a.head},effects:jr.of(a.head+e.length),range:q.cursor(a.head+e.length)}:{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function gK(n,e,t){let i=null,s=n.changeByRange(o=>o.empty&&kf(n.doc,o.head)==t?{changes:{from:o.head,to:o.head+t.length,insert:t},range:q.cursor(o.head+t.length)}:i={range:o});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function LK(n,e,t,i){let s=i.stringPrefixes||uc.stringPrefixes,o=null,a=n.changeByRange(u=>{if(!u.empty)return{changes:[{insert:e,from:u.from},{insert:e,from:u.to}],effects:jr.of(u.to+e.length),range:q.range(u.anchor+e.length,u.head+e.length)};let E=u.head,h=kf(n.doc,E),T;if(h==e){if(Jg(n,E))return{changes:{insert:e+e,from:E},effects:jr.of(E+e.length),range:q.cursor(E+e.length)};if(DP(n,E)){let R=t&&n.sliceDoc(E,E+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:E,to:E+R.length,insert:R},range:q.cursor(E+R.length)}}}else{if(t&&n.sliceDoc(E-2*e.length,E)==e+e&&(T=qg(n,E-2*e.length,s))>-1&&Jg(n,T))return{changes:{insert:e+e+e+e,from:E},effects:jr.of(E+e.length),range:q.cursor(E+e.length)};if(n.charCategorizer(E)(h)!=Tt.Word&&qg(n,E,s)>-1&&!_K(n,E,e,s))return{changes:{insert:e+e,from:E},effects:jr.of(E+e.length),range:q.cursor(E+e.length)}}return{range:o=u}});return o?null:n.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function Jg(n,e){let t=jt(n).resolveInner(e+1);return t.parent&&t.from==e}function _K(n,e,t,i){let s=jt(n).resolveInner(e,-1),o=i.reduce((a,u)=>Math.max(a,u.length),0);for(let a=0;a<5;a++){let u=n.sliceDoc(s.from,Math.min(s.to,s.from+t.length+o)),E=u.indexOf(t);if(!E||E>-1&&i.indexOf(u.slice(0,E))>-1){let T=s.firstChild;for(;T&&T.from==s.from&&T.to-T.from>t.length+E;){if(n.sliceDoc(T.to-t.length,T.to)==t)return!1;T=T.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function qg(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=Tt.Word)return e;for(let s of t){let o=e-s.length;if(n.sliceDoc(o,e)==s&&i(n.sliceDoc(o-1,o))!=Tt.Word)return o}return-1}function DK(n={}){return[dK,pn,Xt.of(n),hK,MK,AK]}const MP=[{key:"Ctrl-Space",run:RA},{mac:"Alt-`",run:RA},{mac:"Alt-i",run:RA},{key:"Escape",run:cK},{key:"ArrowDown",run:RE(!0)},{key:"ArrowUp",run:RE(!1)},{key:"PageDown",run:RE(!0,"page")},{key:"PageUp",run:RE(!1,"page")},{key:"Enter",run:aK}],MK=al.highest(Ic.computeN([Xt],n=>n.facet(Xt).defaultKeymap?[MP]:[])),PK=36,Qg=1,yK=2,Ql=3,NA=4,vK=5,UK=6,bK=7,xK=8,BK=9,GK=10,HK=11,wK=12,FK=13,YK=14,kK=15,VK=16,WK=17,Zg=18,XK=19,PP=20,yP=21,eL=22,KK=23,zK=24;function MS(n){return n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57}function $K(n){return n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70}function Xr(n,e,t){for(let i=!1;;){if(n.next<0)return;if(n.next==e&&!i){n.advance();return}i=t&&!i&&n.next==92,n.advance()}}function jK(n,e){e:for(;;){if(n.next<0)return;if(n.next==36){n.advance();for(let t=0;t<e.length;t++){if(n.next!=e.charCodeAt(t))continue e;n.advance()}if(n.next==36){n.advance();return}}else n.advance()}}function JK(n,e){let t="[{<(".indexOf(String.fromCharCode(e)),i=t<0?e:"]}>)".charCodeAt(t);for(;;){if(n.next<0)return;if(n.next==i&&n.peek(1)==39){n.advance(2);return}n.advance()}}function PS(n,e){for(;!(n.next!=95&&!MS(n.next));)e!=null&&(e+=String.fromCharCode(n.next)),n.advance();return e}function qK(n){if(n.next==39||n.next==34||n.next==96){let e=n.next;n.advance(),Xr(n,e,!1)}else PS(n)}function tL(n,e){for(;n.next==48||n.next==49;)n.advance();e&&n.next==e&&n.advance()}function nL(n,e){for(;;){if(n.next==46){if(e)break;e=!0}else if(n.next<48||n.next>57)break;n.advance()}if(n.next==69||n.next==101)for(n.advance(),(n.next==43||n.next==45)&&n.advance();n.next>=48&&n.next<=57;)n.advance()}function iL(n){for(;!(n.next<0||n.next==10);)n.advance()}function Vr(n,e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)==n)return!0;return!1}const mA=` \r
224
- `;function vP(n,e,t){let i=Object.create(null);i.true=i.false=vK,i.null=i.unknown=UK;for(let s of n.split(" "))s&&(i[s]=PP);for(let s of e.split(" "))s&&(i[s]=yP);for(let s of(t||"").split(" "))s&&(i[s]=zK);return i}const UP="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",bP="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",yS={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:vP(bP,UP)};function QK(n,e,t,i){let s={};for(let o in yS)s[o]=(n.hasOwnProperty(o)?n:yS)[o];return e&&(s.words=vP(e,t||"",i)),s}function xP(n){return new Ik(e=>{var t;let{next:i}=e;if(e.advance(),Vr(i,mA)){for(;Vr(e.next,mA);)e.advance();e.acceptToken(PK)}else if(i==36&&n.doubleDollarQuotedStrings){let s=PS(e,"");e.next==36&&(e.advance(),jK(e,s),e.acceptToken(Ql))}else if(i==39||i==34&&n.doubleQuotedStrings)Xr(e,i,n.backslashEscapes),e.acceptToken(Ql);else if(i==35&&n.hashComments||i==47&&e.next==47&&n.slashComments)iL(e),e.acceptToken(Qg);else if(i==45&&e.next==45&&(!n.spaceAfterDashes||e.peek(1)==32))iL(e),e.acceptToken(Qg);else if(i==47&&e.next==42){e.advance();for(let s=1;;){let o=e.next;if(e.next<0)break;if(e.advance(),o==42&&e.next==47){if(s--,e.advance(),!s)break}else o==47&&e.next==42&&(s++,e.advance())}e.acceptToken(yK)}else if((i==101||i==69)&&e.next==39)e.advance(),Xr(e,39,!0),e.acceptToken(Ql);else if((i==110||i==78)&&e.next==39&&n.charSetCasts)e.advance(),Xr(e,39,n.backslashEscapes),e.acceptToken(Ql);else if(i==95&&n.charSetCasts)for(let s=0;;s++){if(e.next==39&&s>1){e.advance(),Xr(e,39,n.backslashEscapes),e.acceptToken(Ql);break}if(!MS(e.next))break;e.advance()}else if(n.plsqlQuotingMechanism&&(i==113||i==81)&&e.next==39&&e.peek(1)>0&&!Vr(e.peek(1),mA)){let s=e.peek(1);e.advance(2),JK(e,s),e.acceptToken(Ql)}else if(Vr(i,n.identifierQuotes)){const s=i==91?93:i;Xr(e,s,!1),e.acceptToken(XK)}else if(i==40)e.acceptToken(bK);else if(i==41)e.acceptToken(xK);else if(i==123)e.acceptToken(BK);else if(i==125)e.acceptToken(GK);else if(i==91)e.acceptToken(HK);else if(i==93)e.acceptToken(wK);else if(i==59)e.acceptToken(FK);else if(n.unquotedBitLiterals&&i==48&&e.next==98)e.advance(),tL(e),e.acceptToken(eL);else if((i==98||i==66)&&(e.next==39||e.next==34)){const s=e.next;e.advance(),n.treatBitsAsBytes?(Xr(e,s,n.backslashEscapes),e.acceptToken(KK)):(tL(e,s),e.acceptToken(eL))}else if(i==48&&(e.next==120||e.next==88)||(i==120||i==88)&&e.next==39){let s=e.next==39;for(e.advance();$K(e.next);)e.advance();s&&e.next==39&&e.advance(),e.acceptToken(NA)}else if(i==46&&e.next>=48&&e.next<=57)nL(e,!0),e.acceptToken(NA);else if(i==46)e.acceptToken(YK);else if(i>=48&&i<=57)nL(e,!1),e.acceptToken(NA);else if(Vr(i,n.operatorChars)){for(;Vr(e.next,n.operatorChars);)e.advance();e.acceptToken(kK)}else if(Vr(i,n.specialVar))e.next==i&&e.advance(),qK(e),e.acceptToken(WK);else if(i==58||i==44)e.acceptToken(VK);else if(MS(i)){let s=PS(e,String.fromCharCode(i));e.acceptToken(e.next==46||e.peek(-s.length-1)==46?Zg:(t=n.words[s.toLowerCase()])!==null&&t!==void 0?t:Zg)}})}const BP=xP(yS),ZK=Ja.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,BP],topRules:{Script:[0,25]},tokenPrec:0});function vS(n){let e=n.cursor().moveTo(n.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function Ec(n,e){let t=n.sliceString(e.from,e.to),i=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return i?i[2]:t}function Tf(n){return n&&(n.name=="Identifier"||n.name=="QuotedIdentifier")}function e3(n,e){if(e.name=="CompositeIdentifier"){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)Tf(i)&&t.push(Ec(n,i));return t}return[Ec(n,e)]}function sL(n,e){for(let t=[];;){if(!e||e.name!=".")return t;let i=vS(e);if(!Tf(i))return t;t.unshift(Ec(n,i)),e=vS(i)}}function t3(n,e){let t=jt(n).resolveInner(e,-1),i=i3(n.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?n.doc.sliceString(t.from,t.from+1):null,parents:sL(n.doc,vS(t)),aliases:i}:t.name=="."?{from:e,quoted:null,parents:sL(n.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}const n3=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function i3(n,e){let t;for(let s=e;!t;s=s.parent){if(!s)return null;s.name=="Statement"&&(t=s)}let i=null;for(let s=t.firstChild,o=!1,a=null;s;s=s.nextSibling){let u=s.name=="Keyword"?n.sliceString(s.from,s.to).toLowerCase():null,E=null;if(!o)o=u=="from";else if(u=="as"&&a&&Tf(s.nextSibling))E=Ec(n,s.nextSibling);else{if(u&&n3.has(u))break;a&&Tf(s)&&(E=Ec(n,s))}E&&(i||(i=Object.create(null)),i[E]=e3(n,a)),a=/Identifier$/.test(s.name)?s:null}return i}function s3(n,e,t){return t.map(i=>({...i,label:i.label[0]==n?i.label:n+i.label+e,apply:void 0}))}const r3=/^\w*$/,l3=/^[`'"\[]?\w*[`'"\]]?$/;function rL(n){return n.self&&typeof n.self.label=="string"}class HR{constructor(e,t){this.idQuote=e,this.idCaseInsensitive=t,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null)),i=t[e];return i||(e&&!this.list.some(s=>s.label==e)&&this.list.push(lL(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new HR(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(i=>i.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion(typeof t=="string"?lL(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):rL(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],s=null,o=t.replace(/\\?\./g,u=>u=="."?"\0":u).split("\0"),a=this;rL(i)&&(s=i.self,i=i.children);for(let u=0;u<o.length;u++)s&&u==o.length-1&&a.addCompletion(s),a=a.child(o[u].replace(/\\\./g,"."));a.addNamespace(i)}}}function lL(n,e,t,i){return new RegExp("^[a-z_][a-z_\\d]*$",i?"i":"").test(n)?{label:n,type:e}:{label:n,type:e,apply:t+n+GP(t)}}function GP(n){return n==="["?"]":n}function o3(n,e,t,i,s,o){var a;let u=((a=o==null?void 0:o.spec.identifierQuotes)===null||a===void 0?void 0:a[0])||'"',E=new HR(u,!!(o!=null&&o.spec.caseInsensitiveIdentifiers)),h=s?E.child(s):null;return E.addNamespace(n),e&&(h||E).addCompletions(e),t&&E.addCompletions(t),h&&E.addCompletions(h.list),i&&E.addCompletions((h||E).child(i).list),T=>{let{parents:A,from:R,quoted:O,empty:N,aliases:m}=t3(T.state,T.pos);if(N&&!T.explicit)return null;m&&A.length==1&&(A=m[A[0]]||A);let C=E;for(let _ of A){for(;!C.children||!C.children[_];)if(C==E&&h)C=h;else if(C==h&&i)C=C.child(i);else return null;let D=C.maybeChild(_);if(!D)return null;C=D}let L=C.list;if(C==E&&m&&(L=L.concat(Object.keys(m).map(_=>({label:_,type:"constant"})))),O){let _=O[0],D=GP(_),v=T.state.sliceDoc(T.pos,T.pos+1)==D;return{from:R,to:v?T.pos+1:void 0,options:s3(_,D,L),validFor:l3}}else return{from:R,options:L,validFor:r3}}}function a3(n){return n==yP?"type":n==PP?"keyword":"variable"}function c3(n,e,t){let i=Object.keys(n).map(s=>t(e?s.toUpperCase():s,a3(n[s])));return XX(["QuotedIdentifier","String","LineComment","BlockComment","."],mP(i))}let u3=ZK.configure({props:[PR.add({Statement:gS()}),vR.add({Statement(n,e){return{from:Math.min(n.from+100,e.doc.lineAt(n.from).to),to:n.to}},BlockComment(n){return{from:n.from+2,to:n.to-2}}}),cR({Keyword:w.keyword,Type:w.typeName,Builtin:w.standard(w.name),Bits:w.number,Bytes:w.string,Bool:w.bool,Null:w.null,Number:w.number,String:w.string,Identifier:w.name,QuotedIdentifier:w.special(w.string),SpecialVar:w.special(w.name),LineComment:w.lineComment,BlockComment:w.blockComment,Operator:w.operator,"Semi Punctuation":w.punctuation,"( )":w.paren,"{ }":w.brace,"[ ]":w.squareBracket})]});class fc{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}configureLanguage(e,t){return new fc(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=QK(e,e.keywords,e.types,e.builtin),i=oc.define({name:"sql",parser:u3.configure({tokenizers:[{from:BP,to:xP(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new fc(t,i,e)}}function E3(n,e){return{label:n,type:e,boost:-1}}function f3(n,e=!1,t){return c3(n.dialect.words,e,t||E3)}function h3(n){return n.schema?o3(n.schema,n.tables,n.schemas,n.defaultTable,n.defaultSchema,n.dialect||wR):()=>null}function T3(n){return n.schema?(n.dialect||wR).language.data.of({autocomplete:h3(n)}):[]}function d3(n={}){let e=n.dialect||wR;return new oP(e.language,[T3(n),e.language.data.of({autocomplete:f3(e,n.upperCaseKeywords,n.keywordCompletion)})])}const wR=fc.define({}),A3=fc.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:bP+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:UP+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"});class oL{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class zr{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let s=i.facet(hc).markerFilter;s&&(e=s(e,i));let o=e.slice().sort((O,N)=>O.from-N.from||O.to-N.to),a=new Ns,u=[],E=0,h=i.doc.iter(),T=0,A=i.doc.length;for(let O=0;;){let N=O==o.length?null:o[O];if(!N&&!u.length)break;let m,C;if(u.length)m=E,C=u.reduce((D,v)=>Math.min(D,v.to),N&&N.from>m?N.from:1e8);else{if(m=N.from,m>A)break;C=N.to,u.push(N),O++}for(;O<o.length;){let D=o[O];if(D.from==m&&(D.to>D.from||D.to==m))u.push(D),O++,C=Math.min(D.to,C);else{C=Math.min(D.from,C);break}}C=Math.min(C,A);let L=!1;if(u.some(D=>D.from==m&&(D.to==C||C==A))&&(L=m==C,!L&&C-m<10)){let D=m-(T+h.value.length);D>0&&(h.next(D),T=m);for(let v=m;;){if(v>=C){L=!0;break}if(!h.lineBreak&&T+h.value.length>v)break;v=T+h.value.length,T+=h.value.length,h.next()}}let _=WP(u);if(L)a.add(m,m,_e.widget({widget:new p3(_),diagnostics:u.slice()}));else{let D=u.reduce((v,U)=>U.markClass?v+" "+U.markClass:v,"");a.add(m,C,_e.mark({class:"cm-lintRange cm-lintRange-"+_+D,diagnostics:u.slice(),inclusiveEnd:u.some(v=>v.to>C)}))}if(E=C,E==A)break;for(let D=0;D<u.length;D++)u[D].to<=E&&u.splice(D--,1)}let R=a.finish();return new zr(R,t,Ar(R))}}function Ar(n,e=null,t=0){let i=null;return n.between(t,1e9,(s,o,{spec:a})=>{if(!(e&&a.diagnostics.indexOf(e)<0))if(!i)i=new oL(s,o,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new oL(i.from,o,i.diagnostic)}}),i}function HP(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(hc).hideOn(n,t,i);if(s!=null)return s;let o=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(a=>a.is(Vf))||n.changes.touchesRange(o.from,Math.max(o.to,i)))}function wP(n,e){return n.field(Wn,!1)?e:e.concat(be.appendConfig.of(y3))}function S3(n,e){return{effects:wP(n,[Vf.of(e)])}}const Vf=be.define(),FR=be.define(),FP=be.define(),Wn=Jt.define({create(){return new zr(_e.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let o=e.changes.mapPos(n.selected.from,1);i=Ar(t,n.selected.diagnostic,o)||Ar(t,null,o)}!t.size&&s&&e.state.facet(hc).autoPanel&&(s=null),n=new zr(t,s,i)}for(let t of e.effects)if(t.is(Vf)){let i=e.state.facet(hc).autoPanel?t.value.length?Tc.open:null:n.panel;n=zr.init(t.value,i,e.state)}else t.is(FR)?n=new zr(n.diagnostics,t.value?Tc.open:null,n.selected):t.is(FP)&&(n=new zr(n.diagnostics,n.panel,t.value));return n},provide:n=>[lc.from(n,e=>e.panel),Ae.decorations.from(n,e=>e.diagnostics)]}),R3=_e.mark({class:"cm-lintRange cm-lintRange-active"});function O3(n,e,t){let{diagnostics:i}=n.state.field(Wn),s,o=-1,a=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(E,h,{spec:T})=>{if(e>=E&&e<=h&&(E==h||(e>E||t>0)&&(e<h||t<0)))return s=T.diagnostics,o=E,a=h,!1});let u=n.state.facet(hc).tooltipFilter;return s&&u&&(s=u(s,n.state)),s?{pos:o,end:a,above:!0,create(){return{dom:YP(n,s)}}}:null}function YP(n,e){return rt("ul",{class:"cm-tooltip-lint"},e.map(t=>VP(n,t,!1)))}const N3=n=>{let e=n.state.field(Wn,!1);(!e||!e.panel)&&n.dispatch({effects:wP(n.state,[FR.of(!0)])});let t=DR(n,Tc.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},aL=n=>{let e=n.state.field(Wn,!1);return!e||!e.panel?!1:(n.dispatch({effects:FR.of(!1)}),!0)},m3=n=>{let e=n.state.field(Wn,!1);if(!e)return!1;let t=n.state.selection.main,i=Ar(e.diagnostics,null,t.to+1);return!i&&(i=Ar(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),xW(n,i.from,1,{tooltip:zP,until:s=>s.docChanged||s.newSelection.main.head<i.from||s.newSelection.main.head>i.to}),!0)},I3=[{key:"Mod-Shift-m",run:N3,preventDefault:!0},{key:"F8",run:m3}],hc=Re.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Oi(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:cL,tooltipFilter:cL,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,s,o)=>e(i,s,o)||t(i,s,o):e:t,autoPanel:(e,t)=>e||t})}}});function cL(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function kP(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let s=t[i];if(/[a-zA-Z]/.test(s)&&!e.some(o=>o.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function VP(n,e,t){var i;let s=t?kP(e.actions):[];return rt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},rt("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((o,a)=>{let u=!1,E=O=>{if(O.preventDefault(),u)return;u=!0;let N=Ar(n.state.field(Wn).diagnostics,e);N&&o.apply(n,N.from,N.to)},{name:h}=o,T=s[a]?h.indexOf(s[a]):-1,A=T<0?h:[h.slice(0,T),rt("u",h.slice(T,T+1)),h.slice(T+1)],R=o.markClass?" "+o.markClass:"";return rt("button",{type:"button",class:"cm-diagnosticAction"+R,onclick:E,onmousedown:E,"aria-label":` Action: ${h}${T<0?"":` (access key "${s[a]})"`}.`},A)}),e.source&&rt("div",{class:"cm-diagnosticSource"},e.source))}class p3 extends $i{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return rt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class uL{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=VP(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Tc{constructor(e){this.view=e,this.items=[];let t=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)aL(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:o}=this.items[this.selectedIndex],a=kP(o.actions);for(let u=0;u<a.length;u++)if(a[u].toUpperCase().charCodeAt(0)==s.keyCode){let E=Ar(this.view.state.field(Wn).diagnostics,o);E&&o.actions[u].apply(e,E.from,E.to)}}else return;s.preventDefault()}},i=s=>{for(let o=0;o<this.items.length;o++)this.items[o].dom.contains(s.target)&&this.moveSelection(o)};this.list=rt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=rt("div",{class:"cm-panel-lint"},this.list,rt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>aL(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Wn).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Wn),i=0,s=!1,o=null,a=new Set;for(e.between(0,this.view.state.doc.length,(u,E,{spec:h})=>{for(let T of h.diagnostics){if(a.has(T))continue;a.add(T);let A=-1,R;for(let O=i;O<this.items.length;O++)if(this.items[O].diagnostic==T){A=O;break}A<0?(R=new uL(this.view,T),this.items.splice(i,0,R),s=!0):(R=this.items[A],A>i&&(this.items.splice(i,A-i),s=!0)),t&&R.diagnostic==t.diagnostic?R.dom.hasAttribute("aria-selected")||(R.dom.setAttribute("aria-selected","true"),o=R):R.dom.hasAttribute("aria-selected")&&R.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new uL(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:u,panel:E})=>{let h=E.height/this.list.offsetHeight;u.top<E.top?this.list.scrollTop-=(E.top-u.top)/h:u.bottom>E.bottom&&(this.list.scrollTop+=(u.bottom-E.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Wn),i=Ar(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:FP.of(i)})}static open(e){return new Tc(e)}}function HE(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function OE(n){return HE(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const C3=Ae.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:OE("#f11")},".cm-lintRange-warning":{backgroundImage:OE("orange")},".cm-lintRange-info":{backgroundImage:OE("#999")},".cm-lintRange-hint":{backgroundImage:OE("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function g3(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function WP(n){let e="hint",t=1;for(let i of n){let s=g3(i.severity);s>t&&(t=s,e=i.severity)}return e}class XP extends Xi{constructor(e){super(),this.diagnostics=e,this.severity=WP(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,s=e.state.facet(Wf).tooltipFilter;return s&&(i=s(i,e.state)),i.length&&(t.onmouseover=()=>_3(e,t,i)),t}}function L3(n,e){let t=i=>{let s=e.getBoundingClientRect();if(!(i.clientX>s.left-10&&i.clientX<s.right+10&&i.clientY>s.top-10&&i.clientY<s.bottom+10)){for(let o=i.target;o;o=o.parentNode)if(o.nodeType==1&&o.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",t),n.state.field(KP)&&n.dispatch({effects:YR.of(null)})}};window.addEventListener("mousemove",t)}function _3(n,e,t){function i(){let a=n.elementAtHeight(e.getBoundingClientRect().top+5-n.documentTop);n.coordsAtPos(a.from)&&n.dispatch({effects:YR.of({pos:a.from,above:!1,clip:!1,create(){return{dom:YP(n,t),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,L3(n,e)}let{hoverTime:s}=n.state.facet(Wf),o=setTimeout(i,s);e.onmouseout=()=>{clearTimeout(o),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(o),o=setTimeout(i,s)}}function D3(n,e){let t=Object.create(null);for(let s of e){let o=n.lineAt(s.from);(t[o.from]||(t[o.from]=[])).push(s)}let i=[];for(let s in t)i.push(new XP(t[s]).range(+s));return Fe.of(i,!0)}const M3=iP({class:"cm-gutter-lint",markers:n=>n.state.field(US),widgetMarker:(n,e,t)=>{let i=[];return n.state.field(US).between(t.from,t.to,(s,o,a)=>{s>t.from&&s<t.to&&i.push(...a.diagnostics)}),i.length?new XP(i):null}}),US=Jt.define({create(){return Fe.empty},update(n,e){n=n.map(e.changes);let t=e.state.facet(Wf).markerFilter;for(let i of e.effects)if(i.is(Vf)){let s=i.value;t&&(s=t(s||[],e.state)),n=D3(e.state.doc,s.slice(0))}return n}}),YR=be.define(),KP=Jt.define({create(){return null},update(n,e){return n&&e.docChanged&&(n=HP(e,n)?null:{...n,pos:e.changes.mapPos(n.pos)}),e.effects.reduce((t,i)=>i.is(YR)?i.value:t,n)},provide:n=>Gf.from(n)}),P3=Ae.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:HE('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:HE('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:HE('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),zP=bW(O3,{hideOn:HP}),y3=[Wn,Ae.decorations.compute([Wn],n=>{let{selected:e,panel:t}=n.field(Wn);return!e||!t||e.from==e.to?_e.none:_e.set([R3.range(e.from,e.to)])}),zP,C3],Wf=Re.define({combine(n){return Oi(n,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function v3(n={}){return[Wf.of(n),US,M3,P3,KP]}function bS(){return bS=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},bS.apply(null,arguments)}function U3(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}const b3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=VR(n.state,t.from);return i.line?x3(n):i.block?G3(n):!1};function kR(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const x3=kR(F3,0),B3=kR($P,0),G3=kR((n,e)=>$P(n,e,w3(e)),0);function VR(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const va=50;function H3(n,{open:e,close:t},i,s){let o=n.sliceDoc(i-va,i),a=n.sliceDoc(s,s+va),u=/\s*$/.exec(o)[0].length,E=/^\s*/.exec(a)[0].length,h=o.length-u;if(o.slice(h-e.length,h)==e&&a.slice(E,E+t.length)==t)return{open:{pos:i-u,margin:u&&1},close:{pos:s+E,margin:E&&1}};let T,A;s-i<=2*va?T=A=n.sliceDoc(i,s):(T=n.sliceDoc(i,i+va),A=n.sliceDoc(s-va,s));let R=/^\s*/.exec(T)[0].length,O=/\s*$/.exec(A)[0].length,N=A.length-O-t.length;return T.slice(R,R+e.length)==e&&A.slice(N,N+t.length)==t?{open:{pos:i+R+e.length,margin:/\s/.test(T.charAt(R+e.length))?1:0},close:{pos:s-O-t.length,margin:/\s/.test(A.charAt(N-1))?1:0}}:null}function w3(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to);s.from>i.from&&s.from==t.to&&(s=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let o=e.length-1;o>=0&&e[o].to>i.from?e[o].to=s.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:s.to})}return e}function $P(n,e,t=e.selection.ranges){let i=t.map(o=>VR(e,o.from).block);if(!i.every(o=>o))return null;let s=t.map((o,a)=>H3(e,i[a],o.from,o.to));if(n!=2&&!s.every(o=>o))return{changes:e.changes(t.map((o,a)=>s[a]?[]:[{from:o.from,insert:i[a].open+" "},{from:o.to,insert:" "+i[a].close}]))};if(n!=1&&s.some(o=>o)){let o=[];for(let a=0,u;a<s.length;a++)if(u=s[a]){let E=i[a],{open:h,close:T}=u;o.push({from:h.pos-E.open.length,to:h.pos+h.margin},{from:T.pos-T.margin,to:T.pos+E.close.length})}return{changes:o}}return null}function F3(n,e,t=e.selection.ranges){let i=[],s=-1;e:for(let{from:o,to:a}of t){let u=i.length,E=1e9,h;for(let T=o;T<=a;){let A=e.doc.lineAt(T);if(h==null&&(h=VR(e,A.from).line,!h))continue e;if(A.from>s&&(o==a||a>A.from)){s=A.from;let R=/^\s*/.exec(A.text)[0].length,O=R==A.length,N=A.text.slice(R,R+h.length)==h?R:-1;R<A.text.length&&R<E&&(E=R),i.push({line:A,comment:N,token:h,indent:R,empty:O,single:!1})}T=A.to+1}if(E<1e9)for(let T=u;T<i.length;T++)i[T].indent<i[T].line.text.length&&(i[T].indent=E);i.length==u+1&&(i[u].single=!0)}if(n!=2&&i.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:u,token:E,indent:h,empty:T,single:A}of i)(A||!T)&&o.push({from:u.from+h,insert:E+" "});let a=e.changes(o);return{changes:a,selection:e.selection.map(a,1)}}else if(n!=1&&i.some(o=>o.comment>=0)){let o=[];for(let{line:a,comment:u,token:E}of i)if(u>=0){let h=a.from+u,T=h+E.length;a.text[T-a.from]==" "&&T++,o.push({from:h,to:T})}return{changes:o}}return null}const xS=zi.define(),Y3=zi.define(),k3=Re.define(),jP=Re.define({combine(n){return Oi(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,s)=>e(i,s)||t(i,s)})}}),JP=Jt.define({create(){return ki.empty},update(n,e){let t=e.state.facet(jP),i=e.annotation(xS);if(i){let E=Ln.fromTransaction(e,i.selection),h=i.side,T=h==0?n.undone:n.done;return E?T=df(T,T.length,t.minDepth,E):T=ZP(T,e.startState.selection),new ki(h==0?i.rest:T,h==0?T:i.rest)}let s=e.annotation(Y3);if((s=="full"||s=="before")&&(n=n.isolate()),e.annotation(Ft.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let o=Ln.fromTransaction(e),a=e.annotation(Ft.time),u=e.annotation(Ft.userEvent);return o?n=n.addChanges(o,a,u,t,e):e.selection&&(n=n.addSelection(e.startState.selection,a,u,t.newGroupDelay)),(s=="full"||s=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new ki(n.done.map(Ln.fromJSON),n.undone.map(Ln.fromJSON))}});function V3(n={}){return[JP,jP.of(n),Ae.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?qP:e.inputType=="historyRedo"?BS:null;return i?(e.preventDefault(),i(t)):!1}})]}function Xf(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let s=t.field(JP,!1);if(!s)return!1;let o=s.pop(n,t,e);return o?(i(o),!0):!1}}const qP=Xf(0,!1),BS=Xf(1,!1),W3=Xf(0,!0),X3=Xf(1,!0);class Ln{constructor(e,t,i,s,o){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=s,this.selectionsAfter=o}setSelAfter(e){return new Ln(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new Ln(e.changes&&wt.fromJSON(e.changes),[],e.mapped&&Wi.fromJSON(e.mapped),e.startSelection&&q.fromJSON(e.startSelection),e.selectionsAfter.map(q.fromJSON))}static fromTransaction(e,t){let i=ri;for(let s of e.startState.facet(k3)){let o=s(e);o.length&&(i=i.concat(o))}return!i.length&&e.changes.empty?null:new Ln(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,ri)}static selection(e){return new Ln(void 0,ri,void 0,void 0,e)}}function df(n,e,t,i){let s=e+1>t+20?e-t-1:0,o=n.slice(s,e);return o.push(i),o}function K3(n,e){let t=[],i=!1;return n.iterChangedRanges((s,o)=>t.push(s,o)),e.iterChangedRanges((s,o,a,u)=>{for(let E=0;E<t.length;){let h=t[E++],T=t[E++];u>=h&&a<=T&&(i=!0)}}),i}function z3(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function QP(n,e){return n.length?e.length?n.concat(e):n:e}const ri=[],$3=200;function ZP(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-$3));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),df(n,n.length-1,1e9,t.setSelAfter(i)))}else return[Ln.selection([e])]}function j3(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function IA(n,e){if(!n.length)return n;let t=n.length,i=ri;for(;t;){let s=J3(n[t-1],e,i);if(s.changes&&!s.changes.empty||s.effects.length){let o=n.slice(0,t);return o[t-1]=s,o}else e=s.mapped,t--,i=s.selectionsAfter}return i.length?[Ln.selection(i)]:ri}function J3(n,e,t){let i=QP(n.selectionsAfter.length?n.selectionsAfter.map(u=>u.map(e)):ri,t);if(!n.changes)return Ln.selection(i);let s=n.changes.map(e),o=e.mapDesc(n.changes,!0),a=n.mapped?n.mapped.composeDesc(o):o;return new Ln(s,be.mapEffects(n.effects,e),a,n.startSelection.map(o),i)}const q3=/^(input\.type|delete)($|\.)/;class ki{constructor(e,t,i=0,s=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=s}isolate(){return this.prevTime?new ki(this.done,this.undone):this}addChanges(e,t,i,s,o){let a=this.done,u=a[a.length-1];return u&&u.changes&&!u.changes.empty&&e.changes&&(!i||q3.test(i))&&(!u.selectionsAfter.length&&t-this.prevTime<s.newGroupDelay&&s.joinToEvent(o,K3(u.changes,e.changes))||i=="input.type.compose")?a=df(a,a.length-1,s.minDepth,new Ln(e.changes.compose(u.changes),QP(be.mapEffects(e.effects,u.changes),u.effects),u.mapped,u.startSelection,ri)):a=df(a,a.length,s.minDepth,e),new ki(a,ri,t,i)}addSelection(e,t,i,s){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:ri;return o.length>0&&t-this.prevTime<s&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&z3(o[o.length-1],e)?this:new ki(ZP(this.done,e),this.undone,t,i)}addMapping(e){return new ki(IA(this.done,e),IA(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let s=e==0?this.done:this.undone;if(s.length==0)return null;let o=s[s.length-1],a=o.selectionsAfter[0]||(o.startSelection?o.startSelection.map(o.changes.invertedDesc,1):t.selection);if(i&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:xS.of({side:e,rest:j3(s),selection:a}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let u=s.length==1?ri:s.slice(0,s.length-1);return o.mapped&&(u=IA(u,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:xS.of({side:e,rest:u,selection:a}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}ki.empty=new ki(ri,ri);const Q3=[{key:"Mod-z",run:qP,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:BS,preventDefault:!0},{linux:"Ctrl-Shift-z",run:BS,preventDefault:!0},{key:"Mod-u",run:W3,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:X3,preventDefault:!0}];function yo(n,e){return q.create(n.ranges.map(e),n.mainIndex)}function Ni(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function mi({state:n,dispatch:e},t){let i=yo(n.selection,t);return i.eq(n.selection,!0)?!1:(e(Ni(n,i)),!0)}function Kf(n,e){return q.cursor(e?n.to:n.from)}function ey(n,e){return mi(n,t=>t.empty?n.moveByChar(t,e):Kf(t,e))}function cn(n){return n.textDirectionAt(n.state.selection.main.head)==at.LTR}const ty=n=>ey(n,!cn(n)),ny=n=>ey(n,cn(n));function iy(n,e){return mi(n,t=>t.empty?n.moveByGroup(t,e):Kf(t,e))}const Z3=n=>iy(n,!cn(n)),e4=n=>iy(n,cn(n));function t4(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function zf(n,e,t){let i=jt(n).resolveInner(e.head),s=t?Ye.closedBy:Ye.openedBy;for(let E=e.head;;){let h=t?i.childAfter(E):i.childBefore(E);if(!h)break;t4(n,h,s)?i=h:E=t?h.to:h.from}let o=i.type.prop(s),a,u;return o&&(a=t?Yi(n,i.from,1):Yi(n,i.to,-1))&&a.matched?u=t?a.end.to:a.end.from:u=t?i.to:i.from,q.cursor(u,t?-1:1)}const n4=n=>mi(n,e=>zf(n.state,e,!cn(n))),i4=n=>mi(n,e=>zf(n.state,e,cn(n)));function sy(n,e){return mi(n,t=>{if(!t.empty)return Kf(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const ry=n=>sy(n,!1),ly=n=>sy(n,!0);function oy(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,s;if(e){for(let o of n.state.facet(Ae.scrollMargins)){let a=o(n);a!=null&&a.top&&(t=Math.max(a==null?void 0:a.top,t)),a!=null&&a.bottom&&(i=Math.max(a==null?void 0:a.bottom,i))}s=n.scrollDOM.clientHeight-t-i}else s=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,s-5)}}function ay(n,e){let t=oy(n),{state:i}=n,s=yo(i.selection,a=>a.empty?n.moveVertically(a,e,t.height):Kf(a,e));if(s.eq(i.selection))return!1;let o;if(t.selfScroll){let a=n.coordsAtPos(i.selection.main.head),u=n.scrollDOM.getBoundingClientRect(),E=u.top+t.marginTop,h=u.bottom-t.marginBottom;a&&a.top>E&&a.bottom<h&&(o=Ae.scrollIntoView(s.main.head,{y:"start",yMargin:a.top-E}))}return n.dispatch(Ni(i,s),{effects:o}),!0}const EL=n=>ay(n,!1),GS=n=>ay(n,!0);function Nr(n,e,t){let i=n.lineBlockAt(e.head),s=n.moveToLineBoundary(e,t);if(s.head==e.head&&s.head!=(t?i.to:i.from)&&(s=n.moveToLineBoundary(e,t,!1)),!t&&s.head==i.from&&i.length){let o=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;o&&e.head!=i.from+o&&(s=q.cursor(i.from+o))}return s}const s4=n=>mi(n,e=>Nr(n,e,!0)),r4=n=>mi(n,e=>Nr(n,e,!1)),l4=n=>mi(n,e=>Nr(n,e,!cn(n))),o4=n=>mi(n,e=>Nr(n,e,cn(n))),a4=n=>mi(n,e=>q.cursor(n.lineBlockAt(e.head).from,1)),c4=n=>mi(n,e=>q.cursor(n.lineBlockAt(e.head).to,-1));function u4(n,e,t){let i=!1,s=yo(n.selection,o=>{let a=Yi(n,o.head,-1)||Yi(n,o.head,1)||o.head>0&&Yi(n,o.head-1,1)||o.head<n.doc.length&&Yi(n,o.head+1,-1);if(!a||!a.end)return o;i=!0;let u=a.start.from==o.head?a.end.to:a.end.from;return q.cursor(u)});return i?(e(Ni(n,s)),!0):!1}const E4=({state:n,dispatch:e})=>u4(n,e);function oi(n,e,t){let i=yo(n.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=e&&(s=q.range(s.head,s.anchor));let o=t(s);return q.range(s.anchor,o.head,o.goalColumn,o.bidiLevel||void 0,o.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(Ni(n.state,i)),!0)}function cy(n,e){return oi(n,e,t=>n.moveByChar(t,e))}const uy=n=>cy(n,!cn(n)),Ey=n=>cy(n,cn(n));function fy(n,e){return oi(n,e,t=>n.moveByGroup(t,e))}const f4=n=>fy(n,!cn(n)),h4=n=>fy(n,cn(n)),T4=n=>{let e=!cn(n);return oi(n,e,t=>zf(n.state,t,e))},d4=n=>{let e=cn(n);return oi(n,e,t=>zf(n.state,t,e))};function hy(n,e){return oi(n,e,t=>n.moveVertically(t,e))}const Ty=n=>hy(n,!1),dy=n=>hy(n,!0);function Ay(n,e){return oi(n,e,t=>n.moveVertically(t,e,oy(n).height))}const fL=n=>Ay(n,!1),hL=n=>Ay(n,!0),A4=n=>oi(n,!0,e=>Nr(n,e,!0)),S4=n=>oi(n,!1,e=>Nr(n,e,!1)),R4=n=>{let e=!cn(n);return oi(n,e,t=>Nr(n,t,e))},O4=n=>{let e=cn(n);return oi(n,e,t=>Nr(n,t,e))},N4=n=>oi(n,!1,e=>q.cursor(n.lineBlockAt(e.head).from)),m4=n=>oi(n,!0,e=>q.cursor(n.lineBlockAt(e.head).to)),TL=({state:n,dispatch:e})=>(e(Ni(n,{anchor:0})),!0),dL=({state:n,dispatch:e})=>(e(Ni(n,{anchor:n.doc.length})),!0),AL=({state:n,dispatch:e})=>(e(Ni(n,{anchor:n.selection.main.anchor,head:0})),!0),SL=({state:n,dispatch:e})=>(e(Ni(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),I4=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),p4=({state:n,dispatch:e})=>{let t=$f(n).map(({from:i,to:s})=>q.range(i,Math.min(s+1,n.doc.length)));return e(n.update({selection:q.create(t),userEvent:"select"})),!0},C4=({state:n,dispatch:e})=>{let t=yo(n.selection,i=>{let s=jt(n),o=s.resolveStack(i.from,1);if(i.empty){let a=s.resolveStack(i.from,-1);a.node.from>=o.node.from&&a.node.to<=o.node.to&&(o=a)}for(let a=o;a;a=a.next){let{node:u}=a;if((u.from<i.from&&u.to>=i.to||u.to>i.to&&u.from<=i.from)&&a.next)return q.range(u.to,u.from)}return i});return t.eq(n.selection)?!1:(e(Ni(n,t)),!0)};function Sy(n,e){let{state:t}=n,i=t.selection,s=t.selection.ranges.slice();for(let o of t.selection.ranges){let a=t.doc.lineAt(o.head);if(e?a.to<n.state.doc.length:a.from>0)for(let u=o;;){let E=n.moveVertically(u,e);if(E.head<a.from||E.head>a.to){s.some(h=>h.head==E.head)||s.push(E);break}else{if(E.head==u.head)break;u=E}}}return s.length==i.ranges.length?!1:(n.dispatch(Ni(t,q.create(s,s.length-1))),!0)}const g4=n=>Sy(n,!1),L4=n=>Sy(n,!0),_4=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=q.create([t.main]):t.main.empty||(i=q.create([q.cursor(t.main.head)])),i?(e(Ni(n,i)),!0):!1};function Cc(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,s=i.changeByRange(o=>{let{from:a,to:u}=o;if(a==u){let E=e(o);E<a?(t="delete.backward",E=NE(n,E,!1)):E>a&&(t="delete.forward",E=NE(n,E,!0)),a=Math.min(a,E),u=Math.max(u,E)}else a=NE(n,a,!1),u=NE(n,u,!0);return a==u?{range:o}:{changes:{from:a,to:u},range:q.cursor(a,a<o.head?-1:1)}});return s.changes.empty?!1:(n.dispatch(i.update(s,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Ae.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function NE(n,e,t){if(n instanceof Ae)for(let i of n.state.facet(Ae.atomicRanges).map(s=>s(n)))i.between(e,e,(s,o)=>{s<e&&o>e&&(e=t?o:s)});return e}const Ry=(n,e,t)=>Cc(n,i=>{let s=i.from,{state:o}=n,a=o.doc.lineAt(s),u,E;if(t&&!e&&s>a.from&&s<a.from+200&&!/[^ \t]/.test(u=a.text.slice(0,s-a.from))){if(u[u.length-1]==" ")return s-1;let h=Mo(u,o.tabSize),T=h%cf(o)||cf(o);for(let A=0;A<T&&u[u.length-1-A]==" ";A++)s--;E=s}else E=Kt(a.text,s-a.from,e,e)+a.from,E==s&&a.number!=(e?o.doc.lines:1)?E+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(a.text.slice(E-a.from,s-a.from))&&(E=Kt(a.text,E-a.from,!1,!1)+a.from);return E}),HS=n=>Ry(n,!1,!0),Oy=n=>Ry(n,!0,!1),Ny=(n,e)=>Cc(n,t=>{let i=t.head,{state:s}=n,o=s.doc.lineAt(i),a=s.charCategorizer(i);for(let u=null;;){if(i==(e?o.to:o.from)){i==t.head&&o.number!=(e?s.doc.lines:1)&&(i+=e?1:-1);break}let E=Kt(o.text,i-o.from,e)+o.from,h=o.text.slice(Math.min(i,E)-o.from,Math.max(i,E)-o.from),T=a(h);if(u!=null&&T!=u)break;(h!=" "||i!=t.head)&&(u=T),i=E}return i}),my=n=>Ny(n,!1),D4=n=>Ny(n,!0),M4=n=>Cc(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),P4=n=>Cc(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),y4=n=>Cc(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),v4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:$e.of(["",""])},range:q.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},U4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let s=i.from,o=n.doc.lineAt(s),a=s==o.from?s-1:Kt(o.text,s-o.from,!1)+o.from,u=s==o.to?s+1:Kt(o.text,s-o.from,!0)+o.from;return{changes:{from:a,to:u,insert:n.doc.slice(s,u).append(n.doc.slice(a,s))},range:q.cursor(u)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function $f(n){let e=[],t=-1;for(let i of n.selection.ranges){let s=n.doc.lineAt(i.from),o=n.doc.lineAt(i.to);if(!i.empty&&i.to==o.from&&(o=n.doc.lineAt(i.to-1)),t>=s.number){let a=e[e.length-1];a.to=o.to,a.ranges.push(i)}else e.push({from:s.from,to:o.to,ranges:[i]});t=o.number+1}return e}function Iy(n,e,t){if(n.readOnly)return!1;let i=[],s=[];for(let o of $f(n)){if(t?o.to==n.doc.length:o.from==0)continue;let a=n.doc.lineAt(t?o.to+1:o.from-1),u=a.length+1;if(t){i.push({from:o.to,to:a.to},{from:o.from,insert:a.text+n.lineBreak});for(let E of o.ranges)s.push(q.range(Math.min(n.doc.length,E.anchor+u),Math.min(n.doc.length,E.head+u)))}else{i.push({from:a.from,to:o.from},{from:o.to,insert:n.lineBreak+a.text});for(let E of o.ranges)s.push(q.range(E.anchor-u,E.head-u))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:q.create(s,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const b4=({state:n,dispatch:e})=>Iy(n,e,!1),x4=({state:n,dispatch:e})=>Iy(n,e,!0);function py(n,e,t){if(n.readOnly)return!1;let i=[];for(let o of $f(n))t?i.push({from:o.from,insert:n.doc.slice(o.from,o.to)+n.lineBreak}):i.push({from:o.to,insert:n.lineBreak+n.doc.slice(o.from,o.to)});let s=n.changes(i);return e(n.update({changes:s,selection:n.selection.map(s,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const B4=({state:n,dispatch:e})=>py(n,e,!1),G4=({state:n,dispatch:e})=>py(n,e,!0),H4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes($f(e).map(({from:s,to:o})=>(s>0?s--:o<e.doc.length&&o++,{from:s,to:o}))),i=yo(e.selection,s=>{let o;if(n.lineWrapping){let a=n.lineBlockAt(s.head),u=n.coordsAtPos(s.head,s.assoc||1);u&&(o=a.bottom+n.documentTop-u.bottom+n.defaultLineHeight/2)}return n.moveVertically(s,!0,o)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function w4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=jt(n).resolveInner(e),i=t.childBefore(e),s=t.childAfter(e),o;return i&&s&&i.to<=e&&s.from>=e&&(o=i.type.prop(Ye.closedBy))&&o.indexOf(s.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(s.from).from&&!/\S/.test(n.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}const RL=Cy(!1),F4=Cy(!0);function Cy(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(s=>{let{from:o,to:a}=s,u=e.doc.lineAt(o),E=!n&&o==a&&w4(e,o);n&&(o=a=(a<=u.to?u:e.doc.lineAt(a)).to);let h=new Ff(e,{simulateBreak:o,simulateDoubleBreak:!!E}),T=MR(h,o);for(T==null&&(T=Mo(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));a<u.to&&/\s/.test(u.text[a-u.from]);)a++;E?{from:o,to:a}=E:o>u.from&&o<u.from+100&&!/\S/.test(u.text.slice(0,o))&&(o=u.from);let A=["",ac(e,T)];return E&&A.push(ac(e,h.lineIndent(u.from,-1))),{changes:{from:o,to:a,insert:$e.of(A)},range:q.cursor(o+1+A[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function WR(n,e){let t=-1;return n.changeByRange(i=>{let s=[];for(let a=i.from;a<=i.to;){let u=n.doc.lineAt(a);u.number>t&&(i.empty||i.to>u.from)&&(e(u,s,i),t=u.number),a=u.to+1}let o=n.changes(s);return{changes:s,range:q.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}const Y4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new Ff(n,{overrideIndentation:o=>{let a=t[o];return a??-1}}),s=WR(n,(o,a,u)=>{let E=MR(i,o.from);if(E==null)return;/\S/.test(o.text)||(E=0);let h=/^\s*/.exec(o.text)[0],T=ac(n,E);(h!=T||u.from<o.from+h.length)&&(t[o.from]=E,a.push({from:o.from,to:o.from+h.length,insert:T}))});return s.changes.empty||e(n.update(s,{userEvent:"indent"})),!0},gy=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(WR(n,(t,i)=>{i.push({from:t.from,insert:n.facet(wf)})}),{userEvent:"input.indent"})),!0),Ly=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(WR(n,(t,i)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let o=Mo(s,n.tabSize),a=0,u=ac(n,Math.max(0,o-cf(n)));for(;a<s.length&&a<u.length&&s.charCodeAt(a)==u.charCodeAt(a);)a++;i.push({from:t.from+a,to:t.from+s.length,insert:u.slice(a)})}),{userEvent:"delete.dedent"})),!0),k4=n=>(n.setTabFocusMode(),!0),V4=[{key:"Ctrl-b",run:ty,shift:uy,preventDefault:!0},{key:"Ctrl-f",run:ny,shift:Ey},{key:"Ctrl-p",run:ry,shift:Ty},{key:"Ctrl-n",run:ly,shift:dy},{key:"Ctrl-a",run:a4,shift:N4},{key:"Ctrl-e",run:c4,shift:m4},{key:"Ctrl-d",run:Oy},{key:"Ctrl-h",run:HS},{key:"Ctrl-k",run:M4},{key:"Ctrl-Alt-h",run:my},{key:"Ctrl-o",run:v4},{key:"Ctrl-t",run:U4},{key:"Ctrl-v",run:GS}],W4=[{key:"ArrowLeft",run:ty,shift:uy,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Z3,shift:f4,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:l4,shift:R4,preventDefault:!0},{key:"ArrowRight",run:ny,shift:Ey,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e4,shift:h4,preventDefault:!0},{mac:"Cmd-ArrowRight",run:o4,shift:O4,preventDefault:!0},{key:"ArrowUp",run:ry,shift:Ty,preventDefault:!0},{mac:"Cmd-ArrowUp",run:TL,shift:AL},{mac:"Ctrl-ArrowUp",run:EL,shift:fL},{key:"ArrowDown",run:ly,shift:dy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:dL,shift:SL},{mac:"Ctrl-ArrowDown",run:GS,shift:hL},{key:"PageUp",run:EL,shift:fL},{key:"PageDown",run:GS,shift:hL},{key:"Home",run:r4,shift:S4,preventDefault:!0},{key:"Mod-Home",run:TL,shift:AL},{key:"End",run:s4,shift:A4,preventDefault:!0},{key:"Mod-End",run:dL,shift:SL},{key:"Enter",run:RL,shift:RL},{key:"Mod-a",run:I4},{key:"Backspace",run:HS,shift:HS,preventDefault:!0},{key:"Delete",run:Oy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:my,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:D4,preventDefault:!0},{mac:"Mod-Backspace",run:P4,preventDefault:!0},{mac:"Mod-Delete",run:y4,preventDefault:!0}].concat(V4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),X4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:n4,shift:T4},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:i4,shift:d4},{key:"Alt-ArrowUp",run:b4},{key:"Shift-Alt-ArrowUp",run:B4},{key:"Alt-ArrowDown",run:x4},{key:"Shift-Alt-ArrowDown",run:G4},{key:"Mod-Alt-ArrowUp",run:g4},{key:"Mod-Alt-ArrowDown",run:L4},{key:"Escape",run:_4},{key:"Mod-Enter",run:F4},{key:"Alt-l",mac:"Ctrl-l",run:p4},{key:"Mod-i",run:C4,preventDefault:!0},{key:"Mod-[",run:Ly},{key:"Mod-]",run:gy},{key:"Mod-Alt-\\",run:Y4},{key:"Shift-Mod-k",run:H4},{key:"Shift-Mod-\\",run:E4},{key:"Mod-/",run:b3},{key:"Alt-A",run:B3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:k4}].concat(W4),K4={key:"Tab",run:gy,shift:Ly},OL=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class go{constructor(e,t,i=0,s=e.length,o,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,s),this.bufferStart=i,this.normalize=o?u=>o(OL(u)):OL,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return In(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=uR(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Gi(e);let s=this.normalize(t);if(s.length)for(let o=0,a=i,u=!0;;o++){let E=s.charCodeAt(o),h=this.match(E,a,u,this.bufferPos+this.bufferStart,o==s.length-1);if(h)return this.value=h,this;if(o==s.length-1)break;u&&o<t.length&&t.charCodeAt(o)==E?a++:u=!1}}}match(e,t,i,s,o){let a=null;for(let u=0;u<this.matches.length;){let E=this.matches[u],h=!1;this.query.charCodeAt(E.index)==e&&(E.index==this.query.length-1?a={from:E.from,to:s,precise:o&&E.precise}:(E.index++,h=!0)),h?u++:this.matches.splice(u,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:s,precise:i&&o}:this.matches.push({from:t,index:1,precise:i})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}}typeof Symbol<"u"&&(go.prototype[Symbol.iterator]=function(){return this});const _y={from:-1,to:-1,match:/.*/.exec(""),precise:!0},XR="gm"+(/x/.unicode==null?"":"u");class Dy{constructor(e,t,i,s=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=_y,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new My(e,t,i,s,o);this.re=new RegExp(t,XR+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let a=e.lineAt(s);this.curLineStart=a.from,this.matchPos=Af(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,s=i+t[0].length;if(this.matchPos=Af(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<s||i>this.value.to)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const pA=new WeakMap;class So{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let s=pA.get(e);if(!s||s.from>=i||s.to<=t){let u=new So(t,e.sliceString(t,i));return pA.set(e,u),u}if(s.from==t&&s.to==i)return s;let{text:o,from:a}=s;return a>t&&(o=e.sliceString(t,a)+o,a=t),s.to<i&&(o+=e.sliceString(s.to,i)),pA.set(e,new So(a,o)),new So(t,o.slice(t-a,i-a))}}class My{constructor(e,t,i,s,o){this.text=e,this.to=o,this.done=!1,this.value=_y,this.matchPos=Af(e,s),this.re=new RegExp(t,XR+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=So.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,s=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:!0,match:t},this.matchPos=Af(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=So.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Dy.prototype[Symbol.iterator]=My.prototype[Symbol.iterator]=function(){return this});function z4(n){try{return new RegExp(n,XR),!0}catch{return!1}}function Af(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e<t.to&&(i=t.text.charCodeAt(e-t.from))>=56320&&i<57344;)e++;return e}const $4=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:i,result:s}=GW(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return s.then(o=>{let a=o&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(o.elements.line.value);if(!a){n.dispatch({effects:i});return}let u=e.doc.lineAt(e.selection.main.head),[,E,h,T,A]=a,R=T?+T.slice(1):0,O=h?+h:u.number;if(h&&A){let C=O/100;E&&(C=C*(E=="-"?-1:1)+u.number/e.doc.lines),O=Math.round(e.doc.lines*C)}else h&&E&&(O=O*(E=="-"?-1:1)+u.number);let N=e.doc.line(Math.max(1,Math.min(e.doc.lines,O))),m=q.cursor(N.from+Math.max(0,Math.min(R,N.length)));n.dispatch({effects:[i,Ae.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0},j4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},J4=Re.define({combine(n){return Oi(n,j4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function q4(n){return[nz,tz]}const Q4=_e.mark({class:"cm-selectionMatch"}),Z4=_e.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function NL(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=Tt.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=Tt.Word)}function ez(n,e,t,i){return n(e.sliceDoc(t,t+1))==Tt.Word&&n(e.sliceDoc(i-1,i))==Tt.Word}const tz=It.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(J4),{state:t}=n,i=t.selection;if(i.ranges.length>1)return _e.none;let s=i.main,o,a=null;if(s.empty){if(!e.highlightWordAroundCursor)return _e.none;let E=t.wordAt(s.head);if(!E)return _e.none;a=t.charCategorizer(s.head),o=t.sliceDoc(E.from,E.to)}else{let E=s.to-s.from;if(E<e.minSelectionLength||E>200)return _e.none;if(e.wholeWords){if(o=t.sliceDoc(s.from,s.to),a=t.charCategorizer(s.head),!(NL(a,t,s.from,s.to)&&ez(a,t,s.from,s.to)))return _e.none}else if(o=t.sliceDoc(s.from,s.to),!o)return _e.none}let u=[];for(let E of n.visibleRanges){let h=new go(t.doc,o,E.from,E.to);for(;!h.next().done;){let{from:T,to:A}=h.value;if((!a||NL(a,t,T,A))&&(s.empty&&T<=s.from&&A>=s.to?u.push(Z4.range(T,A)):(T>=s.to||A<=s.from)&&u.push(Q4.range(T,A)),u.length>e.maxMatches))return _e.none}}return _e.set(u)}},{decorations:n=>n.decorations}),nz=Ae.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),iz=({state:n,dispatch:e})=>{let{selection:t}=n,i=q.create(t.ranges.map(s=>n.wordAt(s.head)||q.cursor(s.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function sz(n,e){let{main:t,ranges:i}=n.selection,s=n.wordAt(t.head),o=s&&s.from==t.from&&s.to==t.to;for(let a=!1,u=new go(n.doc,e,i[i.length-1].to);;)if(u.next(),u.done){if(a)return null;u=new go(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(E=>E.from==u.value.from))continue;if(o){let E=n.wordAt(u.value.from);if(!E||E.from!=u.value.from||E.to!=u.value.to)continue}return u.value}}const rz=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(o=>o.from===o.to))return iz({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(o=>n.sliceDoc(o.from,o.to)!=i))return!1;let s=sz(n,i);return s?(e(n.update({selection:n.selection.addRange(q.range(s.from,s.to),!1),effects:Ae.scrollIntoView(s.to)})),!0):!1},vo=Re.define({combine(n){return Oi(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Oz(e),scrollToMatch:e=>Ae.scrollIntoView(e)})}});class Py{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||z4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?`
225
- `:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Ez(this):new az(this)}getCursor(e,t=0,i){let s=e.doc?e:ze.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?io(this,s,t,i):no(this,s,t,i)}}class yy{constructor(e){this.spec=e}}function lz(n,e,t){return(i,s,o,a)=>{if(t&&!t(i,s,o,a))return!1;let u=i>=a&&s<=a+o.length?o.slice(i-a,s-a):e.doc.sliceString(i,s);return n(u,e,i,s)}}function no(n,e,t,i){let s;return n.wholeWord&&(s=oz(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(s=lz(n.test,e,s)),new go(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:o=>o.toLowerCase(),s)}function oz(n,e){return(t,i,s,o)=>((o>t||o+s.length<i)&&(o=Math.max(0,t-2),s=n.sliceString(o,Math.min(n.length,i+2))),(e(Sf(s,t-o))!=Tt.Word||e(Rf(s,t-o))!=Tt.Word)&&(e(Rf(s,i-o))!=Tt.Word||e(Sf(s,i-o))!=Tt.Word))}class az extends yy{constructor(e){super(e)}nextMatch(e,t,i){let s=no(this.spec,e,i,e.doc.length).nextOverlapping();if(s.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);s=no(this.spec,e,0,o).nextOverlapping()}return s.done||s.value.from==t&&s.value.to==i?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let o=Math.max(t,s-1e4-this.spec.unquoted.length),a=no(this.spec,e,o,s),u=null;for(;!a.nextOverlapping().done;)u=a.value;if(u)return u;if(o==t)return null;s-=1e4}}prevMatch(e,t,i){let s=this.prevMatchInRange(e,0,t);return s||(s=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=t||s.to!=i)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=no(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let o=no(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)s(o.value.from,o.value.to)}}function cz(n,e,t){return(i,s,o)=>(!t||t(i,s,o))&&n(o[0],e,i,s)}function io(n,e,t,i){let s;return n.wholeWord&&(s=uz(e.charCategorizer(e.selection.main.head))),n.test&&(s=cz(n.test,e,s)),new Dy(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:s},t,i)}function Sf(n,e){return n.slice(Kt(n,e,!1),e)}function Rf(n,e){return n.slice(e,Kt(n,e))}function uz(n){return(e,t,i)=>!i[0].length||(n(Sf(i.input,i.index))!=Tt.Word||n(Rf(i.input,i.index))!=Tt.Word)&&(n(Rf(i.input,i.index+i[0].length))!=Tt.Word||n(Sf(i.input,i.index+i[0].length))!=Tt.Word)}class Ez extends yy{nextMatch(e,t,i){let s=io(this.spec,e,i,e.doc.length).next();return s.done&&(s=io(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let o=Math.max(t,i-s*1e4),a=io(this.spec,e,o,i),u=null;for(;!a.next().done;)u=a.value;if(u&&(o==t||u.from>o+10))return u;if(o==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let o=+i.slice(0,s);if(o>0&&o<e.match.length)return e.match[o]+i.slice(s)}return t})}matchAll(e,t){let i=io(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let o=io(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!o.next().done;)s(o.value.from,o.value.to)}}const dc=be.define(),KR=be.define(),nr=Jt.define({create(n){return new CA(wS(n).create(),null)},update(n,e){for(let t of e.effects)t.is(dc)?n=new CA(t.value.create(),n.panel):t.is(KR)&&(n=new CA(n.query,t.value?zR:null));return n},provide:n=>lc.from(n,e=>e.panel)});class CA{constructor(e,t){this.query=e,this.panel=t}}const fz=_e.mark({class:"cm-searchMatch"}),hz=_e.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Tz=It.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(nr))}update(n){let e=n.state.field(nr);(e!=n.startState.field(nr)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return _e.none;let{view:t}=this,i=new Ns;for(let s=0,o=t.visibleRanges,a=o.length;s<a;s++){let{from:u,to:E}=o[s];for(;s<a-1&&E>o[s+1].from-500;)E=o[++s].to;n.highlight(t.state,u,E,(h,T)=>{let A=t.state.selection.ranges.some(R=>R.from==h&&R.to==T);i.add(h,T,A?hz:fz)})}return i.finish()}},{decorations:n=>n.decorations});function gc(n){return e=>{let t=e.state.field(nr,!1);return t&&t.query.spec.valid?n(e,t):by(e)}}const Of=gc((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let s=q.single(i.from,i.to),o=n.state.facet(vo);return n.dispatch({selection:s,effects:[$R(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),Uy(n),!0}),Nf=gc((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return!1;let o=q.single(s.from,s.to),a=n.state.facet(vo);return n.dispatch({selection:o,effects:[$R(n,s),a.scrollToMatch(o.main,n)],userEvent:"select.search"}),Uy(n),!0}),dz=gc((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:q.create(t.map(i=>q.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Az=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,o=[],a=0;for(let u=new go(n.doc,n.sliceDoc(i,s));!u.next().done;){if(o.length>1e3)return!1;u.value.from==i&&(a=o.length),o.push(q.range(u.value.from,u.value.to))}return e(n.update({selection:q.create(o,a),userEvent:"select.search.matches"})),!0},mL=gc((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return!1;let o=e.nextMatch(t,i,i);if(!o)return!1;let a=o,u=[],E,h,T=[];a.precise?a.from==i&&a.to==s&&(h=t.toText(e.getReplacement(a)),u.push({from:a.from,to:a.to,insert:h}),a=e.nextMatch(t,a.from,a.to),T.push(Ae.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):a=e.nextMatch(t,a.from,a.to);let A=n.state.changes(u);return a&&(E=q.single(a.from,a.to).map(A),T.push($R(n,a)),T.push(t.facet(vo).scrollToMatch(E.main,n))),n.dispatch({changes:A,selection:E,effects:T,userEvent:"input.replace"}),!0}),Sz=gc((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let s of e.matchAll(n.state,1e9)){let{from:o,to:a,precise:u}=s;u&&t.push({from:o,to:a,insert:e.getReplacement(s)})}if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Ae.announce.of(i),userEvent:"input.replace.all"}),!0});function zR(n){return n.state.facet(vo).createPanel(n)}function wS(n,e){var t,i,s,o,a;let u=n.selection.main,E=u.empty||u.to>u.from+100?"":n.sliceDoc(u.from,u.to);if(e&&!E)return e;let h=n.facet(vo);return new Py({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:h.literal)?E:E.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e==null?void 0:e.literal)!==null&&s!==void 0?s:h.literal,regexp:(o=e==null?void 0:e.regexp)!==null&&o!==void 0?o:h.regexp,wholeWord:(a=e==null?void 0:e.wholeWord)!==null&&a!==void 0?a:h.wholeWord})}function vy(n){let e=DR(n,zR);return e&&e.dom.querySelector("[main-field]")}function Uy(n){let e=vy(n);e&&e==n.root.activeElement&&e.select()}const by=n=>{let e=n.state.field(nr,!1);if(e&&e.panel){let t=vy(n);if(t&&t!=n.root.activeElement){let i=wS(n.state,e.query.spec);i.valid&&n.dispatch({effects:dc.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[KR.of(!0),e?dc.of(wS(n.state,e.query.spec)):be.appendConfig.of(mz)]});return!0},xy=n=>{let e=n.state.field(nr,!1);if(!e||!e.panel)return!1;let t=DR(n,zR);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:KR.of(!1)}),!0},Rz=[{key:"Mod-f",run:by,scope:"editor search-panel"},{key:"F3",run:Of,shift:Nf,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Of,shift:Nf,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:xy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Az},{key:"Mod-Alt-g",run:$4},{key:"Mod-d",run:rz,preventDefault:!0}];class Oz{constructor(e){this.view=e;let t=this.query=e.state.field(nr).query.spec;this.commit=this.commit.bind(this),this.searchField=rt("input",{value:t.search,placeholder:Yn(e,"Find"),"aria-label":Yn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=rt("input",{value:t.replace,placeholder:Yn(e,"Replace"),"aria-label":Yn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=rt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=rt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=rt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,o,a){return rt("button",{class:"cm-button",name:s,onclick:o,type:"button"},a)}this.dom=rt("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>Of(e),[Yn(e,"next")]),i("prev",()=>Nf(e),[Yn(e,"previous")]),i("select",()=>dz(e),[Yn(e,"all")]),rt("label",null,[this.caseField,Yn(e,"match case")]),rt("label",null,[this.reField,Yn(e,"regexp")]),rt("label",null,[this.wordField,Yn(e,"by word")]),...e.state.readOnly?[]:[rt("br"),this.replaceField,i("replace",()=>mL(e),[Yn(e,"replace")]),i("replaceAll",()=>Sz(e),[Yn(e,"replace all")])],rt("button",{name:"close",onclick:()=>xy(e),"aria-label":Yn(e,"close"),type:"button"},["×"])])}commit(){let e=new Py({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:dc.of(e)}))}keydown(e){K2(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Nf:Of)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),mL(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(dc)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(vo).top}}function Yn(n,e){return n.state.phrase(e)}const mE=30,IE=/[\s\.,:;?!]/;function $R(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,o=Math.max(i.from,e-mE),a=Math.min(s,t+mE),u=n.state.sliceDoc(o,a);if(o!=i.from){for(let E=0;E<mE;E++)if(!IE.test(u[E+1])&&IE.test(u[E])){u=u.slice(E);break}}if(a!=s){for(let E=u.length-1;E>u.length-mE;E--)if(!IE.test(u[E-1])&&IE.test(u[E])){u=u.slice(0,E);break}}return Ae.announce.of(`${n.state.phrase("current match")}. ${u} ${n.state.phrase("on line")} ${i.number}.`)}const Nz=Ae.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),mz=[nr,al.low(Tz),Nz];var IL=function(e){e===void 0&&(e={});var t=e,i=t.crosshairCursor,s=i===void 0?!1:i,o=[];e.closeBracketsKeymap!==!1&&(o=o.concat(mK)),e.defaultKeymap!==!1&&(o=o.concat(X4)),e.searchKeymap!==!1&&(o=o.concat(Rz)),e.historyKeymap!==!1&&(o=o.concat(Q3)),e.foldKeymap!==!1&&(o=o.concat(NX)),e.completionKeymap!==!1&&(o=o.concat(MP)),e.lintKeymap!==!1&&(o=o.concat(I3));var a=[];return e.lineNumbers!==!1&&a.push(zW()),e.highlightActiveLineGutter!==!1&&a.push(JW()),e.highlightSpecialChars!==!1&&a.push(cW()),e.history!==!1&&a.push(V3()),e.foldGutter!==!1&&a.push(CX()),e.drawSelection!==!1&&a.push(Q2()),e.dropCursor!==!1&&a.push(iW()),e.allowMultipleSelections!==!1&&a.push(ze.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&a.push(uX()),e.syntaxHighlighting!==!1&&a.push(UR(DX,{fallback:!0})),e.bracketMatching!==!1&&a.push(xX()),e.closeBrackets!==!1&&a.push(SK()),e.autocompletion!==!1&&a.push(DK()),e.rectangularSelection!==!1&&a.push(pW()),s!==!1&&a.push(LW()),e.highlightActiveLine!==!1&&a.push(dW()),e.highlightSelectionMatches!==!1&&a.push(q4()),e.tabSize&&typeof e.tabSize=="number"&&a.push(wf.of(" ".repeat(e.tabSize))),a.concat([Ic.of(o.flat())]).filter(Boolean)};const Iz="#e5c07b",pL="#e06c75",pz="#56b6c2",Cz="#ffffff",wE="#abb2bf",FS="#7d8799",gz="#61afef",Lz="#98c379",CL="#d19a66",_z="#c678dd",Dz="#21252b",gL="#2c313a",LL="#282c34",gA="#353a42",Mz="#3E4451",_L="#528bff",Pz=Ae.theme({"&":{color:wE,backgroundColor:LL},".cm-content":{caretColor:_L},".cm-cursor, .cm-dropCursor":{borderLeftColor:_L},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Mz},".cm-panels":{backgroundColor:Dz,color:wE},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:LL,color:FS,border:"none"},".cm-activeLineGutter":{backgroundColor:gL},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:gA},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:gA,borderBottomColor:gA},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:gL,color:wE}}},{dark:!0}),yz=Po.define([{tag:w.keyword,color:_z},{tag:[w.name,w.deleted,w.character,w.propertyName,w.macroName],color:pL},{tag:[w.function(w.variableName),w.labelName],color:gz},{tag:[w.color,w.constant(w.name),w.standard(w.name)],color:CL},{tag:[w.definition(w.name),w.separator],color:wE},{tag:[w.typeName,w.className,w.number,w.changed,w.annotation,w.modifier,w.self,w.namespace],color:Iz},{tag:[w.operator,w.operatorKeyword,w.url,w.escape,w.regexp,w.link,w.special(w.string)],color:pz},{tag:[w.meta,w.comment],color:FS},{tag:w.strong,fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.link,color:FS,textDecoration:"underline"},{tag:w.heading,fontWeight:"bold",color:pL},{tag:[w.atom,w.bool,w.special(w.variableName)],color:CL},{tag:[w.processingInstruction,w.string,w.inserted],color:Lz},{tag:w.invalid,color:Cz}]),vz=[Pz,UR(yz)];var Uz=Ae.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),bz=function(e){e===void 0&&(e={});var t=e,i=t.indentWithTab,s=i===void 0?!0:i,o=t.editable,a=o===void 0?!0:o,u=t.readOnly,E=u===void 0?!1:u,h=t.theme,T=h===void 0?"light":h,A=t.placeholder,R=A===void 0?"":A,O=t.basicSetup,N=O===void 0?!0:O,m=[];switch(s&&m.unshift(Ic.of([K4])),N&&(typeof N=="boolean"?m.unshift(IL()):m.unshift(IL(N))),R&&m.unshift(OW(R)),T){case"light":m.push(Uz);break;case"dark":m.push(vz);break;case"none":break;default:m.push(T);break}return a===!1&&m.push(Ae.editable.of(!1)),E&&m.push(ze.readOnly.of(!0)),[...m]},xz=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class Bz{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class DL{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var LA=null,Gz=()=>typeof window>"u"?new DL:(LA||(LA=new DL),LA),ML=zi.define(),Hz=200,wz=[];function Fz(n){var e=n.value,t=n.selection,i=n.onChange,s=n.onStatistics,o=n.onCreateEditor,a=n.onUpdate,u=n.extensions,E=u===void 0?wz:u,h=n.autoFocus,T=n.theme,A=T===void 0?"light":T,R=n.height,O=R===void 0?null:R,N=n.minHeight,m=N===void 0?null:N,C=n.maxHeight,L=C===void 0?null:C,_=n.width,D=_===void 0?null:_,v=n.minWidth,U=v===void 0?null:v,G=n.maxWidth,B=G===void 0?null:G,F=n.placeholder,le=F===void 0?"":F,fe=n.editable,ie=fe===void 0?!0:fe,ee=n.readOnly,Ee=ee===void 0?!1:ee,oe=n.indentWithTab,Te=oe===void 0?!0:oe,x=n.basicSetup,z=x===void 0?!0:x,ne=n.root,ae=n.initialState,J=M.useState(),P=J[0],X=J[1],re=M.useState(),se=re[0],he=re[1],Se=M.useState(),ue=Se[0],Me=Se[1],Oe=M.useState(()=>({current:null}))[0],ve=M.useState(()=>({current:null}))[0],ye=Ae.theme({"&":{height:O,minHeight:m,maxHeight:L,width:D,minWidth:U,maxWidth:B},"& .cm-scroller":{height:"100% !important"}}),xe=Ae.updateListener.of(dt=>{if(dt.docChanged&&typeof i=="function"&&!dt.transactions.some(Ge=>Ge.annotation(ML))){Oe.current?Oe.current.reset():(Oe.current=new Bz(()=>{if(ve.current){var Ge=ve.current;ve.current=null,Ge()}Oe.current=null},Hz),Gz().add(Oe.current));var xt=dt.state.doc,ce=xt.toString();i(ce,dt)}s&&s(xz(dt))}),pt=bz({theme:A,editable:ie,readOnly:Ee,placeholder:le,indentWithTab:Te,basicSetup:z}),je=[xe,ye,...pt];return a&&typeof a=="function"&&je.push(Ae.updateListener.of(a)),je=je.concat(E),M.useLayoutEffect(()=>{if(P&&!ue){var dt={doc:e,selection:t,extensions:je},xt=ae?ze.fromJSON(ae.json,dt,ae.fields):ze.create(dt);if(Me(xt),!se){var ce=new Ae({state:xt,parent:P,root:ne});he(ce),o&&o(ce,xt)}}return()=>{se&&(Me(void 0),he(void 0))}},[P,ue]),M.useEffect(()=>{n.container&&X(n.container)},[n.container]),M.useEffect(()=>()=>{se&&(se.destroy(),he(void 0)),Oe.current&&(Oe.current.cancel(),Oe.current=null)},[se]),M.useEffect(()=>{h&&se&&se.focus()},[h,se]),M.useEffect(()=>{se&&se.dispatch({effects:be.reconfigure.of(je)})},[A,E,O,m,L,D,U,B,le,ie,Ee,Te,z,i,a]),M.useEffect(()=>{if(e!==void 0){var dt=se?se.state.doc.toString():"";if(se&&e!==dt){var xt=Oe.current&&!Oe.current.isDone,ce=()=>{se&&e!==se.state.doc.toString()&&se.dispatch({changes:{from:0,to:se.state.doc.toString().length,insert:e||""},annotations:[ML.of(!0)]})};xt?ve.current=ce:ce()}}},[e,se]),{state:ue,setState:Me,view:se,setView:he,container:P,setContainer:X}}var Yz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],By=M.forwardRef((n,e)=>{var t=n.className,i=n.value,s=i===void 0?"":i,o=n.selection,a=n.extensions,u=a===void 0?[]:a,E=n.onChange,h=n.onStatistics,T=n.onCreateEditor,A=n.onUpdate,R=n.autoFocus,O=n.theme,N=O===void 0?"light":O,m=n.height,C=n.minHeight,L=n.maxHeight,_=n.width,D=n.minWidth,v=n.maxWidth,U=n.basicSetup,G=n.placeholder,B=n.indentWithTab,F=n.editable,le=n.readOnly,fe=n.root,ie=n.initialState,ee=U3(n,Yz),Ee=M.useRef(null),oe=Fz({root:fe,value:s,autoFocus:R,theme:N,height:m,minHeight:C,maxHeight:L,width:_,minWidth:D,maxWidth:v,basicSetup:U,placeholder:G,indentWithTab:B,editable:F,readOnly:le,selection:o,onChange:E,onStatistics:h,onCreateEditor:T,onUpdate:A,extensions:u,initialState:ie}),Te=oe.state,x=oe.view,z=oe.container,ne=oe.setContainer;M.useImperativeHandle(e,()=>({editor:Ee.current,state:Te,view:x}),[Ee,z,Te,x]);var ae=M.useCallback(P=>{Ee.current=P,ne(P)},[ne]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var J=typeof N=="string"?"cm-theme-"+N:"cm-theme";return p.jsx("div",bS({ref:ae,className:""+J+(t?" "+t:"")},ee))});By.displayName="CodeMirror";const kz=Ae.theme({"&":{backgroundColor:"var(--muted)",color:"var(--foreground)",fontSize:"13px",borderRadius:"var(--radius-md, 8px)"},"&.cm-focused":{outline:"none"},".cm-content":{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",padding:"10px 4px",caretColor:"var(--foreground)"},".cm-gutters":{backgroundColor:"var(--muted)",color:"var(--muted-foreground)",border:"none"},".cm-activeLine":{backgroundColor:"color-mix(in oklch, var(--foreground) 6%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--foreground)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--foreground)"},".cm-selectionBackground, &.cm-focused .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in oklch, var(--primary) 30%, transparent)"},".cm-matchingBracket":{backgroundColor:"color-mix(in oklch, var(--primary) 25%, transparent)",outline:"1px solid var(--border)"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)",borderRadius:"var(--radius-sm, 6px)"},".cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:"var(--primary)",color:"var(--primary-foreground)"},".cm-lintRange-error":{textDecoration:"underline wavy var(--sev-error)"}}),Vz=Po.define([{tag:w.keyword,color:"var(--sev-info)",fontWeight:"600"},{tag:[w.string,w.special(w.string)],color:"var(--sev-warn)"},{tag:[w.number,w.bool,w.null],color:"var(--sev-warn)"},{tag:w.comment,color:"var(--muted-foreground)",fontStyle:"italic"},{tag:[w.function(w.variableName),w.function(w.propertyName)],color:"var(--sev-info)"},{tag:[w.typeName,w.className],color:"var(--sev-info)"},{tag:[w.operator,w.punctuation,w.separator],color:"var(--muted-foreground)"},{tag:[w.propertyName,w.attributeName],color:"var(--foreground)"}]),Wz=[kz,UR(Vz)],PL=M.forwardRef(function({value:e,onChange:t,onRun:i,language:s,schema:o,error:a,placeholder:u,minHeight:E="120px"},h){const T=M.useRef(null);M.useImperativeHandle(h,()=>({insertText(R){var C;const O=(C=T.current)==null?void 0:C.view;if(!O)return;const{from:N,to:m}=O.state.selection.main;O.dispatch({changes:{from:N,to:m,insert:R},selection:{anchor:N+R.length}}),O.focus()}}));const A=M.useMemo(()=>{const R=s==="sql"?d3({dialect:A3,schema:o,defaultSchema:"public",upperCaseKeywords:!1}):VX(),O=Ic.of([{key:"Mod-Enter",preventDefault:!0,run:()=>(i==null||i(),!0)}]);return[R,O,v3(),Ae.lineWrapping,...Wz]},[s,o,i]);return M.useEffect(()=>{var m;const R=(m=T.current)==null?void 0:m.view;if(!R)return;const O=R.state.doc.length,N=a&&O>0?[{from:Math.min(Math.max(a.offset,0),O-1),to:Math.min(a.offset+1,O),severity:"error",message:a.message}]:[];R.dispatch(S3(R.state,N))},[a,e]),p.jsx(By,{ref:T,value:e,onChange:t,extensions:A,placeholder:u,minHeight:E,theme:"none",basicSetup:{lineNumbers:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!0,highlightActiveLine:!0,foldGutter:!1}})}),Xz={LIMIT:"Returns a specified number of rows from a record set.",SORT:"Sorts a record set based on the specified sort key.",INCREMENTALSORT:"Sorts a record set already partially sorted on a prefix of the sort key.","NESTED LOOP":"Joins two record sets by looping through every record in the first set and finding matches in the second.","MERGE JOIN":"Joins two record sets by first sorting them on the join key.",HASH:"Builds a hash table from the input records. Used by Hash Join.","HASH JOIN":"Joins two record sets by hashing one of them.",AGGREGATE:"Groups records based on a GROUP BY or aggregate function (like sum()).",HASHAGGREGATE:"Groups records via a hash on the grouping key, then applies aggregates.",GROUPAGGREGATE:"Groups already-sorted records and applies aggregates.",GROUP:"Groups a sorted record set on the grouping key.","SEQ SCAN":"Reads a table sequentially, row by row. A single read pass over the whole table.","PARALLEL SEQ SCAN":"A sequential scan split across parallel workers.","INDEX SCAN":"Finds records via an index, then reads the matching rows from the table (two read steps).","INDEX ONLY SCAN":"Answers the query from the index alone, without reading the table (needs a current visibility map).","BITMAP HEAP SCAN":"Reads the table pages identified by a Bitmap Index Scan.","BITMAP INDEX SCAN":"Builds a bitmap of matching pages from an index; feeds a Bitmap Heap Scan.","CTE SCAN":"Scans the materialized results of a WITH (CTE) query.","SUBQUERY SCAN":"Scans the output of a sub-query.","FUNCTION SCAN":"Scans the rows returned by a set-returning function.","VALUES SCAN":"Scans an inline VALUES list.",MEMOIZE:"Caches results of the inner side of a nested loop, skipping re-execution for repeated parameters.",MATERIALIZE:"Stores the child's output so it can be re-read without re-executing the child.",UNIQUE:"Removes adjacent duplicate rows from a sorted input.",WINDOWAGG:"Computes window functions over the input rows.",APPEND:"Concatenates the outputs of several child plans (e.g. UNION ALL, partitions).","MERGE APPEND":"Merges the outputs of several sorted child plans, preserving order.",GATHER:"Collects rows from parallel workers, in no particular order.","GATHER MERGE":"Collects rows from parallel workers, preserving their sort order.",MODIFYTABLE:"Applies INSERT / UPDATE / DELETE / MERGE changes to a table.",RESULT:"Emits a computed result, often a single row or a constant."};function Kz(n){return Xz[n.toUpperCase()]}const Lt=n=>n==null?"—":n.toLocaleString(),Ua=n=>n==null?"—":`${n.toFixed(n<10?2:1)} ms`,_A=n=>n==null?"—":`${n.toLocaleString()} kB`;function zz(n){let e=n.nodeType;return n.indexName&&n.relationName?e+=` using ${n.indexName} on ${n.relationName}`:n.relationName?e+=` on ${n.relationName}`:n.indexName&&(e+=` on ${n.indexName}`),n.alias&&n.alias!==n.relationName&&(e+=` (${n.alias})`),e}function st({label:n,value:e}){return e==null||e==="—"||e===""?null:p.jsxs("div",{className:"flex gap-2 text-sm py-0.5",children:[p.jsx("span",{className:"text-muted-foreground w-40 shrink-0",children:n}),p.jsx("span",{className:"min-w-0 break-words",children:e})]})}function Zl({title:n,children:e}){return p.jsxs("div",{children:[p.jsx("div",{className:"text-xs uppercase tracking-wide text-muted-foreground mt-3 mb-1",children:n}),e]})}const $z=n=>[n.sharedHitBlocks,n.sharedReadBlocks,n.sharedDirtiedBlocks,n.sharedWrittenBlocks,n.localHitBlocks,n.localReadBlocks,n.tempReadBlocks,n.tempWrittenBlocks,n.ioReadTime,n.ioWriteTime,n.walRecords].some(e=>e!=null),jz=n=>{var e;return n.filter||n.indexCond||n.recheckCond||n.hashCond||n.joinFilter||(((e=n.sortKey)==null?void 0:e.length)??0)>0};function Jz({node:n,onClose:e}){var o;const t=n.metrics,i=Kz(n.nodeType),s=t.estimateFactor!=null&&t.estimateDirection&&t.estimateDirection!=="accurate"?`${t.estimateFactor.toFixed(t.estimateFactor<10?1:0)}× ${t.estimateDirection}-estimated`:"accurate";return p.jsxs("div",{className:"rounded-lg border p-3 text-sm w-full lg:w-96 shrink-0 self-start",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"flex items-start gap-2",children:[p.jsxs("div",{className:"min-w-0",children:[p.jsx("div",{className:"font-medium break-words",children:zz(n)}),i&&p.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:i})]}),e&&p.jsx(At,{variant:"ghost",size:"icon",onClick:e,className:"ml-auto h-7 w-7 text-muted-foreground",title:"Close",children:p.jsx(fG,{className:"size-4"})})]}),p.jsxs(Zl,{title:"General",children:[p.jsx(st,{label:"Rows (actual / planned)",value:`${Lt(t.totalRows??n.actualRows)} / ${Lt(n.planRows)}`}),p.jsx(st,{label:"Estimate",value:s}),p.jsx(st,{label:"Loops",value:n.actualLoops!=null?Lt(n.actualLoops):null}),p.jsx(st,{label:"Self time",value:t.selfMs!=null?`${Ua(t.selfMs)}${t.pctOfTotal!=null?` (${t.pctOfTotal.toFixed(0)}%)`:""}`:null}),p.jsx(st,{label:"Total time (incl.)",value:t.inclusiveMs!=null?Ua(t.inclusiveMs):null}),p.jsx(st,{label:"Cost (startup..total)",value:n.totalCost!=null?`${n.startupCost??0}..${n.totalCost}`:null}),p.jsx(st,{label:"Row width",value:n.planWidth!=null?`${n.planWidth} B`:null})]}),jz(n)&&p.jsxs(Zl,{title:"Conditions",children:[p.jsx(st,{label:"Filter",value:n.filter}),p.jsx(st,{label:"Rows removed",value:n.rowsRemovedByFilter!=null?Lt(n.rowsRemovedByFilter):null}),p.jsx(st,{label:"Index Cond",value:n.indexCond}),p.jsx(st,{label:"Recheck Cond",value:n.recheckCond}),p.jsx(st,{label:"Hash Cond",value:n.hashCond}),p.jsx(st,{label:"Join Filter",value:n.joinFilter}),p.jsx(st,{label:"Sort Key",value:(o=n.sortKey)==null?void 0:o.join(", ")})]}),(n.sortMethod||n.hashBatches!=null||n.peakMemoryUsage!=null||n.heapFetches!=null||n.lossyHeapBlocks!=null)&&p.jsxs(Zl,{title:"Memory & work",children:[p.jsx(st,{label:"Sort method",value:n.sortMethod}),p.jsx(st,{label:"Sort space",value:n.sortSpaceUsed!=null?`${_A(n.sortSpaceUsed)} (${n.sortSpaceType??"?"})`:null}),p.jsx(st,{label:"Peak memory",value:n.peakMemoryUsage!=null?_A(n.peakMemoryUsage):null}),p.jsx(st,{label:"Hash batches",value:n.hashBatches!=null?`${n.hashBatches}${n.hashBuckets!=null?` · ${Lt(n.hashBuckets)} buckets`:""}`:null}),p.jsx(st,{label:"Disk usage",value:n.diskUsage!=null?_A(n.diskUsage):null}),p.jsx(st,{label:"Heap fetches",value:n.heapFetches!=null?Lt(n.heapFetches):null}),p.jsx(st,{label:"Bitmap heap blocks",value:n.lossyHeapBlocks!=null?`${Lt(n.exactHeapBlocks)} exact / ${Lt(n.lossyHeapBlocks)} lossy`:null})]}),$z(n)&&p.jsxs(Zl,{title:"Buffers & I/O",children:[p.jsx(st,{label:"Shared (hit/read)",value:n.sharedHitBlocks!=null||n.sharedReadBlocks!=null?`${Lt(n.sharedHitBlocks??0)} / ${Lt(n.sharedReadBlocks??0)}`:null}),p.jsx(st,{label:"Shared (dirtied/written)",value:n.sharedDirtiedBlocks!=null||n.sharedWrittenBlocks!=null?`${Lt(n.sharedDirtiedBlocks??0)} / ${Lt(n.sharedWrittenBlocks??0)}`:null}),p.jsx(st,{label:"Local (hit/read)",value:n.localHitBlocks!=null||n.localReadBlocks!=null?`${Lt(n.localHitBlocks??0)} / ${Lt(n.localReadBlocks??0)}`:null}),p.jsx(st,{label:"Temp (read/written)",value:n.tempReadBlocks!=null||n.tempWrittenBlocks!=null?`${Lt(n.tempReadBlocks??0)} / ${Lt(n.tempWrittenBlocks??0)}`:null}),p.jsx(st,{label:"I/O time (read/write)",value:n.ioReadTime!=null||n.ioWriteTime!=null?`${Ua(n.ioReadTime??0)} / ${Ua(n.ioWriteTime??0)}`:null}),p.jsx(st,{label:"Cache hit ratio",value:t.cacheHitRatio!=null?`${(t.cacheHitRatio*100).toFixed(1)}%`:null}),p.jsx(st,{label:"WAL (records/bytes/fpi)",value:n.walRecords!=null?`${Lt(n.walRecords)} / ${Lt(n.walBytes)} / ${Lt(n.walFpi)}`:null})]}),n.workers&&n.workers.length>0&&p.jsx(Zl,{title:`Workers (${n.workers.length})`,children:p.jsxs("table",{className:"w-full text-xs text-muted-foreground",children:[p.jsx("thead",{className:"text-left",children:p.jsxs("tr",{children:[p.jsx("th",{className:"font-medium",children:"#"}),p.jsx("th",{className:"font-medium text-right",children:"rows"}),p.jsx("th",{className:"font-medium text-right",children:"loops"}),p.jsx("th",{className:"font-medium text-right",children:"time"})]})}),p.jsx("tbody",{children:n.workers.map(a=>p.jsxs("tr",{children:[p.jsx("td",{className:"text-foreground",children:a.number}),p.jsx("td",{className:"text-right tabular-nums",children:Lt(a.actualRows)}),p.jsx("td",{className:"text-right tabular-nums",children:Lt(a.actualLoops)}),p.jsx("td",{className:"text-right tabular-nums",children:Ua(a.actualTotalTime)})]},a.number))})]})}),n.output&&n.output.length>0&&p.jsx(Zl,{title:"Output",children:p.jsx("div",{className:"font-mono text-xs break-words text-muted-foreground",children:n.output.join(", ")})})]})}async function on(n,e){const t=await fetch(n,e),i=await t.json().catch(()=>({}));if(!t.ok)throw i.error??{code:"PGX_ERROR",title:`Request failed (${t.status})`};return i}const vi=n=>({method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n)}),En={meta:()=>on("/api/meta"),settings:()=>on("/api/settings"),saveSettings:n=>on("/api/settings",{...vi(n),method:"PUT"}),analyze:(n,e)=>on("/api/analyze",vi({plan:n,sql:e})),run:n=>on("/api/run",vi(n)),analyzeSql:n=>on("/api/analyze-sql",vi(n)),schema:n=>on("/api/schema",vi(n)),catalog:n=>on("/api/catalog",vi(n)),connections:()=>on("/api/connections"),createConnection:n=>on("/api/connections",vi(n)),deleteConnection:n=>on(`/api/connections/${n}`,{method:"DELETE"}),history:()=>on("/api/history"),getRun:n=>on(`/api/history/${n}`),deleteRun:n=>on(`/api/history/${n}`,{method:"DELETE"}),liveLocks:n=>on("/api/locks/live",vi(n)),diff:(n,e)=>on("/api/diff",vi({beforeId:n,afterId:e})),export:async(n,e)=>{const t=await fetch("/api/export",vi({runId:n,format:e}));if(!t.ok)throw(await t.json().catch(()=>({}))).error??{code:"PGX_ERROR",title:"Export failed"};return t.text()}},DA="__manual__",qz=M.lazy(()=>pU(()=>import("./PlanGraph-0P3xGm2e.js"),__vite__mapDeps([0,1])).then(n=>({default:n.PlanGraph})));function Qz(n){const e=n.trim();return/^do\b/i.test(e)||/;\s*\S/.test(e.replace(/;\s*$/,""))?!0:!/^(select|with|table|values|explain)\b/i.test(e)}function Gy(n,e=new Set){n.relationName&&e.add(n.relationName);for(const t of n.children)Gy(t,e);return[...e]}function Zz(n){if(n==null)return"—";const e=["B","KiB","MiB","GiB","TiB"];let t=n,i=0;for(;t>=1024&&i<e.length-1;)t/=1024,i++;return`${i===0?t:t.toFixed(1)} ${e[i]}`}const jR={error:"var(--sev-error)",warn:"var(--sev-warn)",info:"var(--sev-info)"},e6={error:"Critical",warn:"Warning",info:"Note"},yL=n=>/^PGX_(LOCK|DDL|WRITE|DROP_INDEX|SELECT_FOR|UPDATE_UNINDEXED)/.test(n);function t6(){const[n,e]=M.useState(()=>localStorage.getItem("theme")==="dark");M.useEffect(()=>{document.documentElement.classList.toggle("dark",n),localStorage.setItem("theme",n?"dark":"light")},[n]);const[t,i]=M.useState("run"),[s,o]=M.useState("select * from pg_class limit 50"),[a,u]=M.useState(""),[E,h]=M.useState({host:"",port:"",database:"",user:"",password:""}),[T,A]=M.useState(null),[R,O]=M.useState(null),[N,m]=M.useState(!1),[C,L]=M.useState([]),[_,D]=M.useState(null),[v,U]=M.useState(!1),[G,B]=M.useState([]),[F,le]=M.useState(null),[fe,ie]=M.useState(null),[ee,Ee]=M.useState(null),[oe,Te]=M.useState([]),[x,z]=M.useState(""),[ne,ae]=M.useState([]),[J,P]=M.useState([]),[X,re]=M.useState(null),[se,he]=M.useState(null),Se=M.useRef(null),ue=M.useMemo(()=>{const ce={};for(const Ge of J)ce[Ge.name]=Ge.columns,ce[`${Ge.schema}.${Ge.name}`]=Ge.columns;return ce},[J]),Me=()=>{try{o(Ek(s,{language:"postgresql"}))}catch{}},Oe=M.useCallback(()=>{En.history().then(ce=>L(ce.runs)).catch(()=>{})},[]),ve=M.useCallback(()=>{En.connections().then(ce=>Te(ce.connections)).catch(()=>{})},[]);M.useEffect(Oe,[Oe]),M.useEffect(ve,[ve]),M.useEffect(()=>{if(!x){P([]);return}let ce=!1;return En.catalog({connectionId:x}).then(Ge=>!ce&&P(Ge.tables)).catch(()=>{}),()=>{ce=!0}},[x]);const ye=async()=>{const ce=prompt("Name this connection:");ce&&(await En.createConnection({name:ce,...MA(E)}),ve())},xe=async()=>{var ce;m(!0),O(null),Ee(null),re(null);try{const Ge=x?{connectionId:x}:{connection:MA(E)};if(t==="run"&&Qz(s)){Ee(await En.analyzeSql({...Ge,sql:s})),A(null);return}const St=t==="run"?await En.run({...Ge,sql:s}):await En.analyze(a,s.trim()||void 0);if(A(St),ae([]),Oe(),t==="run"){const ct=Gy(St.plan);ct.length&&En.schema({...Ge,relations:ct}).then(Ii=>ae(Ii.relations)).catch(()=>{}),!x&&J.length===0&&En.catalog(Ge).then(Ii=>P(Ii.tables)).catch(()=>{})}}catch(Ge){const St=Ge;O(St),A(null);const ct=(ce=St.meta)==null?void 0:ce.position;t==="run"&&typeof ct=="number"&&ct>0&&re({offset:ct-1,message:St.detail||St.title})}finally{m(!1)}},pt=async ce=>{try{const Ge=await En.getRun(ce);A({...Ge.report,runId:Ge.id}),ae([]),D(null),le(null),Ee(null),O(null)}catch(Ge){O(Ge)}},je=ce=>{if(!v){pt(ce);return}B(Ge=>Ge.includes(ce)?Ge.filter(St=>St!==ce):[...Ge,ce].slice(-2))},dt=async()=>{if(G.length===2){O(null);try{const[ce,Ge]=G,St=C.findIndex(ct=>ct.id===ce)>C.findIndex(ct=>ct.id===Ge);le(await En.diff(St?ce:Ge,St?Ge:ce)),A(null),D(null),Ee(null)}catch(ce){O(ce)}}},xt=async()=>{m(!0),O(null);try{D(await En.liveLocks(x?{connectionId:x}:{connection:MA(E)})),A(null),Ee(null)}catch(ce){O(ce)}finally{m(!1)}};return p.jsxs("div",{className:"h-screen grid grid-cols-[260px_1fr] overflow-hidden",children:[p.jsxs("aside",{className:"border-r flex flex-col min-h-0",children:[p.jsxs("div",{className:"px-4 py-3 border-b",children:[p.jsx("div",{className:"font-semibold",children:"pgexplain studio"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"PostgreSQL EXPLAIN, locally"})]}),p.jsxs("div",{className:"px-3 py-2 flex items-center gap-1",children:[p.jsx("span",{className:"text-xs uppercase tracking-wide text-muted-foreground flex-1",children:"History"}),p.jsx(At,{variant:v?"default":"secondary",size:"sm",onClick:()=>{U(ce=>!ce),B([])},children:"Compare"}),p.jsx(At,{variant:"ghost",size:"icon",title:n?"Switch to light mode":"Switch to dark mode",onClick:()=>e(ce=>!ce),children:n?p.jsx(uG,{className:"size-4"}):p.jsx(sG,{className:"size-4"})}),p.jsx(At,{variant:"ghost",size:"icon",title:"Settings",onClick:async()=>ie(await En.settings()),children:p.jsx(aG,{className:"size-4"})})]}),v&&p.jsx("div",{className:"px-3 pb-2",children:p.jsxs(At,{variant:"secondary",size:"sm",className:"w-full",disabled:G.length!==2,onClick:dt,children:["Diff selected (",G.length,"/2)"]})}),p.jsxs("div",{className:"flex-1 overflow-y-auto px-2 pb-4 space-y-1",children:[C.length===0&&p.jsx("div",{className:"px-2 text-sm text-muted-foreground",children:"No runs yet."}),C.map(ce=>p.jsxs(At,{variant:"ghost",onClick:()=>je(ce.id),className:`w-full flex-col items-start h-auto px-2 py-2 font-normal whitespace-normal ${G.includes(ce.id)?"ring-2 ring-[var(--sev-info)]":""}`,children:[p.jsxs("div",{className:"flex items-center gap-2 w-full",children:[p.jsx("span",{className:"size-2 rounded-full shrink-0",style:{background:ce.worstSeverity?jR[ce.worstSeverity]:"var(--sev-info)"}}),p.jsx("span",{className:"truncate flex-1 text-sm text-left",children:ce.verdict||ce.kind})]}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-0.5 w-full text-left",children:[ce.kind," · ",ce.execMs!=null?`${ce.execMs.toFixed(0)} ms`:"no timing"]})]},ce.id))]}),J.length>0&&p.jsxs("div",{className:"border-t flex flex-col min-h-0 max-h-[45%]",children:[p.jsxs("div",{className:"px-3 py-2 text-xs uppercase tracking-wide text-muted-foreground",children:["Schema · ",J.length," tables"]}),p.jsx("div",{className:"flex-1 overflow-y-auto px-2 pb-3 space-y-0.5",children:J.map(ce=>{const Ge=`${ce.schema}.${ce.name}`,St=se===Ge;return p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center gap-1",children:[p.jsx(At,{variant:"ghost",onClick:()=>he(St?null:Ge),className:"h-5 w-5 p-0 text-muted-foreground shrink-0",children:St?p.jsx(nR,{className:"size-3.5"}):p.jsx(TD,{className:"size-3.5"})}),p.jsx(At,{variant:"ghost",onClick:()=>{var ct;return(ct=Se.current)==null?void 0:ct.insertText(ce.name)},title:`${Ge} — click to insert`,className:"flex-1 justify-start h-7 px-1 text-sm min-w-0",children:p.jsx("span",{className:"truncate",children:ce.name})})]}),St&&p.jsx("div",{className:"ml-5 border-l pl-2 space-y-0.5 py-0.5",children:ce.columns.map(ct=>p.jsx(At,{variant:"ghost",onClick:()=>{var Ii;return(Ii=Se.current)==null?void 0:Ii.insertText(ct)},className:"w-full justify-start h-6 px-1 text-xs text-muted-foreground font-normal min-w-0",children:p.jsx("span",{className:"truncate",children:ct})},ct))})]},Ge)})})]})]}),p.jsxs("main",{className:"flex flex-col min-h-0 overflow-hidden",children:[p.jsxs("div",{className:"border-b p-4 space-y-3",children:[p.jsxs("div",{className:"flex gap-2",children:[p.jsx(bi,{active:t==="run",onClick:()=>i("run"),children:"Run query"}),p.jsx(bi,{active:t==="paste",onClick:()=>i("paste"),children:"Paste plan"})]}),t==="run"&&p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs(hG,{value:x||DA,onValueChange:ce=>z(ce===DA?"":ce),children:[p.jsx(dG,{className:"flex-1",children:p.jsx(TG,{})}),p.jsxs(AG,{children:[p.jsx(Xp,{value:DA,children:"Manual connection / PG* env"}),oe.map(ce=>p.jsxs(Xp,{value:ce.id,children:[ce.name," ",ce.database?`(${ce.database})`:""]},ce.id))]})]}),!x&&p.jsx(At,{variant:"secondary",size:"sm",onClick:ye,children:"Save connection"})]}),!x&&p.jsxs("div",{className:"grid grid-cols-5 gap-2",children:[p.jsx(eo,{placeholder:"host (blank = local socket)",value:E.host,onChange:ce=>h({...E,host:ce.target.value})}),p.jsx(eo,{placeholder:"port",value:E.port,onChange:ce=>h({...E,port:ce.target.value})}),p.jsx(eo,{placeholder:"database",value:E.database,onChange:ce=>h({...E,database:ce.target.value})}),p.jsx(eo,{placeholder:"user",value:E.user,onChange:ce=>h({...E,user:ce.target.value})}),p.jsx(eo,{type:"password",placeholder:"password",value:E.password,onChange:ce=>h({...E,password:ce.target.value})})]})]}),t==="paste"?p.jsx("div",{className:"rounded-md border overflow-hidden",children:p.jsx(PL,{language:"json",value:a,onChange:u,placeholder:"Paste EXPLAIN (FORMAT JSON) output here",minHeight:"140px"})}):null,p.jsx("div",{className:"rounded-md border overflow-hidden",children:p.jsx(PL,{ref:Se,language:"sql",value:s,onChange:o,onRun:xe,schema:ue,error:X,placeholder:t==="run"?"SELECT … — ⌘/Ctrl+Enter to run":"Optional: the SQL, to enable lock warnings",minHeight:"120px"})}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx(At,{onClick:xe,disabled:N,children:N?"Explaining…":t==="run"?"Explain":"Analyze"}),p.jsx(At,{variant:"secondary",onClick:Me,title:"Format SQL (Shift+⌘/Ctrl+F)",children:"Format"}),t==="run"&&p.jsxs(At,{variant:"secondary",onClick:xt,disabled:N,children:[p.jsx(iR,{className:"size-4"})," Live locks"]}),p.jsx("span",{className:"text-xs text-muted-foreground",children:t==="run"?"Runs EXPLAIN (ANALYZE, BUFFERS) safely — rolled back, read-only.":"No database needed."})]})]}),p.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[fe&&p.jsx(r6,{settings:fe,onClose:()=>ie(null)}),!fe&&R&&p.jsx(o6,{err:R}),!fe&&ee&&p.jsx(i6,{script:ee}),!fe&&F&&!ee&&p.jsx(l6,{diff:F,onClose:()=>le(null)}),!fe&&_&&!F&&!ee&&p.jsx(s6,{live:_,onClose:()=>D(null)}),!fe&&T&&!_&&!F&&!ee&&p.jsx(Hy,{report:T,stats:ne}),!fe&&!R&&!T&&!_&&!F&&!ee&&p.jsx(a6,{})]})]})]})}function MA(n){const e={};for(const[t,i]of Object.entries(n))i&&(e[t]=t==="port"?Number(i):i);return e}function Hy({report:n,stats:e}){var T,A,R,O,N,m,C,L,_;const[t,i]=M.useState("findings"),[s,o]=M.useState(null),[a,u]=M.useState("graph"),E=n.diagnostics.filter(D=>yL(D.code)),h=n.diagnostics.filter(D=>!yL(D.code));return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"rounded-lg p-4 border-l-4",style:{borderColor:n.worstSeverity?jR[n.worstSeverity]:"var(--sev-info)",background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:n.verdict}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[n.summary.executionTimeMs!=null&&p.jsxs(p.Fragment,{children:["exec ",n.summary.executionTimeMs.toFixed(1)," ms · "]}),n.summary.planningTimeMs!=null&&p.jsxs(p.Fragment,{children:["plan ",n.summary.planningTimeMs.toFixed(1)," ms · "]}),n.summary.serializationTimeMs!=null&&p.jsxs(p.Fragment,{children:["serialize ",n.summary.serializationTimeMs.toFixed(1)," ms · "]}),n.summary.nodeCount," nodes · ",n.summary.hasBuffers?"buffers":"no buffers",n.server&&p.jsxs(p.Fragment,{children:[" · PG ",n.server.major]})]}),(((A=(T=n.jit)==null?void 0:T.timing)==null?void 0:A.total)!=null||(((R=n.triggers)==null?void 0:R.length)??0)>0||n.settings)&&p.jsxs("div",{className:"flex flex-wrap gap-1.5 mt-2 text-xs",children:[((N=(O=n.jit)==null?void 0:O.timing)==null?void 0:N.total)!=null&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",children:["JIT ",n.jit.timing.total.toFixed(1)," ms",n.jit.functions?` · ${n.jit.functions} fn`:""]}),(((m=n.triggers)==null?void 0:m.length)??0)>0&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",title:(C=n.triggers)==null?void 0:C.map(D=>{var v;return`${D.name}: ${(v=D.time)==null?void 0:v.toFixed(1)} ms`}).join(`
226
- `),children:[(L=n.triggers)==null?void 0:L.length," trigger",((_=n.triggers)==null?void 0:_.length)===1?"":"s"]}),n.settings&&p.jsxs("span",{className:"rounded bg-secondary px-2 py-0.5",title:Object.entries(n.settings).map(([D,v])=>`${D} = ${v}`).join(`
227
- `),children:[Object.keys(n.settings).length," non-default setting",Object.keys(n.settings).length===1?"":"s"]})]})]}),p.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[p.jsxs(bi,{active:t==="findings",onClick:()=>i("findings"),children:["Findings (",h.length,")"]}),p.jsx(bi,{active:t==="plan",onClick:()=>i("plan"),children:"Plan"}),n.stats&&p.jsx(bi,{active:t==="stats",onClick:()=>i("stats"),children:"Stats"}),e.length>0&&p.jsxs(bi,{active:t==="tables",onClick:()=>i("tables"),children:["Tables (",e.length,")"]}),E.length>0&&p.jsx(bi,{active:!1,onClick:()=>i("findings"),children:p.jsxs("span",{className:"inline-flex items-center gap-1",children:[p.jsx(iR,{className:"size-3.5"})," ",E.length]})}),p.jsx(bi,{active:t==="raw",onClick:()=>i("raw"),children:"Raw JSON"}),p.jsxs("div",{className:"ml-auto flex gap-1 items-center",children:[p.jsx("span",{className:"text-xs text-muted-foreground mr-1",children:"Export"}),p.jsx(At,{variant:"secondary",size:"sm",onClick:()=>Fy(JSON.stringify(n,null,2),"report.json","application/json"),children:"JSON"}),n.runId&&p.jsxs(p.Fragment,{children:[p.jsx(At,{variant:"secondary",size:"sm",onClick:()=>UL(n.runId,"markdown","report.md","text/markdown"),children:"MD"}),p.jsx(At,{variant:"secondary",size:"sm",onClick:()=>UL(n.runId,"html","report.html","text/html"),children:"HTML"})]})]})]}),t==="findings"&&p.jsxs("div",{className:"space-y-3",children:[E.map((D,v)=>p.jsx(vL,{d:D,lock:!0},`l${v}`)),h.map((D,v)=>p.jsx(vL,{d:D},`f${v}`)),n.diagnostics.length===0&&p.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[p.jsx(jB,{className:"size-4",style:{color:"var(--sev-info)"}})," No findings — looks healthy."]})]}),t==="plan"&&p.jsxs("div",{className:"flex flex-col lg:flex-row gap-4",children:[p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex gap-1 mb-2",children:[p.jsx(bi,{active:a==="graph",onClick:()=>u("graph"),children:"Graph"}),p.jsx(bi,{active:a==="text",onClick:()=>u("text"),children:"Text"})]}),a==="graph"?p.jsx(M.Suspense,{fallback:p.jsx("div",{className:"text-sm text-muted-foreground p-4",children:"Loading graph…"}),children:p.jsx(qz,{root:n.plan,onSelect:o,selectedId:s==null?void 0:s.id})}):p.jsx("div",{className:"overflow-x-auto font-mono text-sm",children:p.jsx(wy,{node:n.plan,depth:0,onSelect:o,selectedId:s==null?void 0:s.id})})]}),s&&p.jsx(Jz,{node:s,onClose:()=>o(null)})]}),t==="stats"&&n.stats&&p.jsx(n6,{stats:n.stats,hasAnalyze:n.summary.hasAnalyze}),t==="tables"&&p.jsx("div",{className:"space-y-2",children:e.map(D=>{var v;return p.jsxs("div",{className:"rounded-lg border p-3 text-sm",style:{background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:D.relation}),p.jsxs("div",{className:"text-muted-foreground mt-1",children:["~",((v=D.estRows)==null?void 0:v.toLocaleString())??"?"," rows · ",Zz(D.totalBytes)," · ",D.indexes.length," index",D.indexes.length===1?"":"es",!D.lastAnalyze&&!D.lastAutoanalyze&&p.jsx("span",{style:{color:"var(--sev-warn)"},children:" · never analyzed (stats may be stale)"})]}),D.indexes.length>0&&p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["indexes: ",D.indexes.join(", ")]})]},D.relation)})}),t==="raw"&&p.jsx("pre",{className:"text-xs overflow-x-auto bg-secondary rounded-md p-3",children:JSON.stringify(n,null,2)})]})}function n6({stats:n,hasAnalyze:e}){return p.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[p.jsx(PA,{title:"By node type",rows:n.byNodeType,hasAnalyze:e}),p.jsx(PA,{title:"By table",rows:n.byRelation,hasAnalyze:e}),p.jsx(PA,{title:"By index",rows:n.byIndex,hasAnalyze:e})]})}function PA({title:n,rows:e,hasAnalyze:t}){const[i,s]=M.useState(t?"selfMs":"count"),o=[...e].sort((E,h)=>i==="key"?E.key.localeCompare(h.key):i==="count"?h.count-E.count:h.selfMs-E.selfMs),a=Math.max(...e.map(E=>E.selfMs),1e-4),u=(E,h,T="")=>p.jsx(At,{variant:"ghost",onClick:()=>s(E),className:`h-auto p-0 text-xs font-medium ${i===E?"text-foreground":"text-muted-foreground"} ${T}`,children:h});return p.jsxs("div",{className:"rounded-lg border p-3 min-w-0",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"text-xs uppercase tracking-wide text-muted-foreground mb-2",children:[n," ",p.jsxs("span",{className:"normal-case",children:["· ",e.length]})]}),e.length===0?p.jsx("div",{className:"text-sm text-muted-foreground",children:"—"}):p.jsxs("table",{className:"w-full text-sm text-muted-foreground",children:[p.jsx("thead",{className:"text-left text-xs",children:p.jsxs("tr",{children:[p.jsx("th",{className:"font-medium",children:u("key","Name")}),p.jsx("th",{className:"font-medium text-right w-10",children:u("count","n")}),t&&p.jsx("th",{className:"font-medium text-right",children:u("selfMs","self")})]})}),p.jsx("tbody",{children:o.map(E=>p.jsxs("tr",{className:"border-t border-border/60",children:[p.jsx("td",{className:"py-1 pr-2 text-foreground truncate max-w-[10rem]",title:E.key,children:E.key}),p.jsx("td",{className:"py-1 text-right tabular-nums",children:E.count}),t&&p.jsxs("td",{className:"py-1 text-right tabular-nums whitespace-nowrap",children:[p.jsx("span",{className:"inline-block align-middle mr-1 h-1.5 rounded",style:{width:`${Math.round(E.selfMs/a*36)}px`,background:"var(--sev-info)"}}),E.selfMs.toFixed(1),"ms ",p.jsxs("span",{className:"text-xs",children:["(",E.pctOfTotal.toFixed(0),"%)"]})]})]},E.key))})]})]})}function vL({d:n,lock:e}){var t;return p.jsxs("div",{className:"rounded-lg border p-3",style:{background:"var(--card)"},children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("span",{className:"text-xs font-semibold px-2 py-0.5 rounded text-white",style:{background:jR[n.severity]},children:e6[n.severity]}),e&&p.jsxs("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded bg-secondary",children:[p.jsx(iR,{className:"size-3"})," lock"]}),p.jsx("span",{className:"font-medium",children:n.title}),p.jsx("span",{className:"text-xs text-muted-foreground ml-auto",children:n.code})]}),p.jsxs("p",{className:"text-sm mt-2",children:[p.jsx("b",{children:"What:"})," ",n.detail]}),p.jsxs("p",{className:"text-sm text-muted-foreground",children:[p.jsx("b",{children:"Why:"})," ",n.cause]}),p.jsxs("p",{className:"text-sm mt-1",children:[p.jsx("b",{children:"Fix:"})," ",n.remediation.summary]}),(t=n.remediation.commands)==null?void 0:t.map((i,s)=>p.jsx("pre",{className:"text-xs bg-secondary rounded p-2 mt-2 overflow-x-auto",children:i.sql??i.shell},s)),n.docsUrl&&p.jsxs("a",{className:"inline-flex items-center gap-1 text-xs text-sev-info underline",href:n.docsUrl,target:"_blank",rel:"noreferrer",children:["PostgreSQL docs ",p.jsx(ZB,{className:"size-3"})]})]})}function wy({node:n,depth:e,onSelect:t,selectedId:i}){const s=n.metrics,o=s.pctOfTotal??0,a=o>=50?"var(--sev-error)":o>=20?"var(--sev-warn)":void 0,u=`${n.nodeType}${n.relationName?` on ${n.relationName}`:""}${n.indexName?` using ${n.indexName}`:""}`,E=n.actualLoops===0;return p.jsxs("div",{children:[p.jsx("div",{style:{paddingLeft:`${e*16}px`},children:p.jsxs(At,{variant:"ghost",onClick:()=>t(n),className:`h-auto px-1 -mx-1 justify-start font-normal whitespace-normal text-left ${i===n.id?"bg-accent ring-1 ring-[var(--sev-info)]":""}`,children:[p.jsxs("span",{style:{color:a,fontWeight:a?600:400},children:[e>0&&p.jsx(qB,{className:"inline size-3 mr-1 -translate-y-px text-muted-foreground"}),u]}),p.jsxs("span",{className:"text-muted-foreground",children:[E&&" (never executed)",s.totalRows!=null&&` rows=${s.totalRows.toLocaleString()}`,s.estimateFactor!=null&&s.estimateFactor>=2&&s.estimateDirection!=="accurate"&&` (${s.estimateFactor.toFixed(0)}× ${s.estimateDirection})`,s.selfMs!=null&&` self ${s.selfMs.toFixed(1)} ms`,s.pctOfTotal!=null&&s.pctOfTotal>=1&&` (${s.pctOfTotal.toFixed(0)}%)`]})]})}),n.children.map(h=>p.jsx(wy,{node:h,depth:e+1,onSelect:t,selectedId:i},h.id))]})}function i6({script:n}){const e=n.units.filter(i=>i.status==="analyzed").length,t=n.units.length-e;return p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{className:"rounded-lg p-3 border-l-4",style:{borderColor:"var(--sev-info)",background:"var(--card)"},children:[p.jsx("div",{className:"font-medium",children:"Cost-only analysis — nothing was executed"}),p.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Extracted ",n.units.length," statement(s) · ",e," analyzed, ",t," skipped. No rows touched, no sequences advanced, no triggers fired",n.serverMajor?` · PG ${n.serverMajor}`:"","."]})]}),n.units.map((i,s)=>p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-1 font-medium text-sm",children:[p.jsx(TD,{className:"size-4 shrink-0"})," ",i.label,i.loopNote&&p.jsxs("span",{className:"text-muted-foreground",children:[" (",i.loopNote,")"]})]}),i.status==="analyzed"&&i.report?p.jsx(Hy,{report:i.report,stats:[]}):p.jsxs("div",{className:"rounded-lg border p-3 text-sm",style:{background:"var(--card)"},children:[p.jsxs("span",{style:{color:i.status==="error"?"var(--sev-warn)":"var(--muted-foreground)"},children:[i.status==="error"?"Could not analyze":"Skipped",":"]})," ",i.reason,i.errorCode&&p.jsxs("span",{className:"text-xs text-muted-foreground",children:[" [",i.errorCode,"]"]})]})]},`${i.label}-${s}`))]})}function s6({live:n,onClose:e}){return p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Live locks"}),p.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.sessions.length," client sessions · ",n.blocked.length," blocked"]}),p.jsx(At,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),n.blocked.length===0?p.jsx("div",{className:"text-sm text-muted-foreground rounded-lg border p-4",style:{background:"var(--card)"},children:"No lock contention right now — nothing is waiting on another session."}):n.blocked.map(t=>p.jsxs("div",{className:"rounded-lg border-l-4 p-3",style:{borderColor:"var(--sev-warn)",background:"var(--card)"},children:[p.jsxs("div",{className:"text-sm",children:[p.jsxs("b",{children:["pid ",t.pid]})," (",t.user??"?",") is ",p.jsx("b",{children:"blocked by"})," pid ",t.blockedBy.join(", "),t.ageSeconds!=null&&p.jsxs("span",{className:"text-muted-foreground",children:[" · waiting ",t.ageSeconds.toFixed(0),"s"]}),t.waitEvent&&p.jsxs("span",{className:"text-muted-foreground",children:[" · ",t.waitEvent]})]}),t.query&&p.jsx("pre",{className:"text-xs bg-secondary rounded p-2 mt-2 overflow-x-auto",children:t.query}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Inspect the blocker; if needed, cancel it with ",p.jsxs("code",{children:["SELECT pg_cancel_backend(",t.blockedBy[0],");"]})," or terminate with ",p.jsx("code",{children:"pg_terminate_backend(…)"}),"."]})]},t.pid))]})}function r6({settings:n,onClose:e}){const[t,i]=M.useState(n.thresholds),[s,o]=M.useState(!1),a=async()=>{await En.saveSettings({thresholds:t,rules:n.rules}),o(!0),setTimeout(()=>o(!1),1500)};return p.jsxs("div",{className:"max-w-2xl space-y-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Settings"}),p.jsx("span",{className:"text-xs text-muted-foreground",children:"Advisor thresholds — saved to your data dir and applied to new analyses."}),p.jsx(At,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),p.jsx("div",{className:"grid grid-cols-2 gap-2",children:Object.entries(t).map(([u,E])=>p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("span",{className:"flex-1 text-muted-foreground",children:u}),p.jsx(eo,{type:"number",value:E,onChange:h=>i({...t,[u]:Number(h.target.value)}),className:"w-28"})]},u))}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx(At,{onClick:a,children:"Save"}),s&&p.jsxs("span",{className:"inline-flex items-center gap-1 text-sm",style:{color:"var(--sev-info)"},children:[p.jsx(hD,{className:"size-4"})," Saved"]}),p.jsx("span",{className:"text-xs text-muted-foreground",children:"Per-rule enable/severity overrides are editable in the config file."})]})]})}function l6({diff:n,onClose:e}){const t=(n.execDeltaMs??0)>0,i=n.execDeltaMs==null?"Compared plans":`${Math.abs(n.execDeltaMs).toFixed(1)} ms ${t?"slower":"faster"}${n.execDeltaPct!=null?` (${n.execDeltaPct>=0?"+":""}${n.execDeltaPct.toFixed(1)}%)`:""}`,s=(o,a,u)=>a.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",children:o}),a.slice(0,12).map(E=>p.jsxs("div",{className:"text-sm flex gap-2",children:[p.jsx("span",{className:"flex-1 truncate",children:E.signature}),p.jsxs("span",{style:{color:u},children:[E.deltaMs>=0?"+":"",E.deltaMs.toFixed(1)," ms",E.deltaPct!=null?` (${E.deltaPct>=0?"+":""}${E.deltaPct.toFixed(0)}%)`:""]})]},E.signature))]});return p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"font-medium",children:"Diff (before → after)"}),p.jsx("span",{className:"text-sm",style:{color:t?"var(--sev-error)":"var(--sev-info)"},children:i}),p.jsx(At,{variant:"secondary",size:"sm",className:"ml-auto",onClick:e,children:"Close"})]}),s("Regressed (slower)",n.regressed,"var(--sev-error)"),s("Improved (faster)",n.improved,"var(--sev-info)"),s("Added nodes",n.added,"var(--muted-foreground)"),s("Removed nodes",n.removed,"var(--muted-foreground)"),n.newFindings.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",style:{color:"var(--sev-error)"},children:"New findings"}),n.newFindings.map((o,a)=>p.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[p.jsx(lG,{className:"size-3.5 shrink-0",style:{color:"var(--sev-error)"}})," ",o.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:o.code})]},a))]}),n.resolvedFindings.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium mt-3 mb-1",style:{color:"var(--sev-info)"},children:"Resolved findings"}),n.resolvedFindings.map((o,a)=>p.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[p.jsx(nG,{className:"size-3.5 shrink-0",style:{color:"var(--sev-info)"}})," ",o.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:o.code})]},a))]})]})}function Fy(n,e,t){const i=URL.createObjectURL(new Blob([n],{type:t})),s=document.createElement("a");s.href=i,s.download=`pgexplain-${e}`,s.click(),URL.revokeObjectURL(i)}async function UL(n,e,t,i){try{Fy(await En.export(n,e),t,i)}catch{}}function o6({err:n}){var e;return p.jsxs("div",{className:"rounded-lg border-l-4 p-4",style:{borderColor:"var(--sev-error)",background:"var(--card)"},children:[p.jsxs("div",{className:"font-medium",children:[n.title," ",p.jsx("span",{className:"text-xs text-muted-foreground",children:n.code})]}),n.detail&&p.jsx("p",{className:"text-sm mt-1",children:n.detail}),((e=n.remediation)==null?void 0:e.summary)&&p.jsxs("p",{className:"text-sm mt-1",children:[p.jsx("b",{children:"Fix:"})," ",n.remediation.summary]})]})}function a6(){return p.jsx("div",{className:"h-full flex items-center justify-center text-center text-muted-foreground",children:p.jsxs("div",{children:[p.jsx("div",{className:"text-lg",children:"Run a query or paste a plan"}),p.jsx("div",{className:"text-sm mt-1",children:"Findings tell you what's slow and exactly how to fix it."})]})})}function bi({active:n,onClick:e,children:t}){return p.jsx(At,{variant:n?"default":"secondary",size:"sm",onClick:e,children:t})}const Yy=document.getElementById("root");if(!Yy)throw new Error("missing #root");NU.createRoot(Yy).render(p.jsx(M.StrictMode,{children:p.jsx(t6,{})}));export{At as B,TU as R,M as a,bL as g,p as j,zz as n,YS as r};