diff --git a/android-client/app/src/main/AndroidManifest.xml b/android-client/app/src/main/AndroidManifest.xml
index 1e911b4..4022c94 100644
--- a/android-client/app/src/main/AndroidManifest.xml
+++ b/android-client/app/src/main/AndroidManifest.xml
@@ -26,11 +26,18 @@
android:exported="true"
android:configChanges="orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="adjustResize"
- android:screenOrientation="portrait">
+ android:screenOrientation="portrait"
+ android:launchMode="singleTask">
+
+
+
+
+
+
+ if (uri.scheme == "navi" && uri.host == "auth" && uri.path == "/callback") {
+ val sid = uri.getQueryParameter("sid")
+ if (sid != null && serverUrl != null) {
+ CookieManager.getInstance().setCookie(
+ serverUrl,
+ "navi_auth_session=$sid; Path=/"
+ )
+ }
+ }
+ }
+
if (serverUrl.isNullOrBlank()) {
startActivity(Intent(this, SetupActivity::class.java))
finish()
@@ -80,6 +94,24 @@
webView.loadUrl(serverUrl)
}
+ override fun onNewIntent(intent: Intent) {
+ super.onNewIntent(intent)
+ intent.data?.let { uri ->
+ if (uri.scheme == "navi" && uri.host == "auth" && uri.path == "/callback") {
+ val sid = uri.getQueryParameter("sid")
+ val prefs = getSharedPreferences("navi", Context.MODE_PRIVATE)
+ val serverUrl = prefs.getString("server_url", null)
+ if (sid != null && serverUrl != null) {
+ CookieManager.getInstance().setCookie(
+ serverUrl,
+ "navi_auth_session=$sid; Path=/"
+ )
+ webView.loadUrl(serverUrl)
+ }
+ }
+ }
+ }
+
@SuppressLint("SetJavaScriptEnabled")
private fun setupWebView(prefs: android.content.SharedPreferences) {
webView.settings.apply {
diff --git a/navi/api/routes/auth.py b/navi/api/routes/auth.py
index fe28a5e..3e879d1 100644
--- a/navi/api/routes/auth.py
+++ b/navi/api/routes/auth.py
@@ -22,6 +22,10 @@
log = structlog.get_logger()
router = APIRouter(prefix="/auth", tags=["auth"])
+# Tracks extra per-state metadata (platform, return_to) that gnexus-auth
+# does not store — keyed by the OAuth state param and cleaned up on callback.
+_mobile_auth_states: dict[str, dict] = {}
+
def _get_redirect_uri() -> str:
"""Return the configured redirect_uri."""
@@ -34,8 +38,21 @@
return bool(settings.gnauth_client_id and settings.gnauth_client_secret)
+def _sanitize_return_to(return_to: str) -> str:
+ """Prevent open-redirect by allowing only relative paths."""
+ if not return_to or not return_to.startswith("/"):
+ return "/"
+ if "://" in return_to:
+ return "/"
+ return return_to
+
+
@router.get("/login")
-async def auth_login(request: Request) -> Response:
+async def auth_login(
+ request: Request,
+ return_to: str = "/",
+ platform: str | None = None,
+) -> Response:
"""Redirect to gnexus-auth OAuth authorization endpoint."""
if not _auth_configured():
raise HTTPException(status_code=503, detail="OAuth is not configured. Set GNAUTH_CLIENT_ID and GNAUTH_CLIENT_SECRET in .env")
@@ -43,12 +60,25 @@
redirect_uri = _get_redirect_uri()
client = get_gauth_client(redirect_uri=redirect_uri)
+ safe_return_to = _sanitize_return_to(return_to)
auth_request = client.build_authorization_request(
- return_to="/",
+ return_to=safe_return_to,
scopes=["openid", "email", "profile", "roles", "permissions"],
)
- log.info("auth.login_redirect", state=auth_request.state[:8] + "...", redirect_uri=redirect_uri)
+ # Remember platform so callback knows whether to use cookie or bridge page.
+ _mobile_auth_states[auth_request.state] = {
+ "platform": platform,
+ "return_to": safe_return_to,
+ }
+
+ log.info(
+ "auth.login_redirect",
+ state=auth_request.state[:8] + "...",
+ redirect_uri=redirect_uri,
+ platform=platform,
+ return_to=safe_return_to,
+ )
return Response(status_code=302, headers={"Location": auth_request.authorization_url})
@@ -155,7 +185,21 @@
except Exception:
log.warning("auth.create_session_failed", user_id=auth_user.user_id, exc_info=True)
- # Set cookie
+ # Retrieve platform/return_to info before state is forgotten
+ state_info = _mobile_auth_states.pop(state, {})
+ is_mobile = state_info.get("platform") == "android"
+ return_to = state_info.get("return_to", "/")
+
+ log.info("auth.login_success", user_id=auth_user.user_id, role=role, is_mobile=is_mobile)
+
+ if is_mobile:
+ # Mobile: redirect to bridge page that will deep-link back into the app.
+ return Response(
+ status_code=302,
+ headers={"Location": f"/auth/mobile-done?sid={session_id}"},
+ )
+
+ # Browser: set httpOnly cookie and redirect.
cookie_value = session_id
max_age = settings.navi_auth_cookie_max_age_days * 86400
cookie_str = (
@@ -168,16 +212,33 @@
if settings.navi_auth_cookie_secure:
cookie_str += "; Secure"
- log.info("auth.login_success", user_id=auth_user.user_id, role=role)
return Response(
status_code=302,
headers={
- "Location": "/",
+ "Location": return_to,
"Set-Cookie": cookie_str,
},
)
+@router.get("/mobile-done")
+async def auth_mobile_done(sid: str) -> Response:
+ """Bridge page for Android: receives the session id in the URL and
+ deep-links back into the native app so CookieManager can set the auth
+ cookie inside the WebView."""
+ html = (
+ ""
+ ""
+ 'Authentication complete'
+ ""
+ f''
+ "Redirecting to app…
"
+ ""
+ ""
+ )
+ return Response(content=html, media_type="text/html")
+
+
@router.post("/logout")
async def auth_logout(response: Response, user: Annotated[User, Depends(require_user)], request: Request) -> dict:
"""Logout current user."""
diff --git a/webclient/dist/assets/index-Bzu2xBc7.js b/webclient/dist/assets/index-Bzu2xBc7.js
new file mode 100644
index 0000000..3b730e1
--- /dev/null
+++ b/webclient/dist/assets/index-Bzu2xBc7.js
@@ -0,0 +1,101 @@
+var af=Object.defineProperty;var of=(t,e,n)=>e in t?af(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ut=(t,e,n)=>of(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();/**
+* @vue/shared v3.5.32
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Zc(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const pt={},Ir=[],Rn=()=>{},Wg=()=>!1,Ji=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),ji=t=>t.startsWith("onUpdate:"),Dt=Object.assign,Jc=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},sf=Object.prototype.hasOwnProperty,ot=(t,e)=>sf.call(t,e),De=Array.isArray,Ar=t=>Ei(t)==="[object Map]",Kg=t=>Ei(t)==="[object Set]",$_=t=>Ei(t)==="[object Date]",Ue=t=>typeof t=="function",St=t=>typeof t=="string",Qt=t=>typeof t=="symbol",st=t=>t!==null&&typeof t=="object",Qg=t=>(st(t)||Ue(t))&&Ue(t.then)&&Ue(t.catch),Xg=Object.prototype.toString,Ei=t=>Xg.call(t),lf=t=>Ei(t).slice(8,-1),Zg=t=>Ei(t)==="[object Object]",ea=t=>St(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Zr=Zc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ta=t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))},cf=/-\w/g,Vt=ta(t=>t.replace(cf,e=>e.slice(1).toUpperCase())),_f=/\B([A-Z])/g,Xn=ta(t=>t.replace(_f,"-$1").toLowerCase()),na=ta(t=>t.charAt(0).toUpperCase()+t.slice(1)),Mi=ta(t=>t?`on${na(t)}`:""),bn=(t,e)=>!Object.is(t,e),xi=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:r,value:n})},jc=t=>{const e=parseFloat(t);return isNaN(e)?t:e},df=t=>{const e=St(t)?Number(t):NaN;return isNaN(e)?t:e};let z_;const ra=()=>z_||(z_=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Sr(t){if(De(t)){const e={};for(let n=0;n{if(n){const r=n.split(pf);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function Je(t){let e="";if(St(t))e=t;else if(De(t))for(let n=0;n!!(t&&t.__v_isRef===!0),Le=t=>St(t)?t:t==null?"":De(t)||st(t)&&(t.toString===Xg||!Ue(t.toString))?eE(t)?Le(t.value):JSON.stringify(t,tE,2):String(t),tE=(t,e)=>eE(e)?tE(t,e.value):Ar(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[r,i],a)=>(n[va(r,a)+" =>"]=i,n),{})}:Kg(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>va(n))}:Qt(e)?va(e):st(e)&&!De(e)&&!Zg(e)?String(e):e,va=(t,e="")=>{var n;return Qt(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/**
+* @vue/reactivity v3.5.32
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let wt;class nE{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=wt,!e&&wt&&(this.index=(wt.scopes||(wt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes)for(e=0,n=this.scopes.length;e0&&--this._on===0&&(wt=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(jr){let e=jr;for(jr=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Jr;){let e=Jr;for(Jr=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(r){t||(t=r)}e=n}}if(t)throw t}function sE(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function lE(t){let e,n=t.depsTail,r=n;for(;r;){const i=r.prevDep;r.version===-1?(r===n&&(n=i),i_(r),hf(r)):e=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=i}t.deps=e,t.depsTail=n}function vc(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(cE(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function cE(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===oi)||(t.globalVersion=oi,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!vc(t))))return;t.flags|=2;const e=t.dep,n=mt,r=sn;mt=t,sn=!0;try{sE(t);const i=t.fn(t._value);(e.version===0||bn(i,t._value))&&(t.flags|=128,t._value=i,e.version++)}catch(i){throw e.version++,i}finally{mt=n,sn=r,lE(t),t.flags&=-3}}function i_(t,e=!1){const{dep:n,prevSub:r,nextSub:i}=t;if(r&&(r.nextSub=i,t.prevSub=void 0),i&&(i.prevSub=r,t.nextSub=void 0),n.subs===t&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let a=n.computed.deps;a;a=a.nextDep)i_(a,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function hf(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let sn=!0;const _E=[];function Fn(){_E.push(sn),sn=!1}function Bn(){const t=_E.pop();sn=t===void 0?!0:t}function W_(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=mt;mt=void 0;try{e()}finally{mt=n}}}let oi=0;class Rf{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class a_{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!mt||!sn||mt===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==mt)n=this.activeLink=new Rf(mt,this),mt.deps?(n.prevDep=mt.depsTail,mt.depsTail.nextDep=n,mt.depsTail=n):mt.deps=mt.depsTail=n,dE(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=mt.depsTail,n.nextDep=void 0,mt.depsTail.nextDep=n,mt.depsTail=n,mt.deps===n&&(mt.deps=r)}return n}trigger(e){this.version++,oi++,this.notify(e)}notify(e){n_();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{r_()}}}function dE(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let r=e.deps;r;r=r.nextDep)dE(r)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const Ui=new WeakMap,ur=Symbol(""),Nc=Symbol(""),si=Symbol("");function Pt(t,e,n){if(sn&&mt){let r=Ui.get(t);r||Ui.set(t,r=new Map);let i=r.get(n);i||(r.set(n,i=new a_),i.map=r,i.key=n),i.track()}}function xn(t,e,n,r,i,a){const o=Ui.get(t);if(!o){oi++;return}const s=c=>{c&&c.trigger()};if(n_(),e==="clear")o.forEach(s);else{const c=De(t),_=c&&ea(n);if(c&&n==="length"){const l=Number(r);o.forEach((d,u)=>{(u==="length"||u===si||!Qt(u)&&u>=l)&&s(d)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),_&&s(o.get(si)),e){case"add":c?_&&s(o.get("length")):(s(o.get(ur)),Ar(t)&&s(o.get(Nc)));break;case"delete":c||(s(o.get(ur)),Ar(t)&&s(o.get(Nc)));break;case"set":Ar(t)&&s(o.get(ur));break}}r_()}function Cf(t,e){const n=Ui.get(t);return n&&n.get(e)}function Rr(t){const e=Ze(t);return e===t?e:(Pt(e,"iterate",si),Kt(t)?e:e.map(ln))}function ia(t){return Pt(t=Ze(t),"iterate",si),t}function fn(t,e){return Gn(t)?xr(Un(t)?ln(e):e):ln(e)}const vf={__proto__:null,[Symbol.iterator](){return Oa(this,Symbol.iterator,t=>fn(this,t))},concat(...t){return Rr(this).concat(...t.map(e=>De(e)?Rr(e):e))},entries(){return Oa(this,"entries",t=>(t[1]=fn(this,t[1]),t))},every(t,e){return yn(this,"every",t,e,void 0,arguments)},filter(t,e){return yn(this,"filter",t,e,n=>n.map(r=>fn(this,r)),arguments)},find(t,e){return yn(this,"find",t,e,n=>fn(this,n),arguments)},findIndex(t,e){return yn(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return yn(this,"findLast",t,e,n=>fn(this,n),arguments)},findLastIndex(t,e){return yn(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return yn(this,"forEach",t,e,void 0,arguments)},includes(...t){return ya(this,"includes",t)},indexOf(...t){return ya(this,"indexOf",t)},join(t){return Rr(this).join(t)},lastIndexOf(...t){return ya(this,"lastIndexOf",t)},map(t,e){return yn(this,"map",t,e,void 0,arguments)},pop(){return Hr(this,"pop")},push(...t){return Hr(this,"push",t)},reduce(t,...e){return K_(this,"reduce",t,e)},reduceRight(t,...e){return K_(this,"reduceRight",t,e)},shift(){return Hr(this,"shift")},some(t,e){return yn(this,"some",t,e,void 0,arguments)},splice(...t){return Hr(this,"splice",t)},toReversed(){return Rr(this).toReversed()},toSorted(t){return Rr(this).toSorted(t)},toSpliced(...t){return Rr(this).toSpliced(...t)},unshift(...t){return Hr(this,"unshift",t)},values(){return Oa(this,"values",t=>fn(this,t))}};function Oa(t,e,n){const r=ia(t),i=r[e]();return r!==t&&!Kt(t)&&(i._next=i.next,i.next=()=>{const a=i._next();return a.done||(a.value=n(a.value)),a}),i}const Nf=Array.prototype;function yn(t,e,n,r,i,a){const o=ia(t),s=o!==t&&!Kt(t),c=o[e];if(c!==Nf[e]){const d=c.apply(t,a);return s?ln(d):d}let _=n;o!==t&&(s?_=function(d,u){return n.call(this,fn(t,d),u,t)}:n.length>2&&(_=function(d,u){return n.call(this,d,u,t)}));const l=c.call(o,_,r);return s&&i?i(l):l}function K_(t,e,n,r){const i=ia(t),a=i!==t&&!Kt(t);let o=n,s=!1;i!==t&&(a?(s=r.length===0,o=function(_,l,d){return s&&(s=!1,_=fn(t,_)),n.call(this,_,fn(t,l),d,t)}):n.length>3&&(o=function(_,l,d){return n.call(this,_,l,d,t)}));const c=i[e](o,...r);return s?fn(t,c):c}function ya(t,e,n){const r=Ze(t);Pt(r,"iterate",si);const i=r[e](...n);return(i===-1||i===!1)&&aa(n[0])?(n[0]=Ze(n[0]),r[e](...n)):i}function Hr(t,e,n=[]){Fn(),n_();const r=Ze(t)[e].apply(t,n);return r_(),Bn(),r}const Of=Zc("__proto__,__v_isRef,__isVue"),uE=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Qt));function yf(t){Qt(t)||(t=String(t));const e=Ze(this);return Pt(e,"has",t),e.hasOwnProperty(t)}class pE{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,r){if(n==="__v_skip")return e.__v_skip;const i=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return a;if(n==="__v_raw")return r===(i?a?Uf:SE:a?EE:gE).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=De(e);if(!i){let c;if(o&&(c=vf[n]))return c;if(n==="hasOwnProperty")return yf}const s=Reflect.get(e,n,Rt(e)?e:r);if((Qt(n)?uE.has(n):Of(n))||(i||Pt(e,"get",n),a))return s;if(Rt(s)){const c=o&&ea(n)?s:s.value;return i&&st(c)?yc(c):c}return st(s)?i?yc(s):Pr(s):s}}class mE extends pE{constructor(e=!1){super(!1,e)}set(e,n,r,i){let a=e[n];const o=De(e)&&ea(n);if(!this._isShallow){const _=Gn(a);if(!Kt(r)&&!Gn(r)&&(a=Ze(a),r=Ze(r)),!o&&Rt(a)&&!Rt(r))return _||(a.value=r),!0}const s=o?Number(n)t,vi=t=>Reflect.getPrototypeOf(t);function xf(t,e,n){return function(...r){const i=this.__v_raw,a=Ze(i),o=Ar(a),s=t==="entries"||t===Symbol.iterator&&o,c=t==="keys"&&o,_=i[t](...r),l=n?Oc:e?xr:ln;return!e&&Pt(a,"iterate",c?Nc:ur),Dt(Object.create(_),{next(){const{value:d,done:u}=_.next();return u?{value:d,done:u}:{value:s?[l(d[0]),l(d[1])]:l(d),done:u}}})}}function Ni(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Lf(t,e){const n={get(i){const a=this.__v_raw,o=Ze(a),s=Ze(i);t||(bn(i,s)&&Pt(o,"get",i),Pt(o,"get",s));const{has:c}=vi(o),_=e?Oc:t?xr:ln;if(c.call(o,i))return _(a.get(i));if(c.call(o,s))return _(a.get(s));a!==o&&a.get(i)},get size(){const i=this.__v_raw;return!t&&Pt(Ze(i),"iterate",ur),i.size},has(i){const a=this.__v_raw,o=Ze(a),s=Ze(i);return t||(bn(i,s)&&Pt(o,"has",i),Pt(o,"has",s)),i===s?a.has(i):a.has(i)||a.has(s)},forEach(i,a){const o=this,s=o.__v_raw,c=Ze(s),_=e?Oc:t?xr:ln;return!t&&Pt(c,"iterate",ur),s.forEach((l,d)=>i.call(a,_(l),_(d),o))}};return Dt(n,t?{add:Ni("add"),set:Ni("set"),delete:Ni("delete"),clear:Ni("clear")}:{add(i){const a=Ze(this),o=vi(a),s=Ze(i),c=!e&&!Kt(i)&&!Gn(i)?s:i;return o.has.call(a,c)||bn(i,c)&&o.has.call(a,i)||bn(s,c)&&o.has.call(a,s)||(a.add(c),xn(a,"add",c,c)),this},set(i,a){!e&&!Kt(a)&&!Gn(a)&&(a=Ze(a));const o=Ze(this),{has:s,get:c}=vi(o);let _=s.call(o,i);_||(i=Ze(i),_=s.call(o,i));const l=c.call(o,i);return o.set(i,a),_?bn(a,l)&&xn(o,"set",i,a):xn(o,"add",i,a),this},delete(i){const a=Ze(this),{has:o,get:s}=vi(a);let c=o.call(a,i);c||(i=Ze(i),c=o.call(a,i)),s&&s.call(a,i);const _=a.delete(i);return c&&xn(a,"delete",i,void 0),_},clear(){const i=Ze(this),a=i.size!==0,o=i.clear();return a&&xn(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=xf(i,t,e)}),n}function o_(t,e){const n=Lf(t,e);return(r,i,a)=>i==="__v_isReactive"?!t:i==="__v_isReadonly"?t:i==="__v_raw"?r:Reflect.get(ot(n,i)&&i in r?n:r,i,a)}const wf={get:o_(!1,!1)},Pf={get:o_(!1,!0)},kf={get:o_(!0,!1)};const gE=new WeakMap,EE=new WeakMap,SE=new WeakMap,Uf=new WeakMap;function Ff(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bf(t){return t.__v_skip||!Object.isExtensible(t)?0:Ff(lf(t))}function Pr(t){return Gn(t)?t:l_(t,!1,Af,wf,gE)}function s_(t){return l_(t,!1,Mf,Pf,EE)}function yc(t){return l_(t,!0,Df,kf,SE)}function l_(t,e,n,r,i){if(!st(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const a=Bf(t);if(a===0)return t;const o=i.get(t);if(o)return o;const s=new Proxy(t,a===2?r:n);return i.set(t,s),s}function Un(t){return Gn(t)?Un(t.__v_raw):!!(t&&t.__v_isReactive)}function Gn(t){return!!(t&&t.__v_isReadonly)}function Kt(t){return!!(t&&t.__v_isShallow)}function aa(t){return t?!!t.__v_raw:!1}function Ze(t){const e=t&&t.__v_raw;return e?Ze(e):t}function oa(t){return!ot(t,"__v_skip")&&Object.isExtensible(t)&&Jg(t,"__v_skip",!0),t}const ln=t=>st(t)?Pr(t):t,xr=t=>st(t)?yc(t):t;function Rt(t){return t?t.__v_isRef===!0:!1}function ce(t){return fE(t,!1)}function cr(t){return fE(t,!0)}function fE(t,e){return Rt(t)?t:new Gf(t,e)}class Gf{constructor(e,n){this.dep=new a_,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:Ze(e),this._value=n?e:ln(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,r=this.__v_isShallow||Kt(e)||Gn(e);e=r?e:Ze(e),bn(e,n)&&(this._rawValue=e,this._value=r?e:ln(e),this.dep.trigger())}}function X(t){return Rt(t)?t.value:t}function pe(t){return Ue(t)?t():X(t)}const Yf={get:(t,e,n)=>e==="__v_raw"?t:X(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Rt(i)&&!Rt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function TE(t){return Un(t)?t:new Proxy(t,Yf)}function qf(t){const e=De(t)?new Array(t.length):{};for(const n in t)e[n]=Vf(t,n);return e}class Hf{constructor(e,n,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=Qt(n)?n:String(n),this._raw=Ze(e);let i=!0,a=e;if(!De(e)||Qt(this._key)||!ea(this._key))do i=!aa(a)||Kt(a);while(i&&(a=a.__v_raw));this._shallow=i}get value(){let e=this._object[this._key];return this._shallow&&(e=X(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Rt(this._raw[this._key])){const n=this._object[this._key];if(Rt(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Cf(this._raw,this._key)}}function Vf(t,e,n){return new Hf(t,e,n)}class $f{constructor(e,n,r){this.fn=e,this.setter=n,this._value=void 0,this.dep=new a_(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=oi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&mt!==this)return oE(this,!0),!0}get value(){const e=this.dep.track();return cE(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function zf(t,e,n=!1){let r,i;return Ue(t)?r=t:(r=t.get,i=t.set),new $f(r,i,n)}const Oi={},Fi=new WeakMap;let or;function Wf(t,e=!1,n=or){if(n){let r=Fi.get(n);r||Fi.set(n,r=[]),r.push(t)}}function Kf(t,e,n=pt){const{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,_=v=>i?v:Kt(v)||i===!1||i===0?Ln(v,1):Ln(v);let l,d,u,p,m=!1,E=!1;if(Rt(t)?(d=()=>t.value,m=Kt(t)):Un(t)?(d=()=>_(t),m=!0):De(t)?(E=!0,m=t.some(v=>Un(v)||Kt(v)),d=()=>t.map(v=>{if(Rt(v))return v.value;if(Un(v))return _(v);if(Ue(v))return c?c(v,2):v()})):Ue(t)?e?d=c?()=>c(t,2):t:d=()=>{if(u){Fn();try{u()}finally{Bn()}}const v=or;or=l;try{return c?c(t,3,[p]):t(p)}finally{or=v}}:d=Rn,e&&i){const v=d,D=i===!0?1/0:i;d=()=>Ln(v(),D)}const f=rE(),h=()=>{l.stop(),f&&f.active&&Jc(f.effects,l)};if(a&&e){const v=e;e=(...D)=>{v(...D),h()}}let b=E?new Array(t.length).fill(Oi):Oi;const R=v=>{if(!(!(l.flags&1)||!l.dirty&&!v))if(e){const D=l.run();if(i||m||(E?D.some((y,L)=>bn(y,b[L])):bn(D,b))){u&&u();const y=or;or=l;try{const L=[D,b===Oi?void 0:E&&b[0]===Oi?[]:b,p];b=D,c?c(e,3,L):e(...L)}finally{or=y}}}else l.run()};return s&&s(R),l=new iE(d),l.scheduler=o?()=>o(R,!1):R,p=v=>Wf(v,!1,l),u=l.onStop=()=>{const v=Fi.get(l);if(v){if(c)c(v,4);else for(const D of v)D();Fi.delete(l)}},e?r?R(!0):b=l.run():o?o(R.bind(null,!0),!0):l.run(),h.pause=l.pause.bind(l),h.resume=l.resume.bind(l),h.stop=h,h}function Ln(t,e=1/0,n){if(e<=0||!st(t)||t.__v_skip||(n=n||new Map,(n.get(t)||0)>=e))return t;if(n.set(t,e),e--,Rt(t))Ln(t.value,e,n);else if(De(t))for(let r=0;r{Ln(r,e,n)});else if(Zg(t)){for(const r in t)Ln(t[r],e,n);for(const r of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,r)&&Ln(t[r],e,n)}return t}/**
+* @vue/runtime-core v3.5.32
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Si(t,e,n,r){try{return r?t(...r):t()}catch(i){sa(i,e,n)}}function cn(t,e,n,r){if(Ue(t)){const i=Si(t,e,n,r);return i&&Qg(i)&&i.catch(a=>{sa(a,e,n)}),i}if(De(t)){const i=[];for(let a=0;a>>1,i=qt[r],a=li(i);a=li(n)?qt.push(t):qt.splice(Xf(e),0,t),t.flags|=1,hE()}}function hE(){Bi||(Bi=bE.then(CE))}function Zf(t){De(t)?Dr.push(...t):Wn&&t.id===-1?Wn.splice(vr+1,0,t):t.flags&1||(Dr.push(t),t.flags|=1),hE()}function Q_(t,e,n=En+1){for(;nli(n)-li(r));if(Dr.length=0,Wn){Wn.push(...e);return}for(Wn=e,vr=0;vrt.id==null?t.flags&2?-1:1/0:t.id;function CE(t){try{for(En=0;En{r._d&&Hi(-1);const a=Gi(e);let o;try{o=t(...i)}finally{Gi(a),r._d&&Hi(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function NE(t,e){if(Mt===null)return t;const n=pa(Mt),r=t.dirs||(t.dirs=[]);for(let i=0;i1)return n&&Ue(e)?e.call(r&&r.proxy):e}}function Jf(){return!!(E_()||pr)}const jf=Symbol.for("v-scx"),eT=()=>rn(jf);function Ye(t,e,n){return OE(t,e,n)}function OE(t,e,n=pt){const{immediate:r,deep:i,flush:a,once:o}=n,s=Dt({},n),c=e&&r||!e&&a!=="post";let _;if(ui){if(a==="sync"){const p=eT();_=p.__watcherHandles||(p.__watcherHandles=[])}else if(!c){const p=()=>{};return p.stop=Rn,p.resume=Rn,p.pause=Rn,p}}const l=Ut;s.call=(p,m,E)=>cn(p,l,m,E);let d=!1;a==="post"?s.scheduler=p=>{Gt(p,l&&l.suspense)}:a!=="sync"&&(d=!0,s.scheduler=(p,m)=>{m?p():c_(p)}),s.augmentJob=p=>{e&&(p.flags|=4),d&&(p.flags|=2,l&&(p.id=l.uid,p.i=l))};const u=Kf(t,e,s);return ui&&(_?_.push(u):c&&u()),u}function tT(t,e,n){const r=this.proxy,i=St(t)?t.includes(".")?yE(r,t):()=>r[t]:t.bind(r,r);let a;Ue(e)?a=e:(a=e.handler,n=e);const o=fi(this),s=OE(i,a.bind(r),n);return o(),s}function yE(t,e){const n=e.split(".");return()=>{let r=t;for(let i=0;it.__isTeleport,sr=t=>t&&(t.disabled||t.disabled===""),nT=t=>t&&(t.defer||t.defer===""),X_=t=>typeof SVGElement<"u"&&t instanceof SVGElement,Z_=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Ic=(t,e)=>{const n=t&&t.to;return St(n)?e?e(n):null:n},rT={name:"Teleport",__isTeleport:!0,process(t,e,n,r,i,a,o,s,c,_){const{mc:l,pc:d,pbc:u,o:{insert:p,querySelector:m,createText:E,createComment:f}}=_,h=sr(e.props);let{dynamicChildren:b}=e;const R=(y,L,A)=>{y.shapeFlag&16&&l(y.children,L,A,i,a,o,s,c)},v=(y=e)=>{const L=sr(y.props),A=y.target=Ic(y.props,m),w=Ac(A,y,E,p);A&&(o!=="svg"&&X_(A)?o="svg":o!=="mathml"&&Z_(A)&&(o="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(A),L||(R(y,A,w),Qr(y,!1)))},D=y=>{const L=()=>{nr.get(y)===L&&(nr.delete(y),sr(y.props)&&(R(y,n,y.anchor),Qr(y,!0)),v(y))};nr.set(y,L),Gt(L,a)};if(t==null){const y=e.el=E(""),L=e.anchor=E("");if(p(y,n,r),p(L,n,r),nT(e.props)||a&&a.pendingBranch){D(e);return}h&&(R(e,n,L),Qr(e,!0)),v()}else{e.el=t.el;const y=e.anchor=t.anchor,L=nr.get(t);if(L){L.flags|=8,nr.delete(t),D(e);return}e.targetStart=t.targetStart;const A=e.target=t.target,w=e.targetAnchor=t.targetAnchor,$=sr(t.props),W=$?n:A,x=$?y:w;if(o==="svg"||X_(A)?o="svg":(o==="mathml"||Z_(A))&&(o="mathml"),b?(u(t.dynamicChildren,b,W,i,a,o,s),m_(t,e,!0)):c||d(t,e,W,x,i,a,o,s,!1),h)$?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):yi(e,n,y,_,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const Z=e.target=Ic(e.props,m);Z&&yi(e,Z,null,_,0)}else $&&yi(e,A,w,_,1);Qr(e,h)}},remove(t,e,n,{um:r,o:{remove:i}},a){const{shapeFlag:o,children:s,anchor:c,targetStart:_,targetAnchor:l,target:d,props:u}=t;let p=a||!sr(u);const m=nr.get(t);if(m&&(m.flags|=8,nr.delete(t),p=!1),d&&(i(_),i(l)),a&&i(c),o&16)for(let E=0;E{t.isMounted=!0}),Tr(()=>{t.isUnmounting=!0}),t}const nn=[Function,Array],DE={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:nn,onEnter:nn,onAfterEnter:nn,onEnterCancelled:nn,onBeforeLeave:nn,onLeave:nn,onAfterLeave:nn,onLeaveCancelled:nn,onBeforeAppear:nn,onAppear:nn,onAfterAppear:nn,onAppearCancelled:nn},ME=t=>{const e=t.subTree;return e.component?ME(e.component):e},oT={name:"BaseTransition",props:DE,setup(t,{slots:e}){const n=E_(),r=aT();return()=>{const i=e.default&&wE(e.default(),!0);if(!i||!i.length)return;const a=xE(i),o=Ze(t),{mode:s}=o;if(r.isLeaving)return Ia(a);const c=J_(a);if(!c)return Ia(a);let _=Dc(c,o,r,n,d=>_=d);c.type!==kt&&ci(c,_);let l=n.subTree&&J_(n.subTree);if(l&&l.type!==kt&&!lr(l,c)&&ME(n).type!==kt){let d=Dc(l,o,r,n);if(ci(l,d),s==="out-in"&&c.type!==kt)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,l=void 0},Ia(a);s==="in-out"&&c.type!==kt?d.delayLeave=(u,p,m)=>{const E=LE(r,l);E[String(l.key)]=l,u[Sn]=()=>{p(),u[Sn]=void 0,delete _.delayedLeave,l=void 0},_.delayedLeave=()=>{m(),delete _.delayedLeave,l=void 0}}:l=void 0}else l&&(l=void 0);return a}}};function xE(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==kt){e=n;break}}return e}const sT=oT;function LE(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function Dc(t,e,n,r,i){const{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:_,onAfterEnter:l,onEnterCancelled:d,onBeforeLeave:u,onLeave:p,onAfterLeave:m,onLeaveCancelled:E,onBeforeAppear:f,onAppear:h,onAfterAppear:b,onAppearCancelled:R}=e,v=String(t.key),D=LE(n,t),y=(w,$)=>{w&&cn(w,r,9,$)},L=(w,$)=>{const W=$[1];y(w,$),De(w)?w.every(x=>x.length<=1)&&W():w.length<=1&&W()},A={mode:o,persisted:s,beforeEnter(w){let $=c;if(!n.isMounted)if(a)$=f||c;else return;w[Sn]&&w[Sn](!0);const W=D[v];W&&lr(t,W)&&W.el[Sn]&&W.el[Sn](),y($,[w])},enter(w){if(D[v]===t)return;let $=_,W=l,x=d;if(!n.isMounted)if(a)$=h||_,W=b||l,x=R||d;else return;let Z=!1;w[Vr]=Se=>{Z||(Z=!0,Se?y(x,[w]):y(W,[w]),A.delayedLeave&&A.delayedLeave(),w[Vr]=void 0)};const re=w[Vr].bind(null,!1);$?L($,[w,re]):re()},leave(w,$){const W=String(t.key);if(w[Vr]&&w[Vr](!0),n.isUnmounting)return $();y(u,[w]);let x=!1;w[Sn]=re=>{x||(x=!0,$(),re?y(E,[w]):y(m,[w]),w[Sn]=void 0,D[W]===t&&delete D[W])};const Z=w[Sn].bind(null,!1);D[W]=t,p?L(p,[w,Z]):Z()},clone(w){const $=Dc(w,e,n,r,i);return i&&i($),$}};return A}function Ia(t){if(la(t))return t=Qn(t),t.children=null,t}function J_(t){if(!la(t))return AE(t.type)&&t.children?xE(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:n}=t;if(n){if(e&16)return n[0];if(e&32&&Ue(n.default))return n.default()}}function ci(t,e){t.shapeFlag&6&&t.component?(t.transition=e,ci(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function wE(t,e=!1,n){let r=[],i=0;for(let a=0;a1)for(let a=0;aei(E,e&&(De(e)?e[f]:e),n,r,i));return}if(Mr(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&ei(t,e,n,r.component.subTree);return}const a=r.shapeFlag&4?pa(r.component):r.el,o=i?null:a,{i:s,r:c}=t,_=e&&e.r,l=s.refs===pt?s.refs={}:s.refs,d=s.setupState,u=Ze(d),p=d===pt?Wg:E=>j_(l,E)?!1:ot(u,E),m=(E,f)=>!(f&&j_(l,f));if(_!=null&&_!==c){if(ed(e),St(_))l[_]=null,p(_)&&(d[_]=null);else if(Rt(_)){const E=e;m(_,E.k)&&(_.value=null),E.k&&(l[E.k]=null)}}if(Ue(c))Si(c,s,12,[o,l]);else{const E=St(c),f=Rt(c);if(E||f){const h=()=>{if(t.f){const b=E?p(c)?d[c]:l[c]:m()||!t.k?c.value:l[t.k];if(i)De(b)&&Jc(b,a);else if(De(b))b.includes(a)||b.push(a);else if(E)l[c]=[a],p(c)&&(d[c]=l[c]);else{const R=[a];m(c,t.k)&&(c.value=R),t.k&&(l[t.k]=R)}}else E?(l[c]=o,p(c)&&(d[c]=o)):f&&(m(c,t.k)&&(c.value=o),t.k&&(l[t.k]=o))};if(o){const b=()=>{h(),Yi.delete(t)};b.id=-1,Yi.set(t,b),Gt(b,n)}else ed(t),h()}}}function ed(t){const e=Yi.get(t);e&&(e.flags|=8,Yi.delete(t))}ra().requestIdleCallback;ra().cancelIdleCallback;const Mr=t=>!!t.type.__asyncLoader,la=t=>t.type.__isKeepAlive;function d_(t,e){UE(t,"a",e)}function kE(t,e){UE(t,"da",e)}function UE(t,e,n=Ut){const r=t.__wdc||(t.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return t()});if(ca(e,r,n),n){let i=n.parent;for(;i&&i.parent;)la(i.parent.vnode)&&lT(r,e,n,i),i=i.parent}}function lT(t,e,n,r){const i=ca(e,t,r,!0);Zn(()=>{Jc(r[e],i)},n)}function ca(t,e,n=Ut,r=!1){if(n){const i=n[t]||(n[t]=[]),a=e.__weh||(e.__weh=(...o)=>{Fn();const s=fi(n),c=cn(e,n,t,o);return s(),Bn(),c});return r?i.unshift(a):i.push(a),a}}const Yn=t=>(e,n=Ut)=>{(!ui||t==="sp")&&ca(t,(...r)=>e(...r),n)},cT=Yn("bm"),Cn=Yn("m"),_T=Yn("bu"),dT=Yn("u"),Tr=Yn("bum"),Zn=Yn("um"),uT=Yn("sp"),pT=Yn("rtg"),mT=Yn("rtc");function gT(t,e=Ut){ca("ec",t,e)}const FE="components";function ET(t,e){return GE(FE,t,!0,e)||t}const BE=Symbol.for("v-ndc");function _a(t){return St(t)?GE(FE,t,!1)||t:t||BE}function GE(t,e,n=!0,r=!1){const i=Mt||Ut;if(i){const a=i.type;{const s=tb(a,!1);if(s&&(s===e||s===Vt(e)||s===na(Vt(e))))return a}const o=td(i[t]||a[t],e)||td(i.appContext[t],e);return!o&&r?a:o}}function td(t,e){return t&&(t[e]||t[Vt(e)]||t[na(Vt(e))])}function _n(t,e,n,r){let i;const a=n,o=De(t);if(o||St(t)){const s=o&&Un(t);let c=!1,_=!1;s&&(c=!Kt(t),_=Gn(t),t=ia(t)),i=new Array(t.length);for(let l=0,d=t.length;le(s,c,void 0,a));else{const s=Object.keys(t);i=new Array(s.length);for(let c=0,_=s.length;c<_;c++){const l=s[c];i[c]=e(t[l],l,c,a)}}else i=[];return i}function ST(t,e){for(let n=0;n{const a=r.fn(...i);return a&&(a.key=r.key),a}:r.fn)}return t}function hn(t,e,n={},r,i){if(Mt.ce||Mt.parent&&Mr(Mt.parent)&&Mt.parent.ce){const _=Object.keys(n).length>0;return e!=="default"&&(n.name=e),k(),Et(_t,null,[We("slot",n,r)],_?-2:64)}let a=t[e];a&&a._c&&(a._d=!1),k();const o=a&&YE(a(n)),s=n.key||o&&o.key,c=Et(_t,{key:(s&&!Qt(s)?s:`_${e}`)+(!o&&r?"_fb":"")},o||[],o&&t._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),a&&a._c&&(a._d=!0),c}function YE(t){return t.some(e=>di(e)?!(e.type===kt||e.type===_t&&!YE(e.children)):!0)?t:null}function fT(t,e){const n={};for(const r in t)n[Mi(r)]=t[r];return n}const Mc=t=>t?sS(t)?pa(t):Mc(t.parent):null,ti=Dt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Mc(t.parent),$root:t=>Mc(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>HE(t),$forceUpdate:t=>t.f||(t.f=()=>{c_(t.update)}),$nextTick:t=>t.n||(t.n=Ft.bind(t.proxy)),$watch:t=>tT.bind(t)}),Aa=(t,e)=>t!==pt&&!t.__isScriptSetup&&ot(t,e),TT={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=t;if(e[0]!=="$"){const u=o[e];if(u!==void 0)switch(u){case 1:return r[e];case 2:return i[e];case 4:return n[e];case 3:return a[e]}else{if(Aa(r,e))return o[e]=1,r[e];if(i!==pt&&ot(i,e))return o[e]=2,i[e];if(ot(a,e))return o[e]=3,a[e];if(n!==pt&&ot(n,e))return o[e]=4,n[e];xc&&(o[e]=0)}}const _=ti[e];let l,d;if(_)return e==="$attrs"&&Pt(t.attrs,"get",""),_(t);if((l=s.__cssModules)&&(l=l[e]))return l;if(n!==pt&&ot(n,e))return o[e]=4,n[e];if(d=c.config.globalProperties,ot(d,e))return d[e]},set({_:t},e,n){const{data:r,setupState:i,ctx:a}=t;return Aa(i,e)?(i[e]=n,!0):r!==pt&&ot(r,e)?(r[e]=n,!0):ot(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(a[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||t!==pt&&s[0]!=="$"&&ot(t,s)||Aa(e,s)||ot(a,s)||ot(r,s)||ot(ti,s)||ot(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:ot(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function nd(t){return De(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let xc=!0;function bT(t){const e=HE(t),n=t.proxy,r=t.ctx;xc=!1,e.beforeCreate&&rd(e.beforeCreate,t,"bc");const{data:i,computed:a,methods:o,watch:s,provide:c,inject:_,created:l,beforeMount:d,mounted:u,beforeUpdate:p,updated:m,activated:E,deactivated:f,beforeDestroy:h,beforeUnmount:b,destroyed:R,unmounted:v,render:D,renderTracked:y,renderTriggered:L,errorCaptured:A,serverPrefetch:w,expose:$,inheritAttrs:W,components:x,directives:Z,filters:re}=e;if(_&&hT(_,r,null),o)for(const ie in o){const Te=o[ie];Ue(Te)&&(r[ie]=Te.bind(n))}if(i){const ie=i.call(n,n);st(ie)&&(t.data=Pr(ie))}if(xc=!0,a)for(const ie in a){const Te=a[ie],ge=Ue(Te)?Te.bind(n,n):Ue(Te.get)?Te.get.bind(n,n):Rn,Ae=!Ue(Te)&&Ue(Te.set)?Te.set.bind(n):Rn,Fe=me({get:ge,set:Ae});Object.defineProperty(r,ie,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:Ge=>Fe.value=Ge})}if(s)for(const ie in s)qE(s[ie],r,n,ie);if(c){const ie=Ue(c)?c.call(n):c;Reflect.ownKeys(ie).forEach(Te=>{wn(Te,ie[Te])})}l&&rd(l,t,"c");function oe(ie,Te){De(Te)?Te.forEach(ge=>ie(ge.bind(n))):Te&&ie(Te.bind(n))}if(oe(cT,d),oe(Cn,u),oe(_T,p),oe(dT,m),oe(d_,E),oe(kE,f),oe(gT,A),oe(mT,y),oe(pT,L),oe(Tr,b),oe(Zn,v),oe(uT,w),De($))if($.length){const ie=t.exposed||(t.exposed={});$.forEach(Te=>{Object.defineProperty(ie,Te,{get:()=>n[Te],set:ge=>n[Te]=ge,enumerable:!0})})}else t.exposed||(t.exposed={});D&&t.render===Rn&&(t.render=D),W!=null&&(t.inheritAttrs=W),x&&(t.components=x),Z&&(t.directives=Z),w&&PE(t)}function hT(t,e,n=Rn){De(t)&&(t=Lc(t));for(const r in t){const i=t[r];let a;st(i)?"default"in i?a=rn(i.from||r,i.default,!0):a=rn(i.from||r):a=rn(i),Rt(a)?Object.defineProperty(e,r,{enumerable:!0,configurable:!0,get:()=>a.value,set:o=>a.value=o}):e[r]=a}}function rd(t,e,n){cn(De(t)?t.map(r=>r.bind(e.proxy)):t.bind(e.proxy),e,n)}function qE(t,e,n,r){let i=r.includes(".")?yE(n,r):()=>n[r];if(St(t)){const a=e[t];Ue(a)&&Ye(i,a)}else if(Ue(t))Ye(i,t.bind(n));else if(st(t))if(De(t))t.forEach(a=>qE(a,e,n,r));else{const a=Ue(t.handler)?t.handler.bind(n):e[t.handler];Ue(a)&&Ye(i,a,t)}}function HE(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=t.appContext,s=a.get(e);let c;return s?c=s:!i.length&&!n&&!r?c=e:(c={},i.length&&i.forEach(_=>qi(c,_,o,!0)),qi(c,e,o)),st(e)&&a.set(e,c),c}function qi(t,e,n,r=!1){const{mixins:i,extends:a}=e;a&&qi(t,a,n,!0),i&&i.forEach(o=>qi(t,o,n,!0));for(const o in e)if(!(r&&o==="expose")){const s=RT[o]||n&&n[o];t[o]=s?s(t[o],e[o]):e[o]}return t}const RT={data:id,props:ad,emits:ad,methods:Xr,computed:Xr,beforeCreate:Bt,created:Bt,beforeMount:Bt,mounted:Bt,beforeUpdate:Bt,updated:Bt,beforeDestroy:Bt,beforeUnmount:Bt,destroyed:Bt,unmounted:Bt,activated:Bt,deactivated:Bt,errorCaptured:Bt,serverPrefetch:Bt,components:Xr,directives:Xr,watch:vT,provide:id,inject:CT};function id(t,e){return e?t?function(){return Dt(Ue(t)?t.call(this,this):t,Ue(e)?e.call(this,this):e)}:e:t}function CT(t,e){return Xr(Lc(t),Lc(e))}function Lc(t){if(De(t)){const e={};for(let n=0;ne==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Vt(e)}Modifiers`]||t[`${Xn(e)}Modifiers`];function IT(t,e,...n){if(t.isUnmounted)return;const r=t.vnode.props||pt;let i=n;const a=e.startsWith("update:"),o=a&&yT(r,e.slice(7));o&&(o.trim&&(i=n.map(l=>St(l)?l.trim():l)),o.number&&(i=n.map(jc)));let s,c=r[s=Mi(e)]||r[s=Mi(Vt(e))];!c&&a&&(c=r[s=Mi(Xn(e))]),c&&cn(c,t,6,i);const _=r[s+"Once"];if(_){if(!t.emitted)t.emitted={};else if(t.emitted[s])return;t.emitted[s]=!0,cn(_,t,6,i)}}const AT=new WeakMap;function $E(t,e,n=!1){const r=n?AT:e.emitsCache,i=r.get(t);if(i!==void 0)return i;const a=t.emits;let o={},s=!1;if(!Ue(t)){const c=_=>{const l=$E(_,e,!0);l&&(s=!0,Dt(o,l))};!n&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!a&&!s?(st(t)&&r.set(t,null),null):(De(a)?a.forEach(c=>o[c]=null):Dt(o,a),st(t)&&r.set(t,o),o)}function da(t,e){return!t||!Ji(e)?!1:(e=e.slice(2).replace(/Once$/,""),ot(t,e[0].toLowerCase()+e.slice(1))||ot(t,Xn(e))||ot(t,e))}function od(t){const{type:e,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:_,renderCache:l,props:d,data:u,setupState:p,ctx:m,inheritAttrs:E}=t,f=Gi(t);let h,b;try{if(n.shapeFlag&4){const v=i||r,D=v;h=Tn(_.call(D,v,l,d,p,u,m)),b=s}else{const v=e;h=Tn(v.length>1?v(d,{attrs:s,slots:o,emit:c}):v(d,null)),b=e.props?s:DT(s)}}catch(v){ni.length=0,sa(v,t,1),h=We(kt)}let R=h;if(b&&E!==!1){const v=Object.keys(b),{shapeFlag:D}=R;v.length&&D&7&&(a&&v.some(ji)&&(b=MT(b,a)),R=Qn(R,b,!1,!0))}return n.dirs&&(R=Qn(R,null,!1,!0),R.dirs=R.dirs?R.dirs.concat(n.dirs):n.dirs),n.transition&&ci(R,n.transition),h=R,Gi(f),h}const DT=t=>{let e;for(const n in t)(n==="class"||n==="style"||Ji(n))&&((e||(e={}))[n]=t[n]);return e},MT=(t,e)=>{const n={};for(const r in t)(!ji(r)||!(r.slice(9)in e))&&(n[r]=t[r]);return n};function xT(t,e,n){const{props:r,children:i,component:a}=t,{props:o,children:s,patchFlag:c}=e,_=a.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?sd(r,o,_):!!o;if(c&8){const l=e.dynamicProps;for(let d=0;dObject.create(WE),QE=t=>Object.getPrototypeOf(t)===WE;function wT(t,e,n,r=!1){const i={},a=KE();t.propsDefaults=Object.create(null),XE(t,e,i,a);for(const o in t.propsOptions[0])o in i||(i[o]=void 0);n?t.props=r?i:s_(i):t.type.props?t.props=i:t.props=a,t.attrs=a}function PT(t,e,n,r){const{props:i,attrs:a,vnode:{patchFlag:o}}=t,s=Ze(i),[c]=t.propsOptions;let _=!1;if((r||o>0)&&!(o&16)){if(o&8){const l=t.vnode.dynamicProps;for(let d=0;d{c=!0;const[u,p]=ZE(d,e,!0);Dt(o,u),p&&s.push(...p)};!n&&e.mixins.length&&e.mixins.forEach(l),t.extends&&l(t.extends),t.mixins&&t.mixins.forEach(l)}if(!a&&!c)return st(t)&&r.set(t,Ir),Ir;if(De(a))for(let l=0;lt==="_"||t==="_ctx"||t==="$stable",p_=t=>De(t)?t.map(Tn):[Tn(t)],UT=(t,e,n)=>{if(e._n)return e;const r=xt((...i)=>p_(e(...i)),n);return r._c=!1,r},JE=(t,e,n)=>{const r=t._ctx;for(const i in t){if(u_(i))continue;const a=t[i];if(Ue(a))e[i]=UT(i,a,r);else if(a!=null){const o=p_(a);e[i]=()=>o}}},jE=(t,e)=>{const n=p_(e);t.slots.default=()=>n},eS=(t,e,n)=>{for(const r in e)(n||!u_(r))&&(t[r]=e[r])},FT=(t,e,n)=>{const r=t.slots=KE();if(t.vnode.shapeFlag&32){const i=e._;i?(eS(r,e,n),n&&Jg(r,"_",i,!0)):JE(e,r)}else e&&jE(t,e)},BT=(t,e,n)=>{const{vnode:r,slots:i}=t;let a=!0,o=pt;if(r.shapeFlag&32){const s=e._;s?n&&s===1?a=!1:eS(i,e,n):(a=!e.$stable,JE(e,i)),o=e}else e&&(jE(t,e),o={default:1});if(a)for(const s in i)!u_(s)&&o[s]==null&&delete i[s]},Gt=VT;function GT(t){return YT(t)}function YT(t,e){const n=ra();n.__VUE__=!0;const{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:_,setElementText:l,parentNode:d,nextSibling:u,setScopeId:p=Rn,insertStaticContent:m}=t,E=(g,S,O,U=null,Y=null,F=null,j=void 0,te=null,ee=!!S.dynamicChildren)=>{if(g===S)return;g&&!lr(g,S)&&(U=T(g),Ge(g,Y,F,!0),g=null),S.patchFlag===-2&&(ee=!1,S.dynamicChildren=null);const{type:Q,ref:Ce,shapeFlag:de}=S;switch(Q){case ua:f(g,S,O,U);break;case kt:h(g,S,O,U);break;case Li:g==null&&b(S,O,U,j);break;case _t:x(g,S,O,U,Y,F,j,te,ee);break;default:de&1?D(g,S,O,U,Y,F,j,te,ee):de&6?Z(g,S,O,U,Y,F,j,te,ee):(de&64||de&128)&&Q.process(g,S,O,U,Y,F,j,te,ee,G)}Ce!=null&&Y?ei(Ce,g&&g.ref,F,S||g,!S):Ce==null&&g&&g.ref!=null&&ei(g.ref,null,F,g,!0)},f=(g,S,O,U)=>{if(g==null)r(S.el=s(S.children),O,U);else{const Y=S.el=g.el;S.children!==g.children&&_(Y,S.children)}},h=(g,S,O,U)=>{g==null?r(S.el=c(S.children||""),O,U):S.el=g.el},b=(g,S,O,U)=>{[g.el,g.anchor]=m(g.children,S,O,U,g.el,g.anchor)},R=({el:g,anchor:S},O,U)=>{let Y;for(;g&&g!==S;)Y=u(g),r(g,O,U),g=Y;r(S,O,U)},v=({el:g,anchor:S})=>{let O;for(;g&&g!==S;)O=u(g),i(g),g=O;i(S)},D=(g,S,O,U,Y,F,j,te,ee)=>{if(S.type==="svg"?j="svg":S.type==="math"&&(j="mathml"),g==null)y(S,O,U,Y,F,j,te,ee);else{const Q=g.el&&g.el._isVueCE?g.el:null;try{Q&&Q._beginPatch(),w(g,S,Y,F,j,te,ee)}finally{Q&&Q._endPatch()}}},y=(g,S,O,U,Y,F,j,te)=>{let ee,Q;const{props:Ce,shapeFlag:de,transition:_e,dirs:ve}=g;if(ee=g.el=o(g.type,F,Ce&&Ce.is,Ce),de&8?l(ee,g.children):de&16&&A(g.children,ee,null,U,Y,Da(g,F),j,te),ve&&tr(g,null,U,"created"),L(ee,g,g.scopeId,j,U),Ce){for(const He in Ce)He!=="value"&&!Zr(He)&&a(ee,He,null,Ce[He],F,U);"value"in Ce&&a(ee,"value",null,Ce.value,F),(Q=Ce.onVnodeBeforeMount)&&mn(Q,U,g)}ve&&tr(g,null,U,"beforeMount");const xe=qT(Y,_e);xe&&_e.beforeEnter(ee),r(ee,S,O),((Q=Ce&&Ce.onVnodeMounted)||xe||ve)&&Gt(()=>{try{Q&&mn(Q,U,g),xe&&_e.enter(ee),ve&&tr(g,null,U,"mounted")}finally{}},Y)},L=(g,S,O,U,Y)=>{if(O&&p(g,O),U)for(let F=0;F{for(let Q=ee;Q{const te=S.el=g.el;let{patchFlag:ee,dynamicChildren:Q,dirs:Ce}=S;ee|=g.patchFlag&16;const de=g.props||pt,_e=S.props||pt;let ve;if(O&&rr(O,!1),(ve=_e.onVnodeBeforeUpdate)&&mn(ve,O,S,g),Ce&&tr(S,g,O,"beforeUpdate"),O&&rr(O,!0),(de.innerHTML&&_e.innerHTML==null||de.textContent&&_e.textContent==null)&&l(te,""),Q?$(g.dynamicChildren,Q,te,O,U,Da(S,Y),F):j||Te(g,S,te,null,O,U,Da(S,Y),F,!1),ee>0){if(ee&16)W(te,de,_e,O,Y);else if(ee&2&&de.class!==_e.class&&a(te,"class",null,_e.class,Y),ee&4&&a(te,"style",de.style,_e.style,Y),ee&8){const xe=S.dynamicProps;for(let He=0;He{ve&&mn(ve,O,S,g),Ce&&tr(S,g,O,"updated")},U)},$=(g,S,O,U,Y,F,j)=>{for(let te=0;te{if(S!==O){if(S!==pt)for(const F in S)!Zr(F)&&!(F in O)&&a(g,F,S[F],null,Y,U);for(const F in O){if(Zr(F))continue;const j=O[F],te=S[F];j!==te&&F!=="value"&&a(g,F,te,j,Y,U)}"value"in O&&a(g,"value",S.value,O.value,Y)}},x=(g,S,O,U,Y,F,j,te,ee)=>{const Q=S.el=g?g.el:s(""),Ce=S.anchor=g?g.anchor:s("");let{patchFlag:de,dynamicChildren:_e,slotScopeIds:ve}=S;ve&&(te=te?te.concat(ve):ve),g==null?(r(Q,O,U),r(Ce,O,U),A(S.children||[],O,Ce,Y,F,j,te,ee)):de>0&&de&64&&_e&&g.dynamicChildren&&g.dynamicChildren.length===_e.length?($(g.dynamicChildren,_e,O,Y,F,j,te),(S.key!=null||Y&&S===Y.subTree)&&m_(g,S,!0)):Te(g,S,O,Ce,Y,F,j,te,ee)},Z=(g,S,O,U,Y,F,j,te,ee)=>{S.slotScopeIds=te,g==null?S.shapeFlag&512?Y.ctx.activate(S,O,U,j,ee):re(S,O,U,Y,F,j,ee):Se(g,S,ee)},re=(g,S,O,U,Y,F,j)=>{const te=g.component=XT(g,U,Y);if(la(g)&&(te.ctx.renderer=G),ZT(te,!1,j),te.asyncDep){if(Y&&Y.registerDep(te,oe,j),!g.el){const ee=te.subTree=We(kt);h(null,ee,S,O),g.placeholder=ee.el}}else oe(te,g,S,O,Y,F,j)},Se=(g,S,O)=>{const U=S.component=g.component;if(xT(g,S,O))if(U.asyncDep&&!U.asyncResolved){ie(U,S,O);return}else U.next=S,U.update();else S.el=g.el,U.vnode=S},oe=(g,S,O,U,Y,F,j)=>{const te=()=>{if(g.isMounted){let{next:de,bu:_e,u:ve,parent:xe,vnode:He}=g;{const z=tS(g);if(z){de&&(de.el=He.el,ie(g,de,j)),z.asyncDep.then(()=>{Gt(()=>{g.isUnmounted||Q()},Y)});return}}let Ke=de,rt;rr(g,!1),de?(de.el=He.el,ie(g,de,j)):de=He,_e&&xi(_e),(rt=de.props&&de.props.onVnodeBeforeUpdate)&&mn(rt,xe,de,He),rr(g,!0);const Qe=od(g),B=g.subTree;g.subTree=Qe,E(B,Qe,d(B.el),T(B),g,Y,F),de.el=Qe.el,Ke===null&<(g,Qe.el),ve&&Gt(ve,Y),(rt=de.props&&de.props.onVnodeUpdated)&&Gt(()=>mn(rt,xe,de,He),Y)}else{let de;const{el:_e,props:ve}=S,{bm:xe,m:He,parent:Ke,root:rt,type:Qe}=g,B=Mr(S);rr(g,!1),xe&&xi(xe),!B&&(de=ve&&ve.onVnodeBeforeMount)&&mn(de,Ke,S),rr(g,!0);{rt.ce&&rt.ce._hasShadowRoot()&&rt.ce._injectChildStyle(Qe,g.parent?g.parent.type:void 0);const z=g.subTree=od(g);E(null,z,O,U,g,Y,F),S.el=z.el}if(He&&Gt(He,Y),!B&&(de=ve&&ve.onVnodeMounted)){const z=S;Gt(()=>mn(de,Ke,z),Y)}(S.shapeFlag&256||Ke&&Mr(Ke.vnode)&&Ke.vnode.shapeFlag&256)&&g.a&&Gt(g.a,Y),g.isMounted=!0,S=O=U=null}};g.scope.on();const ee=g.effect=new iE(te);g.scope.off();const Q=g.update=ee.run.bind(ee),Ce=g.job=ee.runIfDirty.bind(ee);Ce.i=g,Ce.id=g.uid,ee.scheduler=()=>c_(Ce),rr(g,!0),Q()},ie=(g,S,O)=>{S.component=g;const U=g.vnode.props;g.vnode=S,g.next=null,PT(g,S.props,U,O),BT(g,S.children,O),Fn(),Q_(g),Bn()},Te=(g,S,O,U,Y,F,j,te,ee=!1)=>{const Q=g&&g.children,Ce=g?g.shapeFlag:0,de=S.children,{patchFlag:_e,shapeFlag:ve}=S;if(_e>0){if(_e&128){Ae(Q,de,O,U,Y,F,j,te,ee);return}else if(_e&256){ge(Q,de,O,U,Y,F,j,te,ee);return}}ve&8?(Ce&16&&K(Q,Y,F),de!==Q&&l(O,de)):Ce&16?ve&16?Ae(Q,de,O,U,Y,F,j,te,ee):K(Q,Y,F,!0):(Ce&8&&l(O,""),ve&16&&A(de,O,U,Y,F,j,te,ee))},ge=(g,S,O,U,Y,F,j,te,ee)=>{g=g||Ir,S=S||Ir;const Q=g.length,Ce=S.length,de=Math.min(Q,Ce);let _e;for(_e=0;_eCe?K(g,Y,F,!0,!1,de):A(S,O,U,Y,F,j,te,ee,de)},Ae=(g,S,O,U,Y,F,j,te,ee)=>{let Q=0;const Ce=S.length;let de=g.length-1,_e=Ce-1;for(;Q<=de&&Q<=_e;){const ve=g[Q],xe=S[Q]=ee?Mn(S[Q]):Tn(S[Q]);if(lr(ve,xe))E(ve,xe,O,null,Y,F,j,te,ee);else break;Q++}for(;Q<=de&&Q<=_e;){const ve=g[de],xe=S[_e]=ee?Mn(S[_e]):Tn(S[_e]);if(lr(ve,xe))E(ve,xe,O,null,Y,F,j,te,ee);else break;de--,_e--}if(Q>de){if(Q<=_e){const ve=_e+1,xe=ve_e)for(;Q<=de;)Ge(g[Q],Y,F,!0),Q++;else{const ve=Q,xe=Q,He=new Map;for(Q=xe;Q<=_e;Q++){const fe=S[Q]=ee?Mn(S[Q]):Tn(S[Q]);fe.key!=null&&He.set(fe.key,Q)}let Ke,rt=0;const Qe=_e-xe+1;let B=!1,z=0;const le=new Array(Qe);for(Q=0;Q=Qe){Ge(fe,Y,F,!0);continue}let Re;if(fe.key!=null)Re=He.get(fe.key);else for(Ke=xe;Ke<=_e;Ke++)if(le[Ke-xe]===0&&lr(fe,S[Ke])){Re=Ke;break}Re===void 0?Ge(fe,Y,F,!0):(le[Re-xe]=Q+1,Re>=z?z=Re:B=!0,E(fe,S[Re],O,null,Y,F,j,te,ee),rt++)}const ye=B?HT(le):Ir;for(Ke=ye.length-1,Q=Qe-1;Q>=0;Q--){const fe=xe+Q,Re=S[fe],we=S[fe+1],ze=fe+1{const{el:F,type:j,transition:te,children:ee,shapeFlag:Q}=g;if(Q&6){Fe(g.component.subTree,S,O,U);return}if(Q&128){g.suspense.move(S,O,U);return}if(Q&64){j.move(g,S,O,G);return}if(j===_t){r(F,S,O);for(let de=0;dete.enter(F),Y);else{const{leave:de,delayLeave:_e,afterLeave:ve}=te,xe=()=>{g.ctx.isUnmounted?i(F):r(F,S,O)},He=()=>{F._isLeaving&&F[Sn](!0),de(F,()=>{xe(),ve&&ve()})};_e?_e(F,xe,He):He()}else r(F,S,O)},Ge=(g,S,O,U=!1,Y=!1)=>{const{type:F,props:j,ref:te,children:ee,dynamicChildren:Q,shapeFlag:Ce,patchFlag:de,dirs:_e,cacheIndex:ve,memo:xe}=g;if(de===-2&&(Y=!1),te!=null&&(Fn(),ei(te,null,O,g,!0),Bn()),ve!=null&&(S.renderCache[ve]=void 0),Ce&256){S.ctx.deactivate(g);return}const He=Ce&1&&_e,Ke=!Mr(g);let rt;if(Ke&&(rt=j&&j.onVnodeBeforeUnmount)&&mn(rt,S,g),Ce&6)V(g.component,O,U);else{if(Ce&128){g.suspense.unmount(O,U);return}He&&tr(g,null,S,"beforeUnmount"),Ce&64?g.type.remove(g,S,O,G,U):Q&&!Q.hasOnce&&(F!==_t||de>0&&de&64)?K(Q,S,O,!1,!0):(F===_t&&de&384||!Y&&Ce&16)&&K(ee,S,O),U&&Xe(g)}const Qe=xe!=null&&ve==null;(Ke&&(rt=j&&j.onVnodeUnmounted)||He||Qe)&&Gt(()=>{rt&&mn(rt,S,g),He&&tr(g,null,S,"unmounted"),Qe&&(g.el=null)},O)},Xe=g=>{const{type:S,el:O,anchor:U,transition:Y}=g;if(S===_t){P(O,U);return}if(S===Li){v(g);return}const F=()=>{i(O),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(g.shapeFlag&1&&Y&&!Y.persisted){const{leave:j,delayLeave:te}=Y,ee=()=>j(O,F);te?te(g.el,F,ee):ee()}else F()},P=(g,S)=>{let O;for(;g!==S;)O=u(g),i(g),g=O;i(S)},V=(g,S,O)=>{const{bum:U,scope:Y,job:F,subTree:j,um:te,m:ee,a:Q}=g;cd(ee),cd(Q),U&&xi(U),Y.stop(),F&&(F.flags|=8,Ge(j,g,S,O)),te&&Gt(te,S),Gt(()=>{g.isUnmounted=!0},S)},K=(g,S,O,U=!1,Y=!1,F=0)=>{for(let j=F;j{if(g.shapeFlag&6)return T(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const S=u(g.anchor||g.el),O=S&&S[IE];return O?u(O):S};let I=!1;const M=(g,S,O)=>{let U;g==null?S._vnode&&(Ge(S._vnode,null,null,!0),U=S._vnode.component):E(S._vnode||null,g,S,null,null,null,O),S._vnode=g,I||(I=!0,Q_(U),RE(),I=!1)},G={p:E,um:Ge,m:Fe,r:Xe,mt:re,mc:A,pc:Te,pbc:$,n:T,o:t};return{render:M,hydrate:void 0,createApp:OT(M)}}function Da({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function rr({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function qT(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function m_(t,e,n=!1){const r=t.children,i=e.children;if(De(r)&&De(i))for(let a=0;a>1,t[n[s]]<_?a=s+1:o=s;_0&&(e[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=e[o];return n}function tS(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:tS(e)}function cd(t){if(t)for(let e=0;et.__isSuspense;function VT(t,e){e&&e.pendingBranch?De(t)?e.effects.push(...t):e.effects.push(t):Zf(t)}const _t=Symbol.for("v-fgt"),ua=Symbol.for("v-txt"),kt=Symbol.for("v-cmt"),Li=Symbol.for("v-stc"),ni=[];let Wt=null;function k(t=!1){ni.push(Wt=t?null:[])}function $T(){ni.pop(),Wt=ni[ni.length-1]||null}let _i=1;function Hi(t,e=!1){_i+=t,t<0&&Wt&&e&&(Wt.hasOnce=!0)}function iS(t){return t.dynamicChildren=_i>0?Wt||Ir:null,$T(),_i>0&&Wt&&Wt.push(t),t}function q(t,e,n,r,i,a){return iS(N(t,e,n,r,i,a,!0))}function Et(t,e,n,r,i){return iS(We(t,e,n,r,i,!0))}function di(t){return t?t.__v_isVNode===!0:!1}function lr(t,e){return t.type===e.type&&t.key===e.key}const aS=({key:t})=>t??null,wi=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?St(t)||Rt(t)||Ue(t)?{i:Mt,r:t,k:e,f:!!n}:t:null);function N(t,e=null,n=null,r=0,i=null,a=t===_t?0:1,o=!1,s=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&aS(e),ref:e&&wi(e),scopeId:vE,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Mt};return s?(g_(c,n),a&128&&t.normalize(c)):n&&(c.shapeFlag|=St(n)?8:16),_i>0&&!o&&Wt&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Wt.push(c),c}const We=zT;function zT(t,e=null,n=null,r=0,i=null,a=!1){if((!t||t===BE)&&(t=kt),di(t)){const s=Qn(t,e,!0);return n&&g_(s,n),_i>0&&!a&&Wt&&(s.shapeFlag&6?Wt[Wt.indexOf(t)]=s:Wt.push(s)),s.patchFlag=-2,s}if(nb(t)&&(t=t.__vccOpts),e){e=oS(e);let{class:s,style:c}=e;s&&!St(s)&&(e.class=Je(s)),st(c)&&(aa(c)&&!De(c)&&(c=Dt({},c)),e.style=Sr(c))}const o=St(t)?1:rS(t)?128:AE(t)?64:st(t)?4:Ue(t)?2:0;return N(t,e,n,r,i,o,a,!0)}function oS(t){return t?aa(t)||QE(t)?Dt({},t):t:null}function Qn(t,e,n=!1,r=!1){const{props:i,ref:a,patchFlag:o,children:s,transition:c}=t,_=e?Vi(i||{},e):i,l={__v_isVNode:!0,__v_skip:!0,type:t.type,props:_,key:_&&aS(_),ref:e&&e.ref?n&&a?De(a)?a.concat(wi(e)):[a,wi(e)]:wi(e):a,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==_t?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Qn(t.ssContent),ssFallback:t.ssFallback&&Qn(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&r&&ci(l,c.clone(l)),l}function At(t=" ",e=0){return We(ua,null,t,e)}function WT(t,e){const n=We(Li,null,t);return n.staticCount=e,n}function Ie(t="",e=!1){return e?(k(),Et(kt,null,t)):We(kt,null,t)}function Tn(t){return t==null||typeof t=="boolean"?We(kt):De(t)?We(_t,null,t.slice()):di(t)?Mn(t):We(ua,null,String(t))}function Mn(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Qn(t)}function g_(t,e){let n=0;const{shapeFlag:r}=t;if(e==null)e=null;else if(De(e))n=16;else if(typeof e=="object")if(r&65){const i=e.default;i&&(i._c&&(i._d=!1),g_(t,i()),i._c&&(i._d=!0));return}else{n=32;const i=e._;!i&&!QE(e)?e._ctx=Mt:i===3&&Mt&&(Mt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else Ue(e)?(e={default:e,_ctx:Mt},n=32):(e=String(e),r&64?(n=16,e=[At(e)]):n=8);t.children=e,t.shapeFlag|=n}function Vi(...t){const e={};for(let n=0;nUt||Mt;let $i,Pc;{const t=ra(),e=(n,r)=>{let i;return(i=t[n])||(i=t[n]=[]),i.push(r),a=>{i.length>1?i.forEach(o=>o(a)):i[0](a)}};$i=e("__VUE_INSTANCE_SETTERS__",n=>Ut=n),Pc=e("__VUE_SSR_SETTERS__",n=>ui=n)}const fi=t=>{const e=Ut;return $i(t),t.scope.on(),()=>{t.scope.off(),$i(e)}},_d=()=>{Ut&&Ut.scope.off(),$i(null)};function sS(t){return t.vnode.shapeFlag&4}let ui=!1;function ZT(t,e=!1,n=!1){e&&Pc(e);const{props:r,children:i}=t.vnode,a=sS(t);wT(t,r,a,e),FT(t,i,n||e);const o=a?JT(t,e):void 0;return e&&Pc(!1),o}function JT(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,TT);const{setup:r}=n;if(r){Fn();const i=t.setupContext=r.length>1?eb(t):null,a=fi(t),o=Si(r,t,0,[t.props,i]),s=Qg(o);if(Bn(),a(),(s||t.sp)&&!Mr(t)&&PE(t),s){if(o.then(_d,_d),e)return o.then(c=>{dd(t,c)}).catch(c=>{sa(c,t,0)});t.asyncDep=o}else dd(t,o)}else lS(t)}function dd(t,e,n){Ue(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:st(e)&&(t.setupState=TE(e)),lS(t)}function lS(t,e,n){const r=t.type;t.render||(t.render=r.render||Rn);{const i=fi(t);Fn();try{bT(t)}finally{Bn(),i()}}}const jT={get(t,e){return Pt(t,"get",""),t[e]}};function eb(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,jT),slots:t.slots,emit:t.emit,expose:e}}function pa(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(TE(oa(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in ti)return ti[n](t)},has(e,n){return n in e||n in ti}})):t.proxy}function tb(t,e=!0){return Ue(t)?t.displayName||t.name:t.name||e&&t.__name}function nb(t){return Ue(t)&&"__vccOpts"in t}const me=(t,e)=>zf(t,e,ui);function S_(t,e,n){try{Hi(-1);const r=arguments.length;return r===2?st(e)&&!De(e)?di(e)?We(t,null,[e]):We(t,e):We(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&di(n)&&(n=[n]),We(t,e,n))}finally{Hi(1)}}const rb="3.5.32";/**
+* @vue/runtime-dom v3.5.32
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let kc;const ud=typeof window<"u"&&window.trustedTypes;if(ud)try{kc=ud.createPolicy("vue",{createHTML:t=>t})}catch{}const cS=kc?t=>kc.createHTML(t):t=>t,ib="http://www.w3.org/2000/svg",ab="http://www.w3.org/1998/Math/MathML",Dn=typeof document<"u"?document:null,pd=Dn&&Dn.createElement("template"),ob={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e==="svg"?Dn.createElementNS(ib,t):e==="mathml"?Dn.createElementNS(ab,t):n?Dn.createElement(t,{is:n}):Dn.createElement(t);return t==="select"&&r&&r.multiple!=null&&i.setAttribute("multiple",r.multiple),i},createText:t=>Dn.createTextNode(t),createComment:t=>Dn.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Dn.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,i,a){const o=n?n.previousSibling:e.lastChild;if(i&&(i===a||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{pd.innerHTML=cS(r==="svg"?``:r==="mathml"?``:t);const s=pd.content;if(r==="svg"||r==="mathml"){const c=s.firstChild;for(;c.firstChild;)s.appendChild(c.firstChild);s.removeChild(c)}e.insertBefore(s,n)}return[o?o.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},Vn="transition",$r="animation",pi=Symbol("_vtc"),_S={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},sb=Dt({},DE,_S),lb=t=>(t.displayName="Transition",t.props=sb,t),kr=lb((t,{slots:e})=>S_(sT,cb(t),e)),ir=(t,e=[])=>{De(t)?t.forEach(n=>n(...e)):t&&t(...e)},md=t=>t?De(t)?t.some(e=>e.length>1):t.length>1:!1;function cb(t){const e={};for(const x in t)x in _S||(e[x]=t[x]);if(t.css===!1)return e;const{name:n="v",type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:_=o,appearToClass:l=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:u=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,m=_b(i),E=m&&m[0],f=m&&m[1],{onBeforeEnter:h,onEnter:b,onEnterCancelled:R,onLeave:v,onLeaveCancelled:D,onBeforeAppear:y=h,onAppear:L=b,onAppearCancelled:A=R}=e,w=(x,Z,re,Se)=>{x._enterCancelled=Se,ar(x,Z?l:s),ar(x,Z?_:o),re&&re()},$=(x,Z)=>{x._isLeaving=!1,ar(x,d),ar(x,p),ar(x,u),Z&&Z()},W=x=>(Z,re)=>{const Se=x?L:b,oe=()=>w(Z,x,re);ir(Se,[Z,oe]),gd(()=>{ar(Z,x?c:a),In(Z,x?l:s),md(Se)||Ed(Z,r,E,oe)})};return Dt(e,{onBeforeEnter(x){ir(h,[x]),In(x,a),In(x,o)},onBeforeAppear(x){ir(y,[x]),In(x,c),In(x,_)},onEnter:W(!1),onAppear:W(!0),onLeave(x,Z){x._isLeaving=!0;const re=()=>$(x,Z);In(x,d),x._enterCancelled?(In(x,u),Td(x)):(Td(x),In(x,u)),gd(()=>{x._isLeaving&&(ar(x,d),In(x,p),md(v)||Ed(x,r,f,re))}),ir(v,[x,re])},onEnterCancelled(x){w(x,!1,void 0,!0),ir(R,[x])},onAppearCancelled(x){w(x,!0,void 0,!0),ir(A,[x])},onLeaveCancelled(x){$(x),ir(D,[x])}})}function _b(t){if(t==null)return null;if(st(t))return[Ma(t.enter),Ma(t.leave)];{const e=Ma(t);return[e,e]}}function Ma(t){return df(t)}function In(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t[pi]||(t[pi]=new Set)).add(e)}function ar(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.remove(r));const n=t[pi];n&&(n.delete(e),n.size||(t[pi]=void 0))}function gd(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let db=0;function Ed(t,e,n,r){const i=t._endId=++db,a=()=>{i===t._endId&&r()};if(n!=null)return setTimeout(a,n);const{type:o,timeout:s,propCount:c}=ub(t,e);if(!o)return r();const _=o+"end";let l=0;const d=()=>{t.removeEventListener(_,u),a()},u=p=>{p.target===t&&++l>=c&&d()};setTimeout(()=>{l(n[m]||"").split(", "),i=r(`${Vn}Delay`),a=r(`${Vn}Duration`),o=Sd(i,a),s=r(`${$r}Delay`),c=r(`${$r}Duration`),_=Sd(s,c);let l=null,d=0,u=0;e===Vn?o>0&&(l=Vn,d=o,u=a.length):e===$r?_>0&&(l=$r,d=_,u=c.length):(d=Math.max(o,_),l=d>0?o>_?Vn:$r:null,u=l?l===Vn?a.length:c.length:0);const p=l===Vn&&/\b(?:transform|all)(?:,|$)/.test(r(`${Vn}Property`).toString());return{type:l,timeout:d,propCount:u,hasTransform:p}}function Sd(t,e){for(;t.lengthfd(n)+fd(t[r])))}function fd(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function Td(t){return(t?t.ownerDocument:document).body.offsetHeight}function pb(t,e,n){const r=t[pi];r&&(e=(e?[e,...r]:[...r]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const bd=Symbol("_vod"),mb=Symbol("_vsh"),gb=Symbol(""),Eb=/(?:^|;)\s*display\s*:/;function Sb(t,e,n){const r=t.style,i=St(n);let a=!1;if(n&&!i){if(e)if(St(e))for(const o of e.split(";")){const s=o.slice(0,o.indexOf(":")).trim();n[s]==null&&Pi(r,s,"")}else for(const o in e)n[o]==null&&Pi(r,o,"");for(const o in n)o==="display"&&(a=!0),Pi(r,o,n[o])}else if(i){if(e!==n){const o=r[gb];o&&(n+=";"+o),r.cssText=n,a=Eb.test(n)}}else e&&t.removeAttribute("style");bd in t&&(t[bd]=a?r.display:"",t[mb]&&(r.display="none"))}const hd=/\s*!important$/;function Pi(t,e,n){if(De(n))n.forEach(r=>Pi(t,e,r));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const r=fb(t,e);hd.test(n)?t.setProperty(Xn(r),n.replace(hd,""),"important"):t[r]=n}}const Rd=["Webkit","Moz","ms"],xa={};function fb(t,e){const n=xa[e];if(n)return n;let r=Vt(e);if(r!=="filter"&&r in t)return xa[e]=r;r=na(r);for(let i=0;iLa||(Rb.then(()=>La=0),La=Date.now());function vb(t,e){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;cn(Nb(r,n.value),e,5,[r])};return n.value=t,n.attached=Cb(),n}function Nb(t,e){if(De(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(r=>i=>!i._stopped&&r&&r(i))}else return e}const Id=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Ob=(t,e,n,r,i,a)=>{const o=i==="svg";e==="class"?pb(t,r,o):e==="style"?Sb(t,n,r):Ji(e)?ji(e)||bb(t,e,n,r,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):yb(t,e,r,o))?(Nd(t,e,r),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&vd(t,e,r,o,a,e!=="value")):t._isVueCE&&(Ib(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!St(r)))?Nd(t,Vt(e),r,a,e):(e==="true-value"?t._trueValue=r:e==="false-value"&&(t._falseValue=r),vd(t,e,r,o))};function yb(t,e,n,r){if(r)return!!(e==="innerHTML"||e==="textContent"||e in t&&Id(e)&&Ue(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=t.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Id(e)&&St(n)?!1:e in t}function Ib(t,e){const n=t._def.props;if(!n)return!1;const r=Vt(e);return Array.isArray(n)?n.some(i=>Vt(i)===r):Object.keys(n).some(i=>Vt(i)===r)}const Ad=t=>{const e=t.props["onUpdate:modelValue"]||!1;return De(e)?n=>xi(e,n):e};function Ab(t){t.target.composing=!0}function Dd(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const wa=Symbol("_assign");function Md(t,e,n){return e&&(t=t.trim()),n&&(t=jc(t)),t}const Db={created(t,{modifiers:{lazy:e,trim:n,number:r}},i){t[wa]=Ad(i);const a=r||i.props&&i.props.type==="number";Nr(t,e?"change":"input",o=>{o.target.composing||t[wa](Md(t.value,n,a))}),(n||a)&&Nr(t,"change",()=>{t.value=Md(t.value,n,a)}),e||(Nr(t,"compositionstart",Ab),Nr(t,"compositionend",Dd),Nr(t,"change",Dd))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(t[wa]=Ad(o),t.composing)return;const s=(a||t.type==="number")&&!/^0\d/.test(t.value)?jc(t.value):t.value,c=e??"";if(s===c)return;const _=t.getRootNode();(_ instanceof Document||_ instanceof ShadowRoot)&&_.activeElement===t&&t.type!=="range"&&(r&&e===n||i&&t.value.trim()===c)||(t.value=c)}},Mb=["ctrl","shift","alt","meta"],xb={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Mb.some(n=>t[`${n}Key`]&&!e.includes(n))},gr=(t,e)=>{if(!t)return t;const n=t._withMods||(t._withMods={}),r=e.join(".");return n[r]||(n[r]=((i,...a)=>{for(let o=0;o{const n=t._withKeys||(t._withKeys={}),r=e.join(".");return n[r]||(n[r]=(i=>{if(!("key"in i))return;const a=Xn(i.key);if(e.some(o=>o===a||Lb[o]===a))return t(i)}))},wb=Dt({patchProp:Ob},ob);let Ld;function Pb(){return Ld||(Ld=GT(wb))}const kb=((...t)=>{const e=Pb().createApp(...t),{mount:n}=e;return e.mount=r=>{const i=Fb(r);if(!i)return;const a=e._component;!Ue(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=n(i,!1,Ub(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e});function Ub(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Fb(t){return St(t)?document.querySelector(t):t}/*!
+ * pinia v3.0.4
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let dS;const ma=t=>dS=t,uS=Symbol();function Uc(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ri;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(ri||(ri={}));function Bb(){const t=t_(!0),e=t.run(()=>ce({}));let n=[],r=[];const i=oa({install(a){ma(i),i._a=a,a.provide(uS,i),a.config.globalProperties.$pinia=i,r.forEach(o=>n.push(o)),r=[]},use(a){return this._a?n.push(a):r.push(a),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return i}const pS=()=>{};function wd(t,e,n,r=pS){t.add(e);const i=()=>{t.delete(e)&&r()};return!n&&rE()&&bf(i),i}function Cr(t,...e){t.forEach(n=>{n(...e)})}const Gb=t=>t(),Pd=Symbol(),Pa=Symbol();function Fc(t,e){t instanceof Map&&e instanceof Map?e.forEach((n,r)=>t.set(r,n)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const r=e[n],i=t[n];Uc(i)&&Uc(r)&&t.hasOwnProperty(n)&&!Rt(r)&&!Un(r)?t[n]=Fc(i,r):t[n]=r}return t}const Yb=Symbol();function qb(t){return!Uc(t)||!Object.prototype.hasOwnProperty.call(t,Yb)}const{assign:zn}=Object;function Hb(t){return!!(Rt(t)&&t.effect)}function Vb(t,e,n,r){const{state:i,actions:a,getters:o}=e,s=n.state.value[t];let c;function _(){s||(n.state.value[t]=i?i():{});const l=qf(n.state.value[t]);return zn(l,a,Object.keys(o||{}).reduce((d,u)=>(d[u]=oa(me(()=>{ma(n);const p=n._s.get(t);return o[u].call(p,p)})),d),{}))}return c=mS(t,_,e,n,r,!0),c}function mS(t,e,n={},r,i,a){let o;const s=zn({actions:{}},n),c={deep:!0};let _,l,d=new Set,u=new Set,p;const m=r.state.value[t];!a&&!m&&(r.state.value[t]={});let E;function f(A){let w;_=l=!1,typeof A=="function"?(A(r.state.value[t]),w={type:ri.patchFunction,storeId:t,events:p}):(Fc(r.state.value[t],A),w={type:ri.patchObject,payload:A,storeId:t,events:p});const $=E=Symbol();Ft().then(()=>{E===$&&(_=!0)}),l=!0,Cr(d,w,r.state.value[t])}const h=a?function(){const{state:w}=n,$=w?w():{};this.$patch(W=>{zn(W,$)})}:pS;function b(){o.stop(),d.clear(),u.clear(),r._s.delete(t)}const R=(A,w="")=>{if(Pd in A)return A[Pa]=w,A;const $=function(){ma(r);const W=Array.from(arguments),x=new Set,Z=new Set;function re(ie){x.add(ie)}function Se(ie){Z.add(ie)}Cr(u,{args:W,name:$[Pa],store:D,after:re,onError:Se});let oe;try{oe=A.apply(this&&this.$id===t?this:D,W)}catch(ie){throw Cr(Z,ie),ie}return oe instanceof Promise?oe.then(ie=>(Cr(x,ie),ie)).catch(ie=>(Cr(Z,ie),Promise.reject(ie))):(Cr(x,oe),oe)};return $[Pd]=!0,$[Pa]=w,$},v={_p:r,$id:t,$onAction:wd.bind(null,u),$patch:f,$reset:h,$subscribe(A,w={}){const $=wd(d,A,w.detached,()=>W()),W=o.run(()=>Ye(()=>r.state.value[t],x=>{(w.flush==="sync"?l:_)&&A({storeId:t,type:ri.direct,events:p},x)},zn({},c,w)));return $},$dispose:b},D=Pr(v);r._s.set(t,D);const L=(r._a&&r._a.runWithContext||Gb)(()=>r._e.run(()=>(o=t_()).run(()=>e({action:R}))));for(const A in L){const w=L[A];if(Rt(w)&&!Hb(w)||Un(w))a||(m&&qb(w)&&(Rt(w)?w.value=m[A]:Fc(w,m[A])),r.state.value[t][A]=w);else if(typeof w=="function"){const $=R(w,A);L[A]=$,s.actions[A]=w}}return zn(D,L),zn(Ze(D),L),Object.defineProperty(D,"$state",{get:()=>r.state.value[t],set:A=>{f(w=>{zn(w,A)})}}),r._p.forEach(A=>{zn(D,o.run(()=>A({store:D,app:r._a,pinia:r,options:s})))}),m&&a&&n.hydrate&&n.hydrate(D.$state,m),_=!0,l=!0,D}/*! #__NO_SIDE_EFFECTS__ */function ga(t,e,n){let r;const i=typeof e=="function";r=i?n:e;function a(o,s){const c=Jf();return o=o||(c?rn(uS,null):null),o&&ma(o),o=dS,o._s.has(t)||(i?mS(t,e,r,o):Vb(t,r,o)),o._s.get(t)}return a.$id=t,a}const gS="";window.addEventListener("unhandledrejection",t=>{console.error("[API] Unhandled rejection:",t.reason)});async function Xt(t,e,n){const r={method:t,headers:{},credentials:"include"};n!==void 0&&(r.headers["Content-Type"]="application/json",r.body=JSON.stringify(n));const i=await fetch(`${gS}${e}`,r);if(!i.ok){const a=await i.text().catch(()=>"");throw new Error(`${t} ${e} → ${i.status}: ${a}`)}return i.status===204?null:i.json()}function $b(){return Xt("GET","/auth/me")}function zb(){return Xt("POST","/auth/logout")}function Wb(){return Xt("GET","/agents/profiles")}function kd({limit:t=30,offset:e=0,profileId:n=null}={}){const r=new URLSearchParams({limit:String(t),offset:String(e)});return n&&r.set("profile_id",n),Xt("GET",`/sessions?${r.toString()}`)}function Ud(t){return Xt("GET",`/sessions/${t}`)}function Kb(t){return Xt("POST","/sessions",{profile_id:t})}function Qb(t){return Xt("DELETE",`/sessions/${t}`)}function Xb(t,e){return Xt("PATCH",`/sessions/${t}/pin`,{pinned:e})}function Zb(t){return Xt("POST",`/sessions/${t}/stop`)}function Jb(t){return Xt("POST",`/sessions/${t}/generate-name`)}function jb(t){return Xt("GET",`/sessions/${t}/content`)}function eh(t){return Xt("GET",`/eval/feedback/${t}`)}function th(t,e,n){return Xt("POST","/eval/feedback",{session_id:t,message_index:e,rating:n})}async function nh(t,e){const n=new FormData;n.append("file",e);const r=await fetch(`${gS}/sessions/${t}/files`,{method:"POST",credentials:"include",body:n});if(!r.ok){const i=await r.text().catch(()=>"");throw new Error(`Upload failed: ${r.status}: ${i}`)}return r.json()}const Jn=ga("sessions",()=>{const e=ce([]),n=ce(!1),r=ce(!1),i=ce(!0),a=ce(0),o=ce(null);async function s(m=null){o.value=m,n.value=!0;try{const E=await kd({limit:30,offset:0,profileId:m}),f=Array.isArray(E)?E:E.items;e.value=f,i.value=Array.isArray(E)?!1:E.has_more,a.value=Array.isArray(E)?f.length:E.next_offset}finally{n.value=!1}}async function c(){if(!(n.value||r.value||!i.value)){r.value=!0;try{const m=await kd({limit:30,offset:a.value,profileId:o.value}),E=Array.isArray(m)?m:m.items,f=new Set(e.value.map(h=>h.session_id));e.value=[...e.value,...E.filter(h=>!f.has(h.session_id))],i.value=Array.isArray(m)?!1:m.has_more,a.value=Array.isArray(m)?e.value.length:m.next_offset}finally{r.value=!1}}}async function _(m){const E=await Kb(m);return e.value.unshift({session_id:E.session_id,profile_id:E.profile_id,created_at:E.created_at,last_active:E.created_at,message_count:0,preview:"",pinned:!1}),a.value+=1,E}async function l(m){await Qb(m),e.value=e.value.filter(E=>E.session_id!==m),a.value=Math.max(0,a.value-1)}async function d(m,E){await Xb(m,E);const f=e.value.map(h=>h.session_id===m?{...h,pinned:E}:h);f.sort((h,b)=>(b.pinned?1:0)-(h.pinned?1:0)),e.value=f}function u(m,E){const f=e.value.find(h=>h.session_id===m);f&&(f.preview=E)}function p(m,E){const f=e.value.find(h=>h.session_id===m);f&&(f.name=E)}return{sessions:e,loading:n,loadingMore:r,hasMore:i,currentProfileId:o,fetchSessions:s,fetchMoreSessions:c,createSession:_,deleteSession:l,pinSession:d,updatePreview:u,updateName:p}}),Ti=ga("profiles",()=>{const t=ce([]),e=ce(null),n=ce(!1);async function r(){n.value=!0;try{t.value=await Wb(),t.value.length&&!e.value&&(e.value=t.value[0].id)}finally{n.value=!1}}function i(a){return t.value.find(o=>o.id===a)??null}return{profiles:t,selectedProfileId:e,loading:n,fetchProfiles:r,getProfile:i}});let Fd=null;async function rh(t){try{const e=Jn(),n=e.sessions.find(i=>i.session_id===t);if(n!=null&&n.name)return;const{name:r}=await Jb(t);r&&e.updateName(t,r)}catch{}}const $t=ga("chat",()=>{const t=ce(null),e=ce(null),n=ce([]),r=ce(!1),i=ce([]),a=ce([]),o=ce([]),s=ce(0),c=ce(0),_=ce(!1),l=cr(null),d=ce(!1);async function u(P){if(t.value!==P){Fd=P,_.value=!0,n.value=[],o.value=[],r.value=!1,l.value=null,s.value=0,c.value=0;try{const V=await Ud(P);if(Fd!==P)return;e.value=V.profile_id??null,n.value=Xe(V.messages??[]),await E(P),await f(P),V.context_token_count&&(s.value=V.context_token_count),V.max_context_tokens&&(c.value=V.max_context_tokens),t.value=P,location.hash=P}finally{_.value=!1}}}function p(){t.value=null,e.value=null,n.value=[],o.value=[],r.value=!1,l.value=null,s.value=0,c.value=0,location.hash=""}async function m(P){if(P)try{const V=await Ud(P);e.value=V.profile_id??null,n.value=Xe(V.messages??[]),await E(P),await f(P),V.context_token_count&&(s.value=V.context_token_count),V.max_context_tokens&&(c.value=V.max_context_tokens),l.value=null,r.value=!1}catch{}}async function E(P){var V,K;try{const{feedback:T=[]}=await eh(P);if(!T.length)return;const I=new Map(T.map(M=>[M.message_index,M.rating]));for(const M of n.value){if(M.role!=="assistant")continue;const G=(K=(V=M.id)==null?void 0:V.startsWith)!=null&&K.call(V,"h_")?Number(M.id.slice(2)):NaN;Number.isInteger(G)&&I.has(G)&&(M.rating=I.get(G))}}catch{}}async function f(P=t.value){if(!P){o.value=[];return}try{const{content:V=[]}=await jb(P);o.value=V}catch{o.value=[]}}function h(P){if(!(P!=null&&P.filename))return;const V=P.id||P.filename,K=o.value.findIndex(I=>(I.id||I.filename)===V),T={...P};K===-1?o.value.unshift(T):o.value.splice(K,1,{...o.value[K],...T})}async function b(P,V){var M,G;if(!t.value||!P)return;const K=(G=(M=P.id)==null?void 0:M.startsWith)!=null&&G.call(M,"h_")?Number(P.id.slice(2)):NaN;if(!Number.isInteger(K))return;const T=P.rating===V?0:V,I=P.rating??0;P.rating=T;try{await th(t.value,K,T)}catch(J){throw P.rating=I,J}}function R(P){t.value&&(P?localStorage.setItem(`draft:${t.value}`,P):localStorage.removeItem(`draft:${t.value}`))}function v(P){return localStorage.getItem(`draft:${P}`)??""}function D(){if(l.value){const V=n.value.indexOf(l.value);V!==-1&&n.value.splice(V,1),l.value=null}r.value=!0;const P={id:`stream_${Date.now()}`,role:"assistant",type:"stream",thinking:null,tools:[],text:"",done:!1,time:new Date().toISOString(),animate:!d.value,statusLabel:null};n.value.push(P),l.value=n.value[n.value.length-1]}function y(){d.value=!0}function L(){d.value=!1,l.value&&(l.value.animate=!0)}function A(P){const V=l.value;V&&(V.thinking||(V.thinking={text:"",done:!1}),V.thinking.text+=P)}function w(){const P=l.value;P!=null&&P.thinking&&(P.thinking.done=!0)}function $(P){for(let V=P.tools.length-1;V>=0;V--){const K=P.tools[V];if(K.kind==="tool"&&K.name==="spawn_agent")return K}}function W(P){const V=l.value;if(!V)return;const K={kind:"turn_thinking",isSubagent:P.is_subagent??!1,thinking:{text:P.thinking??"",done:!0}};if(P.is_subagent){const T=$(V);if(T){T.steps.push(K);return}}V.tools.push(K)}function x(P){const V=l.value;if(V){if(P.is_subagent){const K=$(V);K&&(K.planningLabel=P.label??"");return}V.statusLabel=P.label??""}}function Z(P){const V=l.value;if(V){if(P.is_subagent){const K=$(V);K&&(K.planningLabel=null,K.steps.push({kind:"plan",text:P.plan??""}));return}V.statusLabel=null,V.tools.push({kind:"plan",text:P.plan??""})}}function re(P){const V=l.value;if(!V)return;const K={kind:"tool",id:`tool_${Date.now()}`,name:P.tool,args:P.args,result:null,success:null,pending:!0,startedAt:Date.now(),isSubagent:P.is_subagent??!1,steps:[]};if(P.is_subagent){const T=$(V);if(T){T.steps.push(K);return}}V.tools.push(K)}function Se(P){var T;const V=l.value;if(!V)return;if(P.is_subagent){const I=$(V);if(I){let M=null;for(let G=I.steps.length-1;G>=0;G--){const J=I.steps[G];if(J.kind==="tool"&&J.name===P.tool&&J.pending){M=J;break}}if(M){M.result=P.result,M.success=P.success!==!1,M.pending=!1;return}}}let K=null;for(let I=V.tools.length-1;I>=0;I--){const M=V.tools[I];if(M.kind==="tool"&&M.name===P.tool&&M.pending){K=M;break}}if(K&&(K.result=P.result,K.success=P.success!==!1,K.pending=!1,P.metadata&&(K.metadata=P.metadata),P.tool==="content_publish"&&K.success&&P.metadata&&h(P.metadata),P.tool==="filesystem"&&K.success&&t.value)){const I=typeof K.args=="object"?(T=K.args)==null?void 0:T.action:null;["write","edit"].includes(I)&&f(t.value)}}function oe(P){const V=l.value;V&&(V.statusLabel&&(V.statusLabel=null),V.text+=P)}function ie(P){const V=l.value;V&&(V.done=!0,V.elapsed_seconds=(P==null?void 0:P.elapsed_seconds)??null,V.tool_call_count=(P==null?void 0:P.tool_call_count)??null,V.token_count=(P==null?void 0:P.token_count)??null,l.value=null,!V.thinking&&!V.tools.length&&!V.text&&(n.value=n.value.filter(K=>K!==V))),r.value=!1,(P==null?void 0:P.context_tokens)!=null&&(s.value=P.context_tokens),(P==null?void 0:P.max_context_tokens)!=null&&(c.value=P.max_context_tokens),t.value&&(V!=null&&V.text)&&Jn().updatePreview(t.value,V.text.slice(0,80)),t.value&&rh(t.value)}function Te(){const P=l.value;P&&(P.done=!0,l.value=null,!P.thinking&&!P.tools.length&&!P.text&&(n.value=n.value.filter(V=>V!==P))),r.value=!1}function ge(P){e.value=P.profile_id}function Ae(P){(P==null?void 0:P.context_tokens)!=null&&(s.value=P.context_tokens),(P==null?void 0:P.max_context_tokens)!=null&&(c.value=P.max_context_tokens),n.value.push({id:`compress_${Date.now()}`,role:"system",type:"compression_notice",before:P.messages_before,after:P.messages_after,summary:P.summary??""})}function Fe(P){r.value=!1,l.value=null,n.value.push({id:`err_${Date.now()}`,role:"system",type:"error",text:P.message??"An error occurred"})}function Ge(P,V,K){n.value.push({id:`user_${Date.now()}`,role:"user",text:P,images:[...V],files:[...K],time:new Date().toISOString(),animate:!0})}function Xe(P){var T,I;const V=[];let K=0;for(;Ktypeof J=="string"&&J.startsWith("data:")?J:`data:image/jpeg;base64,${String(J??"")}`);V.push({id:`h_${K}`,role:"user",text:M.content??"",images:G,files:M.files??[],time:M.created_at??null}),K++;continue}if(M.role==="assistant"){const G=`h_${K}`,J=[];let g=null,S="",O=null;for(;K=P.length||P[K].role!=="assistant")break}}if(g||J.length||S){let U=null,Y=null,F=null;const j=Number(G.slice(2));for(let te=j;te{const t=ce(null),e=ce(!1),n=ce(!1),r=me(()=>t.value!==null),i=me(()=>{var l;return((l=t.value)==null?void 0:l.role)==="admin"});function a(l){return t.value?t.value.role==="admin"?!0:(t.value.permissions||[]).includes(l):!1}async function o(){var l;console.log("[auth] fetchMe start"),e.value=!0;try{t.value=await $b(),console.log("[auth] fetchMe success",t.value)}catch(d){throw console.log("[auth] fetchMe error",d.message),(l=d.message)!=null&&l.includes("401")&&(t.value=null),d}finally{e.value=!1,console.log("[auth] fetchMe loading=false")}}async function s(){console.log("[auth] fetchStatus start");try{const l=await fetch("/auth/status");if(console.log("[auth] fetchStatus response",l.status,l.ok),l.ok){const d=await l.json();console.log("[auth] fetchStatus data",d),n.value=!!d.configured,console.log("[auth] fetchStatus authConfigured set to",n.value)}else console.log("[auth] fetchStatus not ok"),n.value=!1}catch(l){console.log("[auth] fetchStatus error",l),n.value=!1}}function c(){const l=navigator.userAgent.includes("NaviAndroid"),d=new URLSearchParams;l&&d.set("platform","android");const u=d.toString();window.location.href="/auth/login"+(u?"?"+u:"")}async function _(){try{await zb()}catch{}t.value=null,window.location.reload()}return{user:t,loading:e,authConfigured:n,isAuthenticated:r,isAdmin:i,hasPermission:a,fetchMe:o,fetchStatus:s,login:c,logout:_}}),f_="/images/logo.svg";function ih(t){return{all:t=t||new Map,on:function(e,n){var r=t.get(e);r&&r.push(n)||t.set(e,[n])},off:function(e,n){var r=t.get(e);r&&r.splice(r.indexOf(n)>>>0,1)},emit:function(e,n){(t.get(e)||[]).slice().map(function(r){r(n)}),(t.get("*")||[]).slice().map(function(r){r(e,n)})}}}function T_(t,e,n){if(!n)return e;const r=t==null?void 0:t[n];if(r==null)throw new Error(`Key is ${r} on item (keyField is '${n}')`);return r}function _r(t,e){return t.map((n,r)=>T_(n,r,e))}function ah(t,e,n){const r=[],i=[];for(let a=0;a0?c:null)}return{keys:r,sizes:i}}function oh(t,e,n){if(!t||t.keys.length!==e.length||t.sizes.length!==e.length)return!1;for(let r=0;r0&&(r[t.keys[i]]=a)}return r}function SS(t,e){if(!t.length||e.length<=t.length)return 0;const n=t[0],r=e.indexOf(n);if(r<=0||r+t.lengthe.length-r)return 0;for(let i=0;i=n&&c<=s?null:t{}:n.onVscrollUpdate(f),d=me(()=>{const x=pe(t);if(n.vscrollData.simpleArray){if(x.index==null)throw new Error("index is required when using simple-array mode with dynamic item measurement");return x.index}if(n.vscrollData.keyField in x.item)return x.item[n.vscrollData.keyField];throw new Error(`keyField '${n.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)}),u=me(()=>n.vscrollData.sizes[d.value]||0),p=me(()=>pe(t).active&&n.vscrollData.active);function m(){p.value?a!==d.value&&(a=d.value,i=null,o=null,v(d.value)):i=d.value}function E(){pe(t).watchData&&!n.resizeObserver?c=Ye(()=>pe(t).item,()=>{h()},{deep:!0}):c&&(c(),c=null)}function f({force:x}){!p.value&&x&&(o=d.value),(i===d.value||x||!u.value)&&m()}function h(){m()}function b(x){n.undefinedMap[x]&&n.undefinedSizeCount.value--,n.undefinedMap[x]=void 0}function R(x,Z){if(n.vscrollData.sizes[x]){b(x);return}if(Z){n.undefinedMap[x]||n.undefinedSizeCount.value++,n.undefinedMap[x]=!0;return}n.undefinedMap[x]&&(n.undefinedSizeCount.value--,n.undefinedMap[x]=!1)}function v(x){Ft(()=>{if(d.value===x){const Z=pe(e);if(!Z)return;const re=Z.offsetWidth,Se=Z.offsetHeight;D(re,Se)}a=null})}function D(x,Z){const re=~~(n.direction.value==="vertical"?Z:x);re&&u.value!==re&&y(re)}function y(x){var Z,re;b(d.value),n.vscrollData.sizes[d.value]=x,pe(t).emitResize&&((re=(Z=pe(r))==null?void 0:Z.onResize)==null||re.call(Z,d.value))}function L(){if(!n.resizeObserver||s)return;const x=pe(e);x&&(n.resizeObserver.observe(x),x.$_vs_id=d.value,x.$_vs_onResize=w,s=!0)}function A(){if(!n.resizeObserver||!s)return;const x=pe(e);x&&(n.resizeObserver.unobserve(x),x.$_vs_onResize=void 0,s=!1)}function w(x,Z,re){d.value===x&&D(Z,re)}_.push(Ye(()=>pe(t).watchData,()=>{E()})),n.resizeObserver||_.push(Ye(()=>pe(t).sizeDependencies,()=>{h()},{deep:!0})),_.push(Ye(d,(x,Z)=>{const re=pe(e);re&&(re.$_vs_id=x),b(Z),R(x,p.value);const Se=n.vscrollData.sizes[x];if(!Se){i=x,h();return}b(x),s&&(n.vscrollData.sizes[x]=Se)})),_.push(Ye(p,x=>{R(d.value,x),n.resizeObserver?x?L():A():x&&o===d.value&&m()})),E();function $(){p.value&&(m(),L())}function W(){l(),A(),b(d.value);const x=pe(e);x&&(x.$_vs_id=void 0,x.$_vs_onResize=void 0),c&&(c(),c=null);for(const Z of _)Z();_.length=0}return{id:d,size:u,finalActive:p,updateSize:m,mount:$,unmount:W}}const sh={itemsLimit:1e3};function TS(t){return typeof window<"u"&&t===window}const lh=(()=>{if(typeof document>"u")return"negative";const t=document.createElement("div"),e=document.createElement("div");t.style.width="4px",t.style.height="1px",t.style.overflow="auto",t.style.direction="rtl",e.style.width="8px",e.style.height="1px",t.appendChild(e),document.body.appendChild(t),t.scrollLeft=-1;const n=t.scrollLeft<0;return document.body.removeChild(t),n?"negative":"default"})();function Or(t,e,n){return e!=="horizontal"||!n||TS(n)||getComputedStyle(n).direction!=="rtl"?t:lh==="negative"?-t:t}function ch(t,e,n){return Or(t,e,n)}function ka(t,e,n,r){const i=ch(n,e,t),a=!!(r!=null&&r.smooth);if(TS(t)){e==="vertical"?t.scrollTo({top:i,behavior:a?"smooth":"auto"}):t.scrollTo({left:i,behavior:a?"smooth":"auto"});return}if(typeof t.scrollTo=="function"){t.scrollTo(e==="vertical"?{top:i,behavior:a?"smooth":"auto"}:{left:i,behavior:a?"smooth":"auto"});return}e==="vertical"?t.scrollTop=i:t.scrollLeft=i}function _h(t,e,n){return n?e==="vertical"?window.innerHeight:window.innerWidth:e==="vertical"?t.clientHeight:t.clientWidth}const dh=/auto|scroll/;function bS(t,e){return t.parentNode===null?e:bS(t.parentNode,[...e,t])}function Ua(t,e){return getComputedStyle(t,null).getPropertyValue(e)}function uh(t){return Ua(t,"overflow")+Ua(t,"overflow-y")+Ua(t,"overflow-x")}function ph(t){return dh.test(uh(t))}function Ii(t){if(!(t instanceof HTMLElement||t instanceof SVGElement))return;const e=bS(t.parentNode,[]);for(let n=0;n{const B=pe(t);return B.items.length>0&&typeof B.items[0]!="object"}),Z=me(()=>{const B=pe(t);if(B.itemSize===null){const z={[-1]:{accumulator:0}},le=B.items,ye=B.sizeField??"size",fe=B.minItemSize,Re=W.value;let we=1e4,ze=0,Nt;for(let Pe=0,ft=le.length;Pea.value.filter(B=>B.nr.used).sort((B,z)=>B.nr.index-z.nr.index)),Se=me(()=>{const B=pe(t),z=x.value?null:B.keyField;return ah(B.items,z,(le,ye,fe)=>B.itemSize!=null?B.itemSize:W.value[fe]||(le==null?void 0:le[B.sizeField??"size"])||void 0)});function oe(B){const z=pe(t);return W.value=Bc(B,z.items,x.value?null:z.keyField),Object.keys(W.value).length>0}function ie(B){let z=d.get(B);return z||(z=[],d.set(B,z)),z}function Te(B,z,le,ye,fe){const Re=oa({id:gh++,index:z,used:!0,key:ye,type:fe}),we=s_({item:le,position:0,offset:0,nr:Re,_vs_styleStamp:0});return B.push(we),we}function ge(B){const z=ie(B);if(z&&z.length){const le=z.pop();return le.nr.used=!0,Fa(le),le}}function Ae(B){const z=B.nr.type;ie(z).push(B),B.nr.used=!1,B.position=-9999,Fa(B),l.delete(B.nr.key)}function Fe(){l.clear(),d.clear();for(let B=0,z=a.value.length;B{$.delete(z),B()}),$.add(z),z}function Xe(){for(const B of $)cancelAnimationFrame(B);$.clear()}function P(){f&&(clearTimeout(f),f=null),h&&(clearTimeout(h),h=null),b&&(clearTimeout(b),b=null),L&&(clearTimeout(L),L=null),A&&(clearTimeout(A),A=null)}function V(){var B;(B=i==null?void 0:i.onResize)==null||B.call(i),s.value&&_e(!1)}function K(){y&&!w&&U();const B=pe(t);if(!u){if(u=!0,f)return;const z=()=>Ge(()=>{u=!1;const{continuous:le}=_e(!1,!0);le||(h&&clearTimeout(h),h=setTimeout(K,B.updateInterval+100))});z(),B.updateInterval&&(f=setTimeout(()=>{f=null,u&&z()},B.updateInterval))}}function T(B,z){var le,ye;s.value&&(B||z.boundingClientRect.width!==0||z.boundingClientRect.height!==0?((le=i==null?void 0:i.onVisible)==null||le.call(i),Ge(()=>{_e(!1)})):(ye=i==null?void 0:i.onHidden)==null||ye.call(i))}function I(){const B=pe(e),z=B?Ii(B):void 0;return window.document&&(z===window.document.documentElement||z===window.document.body)?window:z||window}function M(){const B=pe(n);return B?pe(t).direction==="vertical"?B.scrollHeight:B.scrollWidth:0}function G(){const B=pe(e);if(!B)return{start:0,end:0};const z=pe(t),le=z.direction==="vertical";let ye;if(z.pageMode){const fe=B.getBoundingClientRect(),Re=le?fe.height:fe.width;let we=-(le?fe.top:fe.left),ze=le?window.innerHeight:window.innerWidth;we<0&&(ze+=we,we=0),we+ze>Re&&(ze=Re-we),ye={start:we,end:we+ze}}else le?ye={start:B.scrollTop,end:B.scrollTop+B.clientHeight}:ye={start:Or(B.scrollLeft,z.direction,B),end:Or(B.scrollLeft,z.direction,B)+B.clientWidth};return ye}function J(){const B=pe(e);if(!B)return{start:0,end:0};if(pe(t).direction==="vertical"){const z=Or(B.scrollLeft,"horizontal",B);return{start:z,end:z+B.clientWidth}}return{start:B.scrollTop,end:B.scrollTop+B.clientHeight}}function g(B){const z=pe(t);if(z.itemSize!=null)return z.itemSize;const le=Z.value[B];return(le==null?void 0:le.size)||Number(z.minItemSize)||0}function S(B){var z;const le=pe(t),ye=le.gridItems||1;return B<=0?0:le.itemSize!=null?Math.floor(B/ye)*le.itemSize:((z=Z.value[B-1])==null?void 0:z.accumulator)||0}function O(B){const z=pe(t),le=z.items.length,ye=z.gridItems||1;if(!le)return 0;if(z.itemSize!=null){const ze=Math.floor(B/z.itemSize)*ye;return Math.min(Math.max(ze,0),le-1)}let fe=0,Re=le-1,we=0;for(;fe<=Re;){const ze=Math.floor((fe+Re)/2);S(ze)<=B?(we=ze,fe=ze+1):Re=ze-1}return we}function U(){L&&(clearTimeout(L),L=null),y=null}function Y(){L&&clearTimeout(L),L=setTimeout(()=>{y=null,L=null},150)}function F(B,z){if(!B.length){U();return}const le=Math.max(G().start-M(),0),ye=Math.min(O(le),B.length-1),fe=B[ye],Re=z?fe==null?void 0:fe[z]:ye;if(Re==null){U();return}const we=M()+S(ye);y={key:Re,offset:G().start-we}}function j(B){if(!y)return!1;const z=pe(t),le=B??z.items,ye=x.value?null:z.keyField,fe=_r(le,ye).indexOf(y.key);if(fe===-1)return U(),!1;const Re=M()+S(fe)+y.offset,we=G().start;return Math.abs(Re-we)<.5?!1:(w=!0,rt(Re),Ge(()=>{w=!1}),!0)}function te(){pe(t).pageMode?ee():Q()}function ee(){v=I(),v.addEventListener("scroll",K,mh()?{passive:!0}:!1),v.addEventListener("resize",V)}function Q(){v&&(v.removeEventListener("scroll",K),v.removeEventListener("resize",V),v=null)}function Ce(B,z,le,ye,fe,Re){const we=Math.ceil(B/z)*le,ze=Math.max(0,Math.floor(fe.start/le)),Nt=Math.min(Math.ceil(fe.end/le),Math.ceil(B/z)),Pe=Math.max(0,Math.floor(Re.start/ye)),ft=Math.min(Math.ceil(Re.end/ye),z),Tt=[];for(let H=ze;H=B)break;Tt.push(et)}}const je=Tt[0]??0,C=Tt.at(-1)??-1;return{renderedIndices:Tt,startIndex:je,endIndex:C+1,visibleStartIndex:je,visibleEndIndex:C,totalSize:we}}function de(){const B=pe(t);if(!B.gridItems||B.itemSize==null)return!1;const z=pe(e);if(!z)return!1;const le=B.itemSecondarySize||B.itemSize,ye=B.direction==="vertical"?z.clientWidth:z.clientHeight;return le*B.gridItems>ye}function _e(B,z=!1){var le,ye;const fe=pe(t),Re=fe.itemSize,we=fe.gridItems||1,ze=fe.itemSecondarySize||Re,Nt=R,Pe=fe.typeField,ft=x.value?null:fe.keyField,Tt=fe.items,je=Tt.length,C=Z.value,H=l,ae=a.value;let Ne=null,et=null,qe,se,Ee,he,it;if(!je)qe=se=he=it=Ee=0;else if(E)qe=he=0,se=it=Math.min(fe.prerender,Tt.length),Ee=0;else{const Ve=G(),Ct=J();if(z){let bt=Ve.start-p;bt<0&&(bt=-bt);let un=Ct.start-m;un<0&&(un=-un);const jn=Re===null&&bt>=Nt||Re!==null&&bt>=Re,gt=we>1&&Re!=null&&un>=ze;if(!jn&&!gt)return{continuous:!0}}p=Ve.start,m=Ct.start;const Jt=fe.buffer;Ve.start-=Jt,Ve.end+=Jt,Ct.start-=Jt,Ct.end+=Jt;let an=0;const qn=pe(n);qn&&(an=qn.scrollHeight,Ve.start-=an);const Hn=pe(r);if(Hn){const bt=Hn.scrollHeight;Ve.end+=bt}if(Re===null){let bt,un=0,jn=je-1,gt=~~(je/2),hr;do hr=gt,bt=C[gt].accumulator,btVe.start&&(jn=gt),gt=~~((un+jn)/2);while(gt!==hr);for(gt<0&&(gt=0),qe=gt,Ee=C[je-1].accumulator,se=gt;seje&&(se=je)),he=qe;he1){const bt=Ce(je,we,Re,ze,Ve,Ct);Ne=bt.renderedIndices,et=new Set(Ne),qe=bt.startIndex,se=bt.endIndex,he=bt.visibleStartIndex,it=bt.visibleEndIndex,Ee=bt.totalSize}else{qe=~~(Ve.start/Re*we);const bt=qe%we;qe-=bt,se=Math.ceil(Ve.end/Re*we),he=Math.max(0,Math.floor((Ve.start-an)/Re*we)),it=Math.floor((Ve.end-an)/Re*we),qe<0&&(qe=0),se>je&&(se=je),he<0&&(he=0),it>je&&(it=je),Ee=Math.ceil(je/we)*Re}}se-qe>sh.itemsLimit&&ve(),o.value=Ee;let Me;const vn=qe<=_&&se>=c;if(!vn||B)Fe();else for(let Ve=0,Ct=ae.length;Ve=qe&&Me.nr.indexqe+Ct);for(const Ve of hi){if(!(Re||C[Ve]&&C[Ve].size))continue;Zt=Tt[Ve];const Ct=ft?Zt[ft]:Ve;if(Ct==null)throw new Error(`Key is ${Ct} on item (keyField is '${ft}')`);if(Me=H.get(Ct),Me)Me.item!==Zt&&(Me.item=Zt),Me.nr.used||console.warn(`Expected existing view's used flag to be true, got ${Me.nr.used}`);else{if(Nn=Zt[Pe],Me=ge(Nn),Me){const Jt=Me.nr.index!==Ve||Me.nr.key!==Ct;Me.item=Zt,Me.nr.index=Ve,Me.nr.key=Ct,Me.nr.type!==Nn&&console.warn("Reused view's type does not match pool's type"),Jt&&Fa(Me)}else Me=Te(ae,Ve,Zt,Ct,Nn);H.set(Ct,Me)}Re===null?(Me.position=((le=C[Ve-1])==null?void 0:le.accumulator)||0,Me.offset=0):(Me.position=Math.floor(Ve/we)*Re,Me.offset=Ve%we*ze)}return c=qe,_=se,fe.emitUpdate&&((ye=i==null?void 0:i.onUpdate)==null||ye.call(i,qe,se,he,it)),b&&clearTimeout(b),b=setTimeout(He,fe.updateInterval+300),{continuous:vn}}function ve(){throw A=setTimeout(()=>{A=null,console.warn("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",pe(e)),console.warn("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")}function xe(){if(de())return!1;const B=a.value.filter(({nr:z})=>z.used);for(let z=1;zB.nr.index-z.nr.index),xe()&&(_e(!1),b&&clearTimeout(b))}function Ke(B,z){const le=pe(t),ye=pe(e);if(!ye)return;const fe=Math.max(0,Math.min(B,le.items.length-1)),Re=G().start,we=_h(ye,le.direction,le.pageMode),ze=S(fe),Nt=g(fe),Pe=Bd(ze,Nt,Re,we,z==null?void 0:z.align,(z==null?void 0:z.offset)??0);if(Pe!=null&&(rt(Pe,z),le.gridItems&&le.itemSize!=null)){const ft=pe(e);if(!ft)return;const Tt=le.gridItems,je=le.itemSecondarySize||le.itemSize,C=fe%Tt*je,H=le.direction==="vertical"?"horizontal":"vertical",ae=H==="horizontal"?Or(ft.scrollLeft,"horizontal",ft):ft.scrollTop,Ne=H==="horizontal"?ft.clientWidth:ft.clientHeight,et=Bd(C,je,ae,Ne,z==null?void 0:z.align,(z==null?void 0:z.offset)??0);et!=null&&ka(ft,H,et,z)}}function rt(B,z){const le=pe(t),ye=pe(e);if(ye)if(le.pageMode){const fe=Ii(ye),Re=fe.getBoundingClientRect(),we=ye.getBoundingClientRect(),ze=le.direction==="vertical"?"top":"left",Nt=Ii(ye)===document.documentElement||Ii(ye)===document.body?le.direction==="vertical"?window.scrollY:window.scrollX:Or(le.direction==="vertical"?fe.scrollTop:fe.scrollLeft,le.direction,fe),Pe=we[ze]-Re[ze];ka(fe.tagName==="HTML"?window:fe,le.direction,B+Nt+Pe,z)}else ka(ye,le.direction,B,z)}const Qe=pe(t);return D=_r(Qe.items,Qe.items.length>0&&typeof Qe.items[0]!="object"?null:Qe.keyField),Qe.cache&&oe(Qe.cache),Qe.prerender&&(E=!0,_e(!1)),Qe.gridItems&&!Qe.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems"),Cn(()=>{te(),Ft(()=>{E=!1,_e(!0),s.value=!0})}),d_(()=>{const B=p;typeof B=="number"&&Ft(()=>{rt(B)})}),Tr(()=>{P(),Xe(),Q()}),Ye(()=>pe(t).cache,B=>{oe(B),_e(!0)}),Ye(()=>pe(t).items,(B,z)=>{const le=pe(t),ye=x.value?null:le.keyField,fe=_r(B,ye);if(le.shift){const Re=z?_r(z,ye):D;SS(Re,fe)>0?F(z??[],ye):U()}else U();D=fe,j(B),_e(!0)}),Ye(()=>pe(t).pageMode,()=>{te(),_e(!1)}),Ye(Z,()=>{j()&&Y(),_e(!1)},{deep:!0}),Ye(()=>pe(t).gridItems,()=>{_e(!0)}),Ye(()=>pe(t).itemSecondarySize,()=>{_e(!0)}),{pool:a,visiblePool:re,totalSize:o,ready:s,sizes:Z,simpleArray:x,scrollToItem:Ke,scrollToPosition:rt,getScroll:G,findItemIndex:O,getItemOffset:S,getItemSize:g,cacheSnapshot:Se,restoreCache:oe,updateVisibleItems:_e,handleScroll:K,handleResize:V,handleVisibilityChange:T,sortViews:He}}function Yc(t){return t.item}function Sh(t){return t._vs_styleStamp??0}const RS=["position","top","left","transform","willChange","visibility","pointerEvents"];function Gd(t){const e={};for(const n of RS)e[n]=t.style[n];return e}function CS(t,e){for(const n of RS)t.style[n]=e[n]??""}function Yd(t,e,n,r){if(!("view"in e)){CS(t,r);return}const i=n==="vertical",a=t.tagName==="TR",o=i?`translateY(${e.view.position}px) translateX(${e.view.offset}px)`:`translateX(${e.view.position}px) translateY(${e.view.offset}px)`;t.style.position="absolute",t.style.top=i&&a?`${e.view.position}px`:"0px",t.style.left=!i&&a?`${e.view.position}px`:"0px",t.style.transform=a?"":o,t.style.willChange=a?"unset":"transform",t.style.visibility=e.view.nr.used?"visible":"hidden",t.style.pointerEvents=e.view.nr.used?"":"none"}function qd(t){return"view"in t?{item:Yc(t.view).item,active:t.view.nr.used,index:t.view.nr.index,watchData:t.watchData??!1,emitResize:t.emitResize??!1,sizeDependencies:t.sizeDependencies??null,onResize:t.onResize}:{watchData:!1,emitResize:!1,sizeDependencies:null,...t}}function Hd(t,e,n,r){return n?r??null:(t==null?void 0:t[e])??null}function fh(t){let e=0,n={};const r=ih();let i=!1,a,o=!1,s=[],c=null,_=null;const l=new Set,d=Pr({active:!0,sizes:{},keyField:pe(t).keyField,simpleArray:!1}),u=me(()=>pe(t).direction),p=me(()=>pe(pe(t).el)),m=me(()=>pe(pe(t).before)),E=me(()=>pe(pe(t).after)),f=new Map;function h(T){let I=-1;return I=requestAnimationFrame(()=>{l.delete(I),T()}),l.add(I),I}function b(){for(const T of l)cancelAnimationFrame(T);l.clear()}typeof ResizeObserver<"u"&&(a=new ResizeObserver(T=>{h(()=>{if(Array.isArray(T)){for(const I of T)if(I.target&&I.target.$_vs_onResize){let M,G;if(I.borderBoxSize){const J=I.borderBoxSize[0];M=J.inlineSize,G=J.blockSize}else M=I.contentRect.width,G=I.contentRect.height;I.target.$_vs_onResize(I.target.$_vs_id,M,G)}}})}));const R={vscrollData:d,resizeObserver:a,direction:u,undefinedMap:n,undefinedSizeCount:{get value(){return e},set value(T){e=T}},onVscrollUpdate(T){const I=M=>{T(M)};return r.on("vscroll:update",I),()=>r.off("vscroll:update",I)}};wn("vscrollData",d),wn("vscrollParent",{get $_undefinedSizes(){return e},set $_undefinedSizes(T){e=T},get $_undefinedMap(){return n},set $_undefinedMap(T){n=T},$_events:r,direction:u}),wn("vscrollResizeObserver",a),wn("vscrollMeasurementContext",R),wn("vscrollAnchorRegistry",{delete(T){f.delete(T)},set(T,I){f.set(T,I)}});const v=me(()=>{const T=pe(t);return T.items.length>0&&typeof T.items[0]!="object"}),D=me(()=>{const T=[],I=pe(t),{items:M,keyField:G}=I,J=v.value,g=d.sizes,S=M.length;for(let O=0;O"u"&&!n[Y]&&(F=0),T.push({item:U,id:Y,size:F})}return T}),y=pe(t);s=_r(y.items,v.value?null:y.keyField),y.cache&&(d.sizes=Bc(y.cache,y.items,v.value?null:y.keyField));const L=me(()=>{const T=pe(t);return{items:D.value,keyField:"id",direction:T.direction,itemSize:null,gridItems:void 0,itemSecondarySize:void 0,minItemSize:T.minItemSize,sizeField:"size",typeField:"type",buffer:T.buffer??200,pageMode:T.pageMode??!1,shift:!1,cache:T.cache,prerender:T.prerender??0,emitUpdate:T.emitUpdate??!1,updateInterval:T.updateInterval??0}});function A(){var T,I;Fe(),(I=(T=pe(t)).onResize)==null||I.call(T)}function w(){var T,I;r.emit("vscroll:update",{force:!1}),(I=(T=pe(t)).onVisible)==null||I.call(T)}const $=hS(L,p,m,E,{onResize:A,onVisible:w,onHidden:()=>{var T,I;return(I=(T=pe(t)).onHidden)==null?void 0:I.call(T)},onUpdate:(T,I,M,G)=>{var J,g;return(g=(J=pe(t)).onUpdate)==null?void 0:g.call(J,T,I,M,G)}}),W=new WeakMap;function x(){_!=null&&(cancelAnimationFrame(_),l.delete(_),_=null)}function Z(){x(),c=null}function re(){c==null||_!=null||(_=h(()=>{_=null,Te()}))}function Se(){const T=p.value;if(!T)return null;const I=T.getBoundingClientRect();let M=null;for(const[G,J]of f.entries()){if(!J.active||getComputedStyle(G).visibility==="hidden")continue;const g=G.getBoundingClientRect();if(g.bottom<=I.top||g.top>=I.bottom)continue;const S=Math.max(g.top,I.top)-I.top;(!M||S{o=!1}),!0)}function Te(){const T=c,I=p.value;if(!T||!I)return;const M=D.value.findIndex(S=>S.id===T.logicalKey);if(M===-1){Z();return}let G=!1;const J=$.getItemOffset(M)+T.logicalOffset;if(G=ie(J)||G,T.visualKey!=null)for(const[S,O]of f.entries()){if(!O.active||O.id!==T.visualKey||getComputedStyle(S).visibility==="hidden")continue;const U=S.getBoundingClientRect().top-I.getBoundingClientRect().top-T.visualOffset;G=ie(I.scrollTop+U)||G;break}let g=!0;for(const S of T.pendingKeys)if(!(typeof d.sizes[S]=="number"&&d.sizes[S]>0)){g=!1;break}if(!G&&g){if(T.stableFrames++,T.stableFrames>=2){Z();return}}else T.stableFrames=0;re()}function ge(T,I,M,G){const J=t_(),g=cr(I),S=cr(M),O=cr({onResize:M.onResize}),U=cr(T),Y=J.run(()=>(Ye(()=>{const F=g.value;if(!("view"in F))return{active:S.value.active,direction:u.value,id:Hd(S.value.item,pe(t).keyField,d.simpleArray,S.value.index),legacy:!0};const{view:j}=F;return{active:j.nr.used,direction:u.value,id:Yc(j).id,legacy:!1,position:j.position,offset:j.offset,styleStamp:Sh(j)}},()=>{const F=U.value;if(F){const j=g.value,te="view"in j?Yc(j.view).id:Hd(S.value.item,pe(t).keyField,d.simpleArray,S.value.index);te!=null&&f.set(F,{active:S.value.active&&d.active,id:te}),Yd(F,g.value,u.value,G)}},{immediate:!0}),fS(S,U,R,O)));Y.mount(),W.set(T,{binding:g,scope:J,options:S,callbacks:O,el:U,controller:Y,restoreStyles:G})}const Ae={mounted(T,I){const M=Gd(T);ge(T,I.value,qd(I.value),M)},updated(T,I){const M=W.get(T),G=qd(I.value);if(!M){const J=Gd(T);ge(T,I.value,G,J);return}M.binding.value=I.value,M.options.value=G,M.callbacks.value={onResize:G.onResize},M.el.value=T,Yd(T,I.value,u.value,M.restoreStyles)},unmounted(T){const I=W.get(T);I&&(I.controller.unmount(),I.scope.stop(),CS(T,I.restoreStyles),f.delete(T),W.delete(T))}};function Fe(T=!1){(T||v.value)&&(d.sizes={}),r.emit("vscroll:update",{force:!0})}function Ge(T,I){$.scrollToItem(T,I)}function Xe(T){const I=pe(t);return d.sizes=Bc(T,I.items,v.value?null:I.keyField),$.restoreCache(T)}function P(T,I){const M=pe(t),G=v.value?I??M.items.indexOf(T):T[M.keyField];return d.sizes[G]||0}function V(){const T=p.value;T&&(i||(i=!0,Ft(()=>{T.scrollTop=T.scrollHeight+5e3;const I=()=>{T.scrollTop=T.scrollHeight+5e3,h(()=>{T.scrollTop=T.scrollHeight+5e3,e===0?i=!1:h(I)})};h(I)})))}function K(){c&&!o&&Z()}return Ye(()=>pe(t).items,(T,I)=>{const M=pe(t),G=v.value?null:M.keyField,J=_r(T,G);if(M.shift){const g=I?_r(I,G):s,S=SS(g,J);S>0?(oe(g),c&&(c.pendingKeys=new Set(J.slice(0,S)),c.stableFrames=0,Ft(()=>{c&&Te()}))):Z()}else Z();s=J,Fe()},{flush:"sync"}),Ye(()=>pe(t).cache,T=>{T&&Xe(T)}),Ye(v,T=>{d.simpleArray=T},{immediate:!0}),Ye(()=>pe(t).direction,()=>{Z(),Fe(!0)}),Ye(p,(T,I)=>{I==null||I.removeEventListener("scroll",K),T==null||T.addEventListener("scroll",K)},{immediate:!0}),Ye(D,(T,I)=>{const M=p.value;if(!M)return;if(c){Te();return}const G=M.scrollTop,J=pe(t);let g=0,S=0;const O=Math.min(T.length,I.length);for(let Y=0;Y=G);Y++)g+=I[Y].size||J.minItemSize,S+=T[Y].size||J.minItemSize;const U=S-g;U!==0&&(M.scrollTop+=U)},{flush:"post"}),d_(()=>{d.active=!0}),kE(()=>{d.active=!1}),Zn(()=>{var T;x(),b(),(T=p.value)==null||T.removeEventListener("scroll",K),r.all.clear()}),{vscrollData:d,itemsWithSize:D,resizeObserver:a,measurementContext:R,vDynamicScrollerItem:Ae,...$,simpleArray:v,forceUpdate:Fe,scrollToItem:Ge,restoreCache:Xe,getItemSize:P,scrollToBottom:V,onScrollerResize:A,onScrollerVisible:w}}const b_=new WeakMap;function Th(t){return typeof t=="function"?{callback:t,observer:null,intersection:void 0,visible:null}:{callback:t.callback,observer:null,intersection:t.intersection,visible:null}}function Vd(t,e){vS(t);const n=Th(e.value);if(b_.set(t,n),typeof IntersectionObserver>"u"){const r=t.getBoundingClientRect();n.visible=!0,n.callback(!0,{boundingClientRect:r});return}n.observer=new IntersectionObserver(r=>{const i=r[0],a=!!(i!=null&&i.isIntersecting);n.visible!==null&&n.visible===a||(n.visible=a,n.callback(a,i))},n.intersection),n.observer.observe(t)}function vS(t){const e=b_.get(t);e!=null&&e.observer&&(e.observer.disconnect(),e.observer=null)}const bh={mounted(t,e){Vd(t,e)},updated(t,e){e.value!==e.oldValue&&Vd(t,e)},unmounted(t){vS(t),b_.delete(t)}},hh=fr({__name:"ItemView",props:{view:{},itemTag:{}},setup(t){const e=t;return(n,r)=>(k(),Et(_a(e.itemTag),{class:"vue-recycle-scroller__item-view"},{default:xt(()=>[hn(n.$slots,"default",{item:e.view.item,index:e.view.nr.index,active:e.view.nr.used})]),_:3}))}}),Rh=fr({__name:"ResizeObserver",emits:["notify"],setup(t,{emit:e}){const n=e,r=ce();let i=null,a=null;function o(){n("notify")}return Cn(()=>{var s;const c=(s=r.value)==null?void 0:s.parentElement;if(c){if(typeof ResizeObserver<"u"){i=new ResizeObserver(()=>{o()}),i.observe(c);return}a=()=>o(),window.addEventListener("resize",a)}}),Tr(()=>{i&&(i.disconnect(),i=null),a&&(window.removeEventListener("resize",a),a=null)}),(s,c)=>(k(),q("div",{ref_key:"el",ref:r,class:"vue-recycle-scroller__resize-observer","aria-hidden":"true"},null,512))}}),Ch=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},vh=Ch(Rh,[["__scopeId","data-v-08cc04ab"]]),Nh=fr({__name:"RecycleScroller",props:{items:{},keyField:{default:"id"},direction:{default:"vertical"},listTag:{default:"div"},itemTag:{default:"div"},itemSize:{default:null},gridItems:{default:void 0},itemSecondarySize:{default:void 0},minItemSize:{default:null},sizeField:{default:"size"},typeField:{default:"type"},buffer:{default:200},pageMode:{type:Boolean,default:!1},shift:{type:Boolean,default:!1},cache:{default:void 0},prerender:{default:0},emitUpdate:{type:Boolean,default:!1},disableTransform:{type:Boolean,default:!1},updateInterval:{default:0},skipHover:{type:Boolean,default:!1},listClass:{default:""},itemClass:{default:""}},emits:["resize","visible","hidden","update","scrollStart","scrollEnd"],setup(t,{expose:e,emit:n}){const r=t,i=n,a=bh,o=ce(),s=ce(),c=ce(),_=ce(null),l=hS(r,o,s,c,{onResize:()=>i("resize"),onVisible:()=>i("visible"),onHidden:()=>i("hidden"),onUpdate:(re,Se,oe,ie)=>{i("update",re,Se,oe,ie),oe<=0&&i("scrollStart"),ie>=r.items.length-1&&i("scrollEnd")}}),{pool:d,visiblePool:u,totalSize:p,ready:m,scrollToItem:E,scrollToPosition:f,getScroll:h,findItemIndex:b,getItemOffset:R,getItemSize:v,cacheSnapshot:D,restoreCache:y,updateVisibleItems:L,handleScroll:A,handleResize:w,handleVisibilityChange:$}=l;function W(re){_.value=re}function x(){_.value=null}const Z=me(()=>{const re={[r.direction==="vertical"?"minHeight":"minWidth"]:`${p.value}px`};if(r.gridItems&&r.itemSize!=null){const Se=(r.itemSecondarySize||r.itemSize)*r.gridItems;re[r.direction==="vertical"?"minWidth":"minHeight"]=`${Se}px`}return re});return e({el:o,visiblePool:u,scrollToItem:E,scrollToPosition:f,getScroll:h,findItemIndex:b,getItemOffset:R,getItemSize:v,cacheSnapshot:D,restoreCache:y,updateVisibleItems:L}),(re,Se)=>NE((k(),q("div",{ref_key:"el",ref:o,class:Je(["vue-recycle-scroller",{"grid-mode":r.gridItems,ready:X(m),"page-mode":r.pageMode,[`direction-${r.direction}`]:!0}]),onScrollPassive:Se[0]||(Se[0]=(...oe)=>X(A)&&X(A)(...oe))},[re.$slots.before?(k(),q("div",{key:0,ref_key:"before",ref:s,class:"vue-recycle-scroller__slot"},[hn(re.$slots,"before")],512)):Ie("",!0),(k(),Et(_a(r.listTag),{style:Sr(Z.value),class:Je(["vue-recycle-scroller__item-wrapper",r.listClass])},{default:xt(()=>[(k(!0),q(_t,null,_n(X(d),oe=>(k(),Et(hh,Vi({key:oe.nr.id,view:oe,"item-tag":r.itemTag,style:X(m)?[r.disableTransform?{[r.direction==="vertical"?"top":"left"]:`${oe.position}px`,willChange:"unset"}:{transform:`translate${r.direction==="vertical"?"Y":"X"}(${oe.position}px) translate${r.direction==="vertical"?"X":"Y"}(${oe.offset}px)`},{width:r.gridItems?`${r.direction==="vertical"&&r.itemSecondarySize||r.itemSize}px`:void 0,height:r.gridItems?`${r.direction==="horizontal"&&r.itemSecondarySize||r.itemSize}px`:void 0,visibility:oe.nr.used?"visible":"hidden"}]:null,class:["vue-recycle-scroller__item-view",[r.itemClass,{hover:!r.skipHover&&_.value===oe.nr.key}]]},fT(r.skipHover?{}:{mouseenter:()=>{W(oe.nr.key)},mouseleave:()=>{x()}})),{default:xt(ie=>[hn(re.$slots,"default",Vi({ref_for:!0},ie))]),_:2},1040,["view","item-tag","style","class"]))),128)),r.items.length===0?hn(re.$slots,"empty",{key:0}):Ie("",!0)]),_:3},8,["style","class"])),re.$slots.after?(k(),q("div",{key:1,ref_key:"after",ref:c,class:"vue-recycle-scroller__slot"},[hn(re.$slots,"after")],512)):Ie("",!0),We(vh,{onNotify:X(w)},null,8,["onNotify"])],34)),[[X(a),X($)]])}}),Oh=fr({inheritAttrs:!1,__name:"DynamicScroller",props:{items:{},keyField:{default:"id"},direction:{default:"vertical"},listTag:{default:"div"},itemTag:{default:"div"},minItemSize:{},shift:{type:Boolean,default:!1},cache:{default:void 0}},emits:["resize","visible"],setup(t,{expose:e,emit:n}){const r=t,i=n,a=ce(),o=me(()=>{var y;const L=(y=a.value)==null?void 0:y.el;return L&&typeof L=="object"&&"value"in L?L.value:L}),s=me(()=>({items:r.items,keyField:r.keyField,direction:r.direction,minItemSize:r.minItemSize,shift:r.shift,cache:r.cache,el:o.value,onResize:()=>i("resize"),onVisible:()=>i("visible")})),c=fh(s),{itemsWithSize:_,forceUpdate:l,scrollToItem:d,scrollToPosition:u,findItemIndex:p,getItemOffset:m,getItemSize:E,cacheSnapshot:f,restoreCache:h,scrollToBottom:b,onScrollerResize:R,onScrollerVisible:v}=c;function D(y,L,A){return{item:y.item,index:L,active:A,itemWithSize:y}}return e({scrollToItem:d,scrollToPosition:u,findItemIndex:p,getItemOffset:m,scrollToBottom:b,getItemSize:E,cacheSnapshot:f,restoreCache:h,forceUpdate:l}),(y,L)=>(k(),Et(Nh,Vi({ref_key:"scroller",ref:a,items:X(_),"min-item-size":r.minItemSize,direction:r.direction,cache:r.cache,"key-field":"id","list-tag":r.listTag,"item-tag":r.itemTag},y.$attrs,{onResize:X(R),onVisible:X(v)}),ST({default:xt(({item:A,index:w,active:$})=>[hn(y.$slots,"default",Ef(oS(D(A,w,$))))]),empty:xt(()=>[hn(y.$slots,"empty")]),_:2},[y.$slots.before?{name:"before",fn:xt(()=>[hn(y.$slots,"before")]),key:"0"}:void 0,y.$slots.after?{name:"after",fn:xt(()=>[hn(y.$slots,"after")]),key:"1"}:void 0]),1040,["items","min-item-size","direction","cache","list-tag","item-tag","onResize","onVisible"]))}});function yh(t,e,n){const r=rn("vscrollMeasurementContext"),i=rn("vscrollAnchorRegistry",null),a=fS(t,e,r,n);return Cn(()=>{a.mount()}),i&&Ye([a.id,a.finalActive,()=>pe(e)],([o,s,c],[_,l,d])=>{d&&d!==c&&i.delete(d),c&&i.set(c,{active:s,id:o})},{immediate:!0}),Tr(()=>{const o=pe(e);i&&o&&i.delete(o),a.unmount()}),{id:a.id,size:a.size,finalActive:a.finalActive,updateSize:a.updateSize}}const Ih=fr({__name:"DynamicScrollerItem",props:{item:{},watchData:{type:Boolean,default:!1},active:{type:Boolean},index:{default:void 0},sizeDependencies:{default:null},emitResize:{type:Boolean,default:!1},tag:{default:"div"}},emits:["resize"],setup(t,{emit:e}){const n=t,r=e,i=ce();return yh(n,i,{onResize:a=>r("resize",a)}),(a,o)=>(k(),Et(_a(n.tag),{ref_key:"el",ref:i},{default:xt(()=>[hn(a.$slots,"default")]),_:3},512))}});function $d(t){if(!t)return"";const e=new Date(t);if(isNaN(e))return"";const n=Date.now()-e;return n<6e4?"just now":n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):e.toLocaleDateString()}function h_(t){const e=ce($d(t.value));let n=null;function r(){e.value=$d(t.value)}return Cn(()=>{r(),n=setInterval(r,3e4)}),Zn(()=>{n&&clearInterval(n)}),e}const zi=ce(!1),NS=cr(""),qc=[];function Ah(){return{visible:zi,message:NS}}function Dh(){return function(e){return NS.value=e,zi.value=!0,new Promise(n=>{qc.push(n)})}}function zd(t){zi.value=!1;const e=qc.shift();e==null||e(t),qc.length===0&&(zi.value=!1)}const Mh={class:"session-info"},xh={class:"session-name"},Lh={key:0,class:"session-preview"},wh={key:1,class:"session-time"},Ph=["title"],kh={__name:"SessionItem",props:{session:{type:Object,required:!0},active:{type:Boolean,default:!1}},emits:["select","delete","pin"],setup(t,{emit:e}){const n=t,r=e,i=Dh(),a=me(()=>{const _=n.session.session_id??"";return n.session.name||_.slice(0,8)}),o=me(()=>n.session.last_active),s=h_(o);async function c(){await i("Delete this conversation?")&&r("delete")}return(_,l)=>(k(),q("div",{class:Je(["session-item",{"is-active":t.active,"is-pinned":t.session.pinned}]),onClick:l[2]||(l[2]=d=>r("select"))},[l[4]||(l[4]=N("i",{class:"ph ph-push-pin session-pin-icon"},null,-1)),N("div",Mh,[N("div",xh,Le(a.value),1),t.session.preview?(k(),q("div",Lh,Le(t.session.preview),1)):Ie("",!0),X(s)?(k(),q("div",wh,Le(X(s)),1)):Ie("",!0)]),N("div",{class:"session-actions",onClick:l[1]||(l[1]=gr(()=>{},["stop"]))},[N("button",{class:"btn-icon",title:t.session.pinned?"Unpin":"Pin",onClick:l[0]||(l[0]=d=>r("pin"))},[N("i",{class:Je(t.session.pinned?"ph ph-push-pin-slash":"ph ph-push-pin")},null,2)],8,Ph),N("button",{class:"btn-icon",title:"Delete",onClick:c},[...l[3]||(l[3]=[N("i",{class:"ph ph-trash"},null,-1)])])])],2))}},Lt=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},Uh={class:"session-list-wrap"},Fh={key:0,class:"sessions-loading"},Bh={key:1,class:"empty-sessions"},Gh={key:3,class:"sessions-loading sessions-loading-more"},Yh={__name:"SessionList",emits:["select"],setup(t,{emit:e}){const n=e,r=Jn(),i=$t(),a=Ti();Ye(()=>a.selectedProfileId,l=>{l&&l!==r.currentProfileId&&r.fetchSessions(l)});async function o(l){await i.loadSession(l.session_id),n("select",l)}async function s(l){const d=l.session_id===i.currentId;await r.deleteSession(l.session_id),d&&i.clearSession()}async function c(l){await r.pinSession(l.session_id,!l.pinned)}function _(l){const d=l.target;d.scrollHeight-d.scrollTop-d.clientHeight<160&&r.fetchMoreSessions()}return(l,d)=>(k(),q("div",Uh,[X(r).loading&&!X(r).sessions.length?(k(),q("div",Fh,[...d[0]||(d[0]=[N("span",{class:"sessions-spinner"},null,-1),N("p",null,"Loading conversations...",-1)])])):X(r).sessions.length?(k(),Et(X(Oh),{key:2,class:"session-scroller",items:X(r).sessions,"min-item-size":64,"key-field":"session_id",onScrollPassive:_},{default:xt(({item:u,index:p,active:m})=>[We(X(Ih),{item:u,active:m,"data-index":p},{default:xt(()=>[We(kh,{session:u,active:u.session_id===X(i).currentId,onSelect:E=>o(u),onDelete:E=>s(u),onPin:E=>c(u)},null,8,["session","active","onSelect","onDelete","onPin"])]),_:2},1032,["item","active","data-index"])]),_:1},8,["items"])):(k(),q("div",Bh,[...d[1]||(d[1]=[N("i",{class:"ph ph-chat-dots"},null,-1),N("p",null,"No conversations yet",-1)])])),X(r).loadingMore?(k(),q("div",Gh,[...d[2]||(d[2]=[N("span",{class:"sessions-spinner"},null,-1)])])):Ie("",!0)]))}},qh=Lt(Yh,[["__scopeId","data-v-01e3820b"]]),Hh={class:"sidebar-header"},Vh={class:"sidebar-logo"},$h={class:"sidebar-controls-row"},zh={class:"sidebar-profile-select"},Wh=["value"],Kh=["value"],Qh={class:"sidebar-sessions"},Xh={class:"sidebar-footer"},Zh=["href"],Jh=["src"],jh={key:1,class:"user-avatar user-avatar-fallback"},eR={class:"user-name"},tR={class:"sidebar-footer-actions"},nR={key:0,href:"/admin",class:"btn-icon without-hover admin-link",title:"Admin"},rR={__name:"AppSidebar",props:{mobileOpen:Boolean},emits:["close"],setup(t,{emit:e}){const n=t,r=e,i=Ti(),a=Jn(),o=$t(),s=ES();Ye(()=>o.currentProfileId,l=>{l&&(i.selectedProfileId=l)});async function c(){const l=await a.createSession(i.selectedProfileId);await o.loadSession(l.session_id),r("close")}function _(){r("close")}return(l,d)=>{var u,p,m,E,f,h;return k(),q("aside",{class:Je(["app-sidebar",{"is-mobile-open":n.mobileOpen}])},[N("div",Hh,[N("div",Vh,[d[5]||(d[5]=N("img",{src:f_,alt:"Navi"},null,-1)),d[6]||(d[6]=N("span",null,"Navi",-1)),N("button",{class:"btn-icon sidebar-close-btn",title:"Close",onClick:d[0]||(d[0]=b=>r("close"))},[...d[4]||(d[4]=[N("i",{class:"ph ph-x"},null,-1)])])]),N("div",$h,[N("div",zh,[N("select",{value:X(i).selectedProfileId,onChange:d[1]||(d[1]=b=>X(i).selectedProfileId=b.target.value)},[(k(!0),q(_t,null,_n(X(i).profiles,b=>(k(),q("option",{key:b.id,value:b.id},Le(b.name),9,Kh))),128))],40,Wh)]),N("button",{class:"btn btn-primary with-icon",onClick:c},[...d[7]||(d[7]=[N("i",{class:"ph ph-plus"},null,-1),At(" New Chat ",-1)])])])]),N("div",Qh,[d[8]||(d[8]=N("div",{class:"sessions-label"},"Conversations",-1)),We(qh,{onSelect:_})]),N("div",Xh,[X(s).isAuthenticated?(k(),q(_t,{key:0},[N("a",{class:"user-info",href:(u=X(s).user)==null?void 0:u.profile_url,target:"_blank",rel:"noopener noreferrer",title:"Open profile in gnexus-auth"},[(p=X(s).user)!=null&&p.avatar_url?(k(),q("img",{key:0,class:"user-avatar",src:X(s).user.avatar_url,alt:"avatar"},null,8,Jh)):(k(),q("div",jh,Le((((m=X(s).user)==null?void 0:m.display_name)||((E=X(s).user)==null?void 0:E.email)||"?").charAt(0).toUpperCase()),1)),N("span",eR,Le(((f=X(s).user)==null?void 0:f.display_name)||((h=X(s).user)==null?void 0:h.email)),1)],8,Zh),N("div",tR,[X(s).isAdmin?(k(),q("a",nR,[...d[9]||(d[9]=[N("i",{class:"ph ph-shield-check"},null,-1)])])):Ie("",!0),N("button",{class:"btn-icon without-hover",title:"Logout",onClick:d[2]||(d[2]=(...b)=>X(s).logout&&X(s).logout(...b))},[...d[10]||(d[10]=[N("i",{class:"ph ph-sign-out"},null,-1)])])])],64)):(k(),q("button",{key:1,class:"btn btn-primary with-icon",onClick:d[3]||(d[3]=(...b)=>X(s).login&&X(s).login(...b))},[...d[11]||(d[11]=[N("i",{class:"ph ph-sign-in"},null,-1),At(" Login ",-1)])]))])],2)}}},iR=Lt(rR,[["__scopeId","data-v-aed5e18a"]]),aR={class:"modal-panel confirm-panel",role:"dialog","aria-modal":"true"},oR={class:"modal-body"},sR={__name:"ConfirmDialog",setup(t){const{visible:e,message:n}=Ah();function r(){zd(!0)}function i(){zd(!1)}return(a,o)=>(k(),Et(__,{to:"body"},[We(kr,{name:"modal"},{default:xt(()=>[X(e)?(k(),q("div",{key:0,class:"modal a-show",onClick:gr(i,["self"])},[N("div",{class:"modal-backdrop",onClick:i}),N("div",aR,[N("header",{class:"modal-header"},[o[0]||(o[0]=N("h4",{class:"modal-title"},"Requires confirmation",-1)),N("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:i},"✕")]),N("div",oR,[N("p",null,Le(X(n)),1)]),N("footer",{class:"modal-footer"},[N("div",{class:"actions"},[N("button",{class:"btn btn-primary",onClick:i},"No"),N("button",{class:"btn btn-warning",onClick:r},"Yes")])])])])):Ie("",!0)]),_:1})]))}},lR=Lt(sR,[["__scopeId","data-v-49a56e4f"]]),Ba=ce(null);function R_(){function t(n){Ba.value=n}function e(){Ba.value=null}return{src:Ba,open:t,close:e}}const cR={class:"modal-panel lightbox-panel",role:"dialog","aria-modal":"true"},_R={class:"modal-header"},dR={class:"modal-body lightbox-body"},uR=["src"],pR={__name:"ImageLightbox",setup(t){const{src:e,close:n}=R_();return Ye(e,r=>{document.body.style.overflow=r?"hidden":""}),Zn(()=>{document.body.style.overflow=""}),(r,i)=>(k(),Et(__,{to:"body"},[We(kr,{name:"modal"},{default:xt(()=>[X(e)?(k(),q("div",{key:0,class:"modal a-show",onClick:i[2]||(i[2]=gr((...a)=>X(n)&&X(n)(...a),["self"]))},[N("div",{class:"modal-backdrop",onClick:i[0]||(i[0]=(...a)=>X(n)&&X(n)(...a))}),N("div",cR,[N("header",_R,[i[3]||(i[3]=N("h4",{class:"modal-title"},"Photo",-1)),N("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:i[1]||(i[1]=(...a)=>X(n)&&X(n)(...a))},"✕")]),N("div",dR,[N("img",{src:X(e),class:"lightbox-img"},null,8,uR)])])])):Ie("",!0)]),_:1})]))}},mR=Lt(pR,[["__scopeId","data-v-9d2a8160"]]),Ai=ce("");function OS(){function t(n){Ai.value=n}function e(){const n=Ai.value;return Ai.value="",n}return{pendingQuote:Ai,requestQuote:t,consumeQuote:e}}const gR={__name:"SelectionToolbar",setup(t){const{requestQuote:e}=OS(),n=ce(!1),r=ce({x:0,y:0});let i="";function a(){const l=window.getSelection();if(!l||l.isCollapsed||!l.toString().trim())return null;const d=l.getRangeAt(0),u=d.commonAncestorContainer;return(u.nodeType===Node.TEXT_NODE?u.parentElement:u).closest(".msg-assistant-content")?{text:l.toString().trim(),range:d}:null}function o(){const l=window.getSelection();if(!l||l.isCollapsed||!l.rangeCount){n.value=!1;return}const u=l.getRangeAt(0).getBoundingClientRect();if(!u.width&&!u.height){n.value=!1;return}r.value={x:Math.round(u.left+u.width/2),y:Math.round(u.top-44)}}function s(){setTimeout(()=>{const l=a();if(!l){n.value=!1;return}i=l.text,o(),n.value=!0},10)}function c(){const l=window.getSelection();(!l||l.isCollapsed)&&(n.value=!1)}function _(){var l;i&&(e(i),(l=window.getSelection())==null||l.removeAllRanges(),n.value=!1)}return Cn(()=>{document.addEventListener("mouseup",s),document.addEventListener("selectionchange",c),document.addEventListener("scroll",o,!0)}),Zn(()=>{document.removeEventListener("mouseup",s),document.removeEventListener("selectionchange",c),document.removeEventListener("scroll",o,!0)}),(l,d)=>(k(),Et(__,{to:"body"},[n.value?(k(),q("div",{key:0,class:"selection-toolbar",style:Sr({top:r.value.y+"px",left:r.value.x+"px"}),onMousedown:d[0]||(d[0]=gr(()=>{},["prevent"]))},[N("button",{class:"btn btn-warning with-icon btn-small",style:{color:"#000"},title:"Reply to selection",onClick:_},[...d[1]||(d[1]=[N("i",{class:"ph ph-quotes"},null,-1),At(" Reply ",-1)])])],36)):Ie("",!0)]))}},ER=Lt(gR,[["__scopeId","data-v-615fec6a"]]);function mr(t){if(!t)return"";let e;try{e=new URL(t,window.location.origin)}catch{return t}return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:e.href}function Wi(t){return t?new URL(t,window.location.origin).href:""}function SR(t,e){const n=mr(t);return!n||!e?n:`${n}${n.includes("?")?"&":"?"}v=${encodeURIComponent(e)}`}function yS(t,e){const n=new URL(`/content-viewers/${t}.html`,window.location.origin);return n.searchParams.set("url",e),n.href}function fR(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ga,Wd;function TR(){if(Wd)return Ga;Wd=1;function t(C){return C instanceof Map?C.clear=C.delete=C.set=function(){throw new Error("map is read-only")}:C instanceof Set&&(C.add=C.clear=C.delete=function(){throw new Error("set is read-only")}),Object.freeze(C),Object.getOwnPropertyNames(C).forEach(H=>{const ae=C[H],Ne=typeof ae;(Ne==="object"||Ne==="function")&&!Object.isFrozen(ae)&&t(ae)}),C}class e{constructor(H){H.data===void 0&&(H.data={}),this.data=H.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(C){return C.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(C,...H){const ae=Object.create(null);for(const Ne in C)ae[Ne]=C[Ne];return H.forEach(function(Ne){for(const et in Ne)ae[et]=Ne[et]}),ae}const i="",a=C=>!!C.scope,o=(C,{prefix:H})=>{if(C.startsWith("language:"))return C.replace("language:","language-");if(C.includes(".")){const ae=C.split(".");return[`${H}${ae.shift()}`,...ae.map((Ne,et)=>`${Ne}${"_".repeat(et+1)}`)].join(" ")}return`${H}${C}`};class s{constructor(H,ae){this.buffer="",this.classPrefix=ae.classPrefix,H.walk(this)}addText(H){this.buffer+=n(H)}openNode(H){if(!a(H))return;const ae=o(H.scope,{prefix:this.classPrefix});this.span(ae)}closeNode(H){a(H)&&(this.buffer+=i)}value(){return this.buffer}span(H){this.buffer+=``}}const c=(C={})=>{const H={children:[]};return Object.assign(H,C),H};class _{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(H){this.top.children.push(H)}openNode(H){const ae=c({scope:H});this.add(ae),this.stack.push(ae)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(H){return this.constructor._walk(H,this.rootNode)}static _walk(H,ae){return typeof ae=="string"?H.addText(ae):ae.children&&(H.openNode(ae),ae.children.forEach(Ne=>this._walk(H,Ne)),H.closeNode(ae)),H}static _collapse(H){typeof H!="string"&&H.children&&(H.children.every(ae=>typeof ae=="string")?H.children=[H.children.join("")]:H.children.forEach(ae=>{_._collapse(ae)}))}}class l extends _{constructor(H){super(),this.options=H}addText(H){H!==""&&this.add(H)}startScope(H){this.openNode(H)}endScope(){this.closeNode()}__addSublanguage(H,ae){const Ne=H.root;ae&&(Ne.scope=`language:${ae}`),this.add(Ne)}toHTML(){return new s(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function d(C){return C?typeof C=="string"?C:C.source:null}function u(C){return E("(?=",C,")")}function p(C){return E("(?:",C,")*")}function m(C){return E("(?:",C,")?")}function E(...C){return C.map(ae=>d(ae)).join("")}function f(C){const H=C[C.length-1];return typeof H=="object"&&H.constructor===Object?(C.splice(C.length-1,1),H):{}}function h(...C){return"("+(f(C).capture?"":"?:")+C.map(Ne=>d(Ne)).join("|")+")"}function b(C){return new RegExp(C.toString()+"|").exec("").length-1}function R(C,H){const ae=C&&C.exec(H);return ae&&ae.index===0}const v=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function D(C,{joinWith:H}){let ae=0;return C.map(Ne=>{ae+=1;const et=ae;let qe=d(Ne),se="";for(;qe.length>0;){const Ee=v.exec(qe);if(!Ee){se+=qe;break}se+=qe.substring(0,Ee.index),qe=qe.substring(Ee.index+Ee[0].length),Ee[0][0]==="\\"&&Ee[1]?se+="\\"+String(Number(Ee[1])+et):(se+=Ee[0],Ee[0]==="("&&ae++)}return se}).map(Ne=>`(${Ne})`).join(H)}const y=/\b\B/,L="[a-zA-Z]\\w*",A="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",$="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",W="\\b(0b[01]+)",x="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Z=(C={})=>{const H=/^#![ ]*\//;return C.binary&&(C.begin=E(H,/.*\b/,C.binary,/\b.*/)),r({scope:"meta",begin:H,end:/$/,relevance:0,"on:begin":(ae,Ne)=>{ae.index!==0&&Ne.ignoreMatch()}},C)},re={begin:"\\\\[\\s\\S]",relevance:0},Se={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},oe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},ie={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Te=function(C,H,ae={}){const Ne=r({scope:"comment",begin:C,end:H,contains:[]},ae);Ne.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const et=h("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Ne.contains.push({begin:E(/[ ]+/,"(",et,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ne},ge=Te("//","$"),Ae=Te("/\\*","\\*/"),Fe=Te("#","$"),Ge={scope:"number",begin:w,relevance:0},Xe={scope:"number",begin:$,relevance:0},P={scope:"number",begin:W,relevance:0},V={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},K={scope:"title",begin:L,relevance:0},T={scope:"title",begin:A,relevance:0},I={begin:"\\.\\s*"+A,relevance:0};var G=Object.freeze({__proto__:null,APOS_STRING_MODE:Se,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:P,BINARY_NUMBER_RE:W,COMMENT:Te,C_BLOCK_COMMENT_MODE:Ae,C_LINE_COMMENT_MODE:ge,C_NUMBER_MODE:Xe,C_NUMBER_RE:$,END_SAME_AS_BEGIN:function(C){return Object.assign(C,{"on:begin":(H,ae)=>{ae.data._beginMatch=H[1]},"on:end":(H,ae)=>{ae.data._beginMatch!==H[1]&&ae.ignoreMatch()}})},HASH_COMMENT_MODE:Fe,IDENT_RE:L,MATCH_NOTHING_RE:y,METHOD_GUARD:I,NUMBER_MODE:Ge,NUMBER_RE:w,PHRASAL_WORDS_MODE:ie,QUOTE_STRING_MODE:oe,REGEXP_MODE:V,RE_STARTERS_RE:x,SHEBANG:Z,TITLE_MODE:K,UNDERSCORE_IDENT_RE:A,UNDERSCORE_TITLE_MODE:T});function J(C,H){C.input[C.index-1]==="."&&H.ignoreMatch()}function g(C,H){C.className!==void 0&&(C.scope=C.className,delete C.className)}function S(C,H){H&&C.beginKeywords&&(C.begin="\\b("+C.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",C.__beforeBegin=J,C.keywords=C.keywords||C.beginKeywords,delete C.beginKeywords,C.relevance===void 0&&(C.relevance=0))}function O(C,H){Array.isArray(C.illegal)&&(C.illegal=h(...C.illegal))}function U(C,H){if(C.match){if(C.begin||C.end)throw new Error("begin & end are not supported with match");C.begin=C.match,delete C.match}}function Y(C,H){C.relevance===void 0&&(C.relevance=1)}const F=(C,H)=>{if(!C.beforeMatch)return;if(C.starts)throw new Error("beforeMatch cannot be used with starts");const ae=Object.assign({},C);Object.keys(C).forEach(Ne=>{delete C[Ne]}),C.keywords=ae.keywords,C.begin=E(ae.beforeMatch,u(ae.begin)),C.starts={relevance:0,contains:[Object.assign(ae,{endsParent:!0})]},C.relevance=0,delete ae.beforeMatch},j=["of","and","for","in","not","or","if","then","parent","list","value"],te="keyword";function ee(C,H,ae=te){const Ne=Object.create(null);return typeof C=="string"?et(ae,C.split(" ")):Array.isArray(C)?et(ae,C):Object.keys(C).forEach(function(qe){Object.assign(Ne,ee(C[qe],H,qe))}),Ne;function et(qe,se){H&&(se=se.map(Ee=>Ee.toLowerCase())),se.forEach(function(Ee){const he=Ee.split("|");Ne[he[0]]=[qe,Q(he[0],he[1])]})}}function Q(C,H){return H?Number(H):Ce(C)?0:1}function Ce(C){return j.includes(C.toLowerCase())}const de={},_e=C=>{console.error(C)},ve=(C,...H)=>{console.log(`WARN: ${C}`,...H)},xe=(C,H)=>{de[`${C}/${H}`]||(console.log(`Deprecated as of ${C}. ${H}`),de[`${C}/${H}`]=!0)},He=new Error;function Ke(C,H,{key:ae}){let Ne=0;const et=C[ae],qe={},se={};for(let Ee=1;Ee<=H.length;Ee++)se[Ee+Ne]=et[Ee],qe[Ee+Ne]=!0,Ne+=b(H[Ee-1]);C[ae]=se,C[ae]._emit=qe,C[ae]._multi=!0}function rt(C){if(Array.isArray(C.begin)){if(C.skip||C.excludeBegin||C.returnBegin)throw _e("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),He;if(typeof C.beginScope!="object"||C.beginScope===null)throw _e("beginScope must be object"),He;Ke(C,C.begin,{key:"beginScope"}),C.begin=D(C.begin,{joinWith:""})}}function Qe(C){if(Array.isArray(C.end)){if(C.skip||C.excludeEnd||C.returnEnd)throw _e("skip, excludeEnd, returnEnd not compatible with endScope: {}"),He;if(typeof C.endScope!="object"||C.endScope===null)throw _e("endScope must be object"),He;Ke(C,C.end,{key:"endScope"}),C.end=D(C.end,{joinWith:""})}}function B(C){C.scope&&typeof C.scope=="object"&&C.scope!==null&&(C.beginScope=C.scope,delete C.scope)}function z(C){B(C),typeof C.beginScope=="string"&&(C.beginScope={_wrap:C.beginScope}),typeof C.endScope=="string"&&(C.endScope={_wrap:C.endScope}),rt(C),Qe(C)}function le(C){function H(se,Ee){return new RegExp(d(se),"m"+(C.case_insensitive?"i":"")+(C.unicodeRegex?"u":"")+(Ee?"g":""))}class ae{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ee,he){he.position=this.position++,this.matchIndexes[this.matchAt]=he,this.regexes.push([he,Ee]),this.matchAt+=b(Ee)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ee=this.regexes.map(he=>he[1]);this.matcherRe=H(D(Ee,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ee){this.matcherRe.lastIndex=this.lastIndex;const he=this.matcherRe.exec(Ee);if(!he)return null;const it=he.findIndex((vn,Zt)=>Zt>0&&vn!==void 0),Me=this.matchIndexes[it];return he.splice(0,it),Object.assign(he,Me)}}class Ne{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ee){if(this.multiRegexes[Ee])return this.multiRegexes[Ee];const he=new ae;return this.rules.slice(Ee).forEach(([it,Me])=>he.addRule(it,Me)),he.compile(),this.multiRegexes[Ee]=he,he}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ee,he){this.rules.push([Ee,he]),he.type==="begin"&&this.count++}exec(Ee){const he=this.getMatcher(this.regexIndex);he.lastIndex=this.lastIndex;let it=he.exec(Ee);if(this.resumingScanAtSamePosition()&&!(it&&it.index===this.lastIndex)){const Me=this.getMatcher(0);Me.lastIndex=this.lastIndex+1,it=Me.exec(Ee)}return it&&(this.regexIndex+=it.position+1,this.regexIndex===this.count&&this.considerAll()),it}}function et(se){const Ee=new Ne;return se.contains.forEach(he=>Ee.addRule(he.begin,{rule:he,type:"begin"})),se.terminatorEnd&&Ee.addRule(se.terminatorEnd,{type:"end"}),se.illegal&&Ee.addRule(se.illegal,{type:"illegal"}),Ee}function qe(se,Ee){const he=se;if(se.isCompiled)return he;[g,U,z,F].forEach(Me=>Me(se,Ee)),C.compilerExtensions.forEach(Me=>Me(se,Ee)),se.__beforeBegin=null,[S,O,Y].forEach(Me=>Me(se,Ee)),se.isCompiled=!0;let it=null;return typeof se.keywords=="object"&&se.keywords.$pattern&&(se.keywords=Object.assign({},se.keywords),it=se.keywords.$pattern,delete se.keywords.$pattern),it=it||/\w+/,se.keywords&&(se.keywords=ee(se.keywords,C.case_insensitive)),he.keywordPatternRe=H(it,!0),Ee&&(se.begin||(se.begin=/\B|\b/),he.beginRe=H(he.begin),!se.end&&!se.endsWithParent&&(se.end=/\B|\b/),se.end&&(he.endRe=H(he.end)),he.terminatorEnd=d(he.end)||"",se.endsWithParent&&Ee.terminatorEnd&&(he.terminatorEnd+=(se.end?"|":"")+Ee.terminatorEnd)),se.illegal&&(he.illegalRe=H(se.illegal)),se.contains||(se.contains=[]),se.contains=[].concat(...se.contains.map(function(Me){return fe(Me==="self"?se:Me)})),se.contains.forEach(function(Me){qe(Me,he)}),se.starts&&qe(se.starts,Ee),he.matcher=et(he),he}if(C.compilerExtensions||(C.compilerExtensions=[]),C.contains&&C.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return C.classNameAliases=r(C.classNameAliases||{}),qe(C)}function ye(C){return C?C.endsWithParent||ye(C.starts):!1}function fe(C){return C.variants&&!C.cachedVariants&&(C.cachedVariants=C.variants.map(function(H){return r(C,{variants:null},H)})),C.cachedVariants?C.cachedVariants:ye(C)?r(C,{starts:C.starts?r(C.starts):null}):Object.isFrozen(C)?r(C):C}var Re="11.11.1";class we extends Error{constructor(H,ae){super(H),this.name="HTMLInjectionError",this.html=ae}}const ze=n,Nt=r,Pe=Symbol("nomatch"),ft=7,Tt=function(C){const H=Object.create(null),ae=Object.create(null),Ne=[];let et=!0;const qe="Could not find the language '{}', did you forget to load/include a language module?",se={disableAutodetect:!0,name:"Plain text",contains:[]};let Ee={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:l};function he(ne){return Ee.noHighlightRe.test(ne)}function it(ne){let Oe=ne.className+" ";Oe+=ne.parentNode?ne.parentNode.className:"";const $e=Ee.languageDetectRe.exec(Oe);if($e){const dt=gt($e[1]);return dt||(ve(qe.replace("{}",$e[1])),ve("Falling back to no-highlight mode for this block.",ne)),dt?$e[1]:"no-highlight"}return Oe.split(/\s+/).find(dt=>he(dt)||gt(dt))}function Me(ne,Oe,$e){let dt="",vt="";typeof Oe=="object"?(dt=ne,$e=Oe.ignoreIllegals,vt=Oe.language):(xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),xe("10.7.0",`Please use highlight(code, options) instead.
+https://github.com/highlightjs/highlight.js/issues/2277`),vt=ne,dt=Oe),$e===void 0&&($e=!0);const jt={code:dt,language:vt};Ur("before:highlight",jt);const On=jt.result?jt.result:vn(jt.language,jt.code,$e);return On.code=jt.code,Ur("after:highlight",On),On}function vn(ne,Oe,$e,dt){const vt=Object.create(null);function jt(ue,be){return ue.keywords[be]}function On(){if(!ke.keywords){Ot.addText(ct);return}let ue=0;ke.keywordPatternRe.lastIndex=0;let be=ke.keywordPatternRe.exec(ct),Be="";for(;be;){Be+=ct.substring(ue,be.index);const tt=en.case_insensitive?be[0].toLowerCase():be[0],yt=jt(ke,tt);if(yt){const[tn,H_]=yt;if(Ot.addText(Be),Be="",vt[tt]=(vt[tt]||0)+1,vt[tt]<=ft&&(er+=H_),tn.startsWith("_"))Be+=be[0];else{const V_=en.classNameAliases[tn]||tn;on(be[0],V_)}}else Be+=be[0];ue=ke.keywordPatternRe.lastIndex,be=ke.keywordPatternRe.exec(ct)}Be+=ct.substring(ue),Ot.addText(Be)}function Fr(){if(ct==="")return;let ue=null;if(typeof ke.subLanguage=="string"){if(!H[ke.subLanguage]){Ot.addText(ct);return}ue=vn(ke.subLanguage,ct,!0,Ci[ke.subLanguage]),Ci[ke.subLanguage]=ue._top}else ue=Nn(ct,ke.subLanguage.length?ke.subLanguage:null);ke.relevance>0&&(er+=ue.relevance),Ot.__addSublanguage(ue._emitter,ue.language)}function zt(){ke.subLanguage!=null?Fr():On(),ct=""}function on(ue,be){ue!==""&&(Ot.startScope(be),Ot.addText(ue),Ot.endScope())}function ba(ue,be){let Be=1;const tt=be.length-1;for(;Be<=tt;){if(!ue._emit[Be]){Be++;continue}const yt=en.classNameAliases[ue[Be]]||ue[Be],tn=be[Be];yt?on(tn,yt):(ct=tn,On(),ct=""),Be++}}function ha(ue,be){return ue.scope&&typeof ue.scope=="string"&&Ot.openNode(en.classNameAliases[ue.scope]||ue.scope),ue.beginScope&&(ue.beginScope._wrap?(on(ct,en.classNameAliases[ue.beginScope._wrap]||ue.beginScope._wrap),ct=""):ue.beginScope._multi&&(ba(ue.beginScope,be),ct="")),ke=Object.create(ue,{parent:{value:ke}}),ke}function Ra(ue,be,Be){let tt=R(ue.endRe,Be);if(tt){if(ue["on:end"]){const yt=new e(ue);ue["on:end"](be,yt),yt.isMatchIgnored&&(tt=!1)}if(tt){for(;ue.endsParent&&ue.parent;)ue=ue.parent;return ue}}if(ue.endsWithParent)return Ra(ue.parent,be,Be)}function B_(ue){return ke.matcher.regexIndex===0?(ct+=ue[0],1):(qr=!0,0)}function G_(ue){const be=ue[0],Be=ue.rule,tt=new e(Be),yt=[Be.__beforeBegin,Be["on:begin"]];for(const tn of yt)if(tn&&(tn(ue,tt),tt.isMatchIgnored))return B_(be);return Be.skip?ct+=be:(Be.excludeBegin&&(ct+=be),zt(),!Be.returnBegin&&!Be.excludeBegin&&(ct=be)),ha(Be,ue),Be.returnBegin?0:be.length}function Y_(ue){const be=ue[0],Be=Oe.substring(ue.index),tt=Ra(ke,ue,Be);if(!tt)return Pe;const yt=ke;ke.endScope&&ke.endScope._wrap?(zt(),on(be,ke.endScope._wrap)):ke.endScope&&ke.endScope._multi?(zt(),ba(ke.endScope,ue)):yt.skip?ct+=be:(yt.returnEnd||yt.excludeEnd||(ct+=be),zt(),yt.excludeEnd&&(ct=be));do ke.scope&&Ot.closeNode(),!ke.skip&&!ke.subLanguage&&(er+=ke.relevance),ke=ke.parent;while(ke!==tt.parent);return tt.starts&&ha(tt.starts,ue),yt.returnEnd?0:be.length}function q_(){const ue=[];for(let be=ke;be!==en;be=be.parent)be.scope&&ue.unshift(be.scope);ue.forEach(be=>Ot.openNode(be))}let Br={};function Ri(ue,be){const Be=be&&be[0];if(ct+=ue,Be==null)return zt(),0;if(Br.type==="begin"&&be.type==="end"&&Br.index===be.index&&Be===""){if(ct+=Oe.slice(be.index,be.index+1),!et){const tt=new Error(`0 width match regex (${ne})`);throw tt.languageName=ne,tt.badRule=Br.rule,tt}return 1}if(Br=be,be.type==="begin")return G_(be);if(be.type==="illegal"&&!$e){const tt=new Error('Illegal lexeme "'+Be+'" for mode "'+(ke.scope||"")+'"');throw tt.mode=ke,tt}else if(be.type==="end"){const tt=Y_(be);if(tt!==Pe)return tt}if(be.type==="illegal"&&Be==="")return ct+=`
+`,1;if(Yr>1e5&&Yr>be.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ct+=Be,Be.length}const en=gt(ne);if(!en)throw _e(qe.replace("{}",ne)),new Error('Unknown language: "'+ne+'"');const Ca=le(en);let Gr="",ke=dt||Ca;const Ci={},Ot=new Ee.__emitter(Ee);q_();let ct="",er=0,pn=0,Yr=0,qr=!1;try{if(en.__emitTokens)en.__emitTokens(Oe,Ot);else{for(ke.matcher.considerAll();;){Yr++,qr?qr=!1:ke.matcher.considerAll(),ke.matcher.lastIndex=pn;const ue=ke.matcher.exec(Oe);if(!ue)break;const be=Oe.substring(pn,ue.index),Be=Ri(be,ue);pn=ue.index+Be}Ri(Oe.substring(pn))}return Ot.finalize(),Gr=Ot.toHTML(),{language:ne,value:Gr,relevance:er,illegal:!1,_emitter:Ot,_top:ke}}catch(ue){if(ue.message&&ue.message.includes("Illegal"))return{language:ne,value:ze(Oe),illegal:!0,relevance:0,_illegalBy:{message:ue.message,index:pn,context:Oe.slice(pn-100,pn+100),mode:ue.mode,resultSoFar:Gr},_emitter:Ot};if(et)return{language:ne,value:ze(Oe),illegal:!1,relevance:0,errorRaised:ue,_emitter:Ot,_top:ke};throw ue}}function Zt(ne){const Oe={value:ze(ne),illegal:!1,relevance:0,_top:se,_emitter:new Ee.__emitter(Ee)};return Oe._emitter.addText(ne),Oe}function Nn(ne,Oe){Oe=Oe||Ee.languages||Object.keys(H);const $e=Zt(ne),dt=Oe.filter(gt).filter(Ta).map(zt=>vn(zt,ne,!1));dt.unshift($e);const vt=dt.sort((zt,on)=>{if(zt.relevance!==on.relevance)return on.relevance-zt.relevance;if(zt.language&&on.language){if(gt(zt.language).supersetOf===on.language)return 1;if(gt(on.language).supersetOf===zt.language)return-1}return 0}),[jt,On]=vt,Fr=jt;return Fr.secondBest=On,Fr}function hi(ne,Oe,$e){const dt=Oe&&ae[Oe]||$e;ne.classList.add("hljs"),ne.classList.add(`language-${dt}`)}function Ve(ne){let Oe=null;const $e=it(ne);if(he($e))return;if(Ur("before:highlightElement",{el:ne,language:$e}),ne.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ne);return}if(ne.children.length>0&&(Ee.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ne)),Ee.throwUnescapedHTML))throw new we("One of your code blocks includes unescaped HTML.",ne.innerHTML);Oe=ne;const dt=Oe.textContent,vt=$e?Me(dt,{language:$e,ignoreIllegals:!0}):Nn(dt);ne.innerHTML=vt.value,ne.dataset.highlighted="yes",hi(ne,$e,vt.language),ne.result={language:vt.language,re:vt.relevance,relevance:vt.relevance},vt.secondBest&&(ne.secondBest={language:vt.secondBest.language,relevance:vt.secondBest.relevance}),Ur("after:highlightElement",{el:ne,result:vt,text:dt})}function Ct(ne){Ee=Nt(Ee,ne)}const Jt=()=>{Hn(),xe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function an(){Hn(),xe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let qn=!1;function Hn(){function ne(){Hn()}if(document.readyState==="loading"){qn||window.addEventListener("DOMContentLoaded",ne,!1),qn=!0;return}document.querySelectorAll(Ee.cssSelector).forEach(Ve)}function bt(ne,Oe){let $e=null;try{$e=Oe(C)}catch(dt){if(_e("Language definition for '{}' could not be registered.".replace("{}",ne)),et)_e(dt);else throw dt;$e=se}$e.name||($e.name=ne),H[ne]=$e,$e.rawDefinition=Oe.bind(null,C),$e.aliases&&hr($e.aliases,{languageName:ne})}function un(ne){delete H[ne];for(const Oe of Object.keys(ae))ae[Oe]===ne&&delete ae[Oe]}function jn(){return Object.keys(H)}function gt(ne){return ne=(ne||"").toLowerCase(),H[ne]||H[ae[ne]]}function hr(ne,{languageName:Oe}){typeof ne=="string"&&(ne=[ne]),ne.forEach($e=>{ae[$e.toLowerCase()]=Oe})}function Ta(ne){const Oe=gt(ne);return Oe&&!Oe.disableAutodetect}function P_(ne){ne["before:highlightBlock"]&&!ne["before:highlightElement"]&&(ne["before:highlightElement"]=Oe=>{ne["before:highlightBlock"](Object.assign({block:Oe.el},Oe))}),ne["after:highlightBlock"]&&!ne["after:highlightElement"]&&(ne["after:highlightElement"]=Oe=>{ne["after:highlightBlock"](Object.assign({block:Oe.el},Oe))})}function k_(ne){P_(ne),Ne.push(ne)}function U_(ne){const Oe=Ne.indexOf(ne);Oe!==-1&&Ne.splice(Oe,1)}function Ur(ne,Oe){const $e=ne;Ne.forEach(function(dt){dt[$e]&&dt[$e](Oe)})}function F_(ne){return xe("10.7.0","highlightBlock will be removed entirely in v12.0"),xe("10.7.0","Please use highlightElement now."),Ve(ne)}Object.assign(C,{highlight:Me,highlightAuto:Nn,highlightAll:Hn,highlightElement:Ve,highlightBlock:F_,configure:Ct,initHighlighting:Jt,initHighlightingOnLoad:an,registerLanguage:bt,unregisterLanguage:un,listLanguages:jn,getLanguage:gt,registerAliases:hr,autoDetection:Ta,inherit:Nt,addPlugin:k_,removePlugin:U_}),C.debugMode=function(){et=!1},C.safeMode=function(){et=!0},C.versionString=Re,C.regex={concat:E,lookahead:u,either:h,optional:m,anyNumberOfTimes:p};for(const ne in G)typeof G[ne]=="object"&&t(G[ne]);return Object.assign(C,G),C},je=Tt({});return je.newInstance=()=>Tt({}),Ga=je,je.HighlightJS=je,je.default=je,Ga}var Ya,Kd;function bR(){if(Kd)return Ya;Kd=1;function t(e){const n="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",a="далее "+"возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",c="загрузитьизфайла "+"вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",p="разделительстраниц разделительстрок символтабуляции "+"ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон "+"acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища "+"wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",Ae="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля "+"автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы "+"виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента "+"авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных "+"использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц "+"отображениевремениэлементовпланировщика "+"типфайлаформатированногодокумента "+"обходрезультатазапроса типзаписизапроса "+"видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов "+"доступкфайлу режимдиалогавыборафайла режимоткрытияфайла "+"типизмеренияпостроителязапроса "+"видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений "+"wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson "+"видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных "+"важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения "+"режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации "+"расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии "+"кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip "+"звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp "+"направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса "+"httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений "+"важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",Xe="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных "+"comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив ",P="null истина ложь неопределено",V=e.inherit(e.NUMBER_MODE),K={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]},T={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},I={match:/[;()+\-:=,]/,className:"punctuation",relevance:0},M=e.inherit(e.C_LINE_COMMENT_MODE),G={className:"meta",begin:"#|&",end:"$",keywords:{$pattern:n,keyword:a+c},contains:[M]},J={className:"symbol",begin:"~",end:";|:",excludeEnd:!0},g={className:"function",variants:[{begin:"процедура|функция",end:"\\)",keywords:"процедура функция"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"params",begin:n,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{$pattern:n,keyword:"знач",literal:P},contains:[V,K,T]},M]},e.inherit(e.TITLE_MODE,{begin:n})]};return{name:"1C:Enterprise",case_insensitive:!0,keywords:{$pattern:n,keyword:a,built_in:p,class:Ae,type:Xe,literal:P},contains:[G,g,M,J,V,K,T,I]}}return Ya=t,Ya}var qa,Qd;function hR(){if(Qd)return qa;Qd=1;function t(e){const n=e.regex,r=/^[a-zA-Z][a-zA-Z0-9-]*/,i=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],a=e.COMMENT(/;/,/$/),o={scope:"symbol",match:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/},s={scope:"symbol",match:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/},c={scope:"symbol",match:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/},_={scope:"symbol",match:/%[si](?=".*")/},l={scope:"attribute",match:n.concat(r,/(?=\s*=)/)};return{name:"Augmented Backus-Naur Form",illegal:/[!@#$^&',?+~`|:]/,keywords:i,contains:[{scope:"operator",match:/=\/?/},l,a,o,s,c,_,e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}return qa=t,qa}var Ha,Xd;function RR(){if(Xd)return Ha;Xd=1;function t(e){const n=e.regex,r=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:n.concat(/"/,n.either(...r)),end:/"/,keywords:r,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}return Ha=t,Ha}var Va,Zd;function CR(){if(Zd)return Va;Zd=1;function t(e){const n=e.regex,r=/[a-zA-Z_$][a-zA-Z0-9_$]*/,i=n.concat(r,n.concat("(\\.",r,")*")),a=/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/,o={className:"rest_arg",begin:/[.]{3}/,end:r,relevance:10};return{name:"ActionScript",aliases:["as"],keywords:{keyword:["as","break","case","catch","class","const","continue","default","delete","do","dynamic","each","else","extends","final","finally","for","function","get","if","implements","import","in","include","instanceof","interface","internal","is","namespace","native","new","override","package","private","protected","public","return","set","static","super","switch","this","throw","try","typeof","use","var","void","while","with"],literal:["true","false","null","undefined"]},contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{match:[/\bpackage/,/\s+/,i],className:{1:"keyword",3:"title.class"}},{match:[/\b(?:class|interface|extends|implements)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{className:"meta",beginKeywords:"import include",end:/;/,keywords:{keyword:"import include"}},{beginKeywords:"function",end:/[{;]/,excludeEnd:!0,illegal:/\S/,contains:[e.inherit(e.TITLE_MODE,{className:"title.function"}),{className:"params",begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o]},{begin:n.concat(/:\s*/,a)}]},e.METHOD_GUARD],illegal:/#/}}return Va=t,Va}var $a,Jd;function vR(){if(Jd)return $a;Jd=1;function t(e){const n="\\d(_|\\d)*",r="[eE][-+]?"+n,i=n+"(\\."+n+")?("+r+")?",a="\\w+",s="\\b("+(n+"#"+a+"(\\."+a+")?#("+r+")?")+"|"+i+")",c="[A-Za-z](_?[A-Za-z0-9.])*",_=`[]\\{\\}%#'"`,l=e.COMMENT("--","$"),d={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:_,contains:[{beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:c,endsParent:!0,relevance:0}]};return{name:"Ada",case_insensitive:!0,keywords:{keyword:["abort","else","new","return","abs","elsif","not","reverse","abstract","end","accept","entry","select","access","exception","of","separate","aliased","exit","or","some","all","others","subtype","and","for","out","synchronized","array","function","overriding","at","tagged","generic","package","task","begin","goto","pragma","terminate","body","private","then","if","procedure","type","case","in","protected","constant","interface","is","raise","use","declare","range","delay","limited","record","when","delta","loop","rem","while","digits","renames","with","do","mod","requeue","xor"],literal:["True","False"]},contains:[l,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:s,relevance:0},{className:"symbol",begin:"'"+c},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:_},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:!0,contains:[l,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:!0,excludeEnd:!0,illegal:_},d,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:_}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:_},d]}}return $a=t,$a}var za,jd;function NR(){if(jd)return za;jd=1;function t(e){const n={className:"built_in",begin:"\\b(void|bool|int8|int16|int32|int64|int|uint8|uint16|uint32|uint64|uint|string|ref|array|double|float|auto|dictionary)"},r={className:"symbol",begin:"[a-zA-Z0-9_]+@"},i={className:"keyword",begin:"<",end:">",contains:[n,r]};return n.contains=[i],r.contains=[i],{name:"AngelScript",aliases:["asc"],keywords:["for","in|0","break","continue","while","do|0","return","if","else","case","switch","namespace","is","cast","or","and","xor","not","get|0","in","inout|10","out","override","set|0","private","public","const","default|0","final","shared","external","mixin|10","enum","typedef","funcdef","this","super","import","from","interface","abstract|0","try","catch","protected","explicit","property"],illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},n,r,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",relevance:0,begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}}return za=t,za}var Wa,eu;function OR(){if(eu)return Wa;eu=1;function t(e){const n={className:"number",begin:/[$%]\d+/},r={className:"number",begin:/\b\d+/},i={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/},a={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[i,a,e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{scope:"punctuation",match:/\\\n/},{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",n]},i,r,e.QUOTE_STRING_MODE]}}],illegal:/\S/}}return Wa=t,Wa}var Ka,tu;function yR(){if(tu)return Ka;tu=1;function t(e){const n=e.regex,r=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),i={className:"params",begin:/\(/,end:/\)/,contains:["self",e.C_NUMBER_MODE,r]},a=e.COMMENT(/--/,/$/),o=e.COMMENT(/\(\*/,/\*\)/,{contains:["self",a]}),s=[a,o,e.HASH_COMMENT_MODE],c=[/apart from/,/aside from/,/instead of/,/out of/,/greater than/,/isn't|(doesn't|does not) (equal|come before|come after|contain)/,/(greater|less) than( or equal)?/,/(starts?|ends|begins?) with/,/contained by/,/comes (before|after)/,/a (ref|reference)/,/POSIX (file|path)/,/(date|time) string/,/quoted form/],_=[/clipboard info/,/the clipboard/,/info for/,/list (disks|folder)/,/mount volume/,/path to/,/(close|open for) access/,/(get|set) eof/,/current date/,/do shell script/,/get volume settings/,/random number/,/set volume/,/system attribute/,/system info/,/time to GMT/,/(load|run|store) script/,/scripting components/,/ASCII (character|number)/,/localized string/,/choose (application|color|file|file name|folder|from list|remote application|URL)/,/display (alert|dialog)/];return{name:"AppleScript",aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name|0 paragraph paragraphs rest reverse running time version weekday word words year"},contains:[r,e.C_NUMBER_MODE,{className:"built_in",begin:n.concat(/\b/,n.either(..._),/\b/)},{className:"built_in",begin:/^\s*return\b/},{className:"literal",begin:/\b(text item delimiters|current application|missing value)\b/},{className:"keyword",begin:n.concat(/\b/,n.either(...c),/\b/)},{beginKeywords:"on",illegal:/[${=;\n]/,contains:[e.UNDERSCORE_TITLE_MODE,i]},...s],illegal:/\/\/|->|=>|\[\[/}}return Ka=t,Ka}var Qa,nu;function IR(){if(nu)return Qa;nu=1;function t(e){const n=e.regex,r="[A-Za-z_][0-9A-Za-z_]*",i={keyword:["break","case","catch","continue","debugger","do","else","export","for","function","if","import","in","new","of","return","switch","try","var","void","while"],literal:["BackSlash","DoubleQuote","ForwardSlash","Infinity","NaN","NewLine","PI","SingleQuote","Tab","TextFormatting","false","null","true","undefined"],built_in:["Abs","Acos","All","Angle","Any","Area","AreaGeodetic","Array","Asin","Atan","Atan2","Attachments","Average","Back","Bearing","Boolean","Buffer","BufferGeodetic","Ceil","Centroid","ChangeTimeZone","Clip","Concatenate","Console","Constrain","Contains","ConvertDirection","ConvexHull","Cos","Count","Crosses","Cut","Date|0","DateAdd","DateDiff","DateOnly","Day","Decode","DefaultValue","Densify","DensifyGeodetic","Dictionary","Difference","Disjoint","Distance","DistanceGeodetic","DistanceToCoordinate","Distinct","Domain","DomainCode","DomainName","EnvelopeIntersects","Equals","Erase","Exp","Expects","Extent","Feature","FeatureInFilter","FeatureSet","FeatureSetByAssociation","FeatureSetById","FeatureSetByName","FeatureSetByPortalItem","FeatureSetByRelationshipClass","FeatureSetByRelationshipName","Filter","FilterBySubtypeCode","Find","First|0","Floor","FromCharCode","FromCodePoint","FromJSON","Front","GdbVersion","Generalize","Geometry","GetEnvironment","GetFeatureSet","GetFeatureSetInfo","GetUser","GroupBy","Guid","HasKey","HasValue","Hash","Hour","IIf","ISOMonth","ISOWeek","ISOWeekday","ISOYear","Includes","IndexOf","Insert","Intersection","Intersects","IsEmpty","IsNan","IsSelfIntersecting","IsSimple","KnowledgeGraphByPortalItem","Left|0","Length","Length3D","LengthGeodetic","Log","Lower","Map","Max","Mean","MeasureToCoordinate","Mid","Millisecond","Min","Minute","Month","MultiPartToSinglePart","Multipoint","NearestCoordinate","NearestVertex","NextSequenceValue","None","Now","Number","Offset","OrderBy","Overlaps","Point","PointToCoordinate","Polygon","Polyline","Pop","Portal","Pow","Proper","Push","QueryGraph","Random","Reduce","Relate","Replace","Resize","Reverse","Right|0","RingIsClockwise","Rotate","Round","Schema","Second","SetGeometry","Simplify","Sin","Slice","Sort","Splice","Split","Sqrt","StandardizeFilename","StandardizeGuid","Stdev","SubtypeCode","SubtypeName","Subtypes","Sum","SymmetricDifference","Tan","Text","Time","TimeZone","TimeZoneOffset","Timestamp","ToCharCode","ToCodePoint","ToHex","ToLocal","ToUTC","Today","Top|0","Touches","TrackAccelerationAt","TrackAccelerationWindow","TrackCurrentAcceleration","TrackCurrentDistance","TrackCurrentSpeed","TrackCurrentTime","TrackDistanceAt","TrackDistanceWindow","TrackDuration","TrackFieldWindow","TrackGeometryWindow","TrackIndex","TrackSpeedAt","TrackSpeedWindow","TrackStartTime","TrackWindow","Trim","TypeOf","Union","Upper","UrlEncode","Variance","Week","Weekday","When|0","Within","Year|0"]},a=["aggregatedFeatures","analytic","config","datapoint","datastore","editcontext","feature","featureSet","feedfeature","fencefeature","fencenotificationtype","graph","join","layer","locationupdate","map","measure","measure","originalFeature","record","reference","rowindex","sourcedatastore","sourcefeature","sourcelayer","target","targetdatastore","targetfeature","targetlayer","userInput","value","variables","view"],o={className:"symbol",begin:"\\$"+n.either(...a)},s={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},c={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},_={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,c]};c.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,s,e.REGEXP_MODE];const l=c.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{name:"ArcGIS Arcade",case_insensitive:!0,keywords:i,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o,s,{begin:/[{,]\s*/,relevance:0,contains:[{begin:r+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:r,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+r+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:l}]}]}],relevance:0},{beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{className:"title.function",begin:r}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:l}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}}return Qa=t,Qa}var Xa,ru;function AR(){if(ru)return Xa;ru=1;function t(n){const r=n.regex,i=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+r.optional(o)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",_={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},u={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},p={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},i,n.C_BLOCK_COMMENT_MODE]},m={className:"title",begin:r.optional(o)+n.IDENT_RE,relevance:0},E=r.optional(o)+n.IDENT_RE+"\\s*\\(",f=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],h=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],b=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],R=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],y={type:h,keyword:f,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:b},L={className:"function.dispatch",relevance:0,keywords:{_hint:R},begin:r.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,r.lookahead(/(<[^<>]+>|)\s*\(/))},A=[L,p,_,i,n.C_BLOCK_COMMENT_MODE,u,d],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:A.concat([{begin:/\(/,end:/\)/,keywords:y,contains:A.concat(["self"]),relevance:0}]),relevance:0},$={className:"function",begin:"("+c+"[\\*&\\s]+)+"+E,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:E,returnBegin:!0,contains:[m],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,u]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[i,n.C_BLOCK_COMMENT_MODE,d,u,_,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",i,n.C_BLOCK_COMMENT_MODE,d,u,_]}]},_,i,n.C_BLOCK_COMMENT_MODE,p]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(w,$,L,A,[p,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:y,contains:["self",_]},{begin:n.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function e(n){const r={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},i=t(n),a=i.keywords;return a.type=[...a.type,...r.type],a.literal=[...a.literal,...r.literal],a.built_in=[...a.built_in,...r.built_in],a._hints=r._hints,i.name="Arduino",i.aliases=["ino"],i.supersetOf="cpp",i}return Xa=e,Xa}var Za,iu;function DR(){if(iu)return Za;iu=1;function t(e){const n={variants:[e.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),e.COMMENT("[;@]","$",{relevance:0}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+e.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},n,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}return Za=t,Za}var Ja,au;function MR(){if(au)return Ja;au=1;function t(e){const n=e.regex,r=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(o,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{className:"string"}),_=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:i,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[o,_,c,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,_,c]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[_]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/